@alexdiliberto/eslint-config
v7.0.2
Published
Alex DiLiberto's preferred ESLint rules
Maintainers
Readme
@alexdiliberto/eslint-config
A shareable ESLint config containing all of my preferred eslint rules.
Installation
pnpm add -D @alexdiliberto/eslint-configOR
npm install --save-dev @alexdiliberto/eslint-configThis package exports a Flat Config for ESLint v9+.
Install peer dependencies:
pnpm add -D eslint @stylistic/eslint-pluginUsage (ESLint v9 Flat Config)
CommonJS
Create eslint.config.js in the root of your project:
'use strict';
const cfgOrPromise = require('@alexdiliberto/eslint-config');
module.exports = (async () => {
const cfg = (cfgOrPromise?.then ? await cfgOrPromise : (cfgOrPromise?.default ?? cfgOrPromise));
if (!Array.isArray(cfg)) throw new Error('Expected flat config array');
return cfg;
})();ECMAScript Modules
Create eslint.config.mjs in the root of your project:
import cfg from '@alexdiliberto/eslint-config';
export default (Array.isArray(cfg) ? cfg : (cfg?.default ?? cfg));Notes:
- This config replaces
.eslintrc.*and works with ESLint’s new Flat Config format. - Requiring async support (via
await) allows future extensibility, e.g. dynamic imports or file systems reads. - Valid for both Node ≥20.9 and in ESM environments.
Using with eslint:recommended
You can extend both rule sets, making sure to include this config last:
export default [
{
extends: ['eslint:recommended'],
},
...yourOtherConfigs,
...require('@alexdiliberto/eslint-config')
];Release
Releases are automated using release-it. To publish a new version:
pnpm releaseLicense
MIT Copyright (c) Alex DiLiberto
