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 - 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.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
  • 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.

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

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

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • XO

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

  • 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
  • Compile your NodeJS application to single file executable

    1 project | dev.to | 9 Jun 2024