Live data from Hacker News

From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience

shopify.engineering

11–20 of 109 posts

Re: From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience

#12

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

> I'm begging you, just use a language that compiles to a single binary. It can self update in place

Is there a library that does self updating in place for binaries? Go is the langage that comes to mind when talking about single binary, so maybe a go library?

Re: From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience

#13

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

What's the mechanism for self-updating in place? Something more intelligent than just downloading and copying the file over itself? A running program itself is a copy of the file on disk, I think. So that sounds fine. But this still depends on getting permissions right though I think. Also, does a binary always know where it lives (across Win/Mac/Linux)?

Re: From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience

#14

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

[deleted]

Re: From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience

#15
post #3

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

its from heroku! we even did a conference once! https://www.heroku.com/events/2019/oclifconf (and i gave one of my most random talks ever https://www.youtube.com/watch?v=1_w1YWCHXFg)

Re: From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience

#16

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

Exactly, I get that they initially used Ruby given the whole company is build on it. But overhauling the CLI and NOT going for a single binary is beyond me.

Re: From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience

#18
post #7
post #5

Earlier quoted context omitted.

more background info https://blog.herokuapp.com/evolution-of-heroku-cli-2008-2017 Their version 6, 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."

The original article has no relation to Heroku, that's why the downvote.

Oclif is from Heroku so in a way Shopify's CLI is downstream of them

Re: From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience

#19
Cool. 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 Partner / Expert / App Developer)

I've spoken to some Shopify employees and they all agreed that the developer teams are a bit of a mess. It seems like nobody managing the developer products are actually using the end results, otherwise they'd realize the hoops needed to work through (unless you are starting a brand new project right now --- and hoping that they don't decide to change it all, like they have 5 times in the past 3 years)

Re: From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience

#20

I'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?
Post reply on HN