4 ms·
I just find working with Node to be gross. Look at this: https://github.com/Shopify/cli/blob/main/package.json https://github.com/Shopify/cli/blob/main/packag
by pastor_bob 4y ago
I just find working with Node to be gross.
Look at this:
https://github.com/Shopify/cli/blob/main/package.json https://github.com/Shopify/cli/blob/main/package.json
but wait...this too:
https://github.com/Shopify/cli/blob/main/packages/app/package.json https://github.com/Shopify/cli/blob/main/packages/app/packag...
https://github.com/Shopify/cli/blob/main/packages/cli-hydrogen/package.json https://github.com/Shopify/cli/blob/main/packages/cli-hydrog...
https://github.com/Shopify/cli/blob/main/packages/cli/package.json https://github.com/Shopify/cli/blob/main/packages/cli/packag...
https://github.com/Shopify/cli/blob/main/packages/create-app/package.json https://github.com/Shopify/cli/blob/main/packages/create-app...
etc, etc, etc
VS
https://github.com/Shopify/shopify-cli/blob/main/Gemfile https://github.com/Shopify/shopify-cli/blob/main/Gemfile
What am i missing? Why do you have to rely on all that junk to run a CLI? It feels like people choose Node because creating a Rube Goldberg machine creates job security.
- deleted 4y ago[deleted]
- lacasito25 4y agoThe project looks extremely messy, so many packages inside packages. It feels like java, but less performant
- jacobsenscott 4y agoOne 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.
- DwnVoteHoneyPot 4y agoThey think of it as a benefit: "Node’s module system allows having multiple versions of the same transitive package without conflicting with each other"
- bretthopper 4y agoYou 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.gemspec 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 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.
- avx56 4y agoThe dozens of ESLint dependencies are really what frustrate me... I wonder when someone will make a "batteries-included zero-config" JS linter with the most useful rules included, since that's what people seem to want in JS crazy land. See: Vite, Parcel, and the endless complaints about Webpack configs. Of course, people will inevitably want plugins and extensibility and you end right back up with Webpack again.
- myth_drannon 4y agoThat's not Node's issue but NX's monorepo. Having a mega monster root package.json just makes your ci/cd incredibly slow, one way to solve it, is to have per app package.json