Root package.json (type: module), strict tsconfig with allowJs/checkJs:false for gradual migration, flat ESLint config scoped to scripts/ + tests/. App untouched. All three green: lint, typecheck, test 107/107.
36 lines
994 B
JavaScript
36 lines
994 B
JavaScript
// Flat ESLint config for the Obelisk root (Core + skill runtime + tests).
|
|
// Scope: the ESM sources under scripts/ and tests/. The Electron app has its own
|
|
// package and toolchain and is intentionally excluded (see docs/adr/0003).
|
|
// typescript-eslint is deferred to Phase 4, when the first .ts files land.
|
|
|
|
import js from '@eslint/js';
|
|
import globals from 'globals';
|
|
|
|
export default [
|
|
{
|
|
ignores: [
|
|
'node_modules/**',
|
|
'app/**',
|
|
'dist/**',
|
|
'release/**',
|
|
'.dev.docs/**',
|
|
'.obelisk/**',
|
|
'.claude/**',
|
|
],
|
|
},
|
|
js.configs.recommended,
|
|
{
|
|
files: ['**/*.{js,mjs}'],
|
|
languageOptions: {
|
|
ecmaVersion: 2023,
|
|
sourceType: 'module',
|
|
globals: { ...globals.node },
|
|
},
|
|
rules: {
|
|
// Empty catch is an intentional pattern here (best-effort JSON.parse etc.).
|
|
'no-empty': ['error', { allowEmptyCatch: true }],
|
|
'no-unused-vars': ['warn', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }],
|
|
},
|
|
},
|
|
];
|