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

SurveyJS - JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor
Keep full control over the data you collect and tailor the form builder’s entire look and feel to your users’ needs. SurveyJS works with React, Angular, Vue 3, and is compatible with any backend or auth system. Learn more.
surveyjs.io
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
  1. 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.

  2. SurveyJS

    JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor. Keep full control over the data you collect and tailor the form builder’s entire look and feel to your users’ needs. SurveyJS works with React, Angular, Vue 3, and is compatible with any backend or auth system. Learn more.

    SurveyJS logo
  3. 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/

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

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

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

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

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

  9. Stream

    Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.

    Stream logo
  10. XO

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

  11. keygen-go

    Keygen reference 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

  • How do I export/distribute a Node.js command line application?

    2 projects | /r/node | 8 Mar 2023
  • Command line applications

    7 projects | /r/learnjavascript | 18 Sep 2022
  • Bash vs Node

    3 projects | /r/node | 23 Jul 2022
  • Create CLI from function? Is there any such package in npm?

    3 projects | /r/typescript | 12 Feb 2021
  • CLI application with the Node.js Readline module (3/3)

    6 projects | dev.to | 19 Mar 2025

Did you know that JavaScript is
the 3rd most popular programming language
based on number of references?