diff options
author | 2023-04-09 00:53:53 +0200 | |
---|---|---|
committer | 2023-04-09 00:53:53 +0200 | |
commit | c3fcc1ae3d2f680a973e66c138d9be7ae22eee26 (patch) | |
tree | 6a30b2478a30747cd7a2522acdff941394dea4e7 /subprojects/frontend/tsconfig.base.json | |
parent | build: always prefer slf4j instead of log4j 1.x (diff) | |
download | refinery-c3fcc1ae3d2f680a973e66c138d9be7ae22eee26.tar.gz refinery-c3fcc1ae3d2f680a973e66c138d9be7ae22eee26.tar.zst refinery-c3fcc1ae3d2f680a973e66c138d9be7ae22eee26.zip |
build: refactor frontend build
* Always write ESLint output to a file in addition to the console to make the
lintFrontend task cacheable in Gradle (according to the output file).
* Make sure frontend task inputs are declared properly for caching.
* Make sure Typescript type checking is incremental.
* Do not use @tsconfig, because both Vite and SonarScanner have problems with
extending tsconfig files from Yarn PnP modules.
Diffstat (limited to 'subprojects/frontend/tsconfig.base.json')
-rw-r--r-- | subprojects/frontend/tsconfig.base.json | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/subprojects/frontend/tsconfig.base.json b/subprojects/frontend/tsconfig.base.json index b960e93c..30e707ae 100644 --- a/subprojects/frontend/tsconfig.base.json +++ b/subprojects/frontend/tsconfig.base.json | |||
@@ -1,10 +1,28 @@ | |||
1 | { | 1 | { |
2 | "extends": "@tsconfig/strictest", | ||
3 | "compilerOptions": { | 2 | "compilerOptions": { |
4 | "useDefineForClassFields": true, | 3 | "strict": true, |
4 | "allowUnusedLabels": false, | ||
5 | "allowUnreachableCode": false, | ||
6 | "exactOptionalPropertyTypes": true, | ||
7 | "noFallthroughCasesInSwitch": true, | ||
8 | "noImplicitOverride": true, | ||
9 | "noImplicitReturns": true, | ||
10 | "noPropertyAccessFromIndexSignature": true, | ||
11 | "noUncheckedIndexedAccess": true, | ||
12 | "noUnusedLocals": true, | ||
13 | "noUnusedParameters": true, | ||
5 | "verbatimModuleSyntax": false, | 14 | "verbatimModuleSyntax": false, |
6 | "isolatedModules": true, | 15 | "isolatedModules": true, |
16 | "checkJs": true, | ||
17 | "esModuleInterop": true, | ||
18 | "skipLibCheck": true, | ||
19 | "forceConsistentCasingInFileNames": true, | ||
20 | "useDefineForClassFields": true, | ||
7 | "module": "es2022", | 21 | "module": "es2022", |
8 | "moduleResolution": "node" | 22 | "moduleResolution": "node", |
23 | "incremental": true, | ||
24 | "declaration": true, | ||
25 | "emitDeclarationOnly": true, | ||
26 | "outDir": "build/typescript" | ||
9 | } | 27 | } |
10 | } | 28 | } |