ESLint shareable config enforcing the HTML Academy Codeguide. Version 11.0.0, actively maintained with annual breaking releases. Targets ESLint >=10 and Node >=24. Provides six presets (vanilla, typescript, node, node-typescript, react, react-typescript) each with strict stylistic rules, defensive best practices, and modern syntax enforcement. TypeScript presets include ~150 type-aware rules from typescript-eslint. React presets bundle @eslint-react and jsx-a11y rules. Unique features: mandatory kebab-case for JS/TS, PascalCase for JSX/TSX, Node protocol imports enforcement, and monorepo-friendly tsconfig discovery.
npm install eslint-config-htmlacademyNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Create eslint.config.js with the vanilla preset and disable no-console for JS files.
Update Node to >=24 and ESLint to >=10.
Use import syntax or dynamic import().
Switch to react-typescript and add tsconfig.json.
Create tsconfig.json or set parserOptions.project in your config.
Rename files to match pattern: my-component.js or MyComponent.jsx.
Add import process from 'node:process' to files using process.
Migrate to eslint.config.js using the provided preset.
Create eslint.config.js with 'import preset from 'eslint-config-htmlacademy/vanilla'; export default [...preset];'
Add tsconfig.json to project root or set parserOptions.project in config.
Rename file to kebab-case, e.g., my-util.js.
Add 'import process from 'node:process';' at top of file.
Replace require() with import: 'import preset from 'eslint-config-htmlacademy/vanilla';'