Merge pull request #252 from deepseek-harness/eslint-project-service
chore(lint): one shared project service; ignore harness-local .claude state
This commit is contained in:
+12
-2
@@ -22,6 +22,7 @@ export default tseslint.config(
|
||||
'**/lib/**',
|
||||
'**/node_modules/**',
|
||||
'**/.sessions/**',
|
||||
'.claude/**', // harness-local state (worktrees, skills) — other checkouts, not this one's sources
|
||||
'**/.doc-typecheck-*/**',
|
||||
'vendor/**', // vendored source keeps upstream style and idioms
|
||||
'**/*.js',
|
||||
@@ -38,7 +39,14 @@ export default tseslint.config(
|
||||
],
|
||||
languageOptions: {
|
||||
parserOptions: {
|
||||
project: ['./packages/*/*/tsconfig.json', './tsconfig.json'],
|
||||
// One shared tsserver-style project service instead of 60+ standalone
|
||||
// per-package programs: the old `project` glob built every package's
|
||||
// full dependency closure (sibling sources via the dev `paths` map +
|
||||
// the vendored Cordis stack) as its own program and kept them all
|
||||
// resident — ~5 GB peak, an OOM past node's default heap. The service
|
||||
// resolves each file to its nearest owning tsconfig and shares the
|
||||
// graph.
|
||||
projectService: true,
|
||||
tsconfigRootDir: import.meta.dirname,
|
||||
},
|
||||
},
|
||||
@@ -89,7 +97,9 @@ export default tseslint.config(
|
||||
],
|
||||
languageOptions: {
|
||||
parserOptions: {
|
||||
project: ['./tsconfig.json'],
|
||||
// Same shared project service as the src block: test files resolve
|
||||
// through the root tsconfig (its include covers every tests/ tree).
|
||||
projectService: true,
|
||||
tsconfigRootDir: import.meta.dirname,
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user