-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtsconfig.base.jsonc
More file actions
37 lines (37 loc) · 1.72 KB
/
tsconfig.base.jsonc
File metadata and controls
37 lines (37 loc) · 1.72 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
{
"$schema": "http://json.schemastore.org/tsconfig",
"compilerOptions": {
// Use incremental builds with project references.
"incremental": true,
"composite": true,
// Target modern JavaScript (ES2022+) whilst staying closely compatible with the Node.js module system.
"target": "ES2022",
"module": "NodeNext",
"moduleDetection": "force", // Treat every non-declaration file as a module.
"esModuleInterop": false, // Do not fiddle with import/export statements
"verbatimModuleSyntax": true, // Only transform/eliminate type-only import/export statements.
"allowJs": false, // If you touch this, a puppy dies.
"rewriteRelativeImportExtensions": true, // Rewrite `.ts` imports to `.js` at build time.
"erasableSyntaxOnly": true, // Allows to run directly with node and type removal
// Emit source- & declaration maps.
"declarationMap": true,
"sourceMap": true,
// Opt-in to stricter type checking and correctness guard rails. The more the merrier.
"strict": true,
"exactOptionalPropertyTypes": true,
"noUnusedLocals": true,
"noImplicitOverride": true,
"noFallthroughCasesInSwitch": true,
// Miscellaneous
"skipLibCheck": true, // Skip type checking of third party libraries.
"noErrorTruncation": true, // Do not truncate error messages.
"types": [], // Disable automatic loading of `@types/*` packages.
"plugins": [
{
"name": "@effect/language-service",
"transform": "@effect/language-service/transform",
"namespaceImportPackages": ["effect", "@effect/*"],
},
],
},
}