Do I Need This Node Dependency?

Brian Muenzenmeyer on new(ish) things in Node:

Through the efforts of contributors over several recent majors, great new features are landing. Each is useful in isolation, but put together they form a more and more comprehensive standard library.

Do you need a 3rd party testing library like jest? Maybe, but there is a tester built in now. Do you need a 3rd party file watcher like chokidar? Maybe, but there is a built-in watcher now. Do you need a build process to deal with TypeScript? Not anymore. Do you need chalk to colorize/style terminal output? Not anymore.

Wanna learn Node.js deeply?

2 responses to “Do I Need This Node Dependency?”

  1. Ethan says:

    You still need a build process, you have always needed build processes, you will always need a build process. Node stripping types are not prod ready. Considering things like Enums, Decorators, and parameter properties don’t work without a build process.

    From Carniato:

    “Compilation is an ever-present aspect of JavaScript development. Whenever we’ve hit an obstacle, whether it be browser feature support, clunky syntax, or the ability to address the language’s shortcomings we build a compiler for that.

    It is so ubiquitous at this point Standards committees are considering going that direction to introduce new features. Compilation and through extension bundling is the core of how modern JavaScript applications are created. It is also the root of most complexity in JavaScript tooling.

    The benefits are immense. Types, Linting, Treeshaking, Code Splitting, Minification, Isomorphism, Macros, DSLs, Monolithic Authoring/Distributed Deployment. Every advancement in the past 15 years in this field has been built on this foundation. There is no alternative that could even remotely be considered adequate by comparison. Call it unfortunate. Call it a limitation of the JavaScript language. Call it necessary complexity. But to deny this is futile.”

    I don’t know where a very small subset of the JS community got the idea that they should be able to plop anything into a browser and it just work. That’s never been how it works in the real world. Native types are just supposed to sit there taking up precious space? Or is minification supposed to strip? And is that considered OK because you can’t remember a time it wasn’t standard?

    Very confused where this no build mentality comes from. I think it likely arose out of a framework marketing bullet point.

    • Chris Coyier says:

      I think the web is a very big place and the fact that you need or want a build process on your project doesn’t mean that I need one on mine. The point of me linking up this piece is “sometimes it’s nice to use less tools, because tools have a certain level of technical debt, and that price will always be paid.”

Leave a Reply

Your email address will not be published. Required fields are marked *

Did you know?

Frontend Masters Donates to open source projects. $363,806 contributed to date.