aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/frontend/tsconfig.base.json
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2023-04-09 00:53:53 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2023-04-09 00:53:53 +0200
commitc3fcc1ae3d2f680a973e66c138d9be7ae22eee26 (patch)
tree6a30b2478a30747cd7a2522acdff941394dea4e7 /subprojects/frontend/tsconfig.base.json
parentbuild: always prefer slf4j instead of log4j 1.x (diff)
downloadrefinery-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.json24
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}