News for hackers. Stuff that matters.
Re:The Node ecosystem still has tooling problems by klodolph on Saturday July 30, 2022 @05:59PM (#32290780)
This is really short. I think my complaints, compiled into an article, would probably fill out an article five or ten times as long.

There’s just so much shit. Everyone made their own system. There’s .js .ts .mjs .cjs extensions. Theres’s tsc and jest and npx and create-react-app. These are just the tip of the iceberg. If I try to update the build system to use newer versions of the software, all sorts of stuff will break. The really shocking part, for me, is that I feel like it’s easier to set up my build system for C than for JS.

Re:The Node ecosystem still has tooling problems by ravenstine on Saturday July 30, 2022 @06:17PM (#32290921)
Yes, there is a lot of shit, but stick to ES2015+ and you'll be mostly fine. No reason to continue with the .cjs .mjs crap. Either set "type": "module" or use Deno (the superior option) and don't look back. If others still want to use Common JS, that's their problem. Yeah, a lot of modules won't work out of the box because they're Common JS, and visa versa, but screw Common JS. That and goofy junkware like Gulp and Grunt which are overcomplicated, change their APIs frequently, and don't really do anything better than a Makefile. Ok, Gulp might be helpful if you're running Windows, but I pity those who still do web development on Windows without WSL2.
Re:The Node ecosystem still has tooling problems by andrew_ on Saturday July 30, 2022 @06:46PM (#32291136)
Gulp and Grunt? Are you a time traveler from 2012?
Re:The Node ecosystem still has tooling problems by jitl on Saturday July 30, 2022 @09:38PM (#32292316)
Re:The Node ecosystem still has tooling problems by andrew_ on Saturday July 30, 2022 @09:48PM (#32292379)
That is freaking bananas. Thanks for sharing.
Re:The Node ecosystem still has tooling problems by aordano on Saturday July 30, 2022 @09:47PM (#32292372)
Gulp is practical to insert extra behavior if you have a multi-step build process and are allergic to Webpack. Just write a gulpfile and spawn whatever you need spawning, like some glorified bash that is already in JS so you don't need to manage more languages.
Re:The Node ecosystem still has tooling problems by bluefirebrand on Saturday July 30, 2022 @08:38PM (#32291868)
I worked on a project using Gulp and Grunt as recently as 2020.

This was a product the company I was working for inherited from a merger. They bought the company for this product.

It was a nightmare of bad software practices. Still using Gulp in 2020 was only the tip of the iceberg.

Re:The Node ecosystem still has tooling problems by toomanybeersies on Sunday July 31, 2022 @02:19AM (#32293642)
At least (I hope) you weren't still using Bower.
Re:The Node ecosystem still has tooling problems by azangru on Saturday July 30, 2022 @08:02PM (#32291651)
Look at the source code of web.dev site :-) It's Eleventy with gulp for asset management.

https://github.com/GoogleChrome/web.dev

Re:The Node ecosystem still has tooling problems by jeroenhd on Saturday July 30, 2022 @06:53PM (#32291183)
Both still work fine to this day. I don't know what the exact (dis)advantages of the competing toolsets are, but if you know Gulp and Grunt then I don't see why you wouldn't use them.
Re:The Node ecosystem still has tooling problems by coredog64 on Saturday July 30, 2022 @07:21PM (#32291375)
Was helping an org migrate off of CloudFoundry and Grunt gave us no end of trouble. In the end, we wound up building with Node 8(!) and then praying that everything would still work with a 12.x runtime.
Re:The Node ecosystem still has tooling problems by andrew_ on Sunday July 31, 2022 @06:57PM (#32299652)
unless one is in need of piping files (and streams) in a complex and prolific way, npm scripts or a makefile can supplant Gulp/Grunt with much less overhead.
Re:The Node ecosystem still has tooling problems by ravenstine on Saturday July 30, 2022 @06:58PM (#32291223)
Yeah Grunt is pretty ancient but Gulp is still used in many places.
Re:The Node ecosystem still has tooling problems by Zardoz84 on Sunday July 31, 2022 @03:32AM (#32293932)
Gulp it's really useful when your workflow gets out of what webpack, esbuild & cia expects
Re:The Node ecosystem still has tooling problems by theteapot on Sunday July 31, 2022 @12:18AM (#32293140)
2012 === bad. 2022 == awesome!
Re:The Node ecosystem still has tooling problems by klodolph on Saturday July 30, 2022 @09:44PM (#32292343)
Problem is that a ton of random stuff breaks when you "type": "module". Unexpected stuff, like Prettier.
Re:The Node ecosystem still has tooling problems by BigJono on Sunday July 31, 2022 @02:36AM (#32293712)
Oh no, whatever will the world do without Prettier turning nicely formatted JS into a pile of unreadable shit because line 218 was 71 characters long instead of 69.
Re:The Node ecosystem still has tooling problems by ThalesX on Sunday July 31, 2022 @03:23AM (#32293898)
I’ve recently had a PR that Prettier would add 2 extra whitespace and Lint would complain about it. And these were in the same build process. The resolution was for me to change my code…
Re:The Node ecosystem still has tooling problems by inopinatus on Saturday July 30, 2022 @10:04PM (#32292477)
I reflected recently that, for years, I've carried a previously unverbalised and deep-seated expectation that JavaScript Will (Eventually) Be Replaced.

The language contains so many lurking horrors, accreted over the years, that it might even seem irrational to assume otherwise.

I suspect this sense of ephemerality then pervades the entire extended ecosystem, including all JS derivatives, reducing everyone's time horizon to maybe the next eighteen months at best. Thus the roulette wheel of broken tools keeps spinning.

Re:The Node ecosystem still has tooling problems by engmgrmgr on Saturday July 30, 2022 @11:50PM (#32292997)
I think these arguments often miss the “for who” both in the producer and consumer sense.

If you have a team or teams of engineers, having one or two people deal with all the dev-ops stuff makes a lot of problems go away.

But if you have a large C++ project for example, you probably need more than a couple people focusing on build and target dev-ops work, or at least a lot more of their time.

It’s a lot easier to get a frontend person to help out with the backend dev-ops than it is to hire a new C++ guru and wait a bunch of time to catch up on the nuances of your build systems/org/whatever.

Anecdotally, I see the people who balk at Node are usually enterprise Java devs, backend Python devs, or junior Go/Rust enthusiasts.

At the end of the day, all these languages can interoperate with all the others in a bunch of different ways, and an organization’s ability to engineer and maintain systems is mostly orthogonal to its choices of “driver” technologies.

Re:The Node ecosystem still has tooling problems by klodolph on Sunday July 31, 2022 @01:40AM (#32293484)
Anecdotally, I've met a ton of people who balk at Node for backend stuff. I've been at two companies where it was actually prohibited.

> At the end of the day, all these languages can interoperate with all the others in a bunch of different ways, and an organization’s ability to engineer and maintain systems is mostly orthogonal to its choices of “driver” technologies.

I think people say that in an interest to keep the peace, but the assertion doesn't stand up to close scrutiny. Poor technological choices kill companies, or at the very least, make them perform more poorly. Choosing the right technology is a core skill for technology companies.

The problem is that each company is a goddamn unique snowflake. Company X has a bunch of front-end developers and spends most of their money on headcount. Company Y has a bunch of back-end developers and spends most of their money on infrastructure. The "best language for a project could be R, Python, Go, Rust, C++, TypeScript, C#, Java, or something else. Picking the wrong language can sometimes be outright disastrous compared to picking a good language. But most of the time, there's no clear "best" language.

Even though there's no clear "best" language, these people balking at Node may have a point.

Re:The Node ecosystem still has tooling problems by inopinatus on Sunday July 31, 2022 @06:16AM (#32294565)
This isn’t merely about tools. They’re one piece of a much larger puzzle. The fragmented chaos of the Node ecosystem arising from that aforementioned ephemerality ensures that eighteen months is roughly the duration before bitrot of dependencies is corrosive enough to have folks talking about rewrites. In four decades driving keyboards in various capacities, I’ve never seen any language experience dependency rot in production apps so rapidly as JavaScript and its offspring.

Aside: any shop operating under the assumption that devops is a function you assign to someone, has already failed devops 101.

Re:The Node ecosystem still has tooling problems by engmgrmgr on Wednesday August 03, 2022 @12:01AM (#32327524)
I genuinely don’t believe you’re coming at this from a business stakeholder POV, which is fair for HN. But if you have to advocate for a devops org outside of some massive global scale or as a small % of revenue, you’re doing something wrong.

Unfortunately a proven playbook for struggling devops teams is to just fire all the devops and infra folks, which seems to help with platform stability, recruiting, and velocity year over year.

Re:The Node ecosystem still has tooling problems by inopinatus on Wednesday August 03, 2022 @08:41AM (#32330908)
Your opening assumption is false. I start and run businesses.

Any reference to “devops team” is also automatically failing at devops. It’s not a job, a task, or a team. I don’t spare much time for folks encumbered by a silo mindset. It’s the antithesis of a service/product-team approach, and (to the actual point) does nothing to oppose the myopia I’m accusing the JS ecosystem of.

Re:The Node ecosystem still has tooling problems by andrew_ on Saturday July 30, 2022 @06:52PM (#32291177)
I do almost exclusively backend and DX development on Node and it's a joy. None of the frontend world's problems.

There is value in an ecosystem that lets you do it "your way," rather than enforcing convention. It's not for everybody though.

Re:The Node ecosystem still has tooling problems by kahnclusions on Sunday July 31, 2022 @03:09AM (#32293850)
Yeah. We have both Scala and Node (TypeScript) backend services and honestly the latter are much nicer to work on.
Re:The Node ecosystem still has tooling problems by wonnage on Saturday July 30, 2022 @07:32PM (#32291439)
Theoretically if you just used a runtime that didn't depend on code being transpiled and transformed a million times over (e.g deno) you could just run your damn code. It would even work in the browser, if you used `import/export` syntax instead of `require/module.exports`.

I don't buy the argument that the existence of separate binaries for the typescript compiler, test runner, packaging system, etc. is somehow unbearably confusing, I would almost prefer that over certain other languages where one magic command does it all. Although if you like that, you could try `bun`.

Re:The Node ecosystem still has tooling problems by hinkley on Sunday July 31, 2022 @04:10AM (#32294119)
I could write an article solely about npm and just the swear words would take up more space than this article.
Re:The Node ecosystem still has tooling problems by ramesh31 on Saturday July 30, 2022 @06:15PM (#32290898)
It’s beyond repair. The future is Rust, Go, and Deno.