diff --git a/ts-common/tsconfig.base.json b/ts-common/tsconfig.base.json
new file mode 100644
index 0000000000000000000000000000000000000000..621da5c97acfbd54e4c56ff9f0751766b9f29da7
--- /dev/null
+++ b/ts-common/tsconfig.base.json
@@ -0,0 +1,52 @@
+{
+  "compilerOptions": {
+    "emitDecoratorMetadata": true,
+    "resolveJsonModule": true,
+    "experimentalDecorators": true,
+
+    "incremental": false,
+
+    "target": "ES2020",
+    "lib": [
+      "DOM",
+      "ES2020"
+    ],
+    "module": "ES2020",
+    "moduleResolution": "bundler",
+
+    "noEmit": false,
+
+    "declaration": true,
+    "declarationMap": false,
+    "sourceMap": false,
+
+    "noImplicitAny": false,
+    "noLib": false,
+
+    "allowUnreachableCode": false,
+    "allowSyntheticDefaultImports": true,
+    "allowUnusedLabels": false,
+    "strictNullChecks": true,
+    "strictPropertyInitialization": true,
+    "noFallthroughCasesInSwitch": false,
+    "noImplicitReturns": true,
+    "noImplicitThis": true,
+    "noUnusedLocals": true,
+    "noUnusedParameters": true,
+
+    "removeComments": false,
+    "checkJs": false,
+    "strict": true,
+    "alwaysStrict": true,
+
+    "allowJs": false,
+
+    "esModuleInterop": true,
+
+    "noErrorTruncation": true,
+  },
+  "buildOptions": {
+    "force": true,
+    "verbose": true
+  }
+}
\ No newline at end of file