From Ruby to Node: Overhauling Shopify’s CLI for a Better Developer Experience

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • shopify-app-cli

    Discontinued Shopify CLI helps you build against the Shopify platform faster.

  • 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.

  • oclif

    CLI for generating, building, and releasing oclif CLIs. Built by Salesforce.

  • Interesting. TIL about the Open CLI framework that they all seem to be moving to: https://oclif.io/

  • 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.

    SurveyJS logo
  • cli

    Heroku CLI (by heroku)

  • 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

    Simple yet powerful framework for building command-line apps. (by cacjs)

  • CAC also quite good: https://github.com/cacjs/cac. Used by Vite and many others.

  • pkg

    Discontinued Package your Node.js project into an executable

  • You don't even need that: https://github.com/vercel/pkg.

    I think there are equivalents in the Python ecosystem.

  • cli

    Build apps, themes, and hydrogen storefronts for Shopify (by Shopify)

  • 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

  • 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)

  • 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...

  • 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.

    WorkOS logo
  • XO

    ❤️ JavaScript/TypeScript linter (ESLint wrapper) with great defaults

  • keygen-go

    Keygen SDK for Go. Integrate license activation, automatic updates and offline licensing for Go binaries.

  • Check out https://github.com/keygen-sh/keygen-go. Has auto-upgrade support for Go apps.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts