{"id":19505,"library":"eslint-config-enact","title":"ESLint Config Enact","description":"ESLint configuration package for Enact applications, currently at version 5.1.0. This package provides a shareable ESLint flat config with Enact team's standard and strict rule sets. It targets Node ^20.12.0 || ^22.0.0 || >=24.0.0 and requires ESLint ^9.20.0. Key differentiators: opinionated rules for Enact framework, includes React, React Hooks, Babel, Jest, and Enact-specific plugins. Recent major updates: migrated to ESLint v9 flat config (v5.0.0-alpha.5), removed deprecated prop-types rule (v5.0.0-beta.1), and disabled React compiler-related rules (v5.0.3). Release cadence is irregular, with breaking changes in major versions.","status":"active","version":"5.1.0","language":"javascript","source_language":"en","source_url":"https://github.com/enactjs/eslint-config-enact","tags":["javascript"],"install":[{"cmd":"npm install eslint-config-enact","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-enact","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-enact","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency required for ESLint configuration to work","package":"eslint","optional":false},{"reason":"Required for React-specific linting rules","package":"eslint-plugin-react","optional":true},{"reason":"Required for React Hooks linting rules","package":"eslint-plugin-react-hooks","optional":true},{"reason":"Required for Babel-related linting rules","package":"eslint-plugin-babel","optional":true},{"reason":"Required for Jest testing linting rules","package":"eslint-plugin-jest","optional":true},{"reason":"Required for Enact-specific linting rules","package":"eslint-plugin-enact","optional":true},{"reason":"Required for Babel parsing","package":"@babel/eslint-parser","optional":true}],"imports":[{"note":"The package uses ESM and exports a flat config object since v5.0.0-alpha.5. CommonJS require is not supported.","wrong":"const enact = require('eslint-config-enact')","symbol":"default","correct":"import enact from 'eslint-config-enact'"},{"note":"This is the default export containing the standard config.","wrong":null,"symbol":"enact","correct":"import enact from 'eslint-config-enact'"},{"note":"Named export for the stricter rule set. Available from v5 onwards.","wrong":null,"symbol":"strict","correct":"import { strict } from 'eslint-config-enact'"}],"quickstart":{"code":"// eslint.config.js\nimport enact from 'eslint-config-enact';\n\nexport default [\n  ...enact,\n  {\n    rules: {\n      // your overrides\n    }\n  }\n];\n","lang":"javascript","description":"Shows how to import the flat config and extend it in an eslint.config.js file."},"warnings":[{"fix":"Use flat config format in eslint.config.js; see changelog for migration.","message":"Migrated to ESLint v9 flat config and removed eslintConfig from package.json","severity":"breaking","affected_versions":">=5.0.0-alpha.5 <5.0.0"},{"fix":"Use standard React prop-types rule alternatively.","message":"Removed deprecated rule enact/prop-types","severity":"breaking","affected_versions":">=5.0.0-beta.1 <5.0.0"},{"fix":"Update Node to 20.12+ or use older config version.","message":"Minimum Node version changed to ^20.12.0 || ^22.0.0 || >=24.0.0","severity":"breaking","affected_versions":">=5.0.3"},{"fix":"Update your custom rule configurations accordingly.","message":"Replaced deprecated rule no-new-object with no-object-constructor","severity":"breaking","affected_versions":">=5.0.0-alpha.2 <5.0.0"},{"fix":"Install eslint-plugin-enact as a dev dependency.","message":"Enact config requires eslint-plugin-enact to be installed","severity":"gotcha","affected_versions":">=5.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run 'npm install eslint-config-enact --save-dev'","cause":"Package not installed or not in node_modules","error":"Cannot find module 'eslint-config-enact'"},{"fix":"Migrate to eslint.config.js and use import like: import enact from 'eslint-config-enact'; export default [...enact];","cause":"Using deprecated eslintrc format (extends) instead of flat config","error":"Failed to load config \"enact\" to extend from"},{"fix":"Ensure you spread the array correctly: export default [...enact, { rules: {...} }];","cause":"Incorrect usage of flat config spreading","error":"ESLintError: ConfigError: Config (unnamed): key \"rules\" must be an object"},{"fix":"Install @babel/eslint-parser as a dev dependency.","cause":"Missing @babel/eslint-parser dependency","error":"Failed to load parser '@babel/eslint-parser'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}