Skip to content

MichaelDeBoey/eslint4b

 
 

Repository files navigation

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.

  • Eliminate the dependency to fs.
  • Eliminate the dynamic require()s.

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

  • npm test runs tests.
  • npm run build build ESLint which works in browsers.

About

ESLint which works in browsers.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%