From 93fc571f8992f03394cff490c323cc69b80b2eac Mon Sep 17 00:00:00 2001 From: Jimmy Domagala-Tang Date: Wed, 3 Jan 2024 09:55:37 -0500 Subject: [PATCH] Merge pull request #16353 from overleaf/em-typescript-in-web-backend Enable type checking in the web backend GitOrigin-RevId: cc8e34777c89704765fcd9b973aed806c3ae9016 --- services/web/Makefile | 4 ++++ services/web/app/src/tsconfig.json | 1 + .../history-v1/test/acceptance/tsconfig.json | 1 + .../modules/launchpad/app/src/tsconfig.json | 1 + .../launchpad/test/acceptance/tsconfig.json | 1 + .../modules/launchpad/test/unit/tsconfig.json | 1 + .../test/acceptance/tsconfig.json | 1 + .../user-activate/app/src/tsconfig.json | 1 + .../user-activate/test/unit/tsconfig.json | 1 + services/web/scripts/tsconfig.json | 1 + services/web/test/acceptance/tsconfig.json | 1 + services/web/test/smoke/tsconfig.json | 1 + services/web/test/unit/tsconfig.json | 1 + services/web/tsconfig.backend.json | 22 +++++++++++++++++++ 14 files changed, 38 insertions(+) create mode 100644 services/web/app/src/tsconfig.json create mode 100644 services/web/modules/history-v1/test/acceptance/tsconfig.json create mode 100644 services/web/modules/launchpad/app/src/tsconfig.json create mode 100644 services/web/modules/launchpad/test/acceptance/tsconfig.json create mode 100644 services/web/modules/launchpad/test/unit/tsconfig.json create mode 100644 services/web/modules/server-ce-scripts/test/acceptance/tsconfig.json create mode 100644 services/web/modules/user-activate/app/src/tsconfig.json create mode 100644 services/web/modules/user-activate/test/unit/tsconfig.json create mode 100644 services/web/scripts/tsconfig.json create mode 100644 services/web/test/acceptance/tsconfig.json create mode 100644 services/web/test/smoke/tsconfig.json create mode 100644 services/web/test/unit/tsconfig.json create mode 100644 services/web/tsconfig.backend.json diff --git a/services/web/Makefile b/services/web/Makefile index ed826ec736..2f47929429 100644 --- a/services/web/Makefile +++ b/services/web/Makefile @@ -470,6 +470,10 @@ lint: typecheck_frontend typecheck_frontend: npx -p typescript tsc --noEmit +lint: typecheck_backend +typecheck_backend: + npx -p typescript tsc -p tsconfig.backend.json --noEmit + lint_in_docker: $(RUN_LINT_FORMAT) make lint -j2 --output-sync diff --git a/services/web/app/src/tsconfig.json b/services/web/app/src/tsconfig.json new file mode 100644 index 0000000000..126da92c92 --- /dev/null +++ b/services/web/app/src/tsconfig.json @@ -0,0 +1 @@ +{ "extends": "../../tsconfig.backend.json" } diff --git a/services/web/modules/history-v1/test/acceptance/tsconfig.json b/services/web/modules/history-v1/test/acceptance/tsconfig.json new file mode 100644 index 0000000000..ddee721c50 --- /dev/null +++ b/services/web/modules/history-v1/test/acceptance/tsconfig.json @@ -0,0 +1 @@ +{ "extends": "../../../../tsconfig.backend.json" } diff --git a/services/web/modules/launchpad/app/src/tsconfig.json b/services/web/modules/launchpad/app/src/tsconfig.json new file mode 100644 index 0000000000..ddee721c50 --- /dev/null +++ b/services/web/modules/launchpad/app/src/tsconfig.json @@ -0,0 +1 @@ +{ "extends": "../../../../tsconfig.backend.json" } diff --git a/services/web/modules/launchpad/test/acceptance/tsconfig.json b/services/web/modules/launchpad/test/acceptance/tsconfig.json new file mode 100644 index 0000000000..ddee721c50 --- /dev/null +++ b/services/web/modules/launchpad/test/acceptance/tsconfig.json @@ -0,0 +1 @@ +{ "extends": "../../../../tsconfig.backend.json" } diff --git a/services/web/modules/launchpad/test/unit/tsconfig.json b/services/web/modules/launchpad/test/unit/tsconfig.json new file mode 100644 index 0000000000..ddee721c50 --- /dev/null +++ b/services/web/modules/launchpad/test/unit/tsconfig.json @@ -0,0 +1 @@ +{ "extends": "../../../../tsconfig.backend.json" } diff --git a/services/web/modules/server-ce-scripts/test/acceptance/tsconfig.json b/services/web/modules/server-ce-scripts/test/acceptance/tsconfig.json new file mode 100644 index 0000000000..ddee721c50 --- /dev/null +++ b/services/web/modules/server-ce-scripts/test/acceptance/tsconfig.json @@ -0,0 +1 @@ +{ "extends": "../../../../tsconfig.backend.json" } diff --git a/services/web/modules/user-activate/app/src/tsconfig.json b/services/web/modules/user-activate/app/src/tsconfig.json new file mode 100644 index 0000000000..ddee721c50 --- /dev/null +++ b/services/web/modules/user-activate/app/src/tsconfig.json @@ -0,0 +1 @@ +{ "extends": "../../../../tsconfig.backend.json" } diff --git a/services/web/modules/user-activate/test/unit/tsconfig.json b/services/web/modules/user-activate/test/unit/tsconfig.json new file mode 100644 index 0000000000..ddee721c50 --- /dev/null +++ b/services/web/modules/user-activate/test/unit/tsconfig.json @@ -0,0 +1 @@ +{ "extends": "../../../../tsconfig.backend.json" } diff --git a/services/web/scripts/tsconfig.json b/services/web/scripts/tsconfig.json new file mode 100644 index 0000000000..7ed7343e08 --- /dev/null +++ b/services/web/scripts/tsconfig.json @@ -0,0 +1 @@ +{ "extends": "../tsconfig.backend.json" } diff --git a/services/web/test/acceptance/tsconfig.json b/services/web/test/acceptance/tsconfig.json new file mode 100644 index 0000000000..126da92c92 --- /dev/null +++ b/services/web/test/acceptance/tsconfig.json @@ -0,0 +1 @@ +{ "extends": "../../tsconfig.backend.json" } diff --git a/services/web/test/smoke/tsconfig.json b/services/web/test/smoke/tsconfig.json new file mode 100644 index 0000000000..126da92c92 --- /dev/null +++ b/services/web/test/smoke/tsconfig.json @@ -0,0 +1 @@ +{ "extends": "../../tsconfig.backend.json" } diff --git a/services/web/test/unit/tsconfig.json b/services/web/test/unit/tsconfig.json new file mode 100644 index 0000000000..126da92c92 --- /dev/null +++ b/services/web/test/unit/tsconfig.json @@ -0,0 +1 @@ +{ "extends": "../../tsconfig.backend.json" } diff --git a/services/web/tsconfig.backend.json b/services/web/tsconfig.backend.json new file mode 100644 index 0000000000..f2bb50e130 --- /dev/null +++ b/services/web/tsconfig.backend.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "allowJs": true, + "esModuleInterop": true, + "moduleResolution": "node", + "noEmit": true, + "noImplicitAny": false, + "skipLibCheck": true, + "strict": true + }, + "include": [ + "app/src/**/*", + "modules/*/app/src/**/*", + "modules/*/test/acceptance/**/*", + "modules/*/test/smoke/**/*", + "modules/*/test/unit/**/*", + "scripts/**/*", + "test/acceptance/**/*", + "test/smoke/**/*", + "test/unit/**/*" + ] +}