@stack-lint/base
v0.0.11
Published
stack lint eslint configs
Maintainers
Readme
@stack-lint/base
Base ESLint flat configuration for ESLint v9+.
Includes Prettier integration and works with the ESLint flat config system (ESM).
This package serves as the foundation for other @stack-lint configurations like React, Node, Web, and TypeScript.
📦 Installation
npm install --save-dev eslint prettier @stack-lint/base
# or
yarn add -D eslint prettier @stack-lint/base
# or
pnpm add -D eslint prettier @stack-lint/base🚀 Usage
You can combine @stack-lint/base with other @stack-lint configs depending on your project type.
1️⃣ Base Only
eslint.config.js (or eslint.config.mjs if not "type": "module"):
import getFlatConfigs from '@stack-lint/base';
export default getFlatConfigs();2️⃣ Base Web
eslint.config.js:
import getWebFlatConfigs from '@stack-lint/base/web';
export default getWebFlatConfigs();3️⃣ Base + React
npm install --save-dev @stack-lint/react
# or
yarn add -D @stack-lint/react
# or
pnpm add -D @stack-lint/reacteslint.config.js:
import getFlatConfigs from '@stack-lint/base';
import reactConfigs from '@stack-lint/react';
export default getFlatConfigs(...reactConfigs);With Next Js
eslint.config.js:
import getFlatConfigs from '@stack-lint/base';
import nextConfigs from '@stack-lint/react/next';
export default getFlatConfigs(...nextConfigs);4️⃣ Base + Node
npm install --save-dev @stack-lint/node
# or
yarn add -D @stack-lint/node
# or
pnpm add -D @stack-lint/nodeeslint.config.js:
import getFlatConfigs from '@stack-lint/base';
import getNodeConfig from '@stack-lint/node';
export default getFlatConfigs(getNodeConfig(true)); // true if ESM, false or omit if CJS5️⃣ Base + TypeScript
npm install --save-dev @stack-lint/typescript typescript
# or
yarn add -D @stack-lint/typescript typescript
# or
pnpm add -D @stack-lint/typescript typescripteslint.config.js:
import getFlatConfigs from '@stack-lint/base';
import getTsConfigs from '@stack-lint/typescript';
export default getFlatConfigs(
...getTsConfigs({
tsconfigRootDir: import.meta.dirname,
// tsRootDir: 'src/' your tsconfigs files rootDir, if * then no need the field
}),
);6️⃣ Base + React + TypeScript
npm install --save-dev @stack-lint/react @stack-lint/typescript typescript
# or
yarn add -D @stack-lint/react @stack-lint/typescript typescript
# or
pnpm add -D @stack-lint/react @stack-lint/typescript typescripteslint.config.js:
import getFlatConfigs from '@stack-lint/base';
import reactConfigs from '@stack-lint/react';
import getTsConfigs from '@stack-lint/typescript';
export default getFlatConfigs(
...reactConfigs,
...getTsConfigs({ tsconfigRootDir: import.meta.dirname }),
);7️⃣ Base + Node + TypeScript
npm install --save-dev @stack-lint/node @stack-lint/typescript typescript
# or
yarn add -D @stack-lint/node @stack-lint/typescript typescript
# or
pnpm add -D @stack-lint/node @stack-lint/typescript typescripteslint.config.js:
import getFlatConfigs from '@stack-lint/base';
import getNodeConfig from '@stack-lint/node';
import getTsConfigs from '@stack-lint/typescript';
export default getFlatConfigs(
getNodeConfig(true), // true if ESM, false or omit if CJS
...getTsConfigs({
tsconfigRootDir: import.meta.dirname,
// tsRootDir: 'src/' your tsconfigs files rootDir, if * then no need the field
}),
);📖 Notes
- ESLint v9+ only supports the new flat config system.
Instead of.eslintrc, you define your config ineslint.config.jsoreslint.config.mjs. - If your project is not
"type": "module", rename the file toeslint.config.mjs.
More info: ESLint New Config System – Part 2
✅ Run ESLint
npx eslint .📜 License
MIT
