The auto configuration is a special ruleset that intelligently combines multiple ESLint configurations using overrides to apply only relevant rules based on file patterns. This reduces linting time and false positives while providing comprehensive coverage.
The default export from the auto configuration module that provides a pre-configured combination of essential rulesets.
/**
* Pre-configured ESLint configuration combining essential rulesets
* Includes: jsdoc, canonical, typescript, regexp, react, prettier, json, yaml, graphql
* @returns Array of ESLint flat config objects
*/
declare const auto: ESLintConfig[];Usage Examples:
// Basic usage (recommended)
import auto from 'eslint-config-canonical/auto';
import tseslint from 'typescript-eslint';
export default tseslint.config(auto);// With additional overrides
import auto from 'eslint-config-canonical/auto';
import tseslint from 'typescript-eslint';
export default tseslint.config(
auto,
{
// Override specific rules
rules: {
'no-console': 'warn',
},
}
);The auto configuration internally composes the following configurations in order:
The auto configuration can be extended with custom overrides for specific use cases:
// Example: Adding accessibility rules for TSX files
import auto from 'eslint-config-canonical/auto';
import * as jsxA11y from 'eslint-config-canonical/jsx-a11y';
import tseslint from 'typescript-eslint';
export default tseslint.config(
auto,
{
files: ['**/*.tsx'],
...jsxA11y.recommended,
}
);// Example: Adding Vitest rules for test files
import auto from 'eslint-config-canonical/auto';
import * as vitest from 'eslint-config-canonical/vitest';
import tseslint from 'typescript-eslint';
export default tseslint.config(
auto,
{
files: ['**/*.test.{ts,tsx}', '**/*.spec.{ts,tsx}'],
...vitest.recommended,
}
);The auto configuration automatically applies different rules based on file patterns:
**/*.{js,jsx,ts,tsx}): Core canonical and TypeScript rules**/*.json): JSON-specific linting rules**/*.{yml,yaml}): YAML-specific linting rules**/*.{graphql,gql}): GraphQL query validation**/*.{jsx,tsx}): React-specific rules and hooks