UNPKG

@dg-scripts/eslint-config

Version:

ESLint configuration used by dg-scripts.

89 lines (85 loc) 2.2 kB
import type antfu from '@antfu/eslint-config' import type { OptionsConfig, TypedFlatConfigItem } from '@antfu/eslint-config' /** * Define ESLint config with default settings. * * Default configuration includes: * - TypeScript support with type-aware rules (tsconfigPath: 'tsconfig.json') * - React support * - Stylistic formatting rules * - Next.js support (auto-detected) * - CSS, HTML, and Markdown formatters * * @param options - ESLint configuration options * @param userConfigs - Additional user-defined flat config items * @returns ESLint flat config composer * * @example * Use default configuration (type-aware rules enabled) * ```js * export { default } from '@dg-scripts/eslint-config' * ``` * * @example * Customize TypeScript options * ```js * import { defineConfig } from '@dg-scripts/eslint-config' * * export default defineConfig({ * typescript: { * tsconfigPath: './path/to/tsconfig.json', * }, * }) * ``` * * @example * Disable type-aware rules * ```js * import { defineConfig } from '@dg-scripts/eslint-config' * * export default defineConfig({ * typescript: true, * }) * ``` * * @example * Customize ESLint config * ```js * import { defineConfig } from '@dg-scripts/eslint-config' * * export default defineConfig( * { * name: 'base', * rules: { * 'node/prefer-global/process': 'off', * 'react-refresh/only-export-components': 'off', * }, * }, * { * name: 'ui', * files: ['src/components/ui/*.tsx'], * rules: { * 'react/no-children-map': 'off', * 'react/no-clone-element': 'off', * }, * }, * ) * ``` */ export function defineConfig( options?: OptionsConfig & TypedFlatConfigItem, ...userConfigs: TypedFlatConfigItem[] ): ReturnType<typeof antfu> /** * Default ESLint config with type-aware rules enabled. * * This is equivalent to calling `defineConfig()` without any arguments. * Type-aware rules are enabled by default with `tsconfigPath: 'tsconfig.json'`. * * @example * ```js * export { default } from '@dg-scripts/eslint-config' * ``` */ declare const defaultConfig: ReturnType<typeof antfu> export default defaultConfig