{"id":19389,"library":"broccoli-lint-eslint","title":"broccoli-lint-eslint","description":"Broccoli plugin to lint JavaScript files with ESLint as part of the build pipeline. Version 6.0.0 uses ESLint 6 (breaking change from earlier versions). Supports custom formatters, test generation (QUnit/Mocha), and options like throwOnError/throwOnWarn. Alternative to grunt-eslint, focused on Broccoli integration.","status":"active","version":"6.0.0","language":"javascript","source_language":"en","source_url":"git://github.com/ember-cli/broccoli-lint-eslint","tags":["javascript","broccoli","broccoli-eslint","broccoli-lint","broccoli-plugin","eslint","esprima","jshint","jslint"],"install":[{"cmd":"npm install broccoli-lint-eslint","lang":"bash","label":"npm"},{"cmd":"yarn add broccoli-lint-eslint","lang":"bash","label":"yarn"},{"cmd":"pnpm add broccoli-lint-eslint","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core linting engine, peer dependency or bundled? Check docs.","package":"eslint","optional":false}],"imports":[{"note":"Package is CJS only; no ESM import.","wrong":"import ESLint from 'broccoli-lint-eslint'","symbol":"default","correct":"const ESLint = require('broccoli-lint-eslint')"},{"note":"Factory method, not constructor.","wrong":"new ESLint(inputNode, options)","symbol":"create","correct":"ESLint.create(inputNode, options)"},{"note":"Options type is available as a named export.","wrong":"import { ESLintOptions } from 'broccoli-lint-eslint'","symbol":"type import (TypeScript)","correct":"import type { ESLintOptions } from 'broccoli-lint-eslint'"}],"quickstart":{"code":"const ESLint = require('broccoli-lint-eslint');\nconst inputNode = 'app'; // path to source directory\nconst options = {\n  format: 'stylish',\n  options: {\n    configFile: '.eslintrc.json'\n  },\n  throwOnError: true\n};\nconst outputNode = ESLint.create(inputNode, options);\n// outputNode is a Broccoli node containing linted files; for tests:\nconst testNode = ESLint.create(inputNode, {\n  testGenerator: 'qunit',\n  options: { configFile: '.eslintrc.json' }\n});","lang":"javascript","description":"Creates a Broccoli plugin instance to lint JavaScript files with ESLint, using a config file and optional test generation."},"warnings":[{"fix":"Upgrade to ESLint 6 and Node 8+ (10+ recommended).","message":"Version 6.0.0 drops support for ESLint <6 and Node <10.","severity":"breaking","affected_versions":">=6.0.0"},{"fix":"Use Node 6+ and ESLint 5.","message":"Version 5.0.0 dropped Node 4 support and upgraded to ESLint 5.","severity":"breaking","affected_versions":">=5.0.0 <6.0.0"},{"fix":"Call `ESLint.create(inputNode, options)`.","message":"Must use `ESLint.create()` not `new ESLint()`.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Place ESLint config under `options.options`.","message":"Options passed inside `options` key are native ESLint CLIEngine options; top-level options are plugin-specific.","severity":"gotcha","affected_versions":">=2.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Use `ESLint.create(inputNode, options)`.","cause":"Attempting to instantiate with `new ESLint()` instead of factory method.","error":"TypeError: ESLint is not a constructor"},{"fix":"Run `npm install eslint --save-dev`.","cause":"Missing `eslint` peer dependency.","error":"Error: Cannot find module 'eslint'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}