From 73b17dd6940f40969263026169c348c16ffa64ad Mon Sep 17 00:00:00 2001 From: Andrew Rumble Date: Thu, 14 Nov 2024 09:44:58 +0000 Subject: [PATCH] Merge pull request #21627 from overleaf/ar-node-20 [all] node 20 upgrade v2 GitOrigin-RevId: aed13a800894717a796062e3dd4050e045040258 --- libraries/access-token-encryptor/.nvmrc | 2 +- libraries/access-token-encryptor/buildscript.txt | 2 +- libraries/fetch-utils/.nvmrc | 2 +- libraries/fetch-utils/buildscript.txt | 2 +- libraries/fetch-utils/test/unit/FetchUtilsTests.js | 6 +++++- libraries/logger/.nvmrc | 2 +- libraries/logger/buildscript.txt | 2 +- libraries/metrics/.nvmrc | 2 +- libraries/metrics/buildscript.txt | 2 +- libraries/o-error/.nvmrc | 2 +- libraries/o-error/buildscript.txt | 2 +- libraries/object-persistor/.nvmrc | 2 +- libraries/object-persistor/buildscript.txt | 2 +- libraries/overleaf-editor-core/.nvmrc | 2 +- libraries/overleaf-editor-core/buildscript.txt | 2 +- libraries/promise-utils/.nvmrc | 2 +- libraries/promise-utils/buildscript.txt | 2 +- libraries/ranges-tracker/.nvmrc | 2 +- libraries/ranges-tracker/buildscript.txt | 2 +- libraries/redis-wrapper/.nvmrc | 2 +- libraries/redis-wrapper/buildscript.txt | 2 +- libraries/settings/.nvmrc | 2 +- libraries/settings/buildscript.txt | 2 +- libraries/stream-utils/.nvmrc | 2 +- libraries/stream-utils/buildscript.txt | 2 +- server-ce/Dockerfile-base | 2 +- server-ce/test/Dockerfile | 2 +- services/chat/.nvmrc | 2 +- services/chat/Dockerfile | 2 +- services/chat/Makefile | 4 ++-- services/chat/buildscript.txt | 2 +- services/chat/docker-compose.yml | 4 ++-- services/clsi/.nvmrc | 2 +- services/clsi/Dockerfile | 2 +- services/clsi/Makefile | 4 ++-- services/clsi/buildscript.txt | 2 +- services/contacts/.nvmrc | 2 +- services/contacts/Dockerfile | 2 +- services/contacts/Makefile | 4 ++-- services/contacts/buildscript.txt | 2 +- services/contacts/config/settings.defaults.cjs | 3 ++- services/contacts/docker-compose.yml | 4 ++-- services/docstore/.nvmrc | 2 +- services/docstore/Dockerfile | 2 +- services/docstore/Makefile | 4 ++-- services/docstore/buildscript.txt | 2 +- services/docstore/config/settings.defaults.js | 1 + services/docstore/docker-compose.yml | 4 ++-- services/document-updater/.nvmrc | 2 +- services/document-updater/Dockerfile | 2 +- services/document-updater/Makefile | 4 ++-- services/document-updater/buildscript.txt | 2 +- services/document-updater/docker-compose.yml | 4 ++-- services/filestore/.nvmrc | 2 +- services/filestore/Dockerfile | 2 +- services/filestore/Makefile | 4 ++-- services/filestore/buildscript.txt | 2 +- services/history-v1/.nvmrc | 2 +- services/history-v1/Dockerfile | 2 +- services/history-v1/Makefile | 4 ++-- services/history-v1/buildscript.txt | 2 +- services/history-v1/docker-compose.yml | 4 ++-- services/notifications/.nvmrc | 2 +- services/notifications/Dockerfile | 2 +- services/notifications/Makefile | 4 ++-- services/notifications/buildscript.txt | 2 +- services/notifications/docker-compose.yml | 4 ++-- services/project-history/.nvmrc | 2 +- services/project-history/Dockerfile | 2 +- services/project-history/Makefile | 4 ++-- services/project-history/buildscript.txt | 2 +- services/project-history/docker-compose.yml | 4 ++-- services/real-time/.nvmrc | 2 +- services/real-time/Dockerfile | 2 +- services/real-time/Makefile | 4 ++-- services/real-time/buildscript.txt | 2 +- services/real-time/docker-compose.yml | 4 ++-- services/web/.nvmrc | 2 +- services/web/Dockerfile | 2 +- services/web/Dockerfile.frontend | 2 +- services/web/app.mjs | 2 ++ services/web/cloudbuild-storybook.yaml | 6 +++--- services/web/docker-compose.common.env | 2 +- services/web/docker-compose.yml | 4 ++-- services/web/scripts/translations/Dockerfile | 2 +- 85 files changed, 112 insertions(+), 104 deletions(-) diff --git a/libraries/access-token-encryptor/.nvmrc b/libraries/access-token-encryptor/.nvmrc index 17719ce25a..2a393af592 100644 --- a/libraries/access-token-encryptor/.nvmrc +++ b/libraries/access-token-encryptor/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/libraries/access-token-encryptor/buildscript.txt b/libraries/access-token-encryptor/buildscript.txt index ef3c9d905a..ed5fe820fa 100644 --- a/libraries/access-token-encryptor/buildscript.txt +++ b/libraries/access-token-encryptor/buildscript.txt @@ -5,6 +5,6 @@ access-token-encryptor --env-pass-through= --esmock-loader=False --is-library=True ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=False --script-version=4.5.0 diff --git a/libraries/fetch-utils/.nvmrc b/libraries/fetch-utils/.nvmrc index 17719ce25a..2a393af592 100644 --- a/libraries/fetch-utils/.nvmrc +++ b/libraries/fetch-utils/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/libraries/fetch-utils/buildscript.txt b/libraries/fetch-utils/buildscript.txt index 2314b95ab2..a571af6e58 100644 --- a/libraries/fetch-utils/buildscript.txt +++ b/libraries/fetch-utils/buildscript.txt @@ -5,6 +5,6 @@ fetch-utils --env-pass-through= --esmock-loader=False --is-library=True ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=False --script-version=4.5.0 diff --git a/libraries/fetch-utils/test/unit/FetchUtilsTests.js b/libraries/fetch-utils/test/unit/FetchUtilsTests.js index f08614cd8e..e9fd0ff231 100644 --- a/libraries/fetch-utils/test/unit/FetchUtilsTests.js +++ b/libraries/fetch-utils/test/unit/FetchUtilsTests.js @@ -30,7 +30,11 @@ const _originalLookup = dns.lookup dns.lookup = (hostname, options, callback) => { if (hostname === 'example.com') { // If the hostname is our test case, return the ip address for the test server - callback(null, '127.0.0.1', 4) + if (options?.all) { + callback(null, [{ address: '127.0.0.1', family: 4 }]) + } else { + callback(null, '127.0.0.1', 4) + } } else { // Otherwise, use the default lookup _originalLookup(hostname, options, callback) diff --git a/libraries/logger/.nvmrc b/libraries/logger/.nvmrc index 17719ce25a..2a393af592 100644 --- a/libraries/logger/.nvmrc +++ b/libraries/logger/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/libraries/logger/buildscript.txt b/libraries/logger/buildscript.txt index 8ae63d24ce..961fb3e6e7 100644 --- a/libraries/logger/buildscript.txt +++ b/libraries/logger/buildscript.txt @@ -5,6 +5,6 @@ logger --env-pass-through= --esmock-loader=False --is-library=True ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=False --script-version=4.5.0 diff --git a/libraries/metrics/.nvmrc b/libraries/metrics/.nvmrc index 17719ce25a..2a393af592 100644 --- a/libraries/metrics/.nvmrc +++ b/libraries/metrics/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/libraries/metrics/buildscript.txt b/libraries/metrics/buildscript.txt index e174a2b76b..15c9ede7f1 100644 --- a/libraries/metrics/buildscript.txt +++ b/libraries/metrics/buildscript.txt @@ -5,6 +5,6 @@ metrics --env-pass-through= --esmock-loader=False --is-library=True ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=False --script-version=4.5.0 diff --git a/libraries/o-error/.nvmrc b/libraries/o-error/.nvmrc index 17719ce25a..2a393af592 100644 --- a/libraries/o-error/.nvmrc +++ b/libraries/o-error/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/libraries/o-error/buildscript.txt b/libraries/o-error/buildscript.txt index 9f3a5186d1..7c32f06af3 100644 --- a/libraries/o-error/buildscript.txt +++ b/libraries/o-error/buildscript.txt @@ -5,6 +5,6 @@ o-error --env-pass-through= --esmock-loader=False --is-library=True ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=False --script-version=4.5.0 diff --git a/libraries/object-persistor/.nvmrc b/libraries/object-persistor/.nvmrc index 17719ce25a..2a393af592 100644 --- a/libraries/object-persistor/.nvmrc +++ b/libraries/object-persistor/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/libraries/object-persistor/buildscript.txt b/libraries/object-persistor/buildscript.txt index 8adeccfe45..2b646eea95 100644 --- a/libraries/object-persistor/buildscript.txt +++ b/libraries/object-persistor/buildscript.txt @@ -5,6 +5,6 @@ object-persistor --env-pass-through= --esmock-loader=False --is-library=True ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=False --script-version=4.5.0 diff --git a/libraries/overleaf-editor-core/.nvmrc b/libraries/overleaf-editor-core/.nvmrc index 17719ce25a..2a393af592 100644 --- a/libraries/overleaf-editor-core/.nvmrc +++ b/libraries/overleaf-editor-core/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/libraries/overleaf-editor-core/buildscript.txt b/libraries/overleaf-editor-core/buildscript.txt index 43980dd756..eb4c51f224 100644 --- a/libraries/overleaf-editor-core/buildscript.txt +++ b/libraries/overleaf-editor-core/buildscript.txt @@ -5,6 +5,6 @@ overleaf-editor-core --env-pass-through= --esmock-loader=False --is-library=True ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=False --script-version=4.5.0 diff --git a/libraries/promise-utils/.nvmrc b/libraries/promise-utils/.nvmrc index 17719ce25a..2a393af592 100644 --- a/libraries/promise-utils/.nvmrc +++ b/libraries/promise-utils/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/libraries/promise-utils/buildscript.txt b/libraries/promise-utils/buildscript.txt index a75257b6b9..2b3f397afc 100644 --- a/libraries/promise-utils/buildscript.txt +++ b/libraries/promise-utils/buildscript.txt @@ -5,6 +5,6 @@ promise-utils --env-pass-through= --esmock-loader=False --is-library=True ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=False --script-version=4.5.0 diff --git a/libraries/ranges-tracker/.nvmrc b/libraries/ranges-tracker/.nvmrc index 17719ce25a..2a393af592 100644 --- a/libraries/ranges-tracker/.nvmrc +++ b/libraries/ranges-tracker/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/libraries/ranges-tracker/buildscript.txt b/libraries/ranges-tracker/buildscript.txt index 140b17f746..87c7f91cf5 100644 --- a/libraries/ranges-tracker/buildscript.txt +++ b/libraries/ranges-tracker/buildscript.txt @@ -5,6 +5,6 @@ ranges-tracker --env-pass-through= --esmock-loader=False --is-library=True ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=False --script-version=4.5.0 diff --git a/libraries/redis-wrapper/.nvmrc b/libraries/redis-wrapper/.nvmrc index 17719ce25a..2a393af592 100644 --- a/libraries/redis-wrapper/.nvmrc +++ b/libraries/redis-wrapper/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/libraries/redis-wrapper/buildscript.txt b/libraries/redis-wrapper/buildscript.txt index ccb527df7a..dafd322896 100644 --- a/libraries/redis-wrapper/buildscript.txt +++ b/libraries/redis-wrapper/buildscript.txt @@ -5,6 +5,6 @@ redis-wrapper --env-pass-through= --esmock-loader=False --is-library=True ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=False --script-version=4.5.0 diff --git a/libraries/settings/.nvmrc b/libraries/settings/.nvmrc index 17719ce25a..2a393af592 100644 --- a/libraries/settings/.nvmrc +++ b/libraries/settings/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/libraries/settings/buildscript.txt b/libraries/settings/buildscript.txt index 56a9db1ec1..22f1eed567 100644 --- a/libraries/settings/buildscript.txt +++ b/libraries/settings/buildscript.txt @@ -5,6 +5,6 @@ settings --env-pass-through= --esmock-loader=False --is-library=True ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=False --script-version=4.5.0 diff --git a/libraries/stream-utils/.nvmrc b/libraries/stream-utils/.nvmrc index 17719ce25a..2a393af592 100644 --- a/libraries/stream-utils/.nvmrc +++ b/libraries/stream-utils/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/libraries/stream-utils/buildscript.txt b/libraries/stream-utils/buildscript.txt index f562b3617d..a540838b07 100644 --- a/libraries/stream-utils/buildscript.txt +++ b/libraries/stream-utils/buildscript.txt @@ -5,6 +5,6 @@ stream-utils --env-pass-through= --esmock-loader=False --is-library=True ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=False --script-version=4.5.0 diff --git a/server-ce/Dockerfile-base b/server-ce/Dockerfile-base index f20634e02e..9fd60ce886 100644 --- a/server-ce/Dockerfile-base +++ b/server-ce/Dockerfile-base @@ -31,7 +31,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ # install Node.js https://github.com/nodesource/distributions#nodejs && mkdir -p /etc/apt/keyrings \ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ -&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ +&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ && apt-get update \ && apt-get install -y nodejs \ \ diff --git a/server-ce/test/Dockerfile b/server-ce/test/Dockerfile index 0cf4d81930..cbdf2f36b8 100644 --- a/server-ce/test/Dockerfile +++ b/server-ce/test/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18.20.4 +FROM node:20.18.0 RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \ && echo \ "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \ diff --git a/services/chat/.nvmrc b/services/chat/.nvmrc index 17719ce25a..2a393af592 100644 --- a/services/chat/.nvmrc +++ b/services/chat/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/services/chat/Dockerfile b/services/chat/Dockerfile index a9879e0d55..2d906e4f4a 100644 --- a/services/chat/Dockerfile +++ b/services/chat/Dockerfile @@ -2,7 +2,7 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -FROM node:18.20.4 AS base +FROM node:20.18.0 AS base WORKDIR /overleaf/services/chat diff --git a/services/chat/Makefile b/services/chat/Makefile index 717d4147c1..0bcab97c32 100644 --- a/services/chat/Makefile +++ b/services/chat/Makefile @@ -32,12 +32,12 @@ HERE=$(shell pwd) MONOREPO=$(shell cd ../../ && pwd) # Run the linting commands in the scope of the monorepo. # Eslint and prettier (plus some configs) are on the root. -RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:18.20.4 npm run --silent +RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:20.18.0 npm run --silent RUN_LINTING_CI = docker run --rm --volume $(MONOREPO)/.editorconfig:/overleaf/.editorconfig --volume $(MONOREPO)/.eslintignore:/overleaf/.eslintignore --volume $(MONOREPO)/.eslintrc:/overleaf/.eslintrc --volume $(MONOREPO)/.prettierignore:/overleaf/.prettierignore --volume $(MONOREPO)/.prettierrc:/overleaf/.prettierrc --volume $(MONOREPO)/tsconfig.backend.json:/overleaf/tsconfig.backend.json ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) npm run --silent # Same but from the top of the monorepo -RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:18.20.4 npm run --silent +RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:20.18.0 npm run --silent format: $(RUN_LINTING) format diff --git a/services/chat/buildscript.txt b/services/chat/buildscript.txt index 808a50576a..cdd8eda974 100644 --- a/services/chat/buildscript.txt +++ b/services/chat/buildscript.txt @@ -4,6 +4,6 @@ chat --env-add= --env-pass-through= --esmock-loader=False ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=False --script-version=4.5.0 diff --git a/services/chat/docker-compose.yml b/services/chat/docker-compose.yml index 8b19f7553e..2bc8293c63 100644 --- a/services/chat/docker-compose.yml +++ b/services/chat/docker-compose.yml @@ -6,7 +6,7 @@ version: "2.3" services: test_unit: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/chat - ../../node_modules:/overleaf/node_modules @@ -20,7 +20,7 @@ services: user: node test_acceptance: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/chat - ../../node_modules:/overleaf/node_modules diff --git a/services/clsi/.nvmrc b/services/clsi/.nvmrc index 17719ce25a..2a393af592 100644 --- a/services/clsi/.nvmrc +++ b/services/clsi/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/services/clsi/Dockerfile b/services/clsi/Dockerfile index 2762c239bd..48cd858817 100644 --- a/services/clsi/Dockerfile +++ b/services/clsi/Dockerfile @@ -2,7 +2,7 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -FROM node:18.20.4 AS base +FROM node:20.18.0 AS base WORKDIR /overleaf/services/clsi COPY services/clsi/install_deps.sh /overleaf/services/clsi/ diff --git a/services/clsi/Makefile b/services/clsi/Makefile index b3e1c8e553..a744b12b2c 100644 --- a/services/clsi/Makefile +++ b/services/clsi/Makefile @@ -33,12 +33,12 @@ HERE=$(shell pwd) MONOREPO=$(shell cd ../../ && pwd) # Run the linting commands in the scope of the monorepo. # Eslint and prettier (plus some configs) are on the root. -RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:18.20.4 npm run --silent +RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:20.18.0 npm run --silent RUN_LINTING_CI = docker run --rm --volume $(MONOREPO)/.editorconfig:/overleaf/.editorconfig --volume $(MONOREPO)/.eslintignore:/overleaf/.eslintignore --volume $(MONOREPO)/.eslintrc:/overleaf/.eslintrc --volume $(MONOREPO)/.prettierignore:/overleaf/.prettierignore --volume $(MONOREPO)/.prettierrc:/overleaf/.prettierrc --volume $(MONOREPO)/tsconfig.backend.json:/overleaf/tsconfig.backend.json ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) npm run --silent # Same but from the top of the monorepo -RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:18.20.4 npm run --silent +RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:20.18.0 npm run --silent format: $(RUN_LINTING) format diff --git a/services/clsi/buildscript.txt b/services/clsi/buildscript.txt index dd77443a30..591c0ef68b 100644 --- a/services/clsi/buildscript.txt +++ b/services/clsi/buildscript.txt @@ -5,7 +5,7 @@ clsi --env-add=ENABLE_PDF_CACHING="true",PDF_CACHING_ENABLE_WORKER_POOL="true",ALLOWED_IMAGES=quay.io/sharelatex/texlive-full:2017.1,TEXLIVE_IMAGE=quay.io/sharelatex/texlive-full:2017.1,TEX_LIVE_IMAGE_NAME_OVERRIDE=gcr.io/overleaf-ops,TEXLIVE_IMAGE_USER="tex",DOCKER_RUNNER="true",COMPILES_HOST_DIR=$PWD/compiles --env-pass-through= --esmock-loader=False ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=True --script-version=4.5.0 --use-large-ci-runner=True diff --git a/services/contacts/.nvmrc b/services/contacts/.nvmrc index 17719ce25a..2a393af592 100644 --- a/services/contacts/.nvmrc +++ b/services/contacts/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/services/contacts/Dockerfile b/services/contacts/Dockerfile index cd112f4ace..56aad9622d 100644 --- a/services/contacts/Dockerfile +++ b/services/contacts/Dockerfile @@ -2,7 +2,7 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -FROM node:18.20.4 AS base +FROM node:20.18.0 AS base WORKDIR /overleaf/services/contacts diff --git a/services/contacts/Makefile b/services/contacts/Makefile index 92e98e96b8..5808e5bc35 100644 --- a/services/contacts/Makefile +++ b/services/contacts/Makefile @@ -32,12 +32,12 @@ HERE=$(shell pwd) MONOREPO=$(shell cd ../../ && pwd) # Run the linting commands in the scope of the monorepo. # Eslint and prettier (plus some configs) are on the root. -RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:18.20.4 npm run --silent +RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:20.18.0 npm run --silent RUN_LINTING_CI = docker run --rm --volume $(MONOREPO)/.editorconfig:/overleaf/.editorconfig --volume $(MONOREPO)/.eslintignore:/overleaf/.eslintignore --volume $(MONOREPO)/.eslintrc:/overleaf/.eslintrc --volume $(MONOREPO)/.prettierignore:/overleaf/.prettierignore --volume $(MONOREPO)/.prettierrc:/overleaf/.prettierrc --volume $(MONOREPO)/tsconfig.backend.json:/overleaf/tsconfig.backend.json ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) npm run --silent # Same but from the top of the monorepo -RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:18.20.4 npm run --silent +RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:20.18.0 npm run --silent format: $(RUN_LINTING) format diff --git a/services/contacts/buildscript.txt b/services/contacts/buildscript.txt index 6e15fe1c7f..23c00d7a3e 100644 --- a/services/contacts/buildscript.txt +++ b/services/contacts/buildscript.txt @@ -4,6 +4,6 @@ contacts --env-add= --env-pass-through= --esmock-loader=True ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=False --script-version=4.5.0 diff --git a/services/contacts/config/settings.defaults.cjs b/services/contacts/config/settings.defaults.cjs index fb716d1812..40ef09a861 100644 --- a/services/contacts/config/settings.defaults.cjs +++ b/services/contacts/config/settings.defaults.cjs @@ -1,5 +1,6 @@ -const http = require('http') +const http = require('node:http') http.globalAgent.maxSockets = 300 +http.globalAgent.keepAlive = false module.exports = { internal: { diff --git a/services/contacts/docker-compose.yml b/services/contacts/docker-compose.yml index ac3cfb1621..fe52658ba6 100644 --- a/services/contacts/docker-compose.yml +++ b/services/contacts/docker-compose.yml @@ -6,7 +6,7 @@ version: "2.3" services: test_unit: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/contacts - ../../node_modules:/overleaf/node_modules @@ -20,7 +20,7 @@ services: user: node test_acceptance: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/contacts - ../../node_modules:/overleaf/node_modules diff --git a/services/docstore/.nvmrc b/services/docstore/.nvmrc index 17719ce25a..2a393af592 100644 --- a/services/docstore/.nvmrc +++ b/services/docstore/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/services/docstore/Dockerfile b/services/docstore/Dockerfile index 552496a0cb..68298d27d1 100644 --- a/services/docstore/Dockerfile +++ b/services/docstore/Dockerfile @@ -2,7 +2,7 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -FROM node:18.20.4 AS base +FROM node:20.18.0 AS base WORKDIR /overleaf/services/docstore diff --git a/services/docstore/Makefile b/services/docstore/Makefile index 0d1a60f499..d96ab18280 100644 --- a/services/docstore/Makefile +++ b/services/docstore/Makefile @@ -32,12 +32,12 @@ HERE=$(shell pwd) MONOREPO=$(shell cd ../../ && pwd) # Run the linting commands in the scope of the monorepo. # Eslint and prettier (plus some configs) are on the root. -RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:18.20.4 npm run --silent +RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:20.18.0 npm run --silent RUN_LINTING_CI = docker run --rm --volume $(MONOREPO)/.editorconfig:/overleaf/.editorconfig --volume $(MONOREPO)/.eslintignore:/overleaf/.eslintignore --volume $(MONOREPO)/.eslintrc:/overleaf/.eslintrc --volume $(MONOREPO)/.prettierignore:/overleaf/.prettierignore --volume $(MONOREPO)/.prettierrc:/overleaf/.prettierrc --volume $(MONOREPO)/tsconfig.backend.json:/overleaf/tsconfig.backend.json ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) npm run --silent # Same but from the top of the monorepo -RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:18.20.4 npm run --silent +RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:20.18.0 npm run --silent format: $(RUN_LINTING) format diff --git a/services/docstore/buildscript.txt b/services/docstore/buildscript.txt index 7ec46514e3..dbce00521b 100644 --- a/services/docstore/buildscript.txt +++ b/services/docstore/buildscript.txt @@ -4,6 +4,6 @@ docstore --env-add= --env-pass-through= --esmock-loader=False ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=True --script-version=4.5.0 diff --git a/services/docstore/config/settings.defaults.js b/services/docstore/config/settings.defaults.js index 817fb69451..7b852022be 100644 --- a/services/docstore/config/settings.defaults.js +++ b/services/docstore/config/settings.defaults.js @@ -1,5 +1,6 @@ const http = require('node:http') http.globalAgent.maxSockets = 300 +http.globalAgent.keepAlive = false const Settings = { internal: { diff --git a/services/docstore/docker-compose.yml b/services/docstore/docker-compose.yml index c7ffc958a5..f6e4a67c9c 100644 --- a/services/docstore/docker-compose.yml +++ b/services/docstore/docker-compose.yml @@ -6,7 +6,7 @@ version: "2.3" services: test_unit: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/docstore - ../../node_modules:/overleaf/node_modules @@ -20,7 +20,7 @@ services: user: node test_acceptance: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/docstore - ../../node_modules:/overleaf/node_modules diff --git a/services/document-updater/.nvmrc b/services/document-updater/.nvmrc index 17719ce25a..2a393af592 100644 --- a/services/document-updater/.nvmrc +++ b/services/document-updater/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/services/document-updater/Dockerfile b/services/document-updater/Dockerfile index 844fdab1da..220db82d99 100644 --- a/services/document-updater/Dockerfile +++ b/services/document-updater/Dockerfile @@ -2,7 +2,7 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -FROM node:18.20.4 AS base +FROM node:20.18.0 AS base WORKDIR /overleaf/services/document-updater diff --git a/services/document-updater/Makefile b/services/document-updater/Makefile index 07f1981f18..891f7c831f 100644 --- a/services/document-updater/Makefile +++ b/services/document-updater/Makefile @@ -32,12 +32,12 @@ HERE=$(shell pwd) MONOREPO=$(shell cd ../../ && pwd) # Run the linting commands in the scope of the monorepo. # Eslint and prettier (plus some configs) are on the root. -RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:18.20.4 npm run --silent +RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:20.18.0 npm run --silent RUN_LINTING_CI = docker run --rm --volume $(MONOREPO)/.editorconfig:/overleaf/.editorconfig --volume $(MONOREPO)/.eslintignore:/overleaf/.eslintignore --volume $(MONOREPO)/.eslintrc:/overleaf/.eslintrc --volume $(MONOREPO)/.prettierignore:/overleaf/.prettierignore --volume $(MONOREPO)/.prettierrc:/overleaf/.prettierrc --volume $(MONOREPO)/tsconfig.backend.json:/overleaf/tsconfig.backend.json ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) npm run --silent # Same but from the top of the monorepo -RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:18.20.4 npm run --silent +RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:20.18.0 npm run --silent format: $(RUN_LINTING) format diff --git a/services/document-updater/buildscript.txt b/services/document-updater/buildscript.txt index c53fd0024b..dcd39704c8 100644 --- a/services/document-updater/buildscript.txt +++ b/services/document-updater/buildscript.txt @@ -4,6 +4,6 @@ document-updater --env-add= --env-pass-through= --esmock-loader=False ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=True --script-version=4.5.0 diff --git a/services/document-updater/docker-compose.yml b/services/document-updater/docker-compose.yml index 45d21900ec..c871efe585 100644 --- a/services/document-updater/docker-compose.yml +++ b/services/document-updater/docker-compose.yml @@ -6,7 +6,7 @@ version: "2.3" services: test_unit: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/document-updater - ../../node_modules:/overleaf/node_modules @@ -20,7 +20,7 @@ services: user: node test_acceptance: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/document-updater - ../../node_modules:/overleaf/node_modules diff --git a/services/filestore/.nvmrc b/services/filestore/.nvmrc index 17719ce25a..2a393af592 100644 --- a/services/filestore/.nvmrc +++ b/services/filestore/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/services/filestore/Dockerfile b/services/filestore/Dockerfile index ebf2d11ea1..f10a01d1b8 100644 --- a/services/filestore/Dockerfile +++ b/services/filestore/Dockerfile @@ -2,7 +2,7 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -FROM node:18.20.4 AS base +FROM node:20.18.0 AS base WORKDIR /overleaf/services/filestore COPY services/filestore/install_deps.sh /overleaf/services/filestore/ diff --git a/services/filestore/Makefile b/services/filestore/Makefile index cbd192b7cb..6cd5212487 100644 --- a/services/filestore/Makefile +++ b/services/filestore/Makefile @@ -32,12 +32,12 @@ HERE=$(shell pwd) MONOREPO=$(shell cd ../../ && pwd) # Run the linting commands in the scope of the monorepo. # Eslint and prettier (plus some configs) are on the root. -RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:18.20.4 npm run --silent +RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:20.18.0 npm run --silent RUN_LINTING_CI = docker run --rm --volume $(MONOREPO)/.editorconfig:/overleaf/.editorconfig --volume $(MONOREPO)/.eslintignore:/overleaf/.eslintignore --volume $(MONOREPO)/.eslintrc:/overleaf/.eslintrc --volume $(MONOREPO)/.prettierignore:/overleaf/.prettierignore --volume $(MONOREPO)/.prettierrc:/overleaf/.prettierrc --volume $(MONOREPO)/tsconfig.backend.json:/overleaf/tsconfig.backend.json ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) npm run --silent # Same but from the top of the monorepo -RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:18.20.4 npm run --silent +RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:20.18.0 npm run --silent format: $(RUN_LINTING) format diff --git a/services/filestore/buildscript.txt b/services/filestore/buildscript.txt index 09b3443d17..ff628d5d1f 100644 --- a/services/filestore/buildscript.txt +++ b/services/filestore/buildscript.txt @@ -5,7 +5,7 @@ filestore --env-add=ENABLE_CONVERSIONS="true",USE_PROM_METRICS="true",AWS_S3_USER_FILES_BUCKET_NAME=fake-user-files,AWS_S3_USER_FILES_DEK_BUCKET_NAME=fake-user-files-dek,AWS_S3_TEMPLATE_FILES_BUCKET_NAME=fake-template-files,GCS_USER_FILES_BUCKET_NAME=fake-gcs-user-files,GCS_TEMPLATE_FILES_BUCKET_NAME=fake-gcs-template-files --env-pass-through= --esmock-loader=False ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=True --script-version=4.5.0 --test-acceptance-shards=SHARD_01_,SHARD_02_,SHARD_03_ diff --git a/services/history-v1/.nvmrc b/services/history-v1/.nvmrc index 17719ce25a..2a393af592 100644 --- a/services/history-v1/.nvmrc +++ b/services/history-v1/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/services/history-v1/Dockerfile b/services/history-v1/Dockerfile index bb0f3e5d37..5646a1529e 100644 --- a/services/history-v1/Dockerfile +++ b/services/history-v1/Dockerfile @@ -2,7 +2,7 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -FROM node:18.20.4 AS base +FROM node:20.18.0 AS base WORKDIR /overleaf/services/history-v1 diff --git a/services/history-v1/Makefile b/services/history-v1/Makefile index 665d9c0e09..81db72f7cd 100644 --- a/services/history-v1/Makefile +++ b/services/history-v1/Makefile @@ -32,12 +32,12 @@ HERE=$(shell pwd) MONOREPO=$(shell cd ../../ && pwd) # Run the linting commands in the scope of the monorepo. # Eslint and prettier (plus some configs) are on the root. -RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:18.20.4 npm run --silent +RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:20.18.0 npm run --silent RUN_LINTING_CI = docker run --rm --volume $(MONOREPO)/.editorconfig:/overleaf/.editorconfig --volume $(MONOREPO)/.eslintignore:/overleaf/.eslintignore --volume $(MONOREPO)/.eslintrc:/overleaf/.eslintrc --volume $(MONOREPO)/.prettierignore:/overleaf/.prettierignore --volume $(MONOREPO)/.prettierrc:/overleaf/.prettierrc --volume $(MONOREPO)/tsconfig.backend.json:/overleaf/tsconfig.backend.json ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) npm run --silent # Same but from the top of the monorepo -RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:18.20.4 npm run --silent +RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:20.18.0 npm run --silent format: $(RUN_LINTING) format diff --git a/services/history-v1/buildscript.txt b/services/history-v1/buildscript.txt index a1e0869c63..f222dacf86 100644 --- a/services/history-v1/buildscript.txt +++ b/services/history-v1/buildscript.txt @@ -4,7 +4,7 @@ history-v1 --env-add= --env-pass-through= --esmock-loader=False ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=False --script-version=4.5.0 --tsconfig-extra-includes=api/**/*,migrations/**/*,storage/**/* diff --git a/services/history-v1/docker-compose.yml b/services/history-v1/docker-compose.yml index d7c0789f36..c0f7036308 100644 --- a/services/history-v1/docker-compose.yml +++ b/services/history-v1/docker-compose.yml @@ -6,7 +6,7 @@ version: "2.3" services: test_unit: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/history-v1 - ../../node_modules:/overleaf/node_modules @@ -20,7 +20,7 @@ services: user: node test_acceptance: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/history-v1 - ../../node_modules:/overleaf/node_modules diff --git a/services/notifications/.nvmrc b/services/notifications/.nvmrc index 17719ce25a..2a393af592 100644 --- a/services/notifications/.nvmrc +++ b/services/notifications/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/services/notifications/Dockerfile b/services/notifications/Dockerfile index ab4209ead8..c4d13cc422 100644 --- a/services/notifications/Dockerfile +++ b/services/notifications/Dockerfile @@ -2,7 +2,7 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -FROM node:18.20.4 AS base +FROM node:20.18.0 AS base WORKDIR /overleaf/services/notifications diff --git a/services/notifications/Makefile b/services/notifications/Makefile index ab420e6446..192452a54a 100644 --- a/services/notifications/Makefile +++ b/services/notifications/Makefile @@ -32,12 +32,12 @@ HERE=$(shell pwd) MONOREPO=$(shell cd ../../ && pwd) # Run the linting commands in the scope of the monorepo. # Eslint and prettier (plus some configs) are on the root. -RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:18.20.4 npm run --silent +RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:20.18.0 npm run --silent RUN_LINTING_CI = docker run --rm --volume $(MONOREPO)/.editorconfig:/overleaf/.editorconfig --volume $(MONOREPO)/.eslintignore:/overleaf/.eslintignore --volume $(MONOREPO)/.eslintrc:/overleaf/.eslintrc --volume $(MONOREPO)/.prettierignore:/overleaf/.prettierignore --volume $(MONOREPO)/.prettierrc:/overleaf/.prettierrc --volume $(MONOREPO)/tsconfig.backend.json:/overleaf/tsconfig.backend.json ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) npm run --silent # Same but from the top of the monorepo -RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:18.20.4 npm run --silent +RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:20.18.0 npm run --silent format: $(RUN_LINTING) format diff --git a/services/notifications/buildscript.txt b/services/notifications/buildscript.txt index e616a7cb77..657375f9aa 100644 --- a/services/notifications/buildscript.txt +++ b/services/notifications/buildscript.txt @@ -4,6 +4,6 @@ notifications --env-add= --env-pass-through= --esmock-loader=False ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=True --script-version=4.5.0 diff --git a/services/notifications/docker-compose.yml b/services/notifications/docker-compose.yml index 8b38bfdcbd..73483e4371 100644 --- a/services/notifications/docker-compose.yml +++ b/services/notifications/docker-compose.yml @@ -6,7 +6,7 @@ version: "2.3" services: test_unit: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/notifications - ../../node_modules:/overleaf/node_modules @@ -20,7 +20,7 @@ services: user: node test_acceptance: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/notifications - ../../node_modules:/overleaf/node_modules diff --git a/services/project-history/.nvmrc b/services/project-history/.nvmrc index 17719ce25a..2a393af592 100644 --- a/services/project-history/.nvmrc +++ b/services/project-history/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/services/project-history/Dockerfile b/services/project-history/Dockerfile index c28fcf44c0..c51bb56195 100644 --- a/services/project-history/Dockerfile +++ b/services/project-history/Dockerfile @@ -2,7 +2,7 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -FROM node:18.20.4 AS base +FROM node:20.18.0 AS base WORKDIR /overleaf/services/project-history diff --git a/services/project-history/Makefile b/services/project-history/Makefile index ce98b9e8b0..bda77e1d2a 100644 --- a/services/project-history/Makefile +++ b/services/project-history/Makefile @@ -32,12 +32,12 @@ HERE=$(shell pwd) MONOREPO=$(shell cd ../../ && pwd) # Run the linting commands in the scope of the monorepo. # Eslint and prettier (plus some configs) are on the root. -RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:18.20.4 npm run --silent +RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:20.18.0 npm run --silent RUN_LINTING_CI = docker run --rm --volume $(MONOREPO)/.editorconfig:/overleaf/.editorconfig --volume $(MONOREPO)/.eslintignore:/overleaf/.eslintignore --volume $(MONOREPO)/.eslintrc:/overleaf/.eslintrc --volume $(MONOREPO)/.prettierignore:/overleaf/.prettierignore --volume $(MONOREPO)/.prettierrc:/overleaf/.prettierrc --volume $(MONOREPO)/tsconfig.backend.json:/overleaf/tsconfig.backend.json --volume $(MONOREPO)/services/document-updater/app/js/types.ts:/overleaf/services/document-updater/app/js/types.ts ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) npm run --silent # Same but from the top of the monorepo -RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:18.20.4 npm run --silent +RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:20.18.0 npm run --silent format: $(RUN_LINTING) format diff --git a/services/project-history/buildscript.txt b/services/project-history/buildscript.txt index 7ad3abcb58..547b81b1c8 100644 --- a/services/project-history/buildscript.txt +++ b/services/project-history/buildscript.txt @@ -4,6 +4,6 @@ project-history --env-add= --env-pass-through= --esmock-loader=True ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=False --script-version=4.5.0 diff --git a/services/project-history/docker-compose.yml b/services/project-history/docker-compose.yml index 040df9765e..878dffbf64 100644 --- a/services/project-history/docker-compose.yml +++ b/services/project-history/docker-compose.yml @@ -6,7 +6,7 @@ version: "2.3" services: test_unit: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/project-history - ../../node_modules:/overleaf/node_modules @@ -20,7 +20,7 @@ services: user: node test_acceptance: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/project-history - ../../node_modules:/overleaf/node_modules diff --git a/services/real-time/.nvmrc b/services/real-time/.nvmrc index 17719ce25a..2a393af592 100644 --- a/services/real-time/.nvmrc +++ b/services/real-time/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/services/real-time/Dockerfile b/services/real-time/Dockerfile index 4afd403112..21832e7427 100644 --- a/services/real-time/Dockerfile +++ b/services/real-time/Dockerfile @@ -2,7 +2,7 @@ # Instead run bin/update_build_scripts from # https://github.com/overleaf/internal/ -FROM node:18.20.4 AS base +FROM node:20.18.0 AS base WORKDIR /overleaf/services/real-time diff --git a/services/real-time/Makefile b/services/real-time/Makefile index 9580de7ae1..6ef424ce91 100644 --- a/services/real-time/Makefile +++ b/services/real-time/Makefile @@ -32,12 +32,12 @@ HERE=$(shell pwd) MONOREPO=$(shell cd ../../ && pwd) # Run the linting commands in the scope of the monorepo. # Eslint and prettier (plus some configs) are on the root. -RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:18.20.4 npm run --silent +RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:20.18.0 npm run --silent RUN_LINTING_CI = docker run --rm --volume $(MONOREPO)/.editorconfig:/overleaf/.editorconfig --volume $(MONOREPO)/.eslintignore:/overleaf/.eslintignore --volume $(MONOREPO)/.eslintrc:/overleaf/.eslintrc --volume $(MONOREPO)/.prettierignore:/overleaf/.prettierignore --volume $(MONOREPO)/.prettierrc:/overleaf/.prettierrc --volume $(MONOREPO)/tsconfig.backend.json:/overleaf/tsconfig.backend.json ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) npm run --silent # Same but from the top of the monorepo -RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:18.20.4 npm run --silent +RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:20.18.0 npm run --silent format: $(RUN_LINTING) format diff --git a/services/real-time/buildscript.txt b/services/real-time/buildscript.txt index 17a4282ca3..4fe318268f 100644 --- a/services/real-time/buildscript.txt +++ b/services/real-time/buildscript.txt @@ -4,6 +4,6 @@ real-time --env-add= --env-pass-through= --esmock-loader=False ---node-version=18.20.4 +--node-version=20.18.0 --public-repo=False --script-version=4.5.0 diff --git a/services/real-time/docker-compose.yml b/services/real-time/docker-compose.yml index 831d197231..cb761bb315 100644 --- a/services/real-time/docker-compose.yml +++ b/services/real-time/docker-compose.yml @@ -6,7 +6,7 @@ version: "2.3" services: test_unit: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/real-time - ../../node_modules:/overleaf/node_modules @@ -20,7 +20,7 @@ services: user: node test_acceptance: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/real-time - ../../node_modules:/overleaf/node_modules diff --git a/services/web/.nvmrc b/services/web/.nvmrc index 17719ce25a..2a393af592 100644 --- a/services/web/.nvmrc +++ b/services/web/.nvmrc @@ -1 +1 @@ -18.20.4 +20.18.0 diff --git a/services/web/Dockerfile b/services/web/Dockerfile index 3b1c9e84ad..9f8ce157d6 100644 --- a/services/web/Dockerfile +++ b/services/web/Dockerfile @@ -1,6 +1,6 @@ # the base image is suitable for running web with /overleaf/services/web bind # mounted -FROM node:18.20.4 AS base +FROM node:20.18.0 AS base WORKDIR /overleaf/services/web diff --git a/services/web/Dockerfile.frontend b/services/web/Dockerfile.frontend index cf45da3548..50620e6f26 100644 --- a/services/web/Dockerfile.frontend +++ b/services/web/Dockerfile.frontend @@ -1,4 +1,4 @@ -FROM node:18.20.4 +FROM node:20.18.0 # Install Google Chrome RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - diff --git a/services/web/app.mjs b/services/web/app.mjs index 1c4c9de03f..9a66d0f3ec 100644 --- a/services/web/app.mjs +++ b/services/web/app.mjs @@ -26,7 +26,9 @@ logger.logger.serializers.project = Serializers.project if (Settings.sentry?.dsn != null) { logger.initializeErrorReporting(Settings.sentry.dsn) } +http.globalAgent.keepAlive = false http.globalAgent.maxSockets = Settings.limits.httpGlobalAgentMaxSockets +https.globalAgent.keepAlive = false https.globalAgent.maxSockets = Settings.limits.httpsGlobalAgentMaxSockets metrics.memory.monitor(logger) diff --git a/services/web/cloudbuild-storybook.yaml b/services/web/cloudbuild-storybook.yaml index 3e2105dabc..952c30fba6 100644 --- a/services/web/cloudbuild-storybook.yaml +++ b/services/web/cloudbuild-storybook.yaml @@ -1,13 +1,13 @@ steps: - id: npm_ci - name: "node:18.20.4" + name: "node:20.18.0" entrypoint: /bin/bash args: - '-c' - 'bin/npm_install_subset . libraries/* services/web' - id: build-storybook - name: 'node:18.20.4' + name: 'node:20.18.0' env: - 'BRANCH_NAME=$BRANCH_NAME' - 'BUILD_ID=$BUILD_ID' @@ -49,7 +49,7 @@ steps: - deploy-storybook - id: create-storybook-index - name: 'node:18.20.4' + name: 'node:20.18.0' dir: services/web env: - 'BRANCH_NAME=$BRANCH_NAME' diff --git a/services/web/docker-compose.common.env b/services/web/docker-compose.common.env index 55c49c6dfd..6b6382b789 100644 --- a/services/web/docker-compose.common.env +++ b/services/web/docker-compose.common.env @@ -41,6 +41,6 @@ OVERLEAF_SAML_UPDATE_USER_DETAILS_ON_LOGIN=true OVERLEAF_SAML_CERT=MIIDXTCCAkWgAwIBAgIJAOvOeQ4xFTzsMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNVBAYTAkdCMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMTYxMTE1MTQxMjU5WhcNMjYxMTE1MTQxMjU5WjBFMQswCQYDVQQGEwJHQjETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCT6MBe5G9VoLU8MfztOEbUhnwLp17ak8eFUqxqeXkkqtWB0b/cmIBU3xoQoO3dIF8PBzfqehqfYVhrNt/TFgcmDfmJnPJRL1RJWMW3VmiP5odJ3LwlkKbZpkeT3wZ8HEJIR1+zbpxiBNkbd2GbdR1iumcsHzMYX1A2CBj+ZMV5VijC+K4P0e9c05VsDEUtLmfeAasJAiumQoVVgAe/BpiXjICGGewa6EPFI7mKkifIRKOGxdRESwZZjxP30bI31oDN0cgKqIgSJtJ9nfCn9jgBMBkQHu42WMuaWD4jrGd7+vYdX+oIfArs9aKgAH5kUGhGdew2R9SpBefrhbNxG8QIDAQABo1AwTjAdBgNVHQ4EFgQU+aSojSyyLChP/IpZcafvSdhj7KkwHwYDVR0jBBgwFoAU+aSojSyyLChP/IpZcafvSdhj7KkwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEABl3+OOVLBWMKs6PjA8lPuloWDNzSr3v76oUcHqAb+cfbucjXrOVsS9RJ0X9yxvCQyfM9FfY43DbspnN3izYhdvbJD8kKLNf0LA5st+ZxLfy0ACyL2iyAwICaqndqxAjQYplFAHmpUiu1DiHckyBPekokDJd+ze95urHMOsaGS5RWPoKJVE0bkaAeZCmEu0NNpXRSBiuxXSTeSAJfv6kyE/rkdhzUKyUl/cGQFrsVYfAFQVA+W6CKOh74ErSEzSHQQYndl7nD33snD/YqdU1ROxV6aJzLKCg+sdj+wRXSP2u/UHnM4jW9TGJfhO42jzL6WVuEvr9q4l7zWzUQKKKhtQ== # DEVICE_HISTORY_SECRET has been generated using: # NOTE: crypto.generateKeySync was added in v15, v16 is the next LTS release. -# $ docker run --rm node:18.20.4 --print 'require("crypto").generateKeySync("aes", { length: 256 }).export().toString("hex")' +# $ docker run --rm node:20.18.0 --print 'require("crypto").generateKeySync("aes", { length: 256 }).export().toString("hex")' DEVICE_HISTORY_SECRET=1b46e6cdf72db02845da06c9517c9cfbbfa0d87357479f4e1df3ce160bd54807 QUEUE_PROCESSING_ENABLED=true diff --git a/services/web/docker-compose.yml b/services/web/docker-compose.yml index 00b38ab316..343b8277dd 100644 --- a/services/web/docker-compose.yml +++ b/services/web/docker-compose.yml @@ -6,7 +6,7 @@ volumes: services: test_unit: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/web - ../../node_modules:/overleaf/node_modules @@ -21,7 +21,7 @@ services: user: node test_acceptance: - image: node:18.20.4 + image: node:20.18.0 volumes: - .:/overleaf/services/web - ../../node_modules:/overleaf/node_modules diff --git a/services/web/scripts/translations/Dockerfile b/services/web/scripts/translations/Dockerfile index f6d3f0c693..a575ee4703 100644 --- a/services/web/scripts/translations/Dockerfile +++ b/services/web/scripts/translations/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18.20.4 +FROM node:20.18.0 WORKDIR /app/scripts/translations