aboutsummaryrefslogtreecommitdiffstats
path: root/tsconfig.base.json
blob: 545eca35001ea56ae39507a87baf5a0346325ddd (plain) (blame)
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
38
39
40
41
/*
 * Copyright (c) Microsoft Corporation.
 * Copyright (c) 2023 The Refinery Authors <https://refinery.tools/>
 *
 * SPDX-License-Identifier: MIT
 *
 * This file is based on
 * https://github.com/tsconfig/bases/blob/7db25a41bc5a9c0f66d91f6f3aa28438afcb2f18/bases/strictest.json
 * but we moved it inside the project for better tooling support.
 */
{
  "compilerOptions": {
    "strict": true,
    "allowUnusedLabels": false,
    "allowUnreachableCode": false,
    "exactOptionalPropertyTypes": true,
    "noFallthroughCasesInSwitch": true,
    "noImplicitOverride": true,
    "noImplicitReturns": true,
    "noPropertyAccessFromIndexSignature": true,
    "noUncheckedIndexedAccess": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    // "verbatimModuleSyntax" is incompatible with `import` syntax in modules
    // with CommonJS import resolution, so we use "isolatedModules" only.
    // "verbatimModuleSyntax": false,
    "isolatedModules": true,
    "checkJs": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "useDefineForClassFields": true,
    // Project-specific configuration below.
    "module": "es2022",
    "moduleResolution": "node",
    "incremental": true,
    "declaration": true,
    "emitDeclarationOnly": true,
    "outDir": "build/typescript"
  }
}