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

Overcoming Perfectionism: How to Break Free from the Enemy of Progress

Wednesday, November 27, 2024

Discover how perfectionism hinders progress and learn practical strategies to overcome the fear of imperfection, boost productivity, and achieve your goals without getting stuck in the pursuit of

🖤 Laravel Black Friday Deals!

Wednesday, November 27, 2024

The biggest deals of the year Laravel Black Friday Deals View in browser Laravel News Editor Note: We are sending this outside the regular Sunday newsletter schedule because some of these specials end

BetterDev #271 - Memory: The Forgotten History and Why did Windows 95 setup use three operating systems?

Wednesday, November 27, 2024

Better Dev #271 Nov 26, 2024 Hi all, Welcome to thanksgiving issue of BetterDev. Hope everyone had a safe and warm thanksgiving. It's getting so cold these days. If you are in warzone such as

Mapped | Unemployment Rate By U.S. State in 2024 💼

Tuesday, November 26, 2024

As of October 2024, DC and Nevada tied for the highest unemployment rate in the US at 5.7%. Which states saw the lowest rates? View Online | Subscribe | Download Our App FINAL CHANCE - ENDS TONIGHT!

🔊 7 DIY Tips for Soundproofing a Room — Why I Switched to Xfce for Linux Mint

Tuesday, November 26, 2024

Also: Home Theater Sound Terms Explained, and More! How-To Geek Logo November 26, 2024 Did You Know The shiny layer of a CD doesn't contain the data; the plastic polycarbonate layer does. The shiny

JSK Daily for Nov 26, 2024

Tuesday, November 26, 2024

JSK Daily for Nov 26, 2024 View this email in your browser A community curated daily e-mail of JavaScript news JavaScript Certification Black Friday Offer – Up to 54% Off! Certificates.dev, the trusted

NumPy, Loop Targets, Vector Animation, and More

Tuesday, November 26, 2024

NumPy Practical Examples: Useful Techniques #657 – NOVEMBER 26, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo NumPy Practical Examples: Useful Techniques In this tutorial, you'll learn how to

Your Games Quarterly newsletter has arrived

Tuesday, November 26, 2024

What's new for games in Google Play and Android Email not displaying correctly? View it online November 2024 The First Developer Preview of Android 16 The First Developer Preview of Android 16

Daily Coding Problem: Problem #1620 [Hard]

Tuesday, November 26, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Dropbox. Sudoku is a puzzle where you're given a partially-filled 9 by 9 grid with

Final Hours: Help Save "The Art of Data" From Falling Short 🙏

Tuesday, November 26, 2024

Will Visual Capitalist end up revealing the secrets behind data storytelling? There are 12 hours left to change the fate of "The Art of Data". View Online | Subscribe | Download Our App Help