Earlier quoted context omitted.
Huh? To run a node application, you need node installed on the container, as well as the JS files. Is that a big deal?
You don't even need that: https://github.com/vercel/pkg . I think there are equivalents in the Python ecosystem.
From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience
51–60 of 109 posts
Re: From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience
#52I'm begging you, just use a language that compiles to a single binary. It can self update in place, be easily installed on developer machines and CI pipelines without requiring a whole additional toolchain in every container. Google, Heroku, AWS, Shopify all do and it's an awful developer experience.
Huh? To run a node application, you need node installed on the container, as well as the JS files. Is that a big deal?
Re: From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience
#53Re: From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience
#54I just find working with Node to be gross. Look at this: 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 VS https://github.…
One reason is because ruby has a large standard library. Also people just pick what they know - there are more js devs than ruby devs. Also neither ruby nor node are a good choice for a cli, so it is kind of a moo point.
Re: From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience
#55Interesting. TIL about the Open CLI framework that they all seem to be moving to: https://oclif.io/
Re: From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience
#56Cool. But god, the Shopify CLI / developer experience has degraded so much in the past few years. With the newest iteration, they want a full app re-structure just to work with the CLI properly. It is absolutely brutal. Sure, before they had basically no tooling, but then they had some basic ones that everyone was basically happy with, and then they just decided to iterate too much. (saying this as a ~ 8 year long Pa…
My read on this is they just wanted to cut out Ruby and do everything in Node. That's fine as a decision, but rest of the article feels like just trying to justify it after the fact. Like someone at the top decided, now lets pretend it's a good decision. As you mentioned, if they're not OK with CLI, they could refactor in Ruby. The whole "embracing functional programming" and MVC architecture (i think Rails when i he…
Re: From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience
#57Re: From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience
#58I notice this pattern of shoving nodejs / js, especially react through people's throat for the apps developed on the platform. Polaris, Session tokens and all the boilerplate apps the CLI generates are great examples of that.
I would rather having Polaris as CSS framework + some JS bits in vanilla-JS, Auth + Session tokens as just as a small JS library. But instead I am forced to use React. I know Polaris is also available as CSS only but that's almost impossible to use as it's not designed for human use really. Or Bridge exists as a library but for many cases it's just way too bloated and documentation for non-react version of those things are not so good.
Re: From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience
#59Earlier quoted context omitted.
Huh? To run a node application, you need node installed on the container, as well as the JS files. Is that a big deal?
Yes, because now I need to install node, probably run npm install, etc…
All the files needed to run a node application are in node_modules. If node is on the container, you can just rsync the scripts.
I think you're comparing distributing stand alone binaries, vs distributing the source code for a node app, and then installing its dependencies, and maybe doing some transpiling. That's not a fair comparison.