eslint-rspack-plugin 5.0 Goes Pure ESM

A pure-ESM migration may affect your Rspack linting setup and upgrade path.
30-Second TL;DR
What Changed
Version 5.0.0 is now available.
Why It Matters
Projects using eslint-rspack-plugin may need to review their module configuration before upgrading. The ESM-only direction can improve consistency in modern JavaScript toolchains, but may require changes in CommonJS-based setups.
What To Do Next
Check your eslint-rspack-plugin integration and module configuration in a branch before upgrading to version 5.0.0.
Key Points
- •Version 5.0.0 is now available.
- •The package is distributed exclusively as pure ESM.
- •The release aligns eslint-rspack-plugin with the Rstack ecosystem.
Deep Insight
AI-generated analysis for this event — not the original article.
Enhanced Key Takeaways
- •The transition to pure ESM (ECMAScript Modules) requires users to use 'import' instead of 'require', which may break CommonJS-based build configurations.
- •This release is part of a broader initiative by the Rspack team to modernize the build toolchain and improve performance by removing legacy CJS compatibility layers.
- •The plugin now requires Node.js version 18.12.0 or higher to support the native ESM environment.
- •Version 5.0.0 includes updated peer dependency requirements, specifically mandating newer versions of Rspack and ESLint to ensure compatibility with the ESM architecture.
- •The migration to pure ESM is intended to reduce bundle sizes and improve tree-shaking capabilities for tools consuming the plugin.
Competitor Analysis
- eslint-rspack-plugin
- Rspack
- eslint-webpack-plugin
- Webpack
- eslint-plugin-import
- General ESLint
- eslint-rspack-plugin
- Pure ESM (v5.0+)
- eslint-webpack-plugin
- Mixed/CJS
- eslint-plugin-import
- Mixed
- eslint-rspack-plugin
- High (Rust-based)
- eslint-webpack-plugin
- Moderate
- eslint-plugin-import
- N/A (Rule-based)
- eslint-rspack-plugin
- Rstack
- eslint-webpack-plugin
- Webpack
- eslint-plugin-import
- Universal
| Feature | eslint-rspack-plugin | eslint-webpack-plugin | eslint-plugin-import |
|---|---|---|---|
| Primary Target | Rspack | Webpack | General ESLint |
| ESM Support | Pure ESM (v5.0+) | Mixed/CJS | Mixed |
| Performance | High (Rust-based) | Moderate | N/A (Rule-based) |
| Ecosystem | Rstack | Webpack | Universal |
Technical Deep Dive
- The plugin utilizes the Rspack plugin API, which is designed to be compatible with Webpack's plugin system while leveraging Rspack's Rust-based core.
- By moving to pure ESM, the package exports are now defined in the 'exports' field of package.json, strictly enforcing the use of 'import' statements.
- The implementation avoids 'require.resolve' and other CJS-specific globals, relying on 'import.meta.url' for path resolution.
- The build process for the plugin itself has been updated to use modern TypeScript configurations that output ESM-compliant code.
Future ImplicationsAI analysis grounded in cited sources
Timeline
- 2023-05Initial release of eslint-rspack-plugin to support ESLint integration in Rspack.
- 2024-02Rspack reaches version 0.5, stabilizing the plugin ecosystem.
- 2025-01Rspack 1.0 release, signaling maturity and increased focus on ecosystem standards.
- 2026-07Release of eslint-rspack-plugin 5.0.0, marking the transition to pure ESM.
Weekly AI Recap
Read this week's curated digest of top AI events →
AI-curated news aggregator. All content rights belong to original publishers.
Original source: InfoQ中国 ↗
This is a summary, not the original. Read the source, or get the weekly briefing.
The weekly digest
One email a week. Unsubscribe anytime.