Basic Package
Package: @santi020k/eslint-config-basic
This is the main package of the monorepo and the entry point most projects should install first.
What It Owns
Section titled “What It Owns”- The
eslintConfig()composer used in applicationeslint.config.*files. - The public enums and helper types re-exported from the core package.
- Framework composition and framework contract checks.
- Optional tooling composition for libraries, testing, formats, tools, and extensions.
- The
basic-eslintCLI. - Strict-mode promotion and final config ordering.
When to Use It
Section titled “When to Use It”Use this package when you want the supported public API for the project.
- Application projects should start here.
- Shared internal configs can usually wrap this package instead of rebuilding the whole stack from
core. - Framework packages are layered into this package instead of replacing it.
Minimal Example
Section titled “Minimal Example”import { eslintConfig } from '@santi020k/eslint-config-basic'
export default eslintConfig()Composed Example
Section titled “Composed Example”import { eslintConfig, Extension, Library, Testing, Tool } from '@santi020k/eslint-config-basic'import react from '@santi020k/eslint-config-react'
export default eslintConfig({ extensions: [Extension.Unicorn], frameworks: { react }, libraries: [Library.Tailwind], testing: [Testing.Vitest], tools: [Tool.Prettier], typescript: true})Auto-Detection
Section titled “Auto-Detection”The package can automatically identify frameworks and settings from your project structure. You can use detectProjectOptions() to see what is detected, or simply call eslintConfig() with no arguments to use the defaults.
import { eslintConfig } from '@santi020k/eslint-config-basic'
// This will automatically detect TypeScript, React, Next.js, etc.export default eslintConfig()[!IMPORTANT] Since version 1.4.0, detected frameworks are reported via the
detectedFrameworksfield. Theframeworksobject in the detection result remains empty to preventTypeErrorwhen spreading it intoeslintConfig()(as framework options require imported config objects).
Main Responsibilities
Section titled “Main Responsibilities”Public Composition API
Section titled “Public Composition API”The package turns a small, explicit options object into the final flat-config array. That includes runtime globals, framework packages, optional tooling, typed-rule protection for virtual files, and final ordering.
Re-Exports
Section titled “Re-Exports”The package re-exports the enums and helpers most users need, so consumers rarely need to import @santi020k/eslint-config-core directly.
The built-in CLI can scaffold or refresh the config file for a project:
pnpm dlx @santi020k/eslint-config-basic initpnpm dlx @santi020k/eslint-config-basic updatenpx @santi020k/eslint-config-basic initnpx @santi020k/eslint-config-basic updateyarn dlx @santi020k/eslint-config-basic inityarn dlx @santi020k/eslint-config-basic updatebunx @santi020k/eslint-config-basic initbunx @santi020k/eslint-config-basic updateContracts
Section titled “Contracts”This package also protects the public contracts of the library. For example:
- Next.js and Expo require the React framework package.
- Presets never silently inject framework packages.
- Optional tooling stays explicit in the generated config file.
Repository Links
Section titled “Repository Links”- Source Package: packages/basic
- Project Repository: santi020k/eslint-config-basic
- Author: santi020k
Related Pages
Section titled “Related Pages”Did this page help?
One click helps us spot documentation that needs another pass. No personal data is sent.