@code-pushup/create-eslint-config
v0.16.0
Published
Interactive setup wizard for @code-pushup/eslint-config
Readme
@code-pushup/create-eslint-config
Interactive setup wizard for @code-pushup/eslint-config.
Usage
Quick start
npm init @code-pushup/eslint-configThe wizard will:
- Scan your project for installed packages and config files.
- Prompt you to select which ESLint configs to include.
- Ask follow-up questions for configs that need them.
- Generate an
eslint.config.mjs(or.jsfor ESM projects) with the selected presets. - Add all required peer dependencies to
package.jsonand run install.
Non-interactive
Use --yes to skip all prompts and accept detected defaults:
npm init @code-pushup/eslint-config -- --yesOptions
| Option | Type | Default | Description |
| --------------------------- | ------------------------------------------------ | ------------- | ---------------------------------- |
| --configs | string[] | | Configs to include |
| --tsconfig | string | auto-detected | Path to tsconfig |
| --node-version-source | 'node-version' | 'engines' | 'manual' | auto-detected | Where to read the Node version |
| --node-version | string | | Node version range (e.g. >=20.0.0) |
| --dry-run | boolean | false | Preview changes without writing |
| --yes, -y | boolean | false | Skip prompts and use defaults |
Programmatic API
import { runSetupWizard } from '@code-pushup/create-eslint-config';
const result = await runSetupWizard({
targetDir: process.cwd(),
yes: true,
});
// result.files pending file changes (relative paths)
// result.flush() write all changes to diskAvailable configs
| Slug | Detected when |
| ------------------------ | -------------------------------------------------- |
| javascript | Always recommended |
| typescript | tsconfig.json exists or typescript is installed |
| node | Backend/full-stack framework is installed |
| angular | @angular/core is installed |
| ngrx | @ngrx/core is installed |
| react | react is installed |
| graphql | GraphQL server package is installed |
| jest | jest is installed or config file exists |
| vitest | vitest is installed or config file exists |
| cypress | cypress is installed or config file exists |
| playwright | @playwright/test is installed or config exists |
| storybook | storybook is installed or .storybook exists |
| react-testing-library | @testing-library/react is installed |
Configs follow an inheritance hierarchy. Selecting a child preset subsumes its parent. For example, picking typescript automatically includes javascript.
