-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtsconfig.json
More file actions
37 lines (37 loc) · 1.67 KB
/
Copy pathtsconfig.json
File metadata and controls
37 lines (37 loc) · 1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{
"compilerOptions": {
"target": "ES2020",
"module": "ESNext",
"moduleResolution": "bundler",
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": false,
"esModuleInterop": true,
"skipLibCheck": true,
"resolveJsonModule": true,
"forceConsistentCasingInFileNames": true,
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"types": ["vitest/globals", "vite/client", "node"],
"noEmit": true,
"baseUrl": ".",
"paths": {
"@shared/*": ["src/shared/*"],
"@host/*": ["src/host/*"]
}
},
// NOTHING is excluded, deliberately. arcade-shared shipped with no tsconfig of its
// own, so its 26 test files were never compiled — only run through vitest, which
// strips types without checking them. Folding the library into `src` during the
// 2026-07-30 collapse newly typechecked them and surfaced 22 pre-existing errors,
// every one in src/shared/tests/synth.test.ts, whose Web Audio doubles did not
// satisfy the types they stood in for. The migration held the line with a
// one-file `exclude`; mg1-9 fixed the doubles and removed it.
//
// If a type error ever makes an `exclude` look attractive again: it buys a green
// check by shrinking what is checked, and the file it hides stays hidden long after
// whoever added it has moved on — the errors above went unnoticed for the entire
// life of arcade-shared. `tests/shared-tests-typechecked.test.mjs` asserts this key
// stays empty and that every TEST file under src/shared/tests is in the tsc program.
// (The two helpers/*.ts files are compiled too, but the assertion enumerates *.test.ts.)
"include": ["src", "plugins", "lobby", "scripts"]
}