CodiumAI; Yarn 4.0; Node v21.1.0; test assertion styles; dependency divergence; performance-compare

CodiumAI | Generating meaningful tests for busy devs

codium.ai Sponsor

Redefining software development: Meet CodiumAI. Bypass the tedium of unit testing. Our VS Code & JetBrains extensions instantly suggests & crafts tests for you. Benefit from superior code suggestions and comprehensive behavior coverage—all seamlessly within your IDE.

Release: Yarn 4.0

yarnpkg.com @arcanis@mastodon.online github.com/yarnpkg

Highlights:
  • By default, Yarn is now installed via the package.json property packageManager.
  • Hardened mode performs two additional validations (quoting the blog post):
    • It will validate the resolutions stored in the lockfile are consistent with what the ranges could resolve to.
    • It will validate that the package metadata stored in the lockfile are consistent the remote registry metadata.
  • Yarn’s rule-based constraints were previously written in Prolog and are now written in JavaScript.
  • More functionality is built-in that was previously implemented as plugins.
  • Improved CLI user interface
  • Faster performance
  • Content and look of the website were updated.

Node v21.1.0 (current): --experimental-detect-module

nodejs.org @targos@fosstodon.org @nodejs@social.lfx.dev

Highlight (quoting the blog post):

The new flag --experimental-detect-module can be used to automatically run ES modules when their syntax can be detected. For “ambiguous” files, which are .js or extensionless files with no package.json with a type field, Node.js will parse the file to detect ES module syntax; if found, it will run the file as an ES module, otherwise it will run the file as a CommonJS module. The same applies to string input via --eval or STDIN.

We hope to make detection enabled by default in a future version of Node.js. Detection increases startup time, so we encourage everyone — especially package authors — to add a type field to package.json, even for the default "type": "commonjs". The presence of a type field, or explicit extensions such as .mjs or .cjs, will opt out of detection.

Test assertion styles in JavaScript

blog.izs.me @isaacs@fosstodon.org

Question that triggered the blog post: “Reminding myself of tap’s api, can you sell me on why people like a test runner to have built in assertions?”

Introducing dependency divergence GitHub action

socket.dev github.com/bmeck @SocketSecurity@fosstodon.org

JavaScript’s various package managers all work differently. One area in which they differ is “dependency divergence”: “when 2 different dependencies specifying the same constraint differ in what they install”. “When installing dependencies, [package managers] may choose to update versions automatically, may keep a minimal matching version, may refer to a tooling specific lockfile, etc. the choice is theirs to make and all could be valid given a constraint that spans multiple versions.”

Running our new Dependency Divergence GitHub Action will expose when installations differ in your project. This can be used to assert that moving to a new shiny package manager or a battle tested package manager won't alter your dependencies in an unexpected way or introduce problematic packages.

performance-compare: benchmark that compares Farm, Webpack, Vite, Rspack and Turbopack

github.com @bluwy@m.webtoo.ls

This is what the results of the benchmark look like.

Bloomberg invests in Node.js. Shouldn’t you?

www.nearform.com @littledan@hachyderm.io

Topics:
  • Node.js work sponsored by Bloomberg: faster startup time via code caching and snapshotting, Async Context, deferred module evaluation, and more.
  • WinterCG (Web-interoperable runtimes community group), is a standards group where Node.js has an important voice
  • It’s important that the web community keeps contributing to Node.js (via money, work, etc.).

This email was sent to you. You can unsubscribe from this list here or update your preferences.

Older messages

Oxc tool chain; Node.js 21; Biome v1.3.0; Biome toolchain; ESLint v8.52.0; Compiling JS to Wasm

Tuesday, October 24, 2023

Oxc: suite of high-performance tools for JavaScript and TypeScript written in Rust github.com Included tools: AST and parser, linter, resolver, minifier, formatter, transpiler, ezno type checker Node.

Task group for source maps; Parcel v2.10.0; ESLint flat config

Tuesday, October 24, 2023

Ecma TC39 “ECMAScript” initiates a new task group to standardize source maps www.ecma-international.org github.com/jkup @littledan@hachyderm.io @TC39@fosstodon.org “The group's plan is to identify

You Might Also Like

Data Science Weekly - Issue 581

Thursday, January 9, 2025

Curated news, articles and jobs related to Data Science, AI, & Machine Learning ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

💻 Issue 444 - Check Out My New CV as a Full Stack .NET Developer!

Thursday, January 9, 2025

This week's Awesome .NET Weekly Read this email on the Web The Awesome .NET Weekly Issue » 444 Release Date Jan 09, 2025 Your weekly report of the most popular .NET news, articles and projects

💎 Issue 451 - Useful things you can do with Rails console

Thursday, January 9, 2025

This week's Awesome Ruby Newsletter Read this email on the Web The Awesome Ruby Newsletter Issue » 451 Release Date Jan 09, 2025 Your weekly report of the most popular Ruby news, articles and

💻 Issue 451 - The best way to iterate over a large array without blocking the main thread

Thursday, January 9, 2025

This week's Awesome JavaScript Weekly Read this email on the Web The Awesome JavaScript Weekly Issue » 451 Release Date Jan 09, 2025 Your weekly report of the most popular JavaScript news, articles

📱 Issue 445 - 🚀 Your Go-To List of 25 Swift Tools and Libraries for Any Project

Thursday, January 9, 2025

This week's Awesome iOS Weekly Read this email on the Web The Awesome iOS Weekly Issue » 445 Release Date Jan 09, 2025 Your weekly report of the most popular iOS news, articles and projects Popular

💻 Issue 369 - 17 Tips from a Senior React Developer

Thursday, January 9, 2025

This week's Awesome React Weekly Read this email on the Web The Awesome React Weekly Issue » 369 Release Date Jan 09, 2025 Your weekly report of the most popular React news, articles and projects

💻 Issue 451 - Mastering Express.js: A Deep Dive

Thursday, January 9, 2025

This week's Awesome Node.js Weekly Read this email on the Web The Awesome Node.js Weekly Issue » 451 Release Date Jan 09, 2025 Your weekly report of the most popular Node.js news, articles and

📱 Issue 448 - The Swift Runtime: Your Silent Partner

Thursday, January 9, 2025

This week's Awesome Swift Weekly Read this email on the Web The Awesome Swift Weekly Issue » 448 Release Date Jan 09, 2025 Your weekly report of the most popular Swift news, articles and projects

💻 Issue 446 - Great things about Rust that aren't just performance

Thursday, January 9, 2025

This week's Awesome Rust Weekly Read this email on the Web The Awesome Rust Weekly Issue » 446 Release Date Jan 09, 2025 Your weekly report of the most popular Rust news, articles and projects

JSK Daily for Jan 9, 2025

Thursday, January 9, 2025

JSK Daily for Jan 9, 2025 View this email in your browser A community curated daily e-mail of JavaScript news Advanced Query Building Techniques in Angular: Queries with Different Connectors The Query