{"id":822,"date":"2026-08-04T08:01:17","date_gmt":"2026-08-04T08:01:17","guid":{"rendered":"https:\/\/buildconsole.com\/blog\/eslint-rspack-plugin-5-0-0\/"},"modified":"2026-08-04T08:01:17","modified_gmt":"2026-08-04T08:01:17","slug":"eslint-rspack-plugin-5-0-0","status":"publish","type":"post","link":"https:\/\/buildconsole.com\/blog\/eslint-rspack-plugin-5-0-0\/","title":{"rendered":"eslint-rspack-plugin 5.0.0 Moves to Pure ESM, Aligning With Rspack Ecosystem"},"content":{"rendered":"<p>The eslint-rspack-plugin project has released version 5.0.0, now distributed exclusively as an ECMAScript module (ESM) package. The update removes the CommonJS build, aligning the plugin fully with the Rspack ecosystem&#8217;s module standards. This change affects how developers integrate ESLint into their build processes using Rspack, a high performance Rust based bundler.<\/p>\n<h2>Background and technical details<\/h2>\n<p>The plugin, maintained by Daniel Curtis, serves as a bridge between ESLint and Rspack, allowing linting checks to run during the bundling phase. Previous versions supported both CommonJS and ESM formats, but version 5.0.0 drops CommonJS support entirely. This shift matches the direction taken by other tools in the Rstack ecosystem, which includes Rspack, Rsbuild, and related projects that have adopted ESM as the standard module format.<\/p>\n<p>ESM is the modern JavaScript module system, natively supported in recent Node.js versions. It offers static analysis, better tree shaking, and asynchronous loading. However, the transition means that projects still relying on CommonJS require configuration changes, such as using dynamic import or migrating to ESM syntax, to consume the new release.<\/p>\n<h4>Performance considerations<\/h4>\n<p>According to the release notes, the plugin continues to operate as intended, integrating ESLint checks within the build pipeline. However, the maintainer notes that this integration can increase build times, especially on larger codebases. The recommendation is to consider running linting as a separate command, rather than during bundling, to keep build processes efficient. This guidance applies to teams that prioritize speed in their development workflows.<\/p>\n<p>The package remains open source and is available through the npm registry. Users can install or update the plugin via standard npm commands, and the source code is accessible for those who wish to review or contribute to its development.<\/p>\n<h4>Impact and migration path<\/h4>\n<p>Developers using eslint-rspack-plugin in production should verify their Node.js version supports ESM natively. Node.js 12.17 and later offer ESM support, but full stability arrived in later releases. For projects with CommonJS configurations, migration may involve adjusting import statements or updating build tooling to handle ESM packages.<\/p>\n<p>No further releases have been announced at this time. The maintainer&#8217;s focus appears to be on stability and aligning with the broader ecosystem&#8217;s modernization. Future updates are expected to follow the project&#8217;s standard release cycle, with any changes communicated through its official channels.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The eslint-rspack-plugin project has released version 5.0.0, now distributed exclusively as an ECMAScript module (ESM) package. The update removes the CommonJS build, aligning the plugin fully with the Rspack ecosystem&#8217;s module standards. This change affects how developers integrate ESLint into their build processes using Rspack, a high performance Rust based bundler. Background and technical details [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":821,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[127],"tags":[470,1117,1115,1116,661],"class_list":["post-822","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev-news","tag-rspack","tag-build-tools","tag-eslint","tag-esm","tag-javascript"],"_links":{"self":[{"href":"https:\/\/buildconsole.com\/blog\/wp-json\/wp\/v2\/posts\/822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buildconsole.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buildconsole.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buildconsole.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buildconsole.com\/blog\/wp-json\/wp\/v2\/comments?post=822"}],"version-history":[{"count":0,"href":"https:\/\/buildconsole.com\/blog\/wp-json\/wp\/v2\/posts\/822\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buildconsole.com\/blog\/wp-json\/wp\/v2\/media\/821"}],"wp:attachment":[{"href":"https:\/\/buildconsole.com\/blog\/wp-json\/wp\/v2\/media?parent=822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buildconsole.com\/blog\/wp-json\/wp\/v2\/categories?post=822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buildconsole.com\/blog\/wp-json\/wp\/v2\/tags?post=822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}