Skip to content

Basic Package

Package: @santi020k/eslint-config-basic

This is the public package application projects install in v2.

Use this package by default. If a project needs a smaller install and is willing to install framework and integration config packages manually, see the Lite Package.

  • The eslintConfig() composer used in application eslint.config.* files.
  • Bundled framework composition for React, Next.js, Astro, Vue, Svelte, Solid, Angular, NestJS, Hono, Expo, Qwik, Remix, Vite, and Slidev.
  • TypeScript, runtime, settings, strict mode, and optional tooling composition.
  • Public enums and helper types re-exported from core.
  • The basic-eslint CLI.
import { defineConfig } from '@santi020k/eslint-config-basic'
export default await defineConfig()
import { defineConfig, Library, Testing, Tool } from '@santi020k/eslint-config-basic'
export default await defineConfig({
frameworks: {
react: true
},
libraries: [Library.Tailwind],
testing: [Testing.Vitest],
tools: [Tool.Prettier],
typescript: true
})

eslintConfig() detects TypeScript, frameworks, runtime, and supported optional integrations from your project. Detected frameworks are enabled automatically in v2 because their config packages are bundled behind the main package.

The frameworks object still accepts imported config arrays and factories. This keeps the internal architecture flexible for tests, experiments, and custom wrappers, while app-level configs can stay simple with booleans.

defineConfig() also accepts local flat-config entries after the options object, so most projects do not need to wrap the generated config in an array just to add one or two overrides.

import { defineConfig } from '@santi020k/eslint-config-basic'
export default await defineConfig(
{
frameworks: { astro: true },
typescript: true
}, {
files: ['**/*.astro'],
rules: {
'@typescript-eslint/no-unsafe-return': 'off'
}
}
)
pnpm
pnpm dlx @santi020k/eslint-config-basic init
pnpm dlx @santi020k/eslint-config-basic update
npm
npx @santi020k/eslint-config-basic init
npx @santi020k/eslint-config-basic update
yarn
yarn dlx @santi020k/eslint-config-basic init
yarn dlx @santi020k/eslint-config-basic update
bun
bunx @santi020k/eslint-config-basic init
bunx @santi020k/eslint-config-basic update

Did this page help?

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