ES.nextNews: the latest in JavaScript and cross-platform tools
Curated by Dr. Axel Rauschmayer and Johannes Weber. News

The latest in JavaScript and cross-platform tools

New versions of tools
Babel 7.21.0: inline RegExp modifiers, TypeScript 5.0, and decorators updates
Highlights (quoting the blog post):
  • Inline RegExp modifiers (Stage 3 proposal)
  • TC39, the committee that standardizes JavaScript, recently approved some changes to the Decorators proposal based on feedback from the TypeScript team. These are now supported by Babel.
  • TypeScript 5.0:
    • const modifiers for type parameters
    • export type * declarations
  • Experimental support for .cts configuration files
  • Source maps improvements

ESLint v8.35.0 released, @eslint
Highlights (quoting the blog post):
  • ESLint’s predefined recommended and all configs are now exported from a new @eslint/js package.
  • The no-constant-binary-expression rule now catches more cases involving the nullish coalescing operator (??).
  • A new version of the esquery selector engine includes performance improvements covered in a blog post by Marvin Hagemeister.

Time for a change? Emerging cybersecurity startup seeks JavaScript talent Sponsor
Defendify is an award-winning, all-in-one cybersecurity platform developer, looking for a senior full stack engineer to join full-time. This is a unique and exciting opportunity as Defendify continues to rapidly expand its groundbreaking platform, especially designed for the non-enterprise.

esbuild v0.17.10
Highlights (quoting the release notes):
  • Update esbuild's handling of CSS nesting to match the latest specification changes
  • Fix cross-file CSS rule deduplication involving url() tokens

What’s new with Lerna 6.5?, @nrwl
Highlights of Lerna 6.5:
  • Idempotency added to the lerna publish from-git command
  • lerna run can run multiple scripts in a single command
  • New --include-private option added to lerna publish
The article also covers how to get started with Lerna and the future of Lerna.

Turborepo 1.8: workspace configurations, automatic workspace scoping, easier migrations
[Quoting the blog post:]

Turborepo 1.8 brings better flexibility and more control to your codebase by improving turbo’s understanding of your workspaces.

  • Workspace Configurations: You can now add a turbo.json configuration file in a workspace to override the root configuration in your repository.
  • Automatic Workspace Scoping: Global turbo now automatically infers your current workspace so that it only runs that workspace’s tasks.
  • Easier Migrations: Automatically migrate to new versions of turbo with npx @turbo/codemod migrate.

New versions of platforms
Node.js v19.7.0 (current): initial support for single executable applications, @nodejs
Highlight: initial support for compiling a Node.js module into a stand-alone executable (that contains both the Node.js executable and the module).

Deno 1.31: package.json support, @dsherret, @kt3k, @denoland
Highlights (quoting the blog post):
  • package.json support
  • Stabilization of Node-API
  • Node.js compatibility layer is now part of the runtime
  • npm specifiers are supported in remote modules

Libraries and technologies
Devalue: (de)serialization beyond JSON.stringify/parse
[Quoting the readme:] Like JSON.stringify, but handles:
  • cyclical references (obj.self = obj)
  • repeated references ([value, value])
  • undefined, Infinity, NaN, -0
  • regular expressions
  • dates
  • Map and Set
  • BigInt
  • custom types via replacers, reducers and revivers

JavaScript import maps, part 1: introduction
Quote: “In this first article, we will go through the background and basics of import maps and follow up with a second article explaining more details of import maps.”

Looking for deeply qualified employees or customers? Advertise on News! News reaches over 15,000 highly skilled and motivated developers. We take their trust seriously and have high editorial standards.
Check out our media data and get directly in touch with us.
Follow on Twitter

This email was sent to {{ email | default }}. Want to change how you receive these emails?
You can unsubscribe from this list