Node.js Collection

medium.com/the-node-js-collection · Company blog · on HN since 2017

A Medium publication run by the Node.js project community, with posts on Node releases, ES modules, and JavaScript tooling.

What HN saysHN commenters repeatedly recommend "Modern JavaScript Explained for Dinosaurs" as a clear explanation of why modern frontend tooling is so complicated.
55HN people shared it
25linked it in comments
43stories submitted
237story points
5 years agolast shared
2017people per year2026

Most-shared posts

  1. 1
    Modern JavaScript Explained for Dinosaurs
    14 people · 99 points · first shared 2018 · 36 comments on HN
  2. 2
    An Update on ES6 Modules in Node.js
    5 people · 9 points · first shared 2017 · discussion on HN
  3. 3
  4. 4
  5. 5
  6. 6
    Node.js 17
    2 people · 6 points · first shared 2021 · discussion on HN
  7. 7
    Why the Hell Would You Use Node.js
    2 people · 5 points · first shared 2019 · discussion on HN
  8. 8
    Node.js State of the Union 2017
    2 people · 3 points · first shared 2017 · discussion on HN
  9. 9
  10. 10
  11. 11
  12. 12
    Show HN: Rethinking JavaScript Test Coverage
    1 people · 8 points · first shared 2018 · 1 comments on HN
  13. 13
    Node.js Errors Changes You Need to Know About
    1 people · 5 points · first shared 2017 · discussion on HN
  14. 14
  15. 15
    Say Hello to HTTP/2 for Node.js Core
    1 people · 4 points · first shared 2017 · discussion on HN

What HN people wrote when they linked it

smacktoward · 2019-01-03
As a fellow old-schooler who's been getting back into JS myself, I've come across a couple of these types of resources that I found particlarly helpful. Here's the links: - "Modern JavaScript Explained for Dinosaurs," by Peter Jang: https://medium.com/the-node-js-collection/modern-javascript-explained-… - "Modern JavaScript for Ancient Web Developers," by Gina Trapani: https://postlight.com/trackchanges/modern-javascript-for-ancient-web-d… (Don't let the "ancient"/"dinosaur" stuff scare you off -- they kid because they love.) Hope this helps!
This article is great in explaining why modern javascript development is so complicated, with so many tools (webpack, babel, ...), and why it all makes sense: https://medium.com/the-node-js-collection/modern-javascript-explained-…
ideatostartup · 2018-09-29
@qz_ Checkout Modern JavaScript Explained For Dinosaurs : https://medium.com/the-node-js-collection/modern-javascript-explained-… Also, here is a list of sources we recommend for learning JavaScript: https://github.com/ideatostartup/technologies#language
joaodlf · 2018-02-05
Excellent! This is from the same author as "Modern JavaScript Explained For Dinosaurs"[1], that article got me much more closer to understanding the insane world of modern frontend development, I would recommend it to any other "dinosaurs" like me. I'm very excited about modern CSS, I grew up in the crazy world of floats and the transition to responsive, new concepts like flexbox and grid are much more sensible approaches to layout design. [1]https://medium.com/the-node-js-collection/modern-javascript-explained-…
yesenadam · 2018-01-22
I learnt a lot from the article Modern JavaScript Explained For Dinosaurs[0] (featured on HN recently), which explains the history of developments from vanilla JS to 2017, "a historical context of how JavaScript tools have evolved to what they are today". I thought it was brilliant at making sense of the jungle you describe. I'm pretty sure it will remove the dread. [0] https://medium.com/the-node-js-collection/modern-javascript-explained-…
pixelmonkey · 2019-08-24
I'm the original author of the post. A friend who reviewed a draft of it asked me the same question. I had the following recommendations: 1. Solid recorded talk (on YouTube) on using npm run-script to automate local builds: https://www.youtube.com/watch?v=0RYETb9YVrk 2. Modern JavaScript Explained for Dinosaurs: https://medium.com/the-node-js-collection/modern-javascript-explained-… -- this is a long post that goes into technical depth on the stuff that I covered at a high level in my post 3. Webpack -- The Confusing Parts: https://medium.com/@rajaraodv/webpack-the-confusing-parts-58712f8fcad9 -- long post that goes into depth on Webpack, in particular. Aside from all of these, the book I have found the most helpful if you want to zoom straight ahead to React is "Road to React": https://leanpub.com/the-road-to-learn-react It's 200 pages, oriented around real code, and straightforward.
m0ck · 2020-07-01
As a backend developer getting his foot into frontend I feel you. Configuring TSLint with Prettier and all the plugins was tiresome only to learn few months later it's getting deprecated and you should move to ESlint. This article helped me bit, it explains "what is what" in modern JS ecosystem https://medium.com/the-node-js-collection/modern-javascript-explained-…
seanstickle · 2020-02-02
A good history of where modern JavaScript comes from (from old school to webpack and babel). https://medium.com/the-node-js-collection/modern-javascript-explained-… Helped me understand the how and why of webpack.
felixfbecker · 2019-02-27
This is a common misconception. Node (libuv) only uses the thread pool as a last resort. Many operations nowadays have a native async OS API, so they don't need to use (and therefor don't block/fill) the thread pool. https://medium.com/the-node-js-collection/what-you-should-know-to-real… https://stackoverflow.com/a/22644735/4208018
chauhankiran · 2018-04-12
I would suggest to read Modern JavaScript Explained For Dinosaurs[0]. This will help you to understand the growth of JS. [0]. https://medium.com/the-node-js-collection/modern-javascript-explained-…
ariabuckles · 2018-03-08
They're available right now behind the flag `--experimental-modules`, and planned to be released without a flag in node 10. And yes, still requires .mjs unfortunately. https://nodejs.org/api/esm.html https://medium.com/the-node-js-collection/an-update-on-es6-modules-in-…
dguo · 2017-12-18
Keeping the Node standard library small seems to be a deliberate approach. See this post for some elaboration: https://medium.com/the-node-js-collection/keeping-the-node-js-core-sma…
fivesigma · 2017-10-31
I was hoping to see v8 6.2 make into the LTS but apparently it will be merged into a future 8.x release in a few months from now. v8 6.2 fixes a lot of Turbofan related regressions, for example: for in object performance [1] [1] https://medium.com/the-node-js-collection/get-ready-a-new-v8-is-coming…
lkrubner · 2017-10-15
NodeJS userland is effectively single-threaded, but NodeJS is not single-threaded. NodeJS outsources some event loop scheduling to libuv, and libuv is multi-threaded (by default, 4 threads, but this can be configured. See: https://medium.com/the-node-js-collection/what-you-should-know-to-real…
fourthark · 2017-10-07
And they rejected a couple of his pull requests and implemented similar features themselves. I don't think it's necessarily the responsibility of a project to validate its users. But there are examples like Node where the emphasis is on retaining and involving contributors. https://medium.com/the-node-js-collection/healthy-open-source-967fa8be… I'm not sure it fits everywhere but based on later posts, it seems to be working for them.
jadbox · 2017-09-13
Yes, this update will make async stack traces appear within its called context... allows for much better debugging. https://medium.com/the-node-js-collection/node-js-8-big-improvements-f…
alayek · 2017-08-24
Other than their front-end build process, Node is also used in their user-facing servers. Basically, when your Netflix app makes a HTTP request to fetch any data from its backend servers, the request first hits a Node JS server. Something like this: https://medium.com/the-node-js-collection/netflixandchill-how-netflix-…
__s · 2017-08-10
They link https://medium.com/the-node-js-collection/get-ready-a-new-v8-is-coming… I'm mostly glad it'll come with an updated WebAssembly, hopefully fixing this bug: https://bugs.chromium.org/p/v8/issues/detail?id=6204 which blocks Luwa from working in node (handwritten wasm has a tendency to run into things emscripten would not.. I expect the same vice versa) Will also enjoy not having to use a TextEncoder/TextDecoder shim. Kind of weird that they went full out with Unicode there, last I recall browsers were moving towards only supporting utf8
jamescostian · 2017-05-03
For those wondering why there isn't a Node v8.0.0 yet: > We want to give ourselves the option to ship the Node.js 8.x release line with the TurboFan + Ignition pipeline, which will become the default in V8 5.9. This would allow our next LTS release line to run on a more modern compiler + jit pipeline, making backporting easier and giving us a longer support contract from the V8 team. From https://medium.com/the-node-js-collection/node-js-8-0-0-has-been-delay…
JoshGlazebrook · 2017-02-22
Forget about browsers, have you read the clusterfuck that Node.js is aiming for with ES6 Modules? https://medium.com/the-node-js-collection/an-update-on-es6-modules-in-…
danShumway · 2019-01-27
Because https://medium.com/the-node-js-collection/keeping-the-node-js-core-sma… Note that Node is actually in a much better position than Javascript as a whole, because Node apps can be shipped with a specific version of Node. This means that the Node team actually has more power than web browsers to deprecate old features and remove parts of the library, as long as they do so carefully. It is much harder to make breaking changes in a browser than it is to make them in Node. One middle ground I've seen people suggest is to have officially "blessed" external libraries that still need to be imported, but that are cached locally or have special privileges. For example, JQuery was at one point so common that the Firefox dev tools actually ship with a subset of the JQuery API enabled -- just so devs that are used to working with it can use it in the debugger on any site. I look at JQuery as a massive success story for how 3rd-party extensions should work. It was extremely ubiquitous, it did influence the core language, but now we've grown and because it was kept separate, we're still free to abandon it and move on. On the Node side maybe that means that Node ships with dependencies that still need to be added to your package.json, but that are always bundled in your installation so that you have them locally and don't need to hit a network request when you type `npm install X`. Also on the Node side we have modules that are built by the core team, but just not…
acemarke · 2017-12-13
Yes, it does make a difference, in a few ways. AMD modules can effectively only be consumed by a browser, or a browser-focused bundling tool, since AMD was designed for the "cascading waterfall" loading approach. Anecdotally, I see no new libraries being written in AMD format, and some that are written in AMD are looking at transitioning to ES6 modules. CommonJS modules are intended for synchronous loading under Node, and tools like Webpack and Browserify can wrap them up to be used in a browser. ES6 modules are designed to be statically analyzable, which is a key factor in "tree shaking" to drop unused code out of a generated bundle. However, the ES6 spec only defined the syntax for modules, not how they should be loaded. Major browsers have finally implemented native support for ES6 modules, but there's still a lot of complexity around how they're going to be implemented in Node [0]. There's also complexity around how lib authors publish packages to NPM. The most compatible approach is to author lib code as ES6 modules and whatever syntax additions you want, then compile it to CommonJS and ES5 before publishing. However, that loses out on any possible benefits from tree shaking. See this Twitter thread with discussion from Dan Abramov [1]. For more info on the history and differences between various JS module formats, see the "Javascript Module Formats" section of my React/Redux links list [2]. [0]…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close