Use ESLint in the browser.
npm install eslint-linter-browserifyimport * as eslint from "eslint-linter-browserify";
// or const eslint = require("eslint-linter-browserify");
const linter = new eslint.Linter();
const messages = linter.verify("var foo;", {
rules: {
semi: ["error", "never"]
}
}, { filename: "foo.js" });
console.log(messages);Loading the UMD bundle directly via a <script> tag exposes window.eslint.Linter:
<script src="https://cdn.jsdelivr.net/npm/eslint-linter-browserify/linter.min.js"></script>
<script>
const linter = new eslint.Linter();
const messages = linter.verify("var foo;", {
rules: {
semi: ["error", "never"]
}
}, { filename: "foo.js" });
console.log(messages);
</script>| File / Package Specifier | Format | Description |
|---|---|---|
eslint-linter-browserify |
ESM (linter.mjs) / CJS (linter.cjs) |
Default entry points for bundlers (Vite, Rollup, Webpack, etc.) and Node.js |
linter.min.js |
UMD (minified) | Standalone minified bundle for browser <script> tags (window.eslint.Linter) |
linter.js |
UMD (unminified) | Standalone unminified bundle for development and debugging |
For full details on the Linter API and supported options, see the ESLint Node.js API Documentation.
See the CodeMirror example for a way to use this in CodeMirror.