From 9d03b59798fd29b7c2c80c956bcf60680fdfee98 Mon Sep 17 00:00:00 2001 From: Andrew Rumble Date: Mon, 22 Sep 2025 11:47:52 +0100 Subject: [PATCH] Merge pull request #28482 from overleaf/ar-move-notifications-changes-into-buildscripts [monorepo] move notifications changes into buildscripts GitOrigin-RevId: b5948702627d0bc87bffd3acc3d7c2ab9f4ac23d --- libraries/access-token-encryptor/buildscript.txt | 1 - libraries/access-token-encryptor/tsconfig.json | 3 ++- libraries/fetch-utils/buildscript.txt | 1 - libraries/fetch-utils/tsconfig.json | 3 ++- libraries/logger/buildscript.txt | 1 - libraries/logger/tsconfig.json | 3 ++- libraries/metrics/buildscript.txt | 1 - libraries/metrics/tsconfig.json | 3 ++- libraries/mongo-utils/buildscript.txt | 1 - libraries/mongo-utils/tsconfig.json | 3 ++- libraries/o-error/buildscript.txt | 1 - libraries/o-error/tsconfig.json | 3 ++- libraries/object-persistor/buildscript.txt | 1 - libraries/object-persistor/tsconfig.json | 3 ++- libraries/overleaf-editor-core/buildscript.txt | 1 - libraries/overleaf-editor-core/tsconfig.json | 3 ++- libraries/promise-utils/buildscript.txt | 1 - libraries/promise-utils/tsconfig.json | 3 ++- libraries/ranges-tracker/buildscript.txt | 1 - libraries/ranges-tracker/tsconfig.json | 3 ++- libraries/redis-wrapper/buildscript.txt | 1 - libraries/redis-wrapper/tsconfig.json | 3 ++- libraries/settings/buildscript.txt | 1 - libraries/settings/tsconfig.json | 3 ++- libraries/stream-utils/buildscript.txt | 1 - libraries/stream-utils/tsconfig.json | 3 ++- libraries/validation-tools/buildscript.txt | 3 ++- libraries/validation-tools/package.json | 2 +- libraries/validation-tools/tsconfig.json | 7 ++----- services/chat/buildscript.txt | 1 - services/contacts/buildscript.txt | 1 - services/docstore/buildscript.txt | 1 - services/document-updater/buildscript.txt | 1 - services/filestore/buildscript.txt | 1 - services/history-v1/buildscript.txt | 1 - services/notifications/buildscript.txt | 3 ++- services/notifications/docker-compose.ci.yml | 1 + services/notifications/docker-compose.yml | 3 ++- services/notifications/package.json | 9 ++++++--- services/notifications/tsconfig.json | 5 +++-- .../{vitest.config.cjs => vitest.config.unit.cjs} | 0 services/project-history/buildscript.txt | 1 - services/real-time/buildscript.txt | 1 - tsconfig.backend.json | 1 + 44 files changed, 46 insertions(+), 48 deletions(-) rename services/notifications/{vitest.config.cjs => vitest.config.unit.cjs} (100%) diff --git a/libraries/access-token-encryptor/buildscript.txt b/libraries/access-token-encryptor/buildscript.txt index 644c887427..acc186c0e0 100644 --- a/libraries/access-token-encryptor/buildscript.txt +++ b/libraries/access-token-encryptor/buildscript.txt @@ -7,4 +7,3 @@ access-token-encryptor --is-library=True --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 diff --git a/libraries/access-token-encryptor/tsconfig.json b/libraries/access-token-encryptor/tsconfig.json index d43bb2470a..78761754eb 100644 --- a/libraries/access-token-encryptor/tsconfig.json +++ b/libraries/access-token-encryptor/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.backend.json", "include": [ "**/*.js", - "**/*.cjs" + "**/*.cjs", + "**/*.ts" ] } diff --git a/libraries/fetch-utils/buildscript.txt b/libraries/fetch-utils/buildscript.txt index ca0fd27487..0c65930010 100644 --- a/libraries/fetch-utils/buildscript.txt +++ b/libraries/fetch-utils/buildscript.txt @@ -7,4 +7,3 @@ fetch-utils --is-library=True --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 diff --git a/libraries/fetch-utils/tsconfig.json b/libraries/fetch-utils/tsconfig.json index d43bb2470a..78761754eb 100644 --- a/libraries/fetch-utils/tsconfig.json +++ b/libraries/fetch-utils/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.backend.json", "include": [ "**/*.js", - "**/*.cjs" + "**/*.cjs", + "**/*.ts" ] } diff --git a/libraries/logger/buildscript.txt b/libraries/logger/buildscript.txt index 95ebc425da..c1f0463906 100644 --- a/libraries/logger/buildscript.txt +++ b/libraries/logger/buildscript.txt @@ -7,4 +7,3 @@ logger --is-library=True --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 diff --git a/libraries/logger/tsconfig.json b/libraries/logger/tsconfig.json index d43bb2470a..78761754eb 100644 --- a/libraries/logger/tsconfig.json +++ b/libraries/logger/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.backend.json", "include": [ "**/*.js", - "**/*.cjs" + "**/*.cjs", + "**/*.ts" ] } diff --git a/libraries/metrics/buildscript.txt b/libraries/metrics/buildscript.txt index 6be031ceab..6389b01707 100644 --- a/libraries/metrics/buildscript.txt +++ b/libraries/metrics/buildscript.txt @@ -7,4 +7,3 @@ metrics --is-library=True --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 diff --git a/libraries/metrics/tsconfig.json b/libraries/metrics/tsconfig.json index d43bb2470a..78761754eb 100644 --- a/libraries/metrics/tsconfig.json +++ b/libraries/metrics/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.backend.json", "include": [ "**/*.js", - "**/*.cjs" + "**/*.cjs", + "**/*.ts" ] } diff --git a/libraries/mongo-utils/buildscript.txt b/libraries/mongo-utils/buildscript.txt index 007ede9afd..ea865b559f 100644 --- a/libraries/mongo-utils/buildscript.txt +++ b/libraries/mongo-utils/buildscript.txt @@ -7,4 +7,3 @@ mongo-utils --is-library=True --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 diff --git a/libraries/mongo-utils/tsconfig.json b/libraries/mongo-utils/tsconfig.json index d43bb2470a..78761754eb 100644 --- a/libraries/mongo-utils/tsconfig.json +++ b/libraries/mongo-utils/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.backend.json", "include": [ "**/*.js", - "**/*.cjs" + "**/*.cjs", + "**/*.ts" ] } diff --git a/libraries/o-error/buildscript.txt b/libraries/o-error/buildscript.txt index 840d3a793d..da386902df 100644 --- a/libraries/o-error/buildscript.txt +++ b/libraries/o-error/buildscript.txt @@ -7,4 +7,3 @@ o-error --is-library=True --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 diff --git a/libraries/o-error/tsconfig.json b/libraries/o-error/tsconfig.json index d43bb2470a..78761754eb 100644 --- a/libraries/o-error/tsconfig.json +++ b/libraries/o-error/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.backend.json", "include": [ "**/*.js", - "**/*.cjs" + "**/*.cjs", + "**/*.ts" ] } diff --git a/libraries/object-persistor/buildscript.txt b/libraries/object-persistor/buildscript.txt index 76cadea7f2..9531a27981 100644 --- a/libraries/object-persistor/buildscript.txt +++ b/libraries/object-persistor/buildscript.txt @@ -7,4 +7,3 @@ object-persistor --is-library=True --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 diff --git a/libraries/object-persistor/tsconfig.json b/libraries/object-persistor/tsconfig.json index d43bb2470a..78761754eb 100644 --- a/libraries/object-persistor/tsconfig.json +++ b/libraries/object-persistor/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.backend.json", "include": [ "**/*.js", - "**/*.cjs" + "**/*.cjs", + "**/*.ts" ] } diff --git a/libraries/overleaf-editor-core/buildscript.txt b/libraries/overleaf-editor-core/buildscript.txt index 7cf371d49e..0736aa22f7 100644 --- a/libraries/overleaf-editor-core/buildscript.txt +++ b/libraries/overleaf-editor-core/buildscript.txt @@ -7,4 +7,3 @@ overleaf-editor-core --is-library=True --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 diff --git a/libraries/overleaf-editor-core/tsconfig.json b/libraries/overleaf-editor-core/tsconfig.json index d43bb2470a..78761754eb 100644 --- a/libraries/overleaf-editor-core/tsconfig.json +++ b/libraries/overleaf-editor-core/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.backend.json", "include": [ "**/*.js", - "**/*.cjs" + "**/*.cjs", + "**/*.ts" ] } diff --git a/libraries/promise-utils/buildscript.txt b/libraries/promise-utils/buildscript.txt index cfaf3ab05c..94e4e281c0 100644 --- a/libraries/promise-utils/buildscript.txt +++ b/libraries/promise-utils/buildscript.txt @@ -7,4 +7,3 @@ promise-utils --is-library=True --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 diff --git a/libraries/promise-utils/tsconfig.json b/libraries/promise-utils/tsconfig.json index d43bb2470a..78761754eb 100644 --- a/libraries/promise-utils/tsconfig.json +++ b/libraries/promise-utils/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.backend.json", "include": [ "**/*.js", - "**/*.cjs" + "**/*.cjs", + "**/*.ts" ] } diff --git a/libraries/ranges-tracker/buildscript.txt b/libraries/ranges-tracker/buildscript.txt index b1fcca209d..0e91b68911 100644 --- a/libraries/ranges-tracker/buildscript.txt +++ b/libraries/ranges-tracker/buildscript.txt @@ -7,4 +7,3 @@ ranges-tracker --is-library=True --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 diff --git a/libraries/ranges-tracker/tsconfig.json b/libraries/ranges-tracker/tsconfig.json index d43bb2470a..78761754eb 100644 --- a/libraries/ranges-tracker/tsconfig.json +++ b/libraries/ranges-tracker/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.backend.json", "include": [ "**/*.js", - "**/*.cjs" + "**/*.cjs", + "**/*.ts" ] } diff --git a/libraries/redis-wrapper/buildscript.txt b/libraries/redis-wrapper/buildscript.txt index 83153dfd24..5e40f53ece 100644 --- a/libraries/redis-wrapper/buildscript.txt +++ b/libraries/redis-wrapper/buildscript.txt @@ -7,4 +7,3 @@ redis-wrapper --is-library=True --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 diff --git a/libraries/redis-wrapper/tsconfig.json b/libraries/redis-wrapper/tsconfig.json index d43bb2470a..78761754eb 100644 --- a/libraries/redis-wrapper/tsconfig.json +++ b/libraries/redis-wrapper/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.backend.json", "include": [ "**/*.js", - "**/*.cjs" + "**/*.cjs", + "**/*.ts" ] } diff --git a/libraries/settings/buildscript.txt b/libraries/settings/buildscript.txt index 45ff85c93c..1b86dc9ad5 100644 --- a/libraries/settings/buildscript.txt +++ b/libraries/settings/buildscript.txt @@ -7,4 +7,3 @@ settings --is-library=True --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 diff --git a/libraries/settings/tsconfig.json b/libraries/settings/tsconfig.json index d43bb2470a..78761754eb 100644 --- a/libraries/settings/tsconfig.json +++ b/libraries/settings/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.backend.json", "include": [ "**/*.js", - "**/*.cjs" + "**/*.cjs", + "**/*.ts" ] } diff --git a/libraries/stream-utils/buildscript.txt b/libraries/stream-utils/buildscript.txt index 9455bf9819..0809298b64 100644 --- a/libraries/stream-utils/buildscript.txt +++ b/libraries/stream-utils/buildscript.txt @@ -7,4 +7,3 @@ stream-utils --is-library=True --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 diff --git a/libraries/stream-utils/tsconfig.json b/libraries/stream-utils/tsconfig.json index d43bb2470a..78761754eb 100644 --- a/libraries/stream-utils/tsconfig.json +++ b/libraries/stream-utils/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.backend.json", "include": [ "**/*.js", - "**/*.cjs" + "**/*.cjs", + "**/*.ts" ] } diff --git a/libraries/validation-tools/buildscript.txt b/libraries/validation-tools/buildscript.txt index 9c43574c8b..22de13c6c6 100644 --- a/libraries/validation-tools/buildscript.txt +++ b/libraries/validation-tools/buildscript.txt @@ -7,4 +7,5 @@ validation-tools --is-library=True --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 +--test-acceptance-vitest=True +--test-unit-vitest=True diff --git a/libraries/validation-tools/package.json b/libraries/validation-tools/package.json index cdacea6e2d..c84fb217ce 100644 --- a/libraries/validation-tools/package.json +++ b/libraries/validation-tools/package.json @@ -16,7 +16,7 @@ "lint": "eslint --ext .js --ext .cjs --ext .ts --max-warnings 0 --format unix .", "lint:fix": "eslint --fix --ext .js --ext .cjs --ext .ts .", "test:ci": "npm run test:unit", - "test:unit": "vitest test/unit/src/*.test.ts --isolate=false", + "test:unit": "vitest test/unit --isolate=false", "types:check": "tsc --noEmit" }, "dependencies": { diff --git a/libraries/validation-tools/tsconfig.json b/libraries/validation-tools/tsconfig.json index 4ca8a45254..78761754eb 100644 --- a/libraries/validation-tools/tsconfig.json +++ b/libraries/validation-tools/tsconfig.json @@ -1,11 +1,8 @@ { "extends": "../../tsconfig.backend.json", - "compilerOptions": { - "allowImportingTsExtensions": true - }, "include": [ "**/*.js", - "**/*.ts", - "**/*.cjs" + "**/*.cjs", + "**/*.ts" ] } diff --git a/services/chat/buildscript.txt b/services/chat/buildscript.txt index 0b497a39fd..0354503209 100644 --- a/services/chat/buildscript.txt +++ b/services/chat/buildscript.txt @@ -6,4 +6,3 @@ chat --esmock-loader=False --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 diff --git a/services/contacts/buildscript.txt b/services/contacts/buildscript.txt index e55165203c..4ae0783af7 100644 --- a/services/contacts/buildscript.txt +++ b/services/contacts/buildscript.txt @@ -6,4 +6,3 @@ contacts --esmock-loader=True --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 diff --git a/services/docstore/buildscript.txt b/services/docstore/buildscript.txt index cefd0aca3b..2390695ec3 100644 --- a/services/docstore/buildscript.txt +++ b/services/docstore/buildscript.txt @@ -6,4 +6,3 @@ docstore --esmock-loader=False --node-version=22.18.0 --public-repo=True ---script-version=4.7.0 diff --git a/services/document-updater/buildscript.txt b/services/document-updater/buildscript.txt index dfb72b68be..a5c62f28ea 100644 --- a/services/document-updater/buildscript.txt +++ b/services/document-updater/buildscript.txt @@ -6,4 +6,3 @@ document-updater --esmock-loader=False --node-version=22.18.0 --public-repo=True ---script-version=4.7.0 diff --git a/services/filestore/buildscript.txt b/services/filestore/buildscript.txt index 334cc02de5..653cb7e96e 100644 --- a/services/filestore/buildscript.txt +++ b/services/filestore/buildscript.txt @@ -7,6 +7,5 @@ filestore --esmock-loader=False --node-version=22.18.0 --public-repo=True ---script-version=4.7.0 --test-acceptance-shards=SHARD_01_,SHARD_02_,SHARD_03_ --use-large-ci-runner=True diff --git a/services/history-v1/buildscript.txt b/services/history-v1/buildscript.txt index fadfe9b38b..2e85103662 100644 --- a/services/history-v1/buildscript.txt +++ b/services/history-v1/buildscript.txt @@ -6,5 +6,4 @@ history-v1 --esmock-loader=False --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 --tsconfig-extra-includes=backup-deletion-app.mjs,backup-verifier-app.mjs,backup-worker-app.mjs,api/**/*,migrations/**/*,storage/**/* diff --git a/services/notifications/buildscript.txt b/services/notifications/buildscript.txt index 4b8129ead9..879a31008e 100644 --- a/services/notifications/buildscript.txt +++ b/services/notifications/buildscript.txt @@ -6,4 +6,5 @@ notifications --esmock-loader=False --node-version=22.18.0 --public-repo=True ---script-version=4.7.0 +--test-unit-vitest=True +--tsconfig-extra-includes=vitest.config.unit.cjs,vitest.config.acceptance.cjs diff --git a/services/notifications/docker-compose.ci.yml b/services/notifications/docker-compose.ci.yml index 79c99bd34d..4303345d78 100644 --- a/services/notifications/docker-compose.ci.yml +++ b/services/notifications/docker-compose.ci.yml @@ -15,6 +15,7 @@ services: MONGO_CONNECTION_STRING: mongodb://mongo/test-overleaf NODE_ENV: test NODE_OPTIONS: "--unhandled-rejections=strict" + VITEST_NO_CACHE: true depends_on: mongo: condition: service_started diff --git a/services/notifications/docker-compose.yml b/services/notifications/docker-compose.yml index 575f46634c..870e9c9f10 100644 --- a/services/notifications/docker-compose.yml +++ b/services/notifications/docker-compose.yml @@ -9,8 +9,8 @@ services: - .:/overleaf/services/notifications - ../../node_modules:/overleaf/node_modules - ../../libraries:/overleaf/libraries - - ../../tsconfig.backend.json:/overleaf/tsconfig.backend.json - ../../bin/shared/wait_for_it:/overleaf/bin/shared/wait_for_it + - ../../tsconfig.backend.json:/overleaf/tsconfig.backend.json working_dir: /overleaf/services/notifications environment: MOCHA_GREP: ${MOCHA_GREP} @@ -62,3 +62,4 @@ services: # replica set. This override is not needed when running the setup after # starting up mongo. - mongo:127.0.0.1 + diff --git a/services/notifications/package.json b/services/notifications/package.json index a0360515e7..9deb988139 100644 --- a/services/notifications/package.json +++ b/services/notifications/package.json @@ -8,13 +8,14 @@ "start": "node app.js", "test:acceptance:_run": "mocha --recursive --reporter spec --timeout 15000 --exit $@ test/acceptance/js", "test:acceptance": "npm run test:acceptance:_run -- --grep=$MOCHA_GREP", - "test:unit:_run": "vitest ${NO_CACHE:+\"--no-cache\"} $@ test/unit/js", - "test:unit": "npm run test:unit:_run", + "test:unit:_run": "vitest --config ./vitest.config.unit.cjs", + "test:unit": "npm run test:unit:_run -- --grep=$MOCHA_GREP", "lint": "eslint --max-warnings 0 --format unix .", "format": "prettier --list-different $PWD/'**/{*.*js,Jenkinsfile}'", "format:fix": "prettier --write $PWD/'**/{*.*js,Jenkinsfile}'", "lint:fix": "eslint --fix .", - "types:check": "tsc --noEmit" + "types:check": "tsc --noEmit", + "nodemon": "node --watch app.js" }, "author": "", "license": "ISC", @@ -33,7 +34,9 @@ "mongodb-legacy": "6.1.3" }, "devDependencies": { + "chai": "^4.3.6", "chai-as-promised": "^7.1.1", + "mocha": "^11.1.0", "typescript": "^5.0.4", "vitest": "^3.2.4" } diff --git a/services/notifications/tsconfig.json b/services/notifications/tsconfig.json index 6ee7e2b1af..d4cef19b98 100644 --- a/services/notifications/tsconfig.json +++ b/services/notifications/tsconfig.json @@ -2,12 +2,13 @@ "extends": "../../tsconfig.backend.json", "include": [ "app.js", - "vitest.config.cjs", "app/js/**/*", "benchmarks/**/*", "config/**/*", "scripts/**/*", "test/**/*", - "types" + "types", + "vitest.config.acceptance.cjs", + "vitest.config.unit.cjs" ] } diff --git a/services/notifications/vitest.config.cjs b/services/notifications/vitest.config.unit.cjs similarity index 100% rename from services/notifications/vitest.config.cjs rename to services/notifications/vitest.config.unit.cjs diff --git a/services/project-history/buildscript.txt b/services/project-history/buildscript.txt index 5486cb3947..1d567e09f1 100644 --- a/services/project-history/buildscript.txt +++ b/services/project-history/buildscript.txt @@ -6,4 +6,3 @@ project-history --esmock-loader=True --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 diff --git a/services/real-time/buildscript.txt b/services/real-time/buildscript.txt index 6c7c0f1c80..b16d5dde76 100644 --- a/services/real-time/buildscript.txt +++ b/services/real-time/buildscript.txt @@ -6,4 +6,3 @@ real-time --esmock-loader=False --node-version=22.18.0 --public-repo=False ---script-version=4.7.0 diff --git a/tsconfig.backend.json b/tsconfig.backend.json index 4ce610423d..926dfc6300 100644 --- a/tsconfig.backend.json +++ b/tsconfig.backend.json @@ -4,6 +4,7 @@ "allowJs": true, "esModuleInterop": true, "moduleResolution": "node", + "allowImportingTsExtensions": true, "noEmit": true, "noImplicitAny": false, "paths": {