π11β€4
β€5π5π€2
What is the output?
Anonymous Quiz
32%
loop1 0, loop1 1, loop2 0, loop2 1
35%
loop1 0, loop1 1
11%
loop1 0, loop1 1, loop2 1
21%
loop1 1, loop1 2, loop2 1, loop2 2
π11
π Issue 11 / 06.06.2023
πqnm: A CLI Tool to Look Into `node_modules`
If youβve been into a
RAN YITZHAKI
π‘ Don't forget about the always handy NPKILL for if you actually want to clear away those
π Hands On with Node's Built-In Test Runner
The built-in test runner became stable with the release of Node 20 and a lot of folks are now figuring out how to use it in their workflows. Phil walks through it with an easily understood and complete example here.
PHIL NASH
π It must be the week for testing, as endpts has shared a thorough built-in test runner primer too, and NearForm's RΓ΄mulo Vitoi takes it a step further by showing us how to build a custom test reporter.
Β©οΈJS WEEKLY
πqnm: A CLI Tool to Look Into `node_modules`
If youβve been into a
node_modules
folder and been overwhelmed, this tool lets you dig around with extra guidance as to what is what. You can use fuzzy search to find specific things, and also see which modules are using the most space (you could try that right now with `npx qnm doctor`).RAN YITZHAKI
π‘ Don't forget about the always handy NPKILL for if you actually want to clear away those
node_modules
nightmares.. ππ Hands On with Node's Built-In Test Runner
The built-in test runner became stable with the release of Node 20 and a lot of folks are now figuring out how to use it in their workflows. Phil walks through it with an easily understood and complete example here.
PHIL NASH
π It must be the week for testing, as endpts has shared a thorough built-in test runner primer too, and NearForm's RΓ΄mulo Vitoi takes it a step further by showing us how to build a custom test reporter.
Β©οΈJS WEEKLY
π3β€2
IN BRIEF
πSomehow we missed it, but Node.js recently turned 14 years old with the initial release being on May 27, 2009.
πAs of June 1, Node.js 19 is now 'end of life' and will not receive further updates.
πOhm, Pohl and Boes published an academic paper titled You Can Run But You Can't Hide: Runtime Protection Against Malicious Package Updates for Node.js. They approached the long-standing issue around supply chain security with a technique to automatically limit the capability of packages at runtime with 90% success and little overhead.
πAlternative server-side JavaScript runtime Bun has added an interesting 'macro' feature to its new bundler. This might catch on.
MDN's reference pages on regular expressions in JavaScript have been substantially improved.
πSomehow we missed it, but Node.js recently turned 14 years old with the initial release being on May 27, 2009.
πAs of June 1, Node.js 19 is now 'end of life' and will not receive further updates.
πOhm, Pohl and Boes published an academic paper titled You Can Run But You Can't Hide: Runtime Protection Against Malicious Package Updates for Node.js. They approached the long-standing issue around supply chain security with a technique to automatically limit the capability of packages at runtime with 90% success and little overhead.
πAlternative server-side JavaScript runtime Bun has added an interesting 'macro' feature to its new bundler. This might catch on.
MDN's reference pages on regular expressions in JavaScript have been substantially improved.
π2
π Code & Tools
π© bundlejs: npm Package Bundle Size Checker
A browser-based tool that can treeshake, bundle, minify, and compress (`gzip` and `brotli`) packages to show you what their weight impact is. It runs entirely in the browser, too, using the WebAssembly build of esbuild.
OKIKI OJO
π© Prisma-Lint: A Linter for Prisma Schema Files
The team behind this tool has dozens of schema files to stay on top of, so they built this to maintain a consistent style and ensure they have the proper indices in place.
LOOP PAYMENTS
π© copy-paste: Cross-Platform Clipboard Copy/Paste
Wraps around different utilities for each operating system (macOS, Linux, BSD, and Windows).
XAVI
π© DOT Classes: TypeScript Library to Model Data Transfer Objects
Designed to model data transfer objects in HTTP JSON APIs using class-based schemas that serialize/deserialize, static types by default, custom validation support, and an API that may feel familiar if you use OpenAPI and JSON Schema.
ROBERT SINGER
π© bundlejs: npm Package Bundle Size Checker
A browser-based tool that can treeshake, bundle, minify, and compress (`gzip` and `brotli`) packages to show you what their weight impact is. It runs entirely in the browser, too, using the WebAssembly build of esbuild.
OKIKI OJO
π© Prisma-Lint: A Linter for Prisma Schema Files
The team behind this tool has dozens of schema files to stay on top of, so they built this to maintain a consistent style and ensure they have the proper indices in place.
LOOP PAYMENTS
π© copy-paste: Cross-Platform Clipboard Copy/Paste
Wraps around different utilities for each operating system (macOS, Linux, BSD, and Windows).
XAVI
π© DOT Classes: TypeScript Library to Model Data Transfer Objects
Designed to model data transfer objects in HTTP JSON APIs using class-based schemas that serialize/deserialize, static types by default, custom validation support, and an API that may feel familiar if you use OpenAPI and JSON Schema.
ROBERT SINGER
π4
β€9π€£7
π₯7β€3
π Issue 12 / 08.06.2023
π Polywasm: A Polyfill to Run WASM in JS Environments
The creator of esbuild is back with something fresh: a polyfill that uses live translation to be able to run
EVAN WALLACE
π Announcing TypeScript 5.1
This release of the statically typed JavaScript superset is a gentle 'quality of life' step forward rather than a featureful extravaganza, but we get support for linked editing of JSX tag names, namespaced JSX attributes, the ability to have unrelated types for getters and setters, and
DANIEL ROSENWASSER (MICROSOFT)
Β©οΈJS WEEKLY
π Polywasm: A Polyfill to Run WASM in JS Environments
The creator of esbuild is back with something fresh: a polyfill that uses live translation to be able to run
.wasm
files in JS environments that either lack a WebAssembly implementation or have it disabled. You can see how it performs in this special version of the esbuild playground.EVAN WALLACE
π Announcing TypeScript 5.1
This release of the statically typed JavaScript superset is a gentle 'quality of life' step forward rather than a featureful extravaganza, but we get support for linked editing of JSX tag names, namespaced JSX attributes, the ability to have unrelated types for getters and setters, and
undefined`-returning functions no longer need an explicit `return
.DANIEL ROSENWASSER (MICROSOFT)
Β©οΈJS WEEKLY
β€8