From 2f395fe89a4b40d6a17844023e9c8e5c146f1b72 Mon Sep 17 00:00:00 2001 From: Alex Grozav Date: Tue, 25 Feb 2025 20:45:50 +0200 Subject: [PATCH] refactor: Move `tsconfig.*.json` files to separate npm package (no-changelog) (#13426) --- packages/@n8n/api-types/package.json | 1 + packages/@n8n/api-types/tsconfig.build.json | 2 +- packages/@n8n/api-types/tsconfig.json | 2 +- packages/@n8n/benchmark/package.json | 1 + packages/@n8n/benchmark/tsconfig.build.json | 2 +- packages/@n8n/benchmark/tsconfig.json | 5 +- packages/@n8n/client-oauth2/package.json | 3 + .../@n8n/client-oauth2/tsconfig.build.json | 2 +- packages/@n8n/client-oauth2/tsconfig.json | 2 +- packages/@n8n/codemirror-lang/package.json | 1 + .../@n8n/codemirror-lang/tsconfig.build.json | 2 +- packages/@n8n/codemirror-lang/tsconfig.json | 2 +- packages/@n8n/config/package.json | 3 + packages/@n8n/config/tsconfig.build.json | 2 +- packages/@n8n/config/tsconfig.json | 2 +- packages/@n8n/di/package.json | 3 + packages/@n8n/di/tsconfig.build.json | 2 +- packages/@n8n/di/tsconfig.json | 2 +- packages/@n8n/imap/package.json | 1 + packages/@n8n/imap/tsconfig.build.json | 2 +- packages/@n8n/imap/tsconfig.json | 2 +- packages/@n8n/json-schema-to-zod/package.json | 1 + .../@n8n/json-schema-to-zod/tsconfig.json | 2 +- packages/@n8n/nodes-langchain/package.json | 1 + .../@n8n/nodes-langchain/tsconfig.build.json | 2 +- packages/@n8n/nodes-langchain/tsconfig.json | 5 +- packages/@n8n/permissions/package.json | 5 +- packages/@n8n/permissions/tsconfig.build.json | 2 +- packages/@n8n/permissions/tsconfig.json | 2 +- packages/@n8n/task-runner/package.json | 1 + packages/@n8n/task-runner/tsconfig.build.json | 2 +- packages/@n8n/task-runner/tsconfig.json | 5 +- packages/@n8n/typescript-config/package.json | 19 ++++ .../typescript-config/tsconfig.backend.json | 1 + .../typescript-config/tsconfig.build.json | 0 .../typescript-config/tsconfig.common.json | 25 ++++++ .../typescript-config/tsconfig.frontend.json} | 2 +- packages/cli/package.json | 1 + packages/cli/tsconfig.build.json | 2 +- packages/cli/tsconfig.json | 5 +- packages/core/package.json | 1 + packages/core/tsconfig.build.json | 2 +- packages/core/tsconfig.json | 5 +- packages/design-system/package.json | 2 +- packages/design-system/tsconfig.json | 2 +- packages/editor-ui/package.json | 2 +- packages/editor-ui/tsconfig.json | 2 +- packages/frontend/@n8n/chat/package.json | 1 + packages/frontend/@n8n/chat/tsconfig.json | 2 +- .../frontend/@n8n/composables/package.json | 2 +- .../frontend/@n8n/composables/tsconfig.json | 2 +- .../tooling/typescript-config/package.json | 18 ---- packages/node-dev/package.json | 1 + packages/node-dev/tsconfig.json | 5 +- packages/nodes-base/package.json | 1 + packages/nodes-base/tsconfig.build.json | 2 +- packages/nodes-base/tsconfig.json | 5 +- packages/workflow/package.json | 1 + packages/workflow/tsconfig.build.json | 2 +- packages/workflow/tsconfig.json | 2 +- pnpm-lock.yaml | 86 +++++++++++++++---- tsconfig.json | 26 +----- 62 files changed, 200 insertions(+), 99 deletions(-) create mode 100644 packages/@n8n/typescript-config/package.json rename tsconfig.backend.json => packages/@n8n/typescript-config/tsconfig.backend.json (60%) rename tsconfig.build.json => packages/@n8n/typescript-config/tsconfig.build.json (100%) create mode 100644 packages/@n8n/typescript-config/tsconfig.common.json rename packages/{frontend/tooling/typescript-config/tsconfig.json => @n8n/typescript-config/tsconfig.frontend.json} (87%) delete mode 100644 packages/frontend/tooling/typescript-config/package.json diff --git a/packages/@n8n/api-types/package.json b/packages/@n8n/api-types/package.json index 64b3cdfaf30ab..8d4031be28306 100644 --- a/packages/@n8n/api-types/package.json +++ b/packages/@n8n/api-types/package.json @@ -21,6 +21,7 @@ "dist/**/*" ], "devDependencies": { + "@n8n/typescript-config": "workspace:*", "@n8n/config": "workspace:*", "n8n-workflow": "workspace:*" }, diff --git a/packages/@n8n/api-types/tsconfig.build.json b/packages/@n8n/api-types/tsconfig.build.json index 057847e09d699..ad061742795b7 100644 --- a/packages/@n8n/api-types/tsconfig.build.json +++ b/packages/@n8n/api-types/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": ["./tsconfig.json", "../../../tsconfig.build.json"], + "extends": ["./tsconfig.json", "@n8n/typescript-config/tsconfig.build.json"], "compilerOptions": { "composite": true, "rootDir": "src", diff --git a/packages/@n8n/api-types/tsconfig.json b/packages/@n8n/api-types/tsconfig.json index 9c32bd67a1ec6..94d572169119b 100644 --- a/packages/@n8n/api-types/tsconfig.json +++ b/packages/@n8n/api-types/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../tsconfig.json", + "extends": "@n8n/typescript-config/tsconfig.common.json", "compilerOptions": { "rootDir": ".", "types": ["node", "jest"], diff --git a/packages/@n8n/benchmark/package.json b/packages/@n8n/benchmark/package.json index c67ed3ec356c2..4039d2ef10051 100644 --- a/packages/@n8n/benchmark/package.json +++ b/packages/@n8n/benchmark/package.json @@ -40,6 +40,7 @@ "zx": "^8.1.4" }, "devDependencies": { + "@n8n/typescript-config": "workspace:*", "@types/convict": "^6.1.1", "@types/k6": "^0.52.0" }, diff --git a/packages/@n8n/benchmark/tsconfig.build.json b/packages/@n8n/benchmark/tsconfig.build.json index b91db37a4a882..917b2f83f9863 100644 --- a/packages/@n8n/benchmark/tsconfig.build.json +++ b/packages/@n8n/benchmark/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": ["./tsconfig.json", "../../../tsconfig.build.json"], + "extends": ["./tsconfig.json", "@n8n/typescript-config/tsconfig.build.json"], "compilerOptions": { "rootDir": "src", "outDir": "dist", diff --git a/packages/@n8n/benchmark/tsconfig.json b/packages/@n8n/benchmark/tsconfig.json index 58a1b48f657df..891e27204dc6a 100644 --- a/packages/@n8n/benchmark/tsconfig.json +++ b/packages/@n8n/benchmark/tsconfig.json @@ -1,5 +1,8 @@ { - "extends": ["../../../tsconfig.json", "../../../tsconfig.backend.json"], + "extends": [ + "@n8n/typescript-config/tsconfig.common.json", + "@n8n/typescript-config/tsconfig.backend.json" + ], "compilerOptions": { "rootDir": ".", "baseUrl": "src", diff --git a/packages/@n8n/client-oauth2/package.json b/packages/@n8n/client-oauth2/package.json index fccbc63098d61..db073d959c87d 100644 --- a/packages/@n8n/client-oauth2/package.json +++ b/packages/@n8n/client-oauth2/package.json @@ -22,5 +22,8 @@ ], "dependencies": { "axios": "catalog:" + }, + "devDependencies": { + "@n8n/typescript-config": "workspace:*" } } diff --git a/packages/@n8n/client-oauth2/tsconfig.build.json b/packages/@n8n/client-oauth2/tsconfig.build.json index 82375d5e15c55..0794319028ba1 100644 --- a/packages/@n8n/client-oauth2/tsconfig.build.json +++ b/packages/@n8n/client-oauth2/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": ["./tsconfig.json", "../../../tsconfig.build.json"], + "extends": ["./tsconfig.json", "@n8n/typescript-config/tsconfig.build.json"], "compilerOptions": { "composite": true, "rootDir": "src", diff --git a/packages/@n8n/client-oauth2/tsconfig.json b/packages/@n8n/client-oauth2/tsconfig.json index 8b5a78cf75355..e669070d9d756 100644 --- a/packages/@n8n/client-oauth2/tsconfig.json +++ b/packages/@n8n/client-oauth2/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../tsconfig.json", + "extends": "@n8n/typescript-config/tsconfig.common.json", "compilerOptions": { "rootDir": ".", "types": ["node", "jest"], diff --git a/packages/@n8n/codemirror-lang/package.json b/packages/@n8n/codemirror-lang/package.json index 31a8b1a379766..371702c48808f 100644 --- a/packages/@n8n/codemirror-lang/package.json +++ b/packages/@n8n/codemirror-lang/package.json @@ -33,6 +33,7 @@ "@lezer/lr": "^1.4.0" }, "devDependencies": { + "@n8n/typescript-config": "workspace:*", "@lezer/generator": "^1.7.0" } } diff --git a/packages/@n8n/codemirror-lang/tsconfig.build.json b/packages/@n8n/codemirror-lang/tsconfig.build.json index 30910a3bf1ebb..32adf4995e9ec 100644 --- a/packages/@n8n/codemirror-lang/tsconfig.build.json +++ b/packages/@n8n/codemirror-lang/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": ["./tsconfig.json", "../../../tsconfig.build.json"], + "extends": ["./tsconfig.json", "@n8n/typescript-config/tsconfig.build.json"], "compilerOptions": { "rootDir": "src", "outDir": "dist", diff --git a/packages/@n8n/codemirror-lang/tsconfig.json b/packages/@n8n/codemirror-lang/tsconfig.json index 04a4944207f5c..4d71a6fcecbd4 100644 --- a/packages/@n8n/codemirror-lang/tsconfig.json +++ b/packages/@n8n/codemirror-lang/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../tsconfig.json", + "extends": "@n8n/typescript-config/tsconfig.common.json", "compilerOptions": { "rootDir": ".", "tsBuildInfoFile": "dist/typecheck.tsbuildinfo" diff --git a/packages/@n8n/config/package.json b/packages/@n8n/config/package.json index 45d97232ebffa..2d36cc80c5bec 100644 --- a/packages/@n8n/config/package.json +++ b/packages/@n8n/config/package.json @@ -23,5 +23,8 @@ "dependencies": { "@n8n/di": "workspace:*", "reflect-metadata": "catalog:" + }, + "devDependencies": { + "@n8n/typescript-config": "workspace:*" } } diff --git a/packages/@n8n/config/tsconfig.build.json b/packages/@n8n/config/tsconfig.build.json index 82375d5e15c55..0794319028ba1 100644 --- a/packages/@n8n/config/tsconfig.build.json +++ b/packages/@n8n/config/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": ["./tsconfig.json", "../../../tsconfig.build.json"], + "extends": ["./tsconfig.json", "@n8n/typescript-config/tsconfig.build.json"], "compilerOptions": { "composite": true, "rootDir": "src", diff --git a/packages/@n8n/config/tsconfig.json b/packages/@n8n/config/tsconfig.json index f26ea23c2458b..d64b794b55d28 100644 --- a/packages/@n8n/config/tsconfig.json +++ b/packages/@n8n/config/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../tsconfig.json", + "extends": "@n8n/typescript-config/tsconfig.common.json", "compilerOptions": { "rootDir": ".", "emitDecoratorMetadata": true, diff --git a/packages/@n8n/di/package.json b/packages/@n8n/di/package.json index 88774017d3411..39e830fd4f1cc 100644 --- a/packages/@n8n/di/package.json +++ b/packages/@n8n/di/package.json @@ -22,5 +22,8 @@ ], "dependencies": { "reflect-metadata": "catalog:" + }, + "devDependencies": { + "@n8n/typescript-config": "workspace:*" } } diff --git a/packages/@n8n/di/tsconfig.build.json b/packages/@n8n/di/tsconfig.build.json index 59065a1e2bab8..ee0e3e20fdaef 100644 --- a/packages/@n8n/di/tsconfig.build.json +++ b/packages/@n8n/di/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": ["./tsconfig.json", "../../../tsconfig.build.json"], + "extends": ["./tsconfig.json", "@n8n/typescript-config/tsconfig.build.json"], "compilerOptions": { "composite": true, "rootDir": "src", diff --git a/packages/@n8n/di/tsconfig.json b/packages/@n8n/di/tsconfig.json index efe662ed2a8d5..eca44d32aa398 100644 --- a/packages/@n8n/di/tsconfig.json +++ b/packages/@n8n/di/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../tsconfig.json", + "extends": "@n8n/typescript-config/tsconfig.common.json", "compilerOptions": { "rootDir": ".", "types": ["node", "jest"], diff --git a/packages/@n8n/imap/package.json b/packages/@n8n/imap/package.json index 6dec611010c40..00986ac93f6f1 100644 --- a/packages/@n8n/imap/package.json +++ b/packages/@n8n/imap/package.json @@ -27,6 +27,7 @@ "uuencode": "0.0.4" }, "devDependencies": { + "@n8n/typescript-config": "workspace:*", "@types/imap": "^0.8.40", "@types/quoted-printable": "^1.0.2", "@types/utf8": "^3.0.3", diff --git a/packages/@n8n/imap/tsconfig.build.json b/packages/@n8n/imap/tsconfig.build.json index 82375d5e15c55..0794319028ba1 100644 --- a/packages/@n8n/imap/tsconfig.build.json +++ b/packages/@n8n/imap/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": ["./tsconfig.json", "../../../tsconfig.build.json"], + "extends": ["./tsconfig.json", "@n8n/typescript-config/tsconfig.build.json"], "compilerOptions": { "composite": true, "rootDir": "src", diff --git a/packages/@n8n/imap/tsconfig.json b/packages/@n8n/imap/tsconfig.json index 9c32bd67a1ec6..94d572169119b 100644 --- a/packages/@n8n/imap/tsconfig.json +++ b/packages/@n8n/imap/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../tsconfig.json", + "extends": "@n8n/typescript-config/tsconfig.common.json", "compilerOptions": { "rootDir": ".", "types": ["node", "jest"], diff --git a/packages/@n8n/json-schema-to-zod/package.json b/packages/@n8n/json-schema-to-zod/package.json index 136d07a345a36..dd8638e8db37a 100644 --- a/packages/@n8n/json-schema-to-zod/package.json +++ b/packages/@n8n/json-schema-to-zod/package.json @@ -62,6 +62,7 @@ "zod": "^3.0.0" }, "devDependencies": { + "@n8n/typescript-config": "workspace:*", "@types/json-schema": "^7.0.15", "zod": "catalog:" } diff --git a/packages/@n8n/json-schema-to-zod/tsconfig.json b/packages/@n8n/json-schema-to-zod/tsconfig.json index f8e6508e74e71..7df2ec64847d0 100644 --- a/packages/@n8n/json-schema-to-zod/tsconfig.json +++ b/packages/@n8n/json-schema-to-zod/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": ["../../../tsconfig.json"], + "extends": ["@n8n/typescript-config/tsconfig.common.json"], "compilerOptions": { "rootDir": ".", "baseUrl": "src", diff --git a/packages/@n8n/nodes-langchain/package.json b/packages/@n8n/nodes-langchain/package.json index 68d3745641871..49e77d434823d 100644 --- a/packages/@n8n/nodes-langchain/package.json +++ b/packages/@n8n/nodes-langchain/package.json @@ -158,6 +158,7 @@ "@mozilla/readability": "0.5.0", "@n8n/json-schema-to-zod": "workspace:*", "@n8n/typeorm": "0.3.20-12", + "@n8n/typescript-config": "workspace:*", "@n8n/vm2": "3.9.25", "@pinecone-database/pinecone": "4.0.0", "@qdrant/js-client-rest": "1.11.0", diff --git a/packages/@n8n/nodes-langchain/tsconfig.build.json b/packages/@n8n/nodes-langchain/tsconfig.build.json index 66ebb20b17448..5cc2c8fe198da 100644 --- a/packages/@n8n/nodes-langchain/tsconfig.build.json +++ b/packages/@n8n/nodes-langchain/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": ["./tsconfig.json", "../../../tsconfig.build.json"], + "extends": ["./tsconfig.json", "@n8n/typescript-config/tsconfig.build.json"], "compilerOptions": { "outDir": "dist", "tsBuildInfoFile": "dist/build.tsbuildinfo" diff --git a/packages/@n8n/nodes-langchain/tsconfig.json b/packages/@n8n/nodes-langchain/tsconfig.json index d72fd76a4af4d..1f7740023564e 100644 --- a/packages/@n8n/nodes-langchain/tsconfig.json +++ b/packages/@n8n/nodes-langchain/tsconfig.json @@ -1,5 +1,8 @@ { - "extends": ["../../../tsconfig.json", "../../../tsconfig.backend.json"], + "extends": [ + "@n8n/typescript-config/tsconfig.common.json", + "@n8n/typescript-config/tsconfig.backend.json" + ], "compilerOptions": { "paths": { "@utils/*": ["./utils/*"] diff --git a/packages/@n8n/permissions/package.json b/packages/@n8n/permissions/package.json index 628150a0ee598..3d41e4390c76b 100644 --- a/packages/@n8n/permissions/package.json +++ b/packages/@n8n/permissions/package.json @@ -19,5 +19,8 @@ "types": "dist/index.d.ts", "files": [ "dist/**/*" - ] + ], + "devDependencies": { + "@n8n/typescript-config": "workspace:*" + } } diff --git a/packages/@n8n/permissions/tsconfig.build.json b/packages/@n8n/permissions/tsconfig.build.json index 82375d5e15c55..0794319028ba1 100644 --- a/packages/@n8n/permissions/tsconfig.build.json +++ b/packages/@n8n/permissions/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": ["./tsconfig.json", "../../../tsconfig.build.json"], + "extends": ["./tsconfig.json", "@n8n/typescript-config/tsconfig.build.json"], "compilerOptions": { "composite": true, "rootDir": "src", diff --git a/packages/@n8n/permissions/tsconfig.json b/packages/@n8n/permissions/tsconfig.json index 8b5a78cf75355..e669070d9d756 100644 --- a/packages/@n8n/permissions/tsconfig.json +++ b/packages/@n8n/permissions/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../tsconfig.json", + "extends": "@n8n/typescript-config/tsconfig.common.json", "compilerOptions": { "rootDir": ".", "types": ["node", "jest"], diff --git a/packages/@n8n/task-runner/package.json b/packages/@n8n/task-runner/package.json index f7d424504eda0..95f6d0e7d7803 100644 --- a/packages/@n8n/task-runner/package.json +++ b/packages/@n8n/task-runner/package.json @@ -47,6 +47,7 @@ "ws": "^8.18.0" }, "devDependencies": { + "@n8n/typescript-config": "workspace:*", "@types/lodash": "catalog:" } } diff --git a/packages/@n8n/task-runner/tsconfig.build.json b/packages/@n8n/task-runner/tsconfig.build.json index 59065a1e2bab8..ee0e3e20fdaef 100644 --- a/packages/@n8n/task-runner/tsconfig.build.json +++ b/packages/@n8n/task-runner/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": ["./tsconfig.json", "../../../tsconfig.build.json"], + "extends": ["./tsconfig.json", "@n8n/typescript-config/tsconfig.build.json"], "compilerOptions": { "composite": true, "rootDir": "src", diff --git a/packages/@n8n/task-runner/tsconfig.json b/packages/@n8n/task-runner/tsconfig.json index ddee64ec1f00e..2c4fb3b250a8b 100644 --- a/packages/@n8n/task-runner/tsconfig.json +++ b/packages/@n8n/task-runner/tsconfig.json @@ -1,5 +1,8 @@ { - "extends": ["../../../tsconfig.json", "../../../tsconfig.backend.json"], + "extends": [ + "@n8n/typescript-config/tsconfig.common.json", + "@n8n/typescript-config/tsconfig.backend.json" + ], "compilerOptions": { "rootDir": ".", "emitDecoratorMetadata": true, diff --git a/packages/@n8n/typescript-config/package.json b/packages/@n8n/typescript-config/package.json new file mode 100644 index 0000000000000..2c37e16101240 --- /dev/null +++ b/packages/@n8n/typescript-config/package.json @@ -0,0 +1,19 @@ +{ + "name": "@n8n/typescript-config", + "version": "1.1.0", + "type": "module", + "files": [ + "tsconfig.backend.json", + "tsconfig.build.json", + "tsconfig.common.json", + "tsconfig.frontend.json" + ], + "exports": { + "./tsconfig.backend.json": "./tsconfig.backend.json", + "./tsconfig.build.json": "./tsconfig.build.json", + "./tsconfig.common.json": "./tsconfig.common.json", + "./tsconfig.frontend.json": "./tsconfig.frontend.json", + "./*": "./*" + }, + "license": "See LICENSE.md file in the root of the repository" +} diff --git a/tsconfig.backend.json b/packages/@n8n/typescript-config/tsconfig.backend.json similarity index 60% rename from tsconfig.backend.json rename to packages/@n8n/typescript-config/tsconfig.backend.json index 34876f426e859..048c4eb9bd3df 100644 --- a/tsconfig.backend.json +++ b/packages/@n8n/typescript-config/tsconfig.backend.json @@ -1,4 +1,5 @@ { + "extends": "./tsconfig.common.json", "compilerOptions": { "types": ["node", "jest"] } diff --git a/tsconfig.build.json b/packages/@n8n/typescript-config/tsconfig.build.json similarity index 100% rename from tsconfig.build.json rename to packages/@n8n/typescript-config/tsconfig.build.json diff --git a/packages/@n8n/typescript-config/tsconfig.common.json b/packages/@n8n/typescript-config/tsconfig.common.json new file mode 100644 index 0000000000000..6477fb54a6bf8 --- /dev/null +++ b/packages/@n8n/typescript-config/tsconfig.common.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "strict": true, + "module": "commonjs", + "moduleResolution": "node", + "target": "es2021", + "lib": ["es2021", "es2022.error", "dom"], + "removeComments": true, + "useUnknownInCatchVariables": true, + "forceConsistentCasingInFileNames": true, + "noImplicitAny": true, + "noImplicitReturns": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "strictNullChecks": true, + "preserveConstEnums": true, + "esModuleInterop": true, + "resolveJsonModule": true, + "incremental": true, + "declaration": false, + "sourceMap": true, + "skipLibCheck": true + }, + "files": ["../../../node_modules/jest-expect-message/types/index.d.ts"] +} diff --git a/packages/frontend/tooling/typescript-config/tsconfig.json b/packages/@n8n/typescript-config/tsconfig.frontend.json similarity index 87% rename from packages/frontend/tooling/typescript-config/tsconfig.json rename to packages/@n8n/typescript-config/tsconfig.frontend.json index 2ceacaaac3813..c1273c46b8fcd 100644 --- a/packages/frontend/tooling/typescript-config/tsconfig.json +++ b/packages/@n8n/typescript-config/tsconfig.frontend.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.json", + "extends": "./tsconfig.common.json", "compilerOptions": { "target": "esnext", "module": "esnext", diff --git a/packages/cli/package.json b/packages/cli/package.json index 5236f480a8b14..d2a8285efeef2 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -53,6 +53,7 @@ "!dist/**/e2e.*" ], "devDependencies": { + "@n8n/typescript-config": "workspace:*", "@redocly/cli": "^1.25.5", "@types/aws4": "^1.5.1", "@types/bcryptjs": "^2.4.2", diff --git a/packages/cli/tsconfig.build.json b/packages/cli/tsconfig.build.json index 55afe8b40986a..ef11231a71dff 100644 --- a/packages/cli/tsconfig.build.json +++ b/packages/cli/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": ["./tsconfig.json", "../../tsconfig.build.json"], + "extends": ["./tsconfig.json", "@n8n/typescript-config/tsconfig.build.json"], "compilerOptions": { "rootDir": "src", "outDir": "dist", diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json index a427433aa6bd9..2808e5519ef1a 100644 --- a/packages/cli/tsconfig.json +++ b/packages/cli/tsconfig.json @@ -1,5 +1,8 @@ { - "extends": ["../../tsconfig.json", "../../tsconfig.backend.json"], + "extends": [ + "@n8n/typescript-config/tsconfig.common.json", + "@n8n/typescript-config/tsconfig.backend.json" + ], "compilerOptions": { "rootDir": ".", "emitDecoratorMetadata": true, diff --git a/packages/core/package.json b/packages/core/package.json index 9634ebb136039..6234dc225f3c8 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -27,6 +27,7 @@ "bin" ], "devDependencies": { + "@n8n/typescript-config": "workspace:*", "@types/aws4": "^1.5.1", "@types/concat-stream": "^2.0.0", "@types/express": "catalog:", diff --git a/packages/core/tsconfig.build.json b/packages/core/tsconfig.build.json index 6aa59ada37cb0..ad061742795b7 100644 --- a/packages/core/tsconfig.build.json +++ b/packages/core/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": ["./tsconfig.json", "../../tsconfig.build.json"], + "extends": ["./tsconfig.json", "@n8n/typescript-config/tsconfig.build.json"], "compilerOptions": { "composite": true, "rootDir": "src", diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 0fbcc8b81a097..d01f51801cbb6 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -1,5 +1,8 @@ { - "extends": ["../../tsconfig.json", "../../tsconfig.backend.json"], + "extends": [ + "@n8n/typescript-config/tsconfig.common.json", + "@n8n/typescript-config/tsconfig.backend.json" + ], "compilerOptions": { "rootDir": ".", "baseUrl": "src", diff --git a/packages/design-system/package.json b/packages/design-system/package.json index 304f6489a8f03..2862f1e28b7ea 100644 --- a/packages/design-system/package.json +++ b/packages/design-system/package.json @@ -20,8 +20,8 @@ }, "devDependencies": { "@n8n/frontend-eslint-config": "workspace:*", - "@n8n/frontend-typescript-config": "workspace:*", "@n8n/frontend-vitest-config": "workspace:*", + "@n8n/typescript-config": "workspace:*", "@n8n/storybook": "workspace:*", "@testing-library/jest-dom": "^6.6.3", "@testing-library/user-event": "^14.6.0", diff --git a/packages/design-system/tsconfig.json b/packages/design-system/tsconfig.json index 4a3a72f3fc2d3..6d924aafd108c 100644 --- a/packages/design-system/tsconfig.json +++ b/packages/design-system/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@n8n/frontend-typescript-config", + "extends": "@n8n/typescript-config/tsconfig.frontend.json", "compilerOptions": { "baseUrl": ".", "rootDirs": [".", "../../frontend/@n8n/composables/src"], diff --git a/packages/editor-ui/package.json b/packages/editor-ui/package.json index 73ad4b07f893f..76c24a9d03b8b 100644 --- a/packages/editor-ui/package.json +++ b/packages/editor-ui/package.json @@ -93,7 +93,7 @@ "devDependencies": { "@n8n/frontend-eslint-config": "workspace:*", "@n8n/frontend-vitest-config": "workspace:*", - "@n8n/frontend-typescript-config": "workspace:*", + "@n8n/typescript-config": "workspace:*", "@faker-js/faker": "^8.0.2", "@iconify/json": "^2.2.228", "@pinia/testing": "^0.1.6", diff --git a/packages/editor-ui/tsconfig.json b/packages/editor-ui/tsconfig.json index 7080675ffdafe..43fb73f7e73ec 100644 --- a/packages/editor-ui/tsconfig.json +++ b/packages/editor-ui/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@n8n/frontend-typescript-config", + "extends": "@n8n/typescript-config/tsconfig.frontend.json", "compilerOptions": { "baseUrl": ".", "rootDirs": [ diff --git a/packages/frontend/@n8n/chat/package.json b/packages/frontend/@n8n/chat/package.json index f80bf671ce690..a21255782a54b 100644 --- a/packages/frontend/@n8n/chat/package.json +++ b/packages/frontend/@n8n/chat/package.json @@ -46,6 +46,7 @@ "devDependencies": { "@iconify-json/mdi": "^1.1.54", "@n8n/storybook": "workspace:*", + "@n8n/typescript-config": "workspace:*", "@vitejs/plugin-vue": "catalog:frontend", "@vitest/coverage-v8": "catalog:frontend", "unplugin-icons": "^0.19.0", diff --git a/packages/frontend/@n8n/chat/tsconfig.json b/packages/frontend/@n8n/chat/tsconfig.json index a5633a8bfe517..34bb759969b82 100644 --- a/packages/frontend/@n8n/chat/tsconfig.json +++ b/packages/frontend/@n8n/chat/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../tsconfig.json", + "extends": "@n8n/typescript-config/tsconfig.common.json", "compilerOptions": { "rootDir": "src", "outDir": "dist", diff --git a/packages/frontend/@n8n/composables/package.json b/packages/frontend/@n8n/composables/package.json index a1ba27cffef47..a69c4300165b7 100644 --- a/packages/frontend/@n8n/composables/package.json +++ b/packages/frontend/@n8n/composables/package.json @@ -26,8 +26,8 @@ }, "devDependencies": { "@n8n/frontend-eslint-config": "workspace:*", - "@n8n/frontend-typescript-config": "workspace:*", "@n8n/frontend-vitest-config": "workspace:*", + "@n8n/typescript-config": "workspace:*", "@testing-library/jest-dom": "catalog:frontend", "@testing-library/user-event": "catalog:frontend", "@testing-library/vue": "catalog:frontend", diff --git a/packages/frontend/@n8n/composables/tsconfig.json b/packages/frontend/@n8n/composables/tsconfig.json index 3884b84bf2f78..3b2e100fce16d 100644 --- a/packages/frontend/@n8n/composables/tsconfig.json +++ b/packages/frontend/@n8n/composables/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@n8n/frontend-typescript-config", + "extends": "@n8n/typescript-config/tsconfig.frontend.json", "compilerOptions": { "baseUrl": ".", "rootDir": ".", diff --git a/packages/frontend/tooling/typescript-config/package.json b/packages/frontend/tooling/typescript-config/package.json deleted file mode 100644 index 5699cd2b749cf..0000000000000 --- a/packages/frontend/tooling/typescript-config/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "@n8n/frontend-typescript-config", - "version": "1.1.0", - "type": "module", - "files": [ - "tsconfig.json" - ], - "main": "./tsconfig.json", - "module": "./tsconfig.json", - "exports": { - ".": { - "import": "./tsconfig.json", - "require": "./tsconfig.json" - }, - "./*": "./*" - }, - "license": "See LICENSE.md file in the root of the repository" -} diff --git a/packages/node-dev/package.json b/packages/node-dev/package.json index 81345477d7400..26bb73b680380 100644 --- a/packages/node-dev/package.json +++ b/packages/node-dev/package.json @@ -36,6 +36,7 @@ "src/tsconfig-build.json" ], "devDependencies": { + "@n8n/typescript-config": "workspace:*", "@types/inquirer": "^6.5.0" }, "dependencies": { diff --git a/packages/node-dev/tsconfig.json b/packages/node-dev/tsconfig.json index b3826a84e4384..259d2f119cb43 100644 --- a/packages/node-dev/tsconfig.json +++ b/packages/node-dev/tsconfig.json @@ -1,5 +1,8 @@ { - "extends": ["../../tsconfig.json", "../../tsconfig.backend.json"], + "extends": [ + "@n8n/typescript-config/tsconfig.common.json", + "@n8n/typescript-config/tsconfig.backend.json" + ], "compilerOptions": { "outDir": "dist", "preserveSymlinks": true, diff --git a/packages/nodes-base/package.json b/packages/nodes-base/package.json index 8c17b8f9f7713..06f9a1c434fd0 100644 --- a/packages/nodes-base/package.json +++ b/packages/nodes-base/package.json @@ -827,6 +827,7 @@ ] }, "devDependencies": { + "@n8n/typescript-config": "workspace:*", "@types/amqplib": "^0.10.1", "@types/aws4": "^1.5.1", "@types/basic-auth": "catalog:", diff --git a/packages/nodes-base/tsconfig.build.json b/packages/nodes-base/tsconfig.build.json index d92417abdd374..c1cf715705ddd 100644 --- a/packages/nodes-base/tsconfig.build.json +++ b/packages/nodes-base/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": ["./tsconfig.json", "../../tsconfig.build.json"], + "extends": ["./tsconfig.json", "@n8n/typescript-config/tsconfig.build.json"], "compilerOptions": { "outDir": "dist", "tsBuildInfoFile": "dist/build.tsbuildinfo" diff --git a/packages/nodes-base/tsconfig.json b/packages/nodes-base/tsconfig.json index 2cbb72109a749..f575be4fcdbef 100644 --- a/packages/nodes-base/tsconfig.json +++ b/packages/nodes-base/tsconfig.json @@ -1,5 +1,8 @@ { - "extends": ["../../tsconfig.json", "../../tsconfig.backend.json"], + "extends": [ + "@n8n/typescript-config/tsconfig.common.json", + "@n8n/typescript-config/tsconfig.backend.json" + ], "compilerOptions": { "paths": { "@test/*": ["./test/*"], diff --git a/packages/workflow/package.json b/packages/workflow/package.json index 43d120fd5217b..701d064450d0d 100644 --- a/packages/workflow/package.json +++ b/packages/workflow/package.json @@ -32,6 +32,7 @@ "devDependencies": { "@langchain/core": "catalog:", "@n8n/config": "workspace:*", + "@n8n/typescript-config": "workspace:*", "@types/deep-equal": "^1.0.1", "@types/express": "catalog:", "@types/jmespath": "^0.15.0", diff --git a/packages/workflow/tsconfig.build.json b/packages/workflow/tsconfig.build.json index 6aa59ada37cb0..ad061742795b7 100644 --- a/packages/workflow/tsconfig.build.json +++ b/packages/workflow/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": ["./tsconfig.json", "../../tsconfig.build.json"], + "extends": ["./tsconfig.json", "@n8n/typescript-config/tsconfig.build.json"], "compilerOptions": { "composite": true, "rootDir": "src", diff --git a/packages/workflow/tsconfig.json b/packages/workflow/tsconfig.json index 2f0507b5659b7..a99bad8d4d2db 100644 --- a/packages/workflow/tsconfig.json +++ b/packages/workflow/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.json", + "extends": "@n8n/typescript-config/tsconfig.common.json", "compilerOptions": { "rootDir": ".", "baseUrl": "src", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ef82e4a279775..d711644562c9b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -302,6 +302,9 @@ importers: '@n8n/config': specifier: workspace:* version: link:../config + '@n8n/typescript-config': + specifier: workspace:* + version: link:../typescript-config n8n-workflow: specifier: workspace:* version: link:../../workflow @@ -324,6 +327,9 @@ importers: specifier: ^8.1.4 version: 8.1.4 devDependencies: + '@n8n/typescript-config': + specifier: workspace:* + version: link:../typescript-config '@types/convict': specifier: ^6.1.1 version: 6.1.1 @@ -336,6 +342,10 @@ importers: axios: specifier: 'catalog:' version: 1.7.4 + devDependencies: + '@n8n/typescript-config': + specifier: workspace:* + version: link:../typescript-config packages/@n8n/codemirror-lang: dependencies: @@ -352,6 +362,9 @@ importers: '@lezer/generator': specifier: ^1.7.0 version: 1.7.0 + '@n8n/typescript-config': + specifier: workspace:* + version: link:../typescript-config packages/@n8n/config: dependencies: @@ -361,12 +374,20 @@ importers: reflect-metadata: specifier: 'catalog:' version: 0.2.2 + devDependencies: + '@n8n/typescript-config': + specifier: workspace:* + version: link:../typescript-config packages/@n8n/di: dependencies: reflect-metadata: specifier: 'catalog:' version: 0.2.2 + devDependencies: + '@n8n/typescript-config': + specifier: workspace:* + version: link:../typescript-config packages/@n8n/imap: dependencies: @@ -386,6 +407,9 @@ importers: specifier: 0.0.4 version: 0.0.4 devDependencies: + '@n8n/typescript-config': + specifier: workspace:* + version: link:../typescript-config '@types/imap': specifier: ^0.8.40 version: 0.8.40 @@ -401,6 +425,9 @@ importers: packages/@n8n/json-schema-to-zod: devDependencies: + '@n8n/typescript-config': + specifier: workspace:* + version: link:../typescript-config '@types/json-schema': specifier: ^7.0.15 version: 7.0.15 @@ -485,6 +512,9 @@ importers: '@n8n/typeorm': specifier: 0.3.20-12 version: 0.3.20-12(@sentry/node@8.52.1)(ioredis@5.3.2)(mssql@10.0.2)(mysql2@3.11.0)(pg@8.12.0)(redis@4.6.12)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@18.16.16)(typescript@5.7.2)) + '@n8n/typescript-config': + specifier: workspace:* + version: link:../typescript-config '@n8n/vm2': specifier: 3.9.25 version: 3.9.25 @@ -598,7 +628,11 @@ importers: specifier: workspace:* version: link:../../core - packages/@n8n/permissions: {} + packages/@n8n/permissions: + devDependencies: + '@n8n/typescript-config': + specifier: workspace:* + version: link:../typescript-config packages/@n8n/storybook: devDependencies: @@ -681,10 +715,15 @@ importers: specifier: '>=8.17.1' version: 8.17.1 devDependencies: + '@n8n/typescript-config': + specifier: workspace:* + version: link:../typescript-config '@types/lodash': specifier: 'catalog:' version: 4.14.195 + packages/@n8n/typescript-config: {} + packages/@n8n_io/eslint-config: devDependencies: '@types/eslint': @@ -1006,6 +1045,9 @@ importers: specifier: 'catalog:' version: 3.24.1 devDependencies: + '@n8n/typescript-config': + specifier: workspace:* + version: link:../@n8n/typescript-config '@redocly/cli': specifier: ^1.25.5 version: 1.25.5(encoding@0.1.13)(enzyme@3.11.0) @@ -1187,6 +1229,9 @@ importers: specifier: 'catalog:' version: 3.24.1 devDependencies: + '@n8n/typescript-config': + specifier: workspace:* + version: link:../@n8n/typescript-config '@types/aws4': specifier: ^1.5.1 version: 1.11.2 @@ -1266,15 +1311,15 @@ importers: '@n8n/frontend-eslint-config': specifier: workspace:* version: link:../frontend/tooling/eslint-config - '@n8n/frontend-typescript-config': - specifier: workspace:* - version: link:../frontend/tooling/typescript-config '@n8n/frontend-vitest-config': specifier: workspace:* version: link:../frontend/tooling/vitest-config '@n8n/storybook': specifier: workspace:* version: link:../@n8n/storybook + '@n8n/typescript-config': + specifier: workspace:* + version: link:../@n8n/typescript-config '@testing-library/jest-dom': specifier: ^6.6.3 version: 6.6.3 @@ -1570,12 +1615,12 @@ importers: '@n8n/frontend-eslint-config': specifier: workspace:* version: link:../frontend/tooling/eslint-config - '@n8n/frontend-typescript-config': - specifier: workspace:* - version: link:../frontend/tooling/typescript-config '@n8n/frontend-vitest-config': specifier: workspace:* version: link:../frontend/tooling/vitest-config + '@n8n/typescript-config': + specifier: workspace:* + version: link:../@n8n/typescript-config '@pinia/testing': specifier: ^0.1.6 version: 0.1.6(pinia@2.2.4(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2)) @@ -1670,6 +1715,9 @@ importers: '@n8n/storybook': specifier: workspace:* version: link:../../../@n8n/storybook + '@n8n/typescript-config': + specifier: workspace:* + version: link:../../../@n8n/typescript-config '@vitejs/plugin-vue': specifier: catalog:frontend version: 5.2.1(vite@6.0.2(@types/node@18.16.16)(jiti@1.21.0)(sass@1.64.1)(terser@5.16.1))(vue@3.5.13(typescript@5.7.2)) @@ -1697,12 +1745,12 @@ importers: '@n8n/frontend-eslint-config': specifier: workspace:* version: link:../../tooling/eslint-config - '@n8n/frontend-typescript-config': - specifier: workspace:* - version: link:../../tooling/typescript-config '@n8n/frontend-vitest-config': specifier: workspace:* version: link:../../tooling/vitest-config + '@n8n/typescript-config': + specifier: workspace:* + version: link:../../../@n8n/typescript-config '@testing-library/jest-dom': specifier: catalog:frontend version: 6.6.3 @@ -1752,8 +1800,6 @@ importers: specifier: ^1.0.0 version: 1.0.0 - packages/frontend/tooling/typescript-config: {} - packages/frontend/tooling/vitest-config: devDependencies: vite: @@ -1793,6 +1839,9 @@ importers: specifier: ^3.0.3 version: 3.0.3 devDependencies: + '@n8n/typescript-config': + specifier: workspace:* + version: link:../@n8n/typescript-config '@types/inquirer': specifier: ^6.5.0 version: 6.5.0 @@ -2001,6 +2050,9 @@ importers: specifier: 'catalog:' version: 0.6.2 devDependencies: + '@n8n/typescript-config': + specifier: workspace:* + version: link:../@n8n/typescript-config '@types/amqplib': specifier: ^0.10.1 version: 0.10.1 @@ -2146,6 +2198,9 @@ importers: '@n8n/config': specifier: workspace:* version: link:../@n8n/config + '@n8n/typescript-config': + specifier: workspace:* + version: link:../@n8n/typescript-config '@types/deep-equal': specifier: ^1.0.1 version: 1.0.1 @@ -13315,9 +13370,6 @@ packages: vue-component-type-helpers@2.1.10: resolution: {integrity: sha512-lfgdSLQKrUmADiSV6PbBvYgQ33KF3Ztv6gP85MfGaGaSGMTXORVaHT1EHfsqCgzRNBstPKYDmvAV9Do5CmJ07A==} - vue-component-type-helpers@2.2.2: - resolution: {integrity: sha512-6lLY+n2xz2kCYshl59mL6gy8OUUTmkscmDFMO8i7Lj+QKwgnIFUZmM1i/iTYObtrczZVdw7UakPqDTGwVSGaRg==} - vue-component-type-helpers@2.2.4: resolution: {integrity: sha512-F66p0XLbAu92BRz6kakHyAcaUSF7HWpWX/THCqL0TxySSj7z/nok5UUMohfNkkCm1pZtawsdzoJ4p1cjNqCx0Q==} @@ -19480,7 +19532,7 @@ snapshots: '@vue/test-utils@2.4.6': dependencies: js-beautify: 1.14.9 - vue-component-type-helpers: 2.2.2 + vue-component-type-helpers: 2.2.4 '@vue/tsconfig@0.7.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2))': optionalDependencies: @@ -27778,8 +27830,6 @@ snapshots: vue-component-type-helpers@2.1.10: {} - vue-component-type-helpers@2.2.2: {} - vue-component-type-helpers@2.2.4: {} vue-demi@0.14.10(vue@3.5.13(typescript@5.7.2)): diff --git a/tsconfig.json b/tsconfig.json index 5734019388d4c..89241741f9fcc 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,26 +1,4 @@ { - "compilerOptions": { - "strict": true, - "module": "commonjs", - "moduleResolution": "node", - "target": "es2021", - "lib": ["es2021", "es2022.error", "dom"], - "removeComments": true, - "useUnknownInCatchVariables": true, - "forceConsistentCasingInFileNames": true, - "noImplicitAny": true, - "noImplicitReturns": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "strictNullChecks": true, - "preserveConstEnums": true, - "esModuleInterop": true, - "resolveJsonModule": true, - "incremental": true, - "declaration": false, - "sourceMap": true, - "skipLibCheck": true - }, - "exclude": ["**/dist/**/*", "**/node_modules/**/*", "cypress"], - "files": ["node_modules/jest-expect-message/types/index.d.ts"] + "extends": "./packages/@n8n/typescript-config/tsconfig.common.json", + "exclude": ["**/dist/**/*", "**/node_modules/**/*", "cypress"] }