Our great sponsors
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
slate
Discontinued Slate is a toolkit for developing Shopify themes. It's designed to assist your workflow and speed up the process of developing, testing, and deploying themes. (by Shopify)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
keygen-go
Keygen SDK for Go. Integrate license activation, automatic updates and offline licensing for Go binaries.
You are missing a few things about the Ruby based CLI:
1. dependencies for Gems are specified in the gemspec file and not the Gemfile. See https://github.com/Shopify/shopify-cli/blob/main/shopify-cli... for example. There's a few non-development dependencies.
2. since it's difficult to package up a Ruby gem for distribution, maybe dependencies were vendored directly in the codebase: https://github.com/Shopify/shopify-cli/tree/main/vendor
This isn't meant to be a comparison of the number of dependencies or anything. Just pointing out a few nuances to how the Ruby dependencies were handled.
Interesting. TIL about the Open CLI framework that they all seem to be moving to: https://oclif.io/
Not sure why downvoted.
https://blog.herokuapp.com/evolution-of-heroku-cli-2008-2017 Their version 3, started with Ruby, then go/node, then pure node.
https://github.com/heroku/cli "This is the next generation Node-based Heroku CLI. The goals of this project were to make plugins more flexible, remove Ruby as a runtime dependency, and make the CLI faster. [...] It has identical functionality to the old Ruby CLI." I can't find
CAC also quite good: https://github.com/cacjs/cac. Used by Vite and many others.
You don't even need that: https://github.com/vercel/pkg.
I think there are equivalents in the Python ecosystem.
https://github.com/Shopify/cli/blob/main/package.json
but wait...this too:
https://github.com/Shopify/cli/blob/main/packages/app/packag...
https://github.com/Shopify/cli/blob/main/packages/cli-hydrog...
https://github.com/Shopify/cli/blob/main/packages/cli/packag...
https://github.com/Shopify/cli/blob/main/packages/create-app...
etc, etc, etc
They sure do like to start over, huh? What's funny is that Slate was canned while still in beta: https://github.com/Shopify/slate#-slate---end-of-support-jan...
Check out https://github.com/keygen-sh/keygen-go. Has auto-upgrade support for Go apps.