eslint.config.mjs•2.26 kB
import js from "@eslint/js";
export default [
// Include all rules from the shared config
js.configs.recommended,
// Global ignores
{
ignores: [
'**/node_modules/**',
'**/dist/**',
'**/bin/**',
'prettier.config.js',
'commitlint.config.js',
// Temporarily ignore TypeScript files until we have proper parser
'**/*.ts',
'**/*.d.ts'
]
},
// TypeScript files configuration
{
files: ['**/*.ts'],
languageOptions: {
ecmaVersion: 2022,
sourceType: 'module',
globals: {
console: 'readonly',
process: 'readonly',
Buffer: 'readonly',
__dirname: 'readonly',
__filename: 'readonly'
}
},
rules: {
// Disable rules that conflict with TypeScript
'no-undef': 'off',
'no-unused-vars': 'off'
}
},
// Test files configuration
{
files: ['tests/**/*.ts', '**/*.test.ts', '**/*.spec.ts'],
languageOptions: {
ecmaVersion: 2022,
sourceType: 'module',
globals: {
console: 'readonly',
process: 'readonly',
Buffer: 'readonly',
__dirname: 'readonly',
__filename: 'readonly',
// Vitest globals
describe: 'readonly',
it: 'readonly',
test: 'readonly',
expect: 'readonly',
beforeEach: 'readonly',
afterEach: 'readonly',
beforeAll: 'readonly',
afterAll: 'readonly',
vi: 'readonly'
}
},
rules: {
// Disable rules that conflict with TypeScript and testing
'no-undef': 'off',
'no-unused-vars': 'off'
}
},
// Node.js scripts configuration
{
files: ['scripts/**/*.js'],
languageOptions: {
ecmaVersion: 2022,
sourceType: 'script',
globals: {
require: 'readonly',
module: 'readonly',
exports: 'readonly',
__dirname: 'readonly',
__filename: 'readonly',
process: 'readonly',
console: 'readonly',
Buffer: 'readonly',
global: 'readonly'
}
},
rules: {
'no-unused-vars': ['error', {
argsIgnorePattern: '^_',
varsIgnorePattern: '^_',
caughtErrorsIgnorePattern: '^_'
}]
}
}
];