Skip to content

Switch from Basic to Lite

Use @santi020k/eslint-config-basic by default. Switch to @santi020k/eslint-config-lite only when dependency size, audit scope, or CI cache pressure is worth managing framework and integration config packages manually.

Run the doctor helper to print the install command for the current project:

Terminal window
basic-eslint doctor --lite-install

For JSON output:

Terminal window
basic-eslint doctor --lite-install --json

The command includes @santi020k/eslint-config-lite, eslint, detected framework config packages, @santi020k/eslint-config-integrations when optional integrations are detected, and typescript when TypeScript is detected but not declared.

import { defineConfig } from '@santi020k/eslint-config-basic'
import { defineConfig } from '@santi020k/eslint-config-lite'

Keep the same composer options:

import { defineConfig } from '@santi020k/eslint-config-lite'
export default await defineConfig({
frameworks: {
react: true
},
typescript: true
})

Use the generated command, or install packages directly:

pnpm
pnpm add -D @santi020k/eslint-config-lite @santi020k/eslint-config-react eslint

If you enable libraries, testing, formats, tools, or extension integrations, install the integrations package too:

pnpm
pnpm add -D @santi020k/eslint-config-integrations
Terminal window
basic-eslint doctor

Doctor warns when a lite config detects frameworks or integrations without their matching manual config packages.

Preset.All enables every optional integration. It works with lite, but it requires @santi020k/eslint-config-integrations and removes much of lite’s dependency benefit. Prefer enabling only the integrations your project actually uses.

Switching back is just the reverse import:

import { defineConfig } from '@santi020k/eslint-config-lite'
import { defineConfig } from '@santi020k/eslint-config-basic'

Then remove manual framework config packages that are no longer needed by your project.

Did this page help?

One click helps us spot documentation that needs another pass. No personal data is sent.