mysticatea / eslint4b

ESLint which works in browsers.
MIT License
37 stars 19 forks source link
browser build eslint web

eslint4b

npm version Downloads/month Build Status Dependency Status

ESLint which works in browsers.

🏁 Goal

ESLint doesn't support browsers officially, but we can use it similar to the official online demo. This package provides the Linter class which is modified to work in browsers.

This package is kept latest with cron jobs GitHub Actions provide.

💿 Installation

Use npm to install.

npm install eslint4b

📖 Usage

Use a bundler such as Webpack. The eslint4b must be able to be bundled.

const Linter = require("eslint4b") // import Linter from "eslint4b"
const linter = new Linter();

// Verify a code.
// See the official document of the Linter class.
const messages = linter.verify(
    "var foo = 0",
    {
        rules: {
            semi: "error"
        }
    },
    { filename: "foo.js" }
);

Also, you can use the Linter class which doesn't include any core rules. It's lightweight than the full set.

// This Linter doesn't include any core rules.
const Linter = require("eslint4b/dist/linter")

// You can load core rules individually.
const { indent, quotes, semi } = require("eslint4b/dist/core-rules")
const linter = new Linter()
linter.defineRule("indent", indent)
linter.defineRule("quotes", quotes)
linter.defineRule("semi", semi)

📰 Changelog

See GitHub releases.

If no description, it's the build of ESLint in the same version. It doesn't have any notable change.

❤️ Contributing

Contributing is welcome.

Please use GitHub issues/PRs.

Development tools