ELSEIF
Your brief EB
238 stories from 71 feeds 46 clusters Refreshed 5 minutes ago next pull 09:05

OBSERVABILITY Signal 453

eslint-rspack-plugin 5.0.0 Ships as a Pure ESM Package, Aligning with the Rstack Ecosystem

eslint-rspack-plugin 5.0.0 is now distributed only as a pure ESM package, dropping its CommonJS build.

WHY IT MATTERS

Projects that still rely on a CommonJS import of the plugin will need to update their build chain or stay on an older version. The change aligns the plugin with Rspack 2.0 and the broader Rstack ecosystem, but it also reinforces the recommendation to run linting outside the bundler to avoid slower build times.

Written by elseif from the cluster below · every claim links back to a source

The three things worth knowing

01

The plugin is published solely as ESM, removing its previous CommonJS bundle.

02

Node 20+ can load the ESM version without code changes, but older Node runtimes that lack ESM support will break.

03

Running ESLint inside the bundler can lengthen builds, so a separate lint step or a faster alternative like Rslint is advised.

THE READ

What elseif makes of it.

ORIGINAL ANALYSIS

Version 5.0.0 re-packages eslint-rspack-plugin as a pure ESM module, mirroring the shift made in Rspack 2.0. By eliminating the CommonJS build, the distribution becomes simpler and more consistent with current Node.js module resolution, but any project still using require() on the plugin will encounter load errors unless they upgrade the runtime or the import style.

For environments running Node 20 or later, the change is largely transparent because those runtimes can import ESM modules via the require-esm interop. Engineers should verify that their toolchain (e.g., ts-node, Babel, or other loaders) respects ESM entry points, but no source-code modifications are mandated for typical usage patterns.

The plugin continues to invoke ESLint during Rspack compilation and only re-runs on files changed in watch mode. However, the README warns that this in-build linting can increase overall build time, echoing broader ecosystem advice to separate linting from the bundling step for performance reasons.

Teams focused on build speed may consider the Rstack-provided Rslint, a TypeScript-first linter written in Go that claims substantially faster execution. Switching to a dedicated lint script, or to Rslint, avoids the performance penalty of bundler-integrated linting while preserving linting quality.

Upgrading from the 4.x line requires testing the pure ESM shift against the existing CI pipeline and, where feasible, adopting ESLint’s flat config via the configType option. Projects that cannot move to Node 20 or that depend on the plugin’s CommonJS entry must remain on the older version until they can update their runtime.

Written by elseif from the cluster below · checked for specifics the sources never contained

THE CLUSTER

Same story, 1 feed.

ORDERED BY FIRST SEEN
InfoQ eslint-rspack-plugin 5.0.0 Ships as a Pure ESM Package, Aligning with the Rstack Ecosystem Open ↗