Prettier in Rust; Prettier performance improvements; Node v21.3.0; TC39 meeting November; esbuild...

Biome formatter wins the Prettier challenge (USD 22,500)

biomejs.dev @ematipico@fosstodon.org @biomejs@fosstodon.org

Prettier challenge – “write a Prettier-compliant pretty printer in Rust”:

  • USD 22,500: Pass > 95% of the prettier JavaScript tests.
  • USD 2,500: Compile to WASIX [a standardized WebAssembly API] and publish (via CI) to Wasmer [a WebAssembly engine].

Before the challenge, Biome was roughly 85% compatible with Prettier. Several Biome contributors pushed that number to over 96% within three weeks. So far, the second prize hasn’t been claimed. Biome maintainer Emanuele Stoppa: “WASIX requires way more work than expected.”

This is the major new feature of Biome v1.4.0. You can check out the release notes to see what else is new.

Prettier’s CLI: a performance deep dive

prettier.io github.com/fabiospampinato github.com/prettier

“[...] I’ve been contracted by the Prettier team to speed up Prettier’s command line interface (CLI). In this post we’ll take a look at the optimizations I’ve discovered, the process that lead to finding them, some exciting numbers comparing the current CLI with the new one, and some guesses about what could be optimized next.”

“By default times for the same command go from ~29s to ~1.3s, for a ~22x speedup. This requires the cache file to be remembered between executions. We can probably get much closer to a 50x speedup in the future also.”

“If the cache file is not remembered, or if you explicitly turn caching off, or if this is the first run, then times go from ~29s to ~5.5s with parallelization, on my computer, for a ~5x speedup, which should still be pretty significant.”

Node v21.3.0 (current): --disable-warning

nodejs.org github.com/RafaelGSS @nodejs@social.lfx.dev

Highlight: “This version adds a new --disable-warning option that allows users to disable specific warnings either by code (i.e. DEP0025) or type (i.e. DeprecationWarning, ExperimentalWarning).”

Updates from the TC39 meeting in November 2023

dev.to github.com/hemanth

Stage 4:
  • Array grouping
  • Promise.withResolvers
Stage 1:
  • Math.sum
  • Module sync assert
Withdrawn proposals:
  • Operator overloading
  • Extensible numeric literals

esbuild’s bundle size analyzer web app now has a treemap visualization

hachyderm.io @evanw@hachyderm.io

Write shell scripts using JavaScript and zx

johnwargo.com @johnwargo@mastodon.social

This is how the blog post describes zx:
  • It’s a Node-based runtime for executing JavaScript-based scripts and managing spawning external apps (in those scripts).
  • Provides a simplified wrapper around Node’s child_process API.
  • Returns promises from calls to spawn.
  • Automatically initializes several standard Node modules (chalk, fetch, fs_extra, minimist).
  • Automatically escapes and quotes parameters.

New podcast: “Off the main thread” with Jake Archibald and Surma about “whatever’s going on in the world of tech & web development”

offthemainthread.tech @jaffathecake@mastodon.social @surma@toot.cafe

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

Older messages

“State of JavaScript 2023” survey; QuickJS-ng v0.1.0; esbuild 0.19.7; show package version downloads

Tuesday, November 28, 2023

The “State of JavaScript 2023” survey is open stateofjs.com @sachagreif@hachyderm.io Quoting the frequently asked questions: When will the results be released? The survey will run from November 22 to

Vite 5.0; Prettier 3.1; Node v21.2.0; Bun v1.0.12; explicit resource management; JS strings in V8

Tuesday, November 21, 2023

Vite 5.0: Rollup 4, API cleanups and more vitejs.dev @vite@webtoo.ls “Vite is now using Rollup 4, which already represents a big boost in build performance. And there are also new options to improve

Pacquet package manager; WebGPU; test automation; NodeConf EU 2023 videos

Tuesday, November 14, 2023

pacquet: experimental Node.js package manager written in Rust [rewrite of pnpm] github.com github.com/pnpm Quoting the pnpm team: “Our Rust rewrite of pnpm is close to being ready for experimental

Bun 1.0.9; Deno 1.38; service workers server WinterJS; deprecation of ESLint formatting rules; Test2

Tuesday, November 7, 2023

Bun v1.0.9 bun.sh github.com/Jarred-Sumner github.com/Electroid github.com/colinhacks github.com/oven-sh “Bun is a fast, all-in-one toolkit for running, building, testing, and debugging JavaScript and

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

Tuesday, October 31, 2023

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

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