Node.js 20 is now available
nodejs.org
@nodejs
Notable changes:
Node.js Permission Model: experimental mechanism for restricting access to specific resources during execution
Custom ESM loader hooks nearing stable
V8 11.3 now supports:
Stable test runner
Performance improvements in “the fundamental parts of the runtime including URL , fetch() , and EventTarget .”
Preparing single executable apps now requires “injecting a blob prepared by Node.js from a JSON config instead of injecting the raw JS file.” The exact steps are described in The Node.js documentation.
Official support for ARM64 Windows
Progress on Web Assembly System Interface (WASI)
Introducing npm package provenance
github.blog
@bdehamer,
@feelepxyz,
@npm
Quote: “Starting today, when you build your npm projects on GitHub Actions, you can publish provenance alongside your package by including the --provenance flag. This provenance data gives consumers a verifiable way to link a package back to its source repository and the specific build instructions used to publish it [...].”
If you want to read even more about this feature, you can check out “npm Registry Code Signing” by Bradley Meck Farias (Socket).
Learn more about the JavaScript ecosystem
exploringjs.com
Sponsor
Dr. Axel Rauschmayer’s books are free to read online:
Vite 4.3 is out
vitejs.dev
@vitejs
Quote: “In this minor, we focused on improving the dev server performance. The resolve logic got streamlined, improving hot paths and implementing smarter caching for finding package.json , TS config files, and resolved URL in general.”
ESLint v8.39.0 comes with performance improvements
eslint.org
@mdjermanovic,
@eslint
Quote: “Performance of SourceCode methods that search for comments has been improved following recommendations from a blog post by Marvin Hagemeister. For example, our tests showed that this change reduces linting time for eslint-plugin-jsdoc rules by 6~11%.”
Picking the right tool for maneuvering JavaScript’s event loop
www.macarthur.me
@alexmacarthur
[Quote:]
Much of the time, you can get along just fine without thinking a ton about JavaScript’s event loop. But sooner or later (especially as you begin to spend more time with things like the rendering process and asynchronous tasks) it becomes handy to know not only how the thing works, but the different tools available to best maneuver it.
By “maneuver,” I mean “schedule code to execute at a particular part of an event loop iteration, or on a different one altogether.” And which ones you choose in different situations can have a big impact on your code’s performance.
|