Skip to content

Installation

Requirements

  • Node.js >=22.12.0
  • ESLint 9+

Base Package

The base package already depends on ESLint ^9 || ^10, so this is the smallest supported install:

sh
pnpm add -D @santi020k/eslint-config-basic
sh
npm install -D @santi020k/eslint-config-basic
sh
yarn add -D @santi020k/eslint-config-basic
sh
bun add -d @santi020k/eslint-config-basic

Framework Packages

Install framework packages only when your project needs them. TypeScript support is enabled through typescript: true, not a separate framework package install.

sh
pnpm add -D @santi020k/eslint-config-react
pnpm add -D @santi020k/eslint-config-next @santi020k/eslint-config-react
pnpm add -D @santi020k/eslint-config-astro
pnpm add -D @santi020k/eslint-config-vue
pnpm add -D @santi020k/eslint-config-svelte
pnpm add -D @santi020k/eslint-config-solid
pnpm add -D @santi020k/eslint-config-angular
pnpm add -D @santi020k/eslint-config-nest
pnpm add -D @santi020k/eslint-config-qwik
pnpm add -D @santi020k/eslint-config-remix @santi020k/eslint-config-react
pnpm add -D @santi020k/eslint-config-expo @santi020k/eslint-config-react
sh
npm install -D @santi020k/eslint-config-react
npm install -D @santi020k/eslint-config-next @santi020k/eslint-config-react
npm install -D @santi020k/eslint-config-astro
npm install -D @santi020k/eslint-config-vue
npm install -D @santi020k/eslint-config-svelte
npm install -D @santi020k/eslint-config-solid
npm install -D @santi020k/eslint-config-angular
npm install -D @santi020k/eslint-config-nest
npm install -D @santi020k/eslint-config-qwik
npm install -D @santi020k/eslint-config-remix @santi020k/eslint-config-react
npm install -D @santi020k/eslint-config-expo @santi020k/eslint-config-react
sh
yarn add -D @santi020k/eslint-config-react
yarn add -D @santi020k/eslint-config-next @santi020k/eslint-config-react
yarn add -D @santi020k/eslint-config-astro
yarn add -D @santi020k/eslint-config-vue
yarn add -D @santi020k/eslint-config-svelte
yarn add -D @santi020k/eslint-config-solid
yarn add -D @santi020k/eslint-config-angular
yarn add -D @santi020k/eslint-config-nest
yarn add -D @santi020k/eslint-config-qwik
yarn add -D @santi020k/eslint-config-remix @santi020k/eslint-config-react
yarn add -D @santi020k/eslint-config-expo @santi020k/eslint-config-react
sh
bun add -d @santi020k/eslint-config-react
bun add -d @santi020k/eslint-config-next @santi020k/eslint-config-react
bun add -d @santi020k/eslint-config-astro
bun add -d @santi020k/eslint-config-vue
bun add -d @santi020k/eslint-config-svelte
bun add -d @santi020k/eslint-config-solid
bun add -d @santi020k/eslint-config-angular
bun add -d @santi020k/eslint-config-nest
bun add -d @santi020k/eslint-config-qwik
bun add -d @santi020k/eslint-config-remix @santi020k/eslint-config-react
bun add -d @santi020k/eslint-config-expo @santi020k/eslint-config-react

Next.js and Expo require @santi020k/eslint-config-react. Remix projects usually pair @santi020k/eslint-config-remix with @santi020k/eslint-config-react so React component rules stay explicit, matching the playground.

Other supported packages are documented in the Framework guides.

Framework Installation Matrix

Project TypePackages To InstallNotes
TypeScript@santi020k/eslint-config-basicTypeScript is enabled with typescript: true and is auto-detected from tsconfig.json.
React@santi020k/eslint-config-basic, @santi020k/eslint-config-reactCommon browser setup.
Next.js@santi020k/eslint-config-basic, @santi020k/eslint-config-next, @santi020k/eslint-config-reactReact is required.
Astro@santi020k/eslint-config-basic, @santi020k/eslint-config-astroCommonly paired with TypeScript.
Vue@santi020k/eslint-config-basic, @santi020k/eslint-config-vueSupports single-file components.
Svelte@santi020k/eslint-config-basic, @santi020k/eslint-config-svelteCommonly paired with TypeScript.
Solid@santi020k/eslint-config-basic, @santi020k/eslint-config-solidCombine with TypeScript as needed.
Angular@santi020k/eslint-config-basic, @santi020k/eslint-config-angularUsually paired with TypeScript.
NestJS@santi020k/eslint-config-basic, @santi020k/eslint-config-nestCommonly paired with Preset.Node or Runtime.Node.
Qwik@santi020k/eslint-config-basic, @santi020k/eslint-config-qwikOptimized for Qwik resumability.
Remix@santi020k/eslint-config-basic, @santi020k/eslint-config-remix, @santi020k/eslint-config-reactReact is recommended for Remix component rules.
Expo@santi020k/eslint-config-basic, @santi020k/eslint-config-expo, @santi020k/eslint-config-reactReact is required.

Optional Tooling Matrix

CategoryConfigure ThroughDocumentation
LibrarieslibrariesLibraries
TestingtestingTesting
FormatsformatsFormats
ToolstoolsTools
ExtensionsextensionsExtensions

Minimal Config

js
import { eslintConfig } from '@santi020k/eslint-config-basic'

export default eslintConfig()

Common Installation Paths

  • Base JavaScript or TypeScript only: Install @santi020k/eslint-config-basic.
  • React projects: Add @santi020k/eslint-config-react.
  • Next.js projects: Add both @santi020k/eslint-config-next and @santi020k/eslint-config-react.
  • Expo projects: Add both @santi020k/eslint-config-expo and @santi020k/eslint-config-react.
  • Remix projects: Add @santi020k/eslint-config-remix, and usually @santi020k/eslint-config-react too.
  • Other frameworks: Add the specific framework package only when it is needed by the project.

React Example

js
import { eslintConfig } from '@santi020k/eslint-config-basic'
import react from '@santi020k/eslint-config-react'

export default eslintConfig({
  typescript: true,
  frameworks: {
    react
  }
})

Notes

  • Install eslint manually only if you want to pin it yourself. The base package already carries a compatible version.
  • TypeScript, runtime, and supported optional integrations can be detected automatically from package.json.
  • Framework configs stay explicit on purpose.
  • Next.js and Expo require the React package as part of the frameworks object.

Documentation site v1.3.0 for @santi020k/eslint-config-basic