mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 09:09:36 +02:00
Upgrade Node.js from 22.18 to 24.13 (#30509)
GitOrigin-RevId: c2405a0583e68c61351f52b32ba28faec994fbc0
This commit is contained in:
committed by
Copybot
parent
a054938414
commit
e80ce42896
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -4,6 +4,6 @@ access-token-encryptor
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--is-library=True
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🚉 Platform
|
||||
--public-repo=False
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -4,6 +4,6 @@ fetch-utils
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--is-library=True
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🚉 Platform
|
||||
--public-repo=False
|
||||
|
||||
@@ -22,7 +22,7 @@ const HTTP_PORT = 30001
|
||||
const HTTPS_PORT = 30002
|
||||
|
||||
const attrs = [{ name: 'commonName', value: 'example.com' }]
|
||||
const pems = selfsigned.generate(attrs, { days: 365 })
|
||||
const pems = selfsigned.generate(attrs, { days: 365, keySize: 2048 })
|
||||
|
||||
const PRIVATE_KEY = pems.private
|
||||
const PUBLIC_CERT = pems.cert
|
||||
|
||||
@@ -119,11 +119,20 @@ class TestServer {
|
||||
}
|
||||
|
||||
stop() {
|
||||
const stopHttp = promisify(this.server.close).bind(this.server)
|
||||
const stopHttps = promisify(this.https_server.close).bind(this.https_server)
|
||||
this.server.closeAllConnections()
|
||||
this.https_server.closeAllConnections()
|
||||
return Promise.all([stopHttp(), stopHttps()])
|
||||
const promises = []
|
||||
if (this.server) {
|
||||
const stopHttp = promisify(this.server.close).bind(this.server)
|
||||
this.server.closeAllConnections()
|
||||
promises.push(stopHttp())
|
||||
}
|
||||
if (this.https_server) {
|
||||
const stopHttps = promisify(this.https_server.close).bind(
|
||||
this.https_server
|
||||
)
|
||||
this.https_server.closeAllConnections()
|
||||
promises.push(stopHttps())
|
||||
}
|
||||
return Promise.all(promises)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -4,6 +4,6 @@ logger
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--is-library=True
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🚉 Platform
|
||||
--public-repo=False
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -4,6 +4,6 @@ metrics
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--is-library=True
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🚉 Platform
|
||||
--public-repo=False
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -4,6 +4,6 @@ mongo-utils
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--is-library=True
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🚉 Platform
|
||||
--public-repo=False
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -4,6 +4,6 @@ o-error
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--is-library=True
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🚉 Platform
|
||||
--public-repo=False
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -4,6 +4,6 @@ object-persistor
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--is-library=True
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🚉 Platform
|
||||
--public-repo=False
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -4,6 +4,6 @@ overleaf-editor-core
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--is-library=True
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🥑 Core
|
||||
--public-repo=False
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -4,6 +4,6 @@ promise-utils
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--is-library=True
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🚉 Platform
|
||||
--public-repo=False
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -4,6 +4,6 @@ ranges-tracker
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--is-library=True
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🥑 Core
|
||||
--public-repo=False
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -4,6 +4,6 @@ redis-wrapper
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--is-library=True
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🚉 Platform
|
||||
--public-repo=False
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -4,6 +4,6 @@ settings
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--is-library=True
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🚉 Platform
|
||||
--public-repo=False
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -4,6 +4,6 @@ stream-utils
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--is-library=True
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🚉 Platform
|
||||
--public-repo=False
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -4,7 +4,7 @@ validation-tools
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--is-library=True
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--public-repo=False
|
||||
--test-acceptance-vitest=True
|
||||
--test-unit-vitest=True
|
||||
|
||||
3202
package-lock.json
generated
3202
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
FROM node:22.18.0
|
||||
FROM node:24.13.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" \
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Instead run bin/update_build_scripts from
|
||||
# https://github.com/overleaf/internal/
|
||||
|
||||
FROM node:22.18.0 AS base
|
||||
FROM node:24.13.0 AS base
|
||||
|
||||
WORKDIR /overleaf/services/chat
|
||||
|
||||
|
||||
@@ -51,12 +51,12 @@ clean:
|
||||
|
||||
# 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:22.18.0 npm run --silent
|
||||
RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:24.13.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/chat/reports:/overleaf/services/chat/reports $(IMAGE_CI) npm run --silent
|
||||
|
||||
# Same but from the top of the monorepo
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:22.18.0 npm run --silent
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:24.13.0 npm run --silent
|
||||
|
||||
SHELLCHECK_OPTS = \
|
||||
--shell=bash \
|
||||
|
||||
@@ -3,6 +3,6 @@ chat
|
||||
--env-add=
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🥑 Core
|
||||
--public-repo=False
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
services:
|
||||
test_unit:
|
||||
image: node:22.18.0
|
||||
image: node:24.13.0
|
||||
volumes:
|
||||
- .:/overleaf/services/chat
|
||||
- ../../node_modules:/overleaf/node_modules
|
||||
@@ -26,7 +26,7 @@ services:
|
||||
condition: service_started
|
||||
|
||||
test_acceptance:
|
||||
image: node:22.18.0
|
||||
image: node:24.13.0
|
||||
volumes:
|
||||
- .:/overleaf/services/chat
|
||||
- ../../node_modules:/overleaf/node_modules
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Instead run bin/update_build_scripts from
|
||||
# https://github.com/overleaf/internal/
|
||||
|
||||
FROM node:22.18.0 AS base
|
||||
FROM node:24.13.0 AS base
|
||||
|
||||
WORKDIR /overleaf/services/clsi
|
||||
COPY services/clsi/install_deps.sh /overleaf/services/clsi/
|
||||
|
||||
@@ -51,12 +51,12 @@ clean:
|
||||
|
||||
# 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:22.18.0 npm run --silent
|
||||
RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:24.13.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/clsi/reports:/overleaf/services/clsi/reports $(IMAGE_CI) npm run --silent
|
||||
|
||||
# Same but from the top of the monorepo
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:22.18.0 npm run --silent
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:24.13.0 npm run --silent
|
||||
|
||||
SHELLCHECK_OPTS = \
|
||||
--shell=bash \
|
||||
|
||||
@@ -4,7 +4,7 @@ clsi
|
||||
--env-add=ALLOWED_COMPILE_GROUPS="clsi-perf simple-latex-file",ENABLE_PDF_CACHING="true",PDF_CACHING_ENABLE_WORKER_POOL="true",ALLOWED_IMAGES=quay.io/sharelatex/texlive-full:2025.1,TEXLIVE_IMAGE=quay.io/sharelatex/texlive-full:2025.1,TEX_LIVE_IMAGE_NAME_OVERRIDE=us-east1-docker.pkg.dev/overleaf-ops/ol-docker,TEXLIVE_IMAGE_USER="tex",SANDBOXED_COMPILES="true",SANDBOXED_COMPILES_HOST_DIR_COMPILES=$PWD/compiles,SANDBOXED_COMPILES_HOST_DIR_OUTPUT=$PWD/output
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🚉 Platform
|
||||
--public-repo=True
|
||||
--test-unit-vitest=True
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Instead run bin/update_build_scripts from
|
||||
# https://github.com/overleaf/internal/
|
||||
|
||||
FROM node:22.18.0 AS base
|
||||
FROM node:24.13.0 AS base
|
||||
|
||||
WORKDIR /overleaf/services/contacts
|
||||
|
||||
|
||||
@@ -51,12 +51,12 @@ clean:
|
||||
|
||||
# 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:22.18.0 npm run --silent
|
||||
RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:24.13.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/contacts/reports:/overleaf/services/contacts/reports $(IMAGE_CI) npm run --silent
|
||||
|
||||
# Same but from the top of the monorepo
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:22.18.0 npm run --silent
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:24.13.0 npm run --silent
|
||||
|
||||
SHELLCHECK_OPTS = \
|
||||
--shell=bash \
|
||||
|
||||
@@ -3,6 +3,6 @@ contacts
|
||||
--env-add=
|
||||
--env-pass-through=
|
||||
--esmock-loader=True
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=B2C
|
||||
--public-repo=False
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
services:
|
||||
test_unit:
|
||||
image: node:22.18.0
|
||||
image: node:24.13.0
|
||||
volumes:
|
||||
- .:/overleaf/services/contacts
|
||||
- ../../node_modules:/overleaf/node_modules
|
||||
@@ -26,7 +26,7 @@ services:
|
||||
condition: service_started
|
||||
|
||||
test_acceptance:
|
||||
image: node:22.18.0
|
||||
image: node:24.13.0
|
||||
volumes:
|
||||
- .:/overleaf/services/contacts
|
||||
- ../../node_modules:/overleaf/node_modules
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Instead run bin/update_build_scripts from
|
||||
# https://github.com/overleaf/internal/
|
||||
|
||||
FROM node:22.18.0 AS base
|
||||
FROM node:24.13.0 AS base
|
||||
|
||||
WORKDIR /overleaf/services/docstore
|
||||
|
||||
|
||||
@@ -53,12 +53,12 @@ clean:
|
||||
|
||||
# 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:22.18.0 npm run --silent
|
||||
RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:24.13.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/docstore/reports:/overleaf/services/docstore/reports $(IMAGE_CI) npm run --silent
|
||||
|
||||
# Same but from the top of the monorepo
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:22.18.0 npm run --silent
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:24.13.0 npm run --silent
|
||||
|
||||
SHELLCHECK_OPTS = \
|
||||
--shell=bash \
|
||||
|
||||
@@ -3,7 +3,7 @@ docstore
|
||||
--env-add=
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🚉 Platform
|
||||
--public-repo=True
|
||||
--test-unit-vitest=True
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
services:
|
||||
test_unit:
|
||||
image: node:22.18.0
|
||||
image: node:24.13.0
|
||||
volumes:
|
||||
- .:/overleaf/services/docstore
|
||||
- ../../node_modules:/overleaf/node_modules
|
||||
@@ -27,7 +27,7 @@ services:
|
||||
condition: service_started
|
||||
|
||||
test_acceptance:
|
||||
image: node:22.18.0
|
||||
image: node:24.13.0
|
||||
volumes:
|
||||
- .:/overleaf/services/docstore
|
||||
- ../../node_modules:/overleaf/node_modules
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Instead run bin/update_build_scripts from
|
||||
# https://github.com/overleaf/internal/
|
||||
|
||||
FROM node:22.18.0 AS base
|
||||
FROM node:24.13.0 AS base
|
||||
|
||||
WORKDIR /overleaf/services/document-updater
|
||||
|
||||
|
||||
@@ -54,12 +54,12 @@ clean:
|
||||
|
||||
# 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:22.18.0 npm run --silent
|
||||
RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:24.13.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/reports:/overleaf/services/document-updater/reports $(IMAGE_CI) npm run --silent
|
||||
|
||||
# Same but from the top of the monorepo
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:22.18.0 npm run --silent
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:24.13.0 npm run --silent
|
||||
|
||||
SHELLCHECK_OPTS = \
|
||||
--shell=bash \
|
||||
|
||||
@@ -3,6 +3,6 @@ document-updater
|
||||
--env-add=
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🥑 Core
|
||||
--public-repo=True
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
services:
|
||||
test_unit:
|
||||
image: node:22.18.0
|
||||
image: node:24.13.0
|
||||
volumes:
|
||||
- .:/overleaf/services/document-updater
|
||||
- ../../node_modules:/overleaf/node_modules
|
||||
@@ -33,7 +33,7 @@ services:
|
||||
condition: service_healthy
|
||||
|
||||
test_acceptance:
|
||||
image: node:22.18.0
|
||||
image: node:24.13.0
|
||||
volumes:
|
||||
- .:/overleaf/services/document-updater
|
||||
- ../../node_modules:/overleaf/node_modules
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Instead run bin/update_build_scripts from
|
||||
# https://github.com/overleaf/internal/
|
||||
|
||||
FROM node:22.18.0 AS base
|
||||
FROM node:24.13.0 AS base
|
||||
|
||||
WORKDIR /overleaf/services/filestore
|
||||
COPY services/filestore/install_deps.sh /overleaf/services/filestore/
|
||||
|
||||
@@ -51,12 +51,12 @@ clean:
|
||||
|
||||
# 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:22.18.0 npm run --silent
|
||||
RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:24.13.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/filestore/reports:/overleaf/services/filestore/reports $(IMAGE_CI) npm run --silent
|
||||
|
||||
# Same but from the top of the monorepo
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:22.18.0 npm run --silent
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:24.13.0 npm run --silent
|
||||
|
||||
SHELLCHECK_OPTS = \
|
||||
--shell=bash \
|
||||
|
||||
@@ -4,7 +4,7 @@ filestore
|
||||
--env-add=ENABLE_CONVERSIONS="true",USE_PROM_METRICS="true",AWS_S3_USER_FILES_STORAGE_CLASS=REDUCED_REDUNDANCY,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=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🚉 Platform
|
||||
--public-repo=True
|
||||
--test-acceptance-shards=SHARD_01_,SHARD_02_,SHARD_03_
|
||||
|
||||
@@ -75,7 +75,7 @@ services:
|
||||
certs:
|
||||
build:
|
||||
dockerfile_inline: |
|
||||
FROM node:22.18.0
|
||||
FROM node:24.13.0
|
||||
RUN wget -O /certgen "https://github.com/minio/certgen/releases/download/v1.3.0/certgen-linux-"`dpkg --print-architecture`
|
||||
RUN chmod +x /certgen
|
||||
volumes:
|
||||
|
||||
@@ -77,7 +77,7 @@ services:
|
||||
certs:
|
||||
build:
|
||||
dockerfile_inline: |
|
||||
FROM node:22.18.0
|
||||
FROM node:24.13.0
|
||||
RUN wget -O /certgen "https://github.com/minio/certgen/releases/download/v1.3.0/certgen-linux-"`dpkg --print-architecture`
|
||||
RUN chmod +x /certgen
|
||||
volumes:
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Instead run bin/update_build_scripts from
|
||||
# https://github.com/overleaf/internal/
|
||||
|
||||
FROM node:22.18.0 AS base
|
||||
FROM node:24.13.0 AS base
|
||||
|
||||
WORKDIR /overleaf/services/history-v1
|
||||
COPY services/history-v1/install_deps.sh /overleaf/services/history-v1/
|
||||
|
||||
@@ -56,12 +56,12 @@ clean:
|
||||
|
||||
# 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:22.18.0 npm run --silent
|
||||
RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:24.13.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/history-v1/reports:/overleaf/services/history-v1/reports $(IMAGE_CI) npm run --silent
|
||||
|
||||
# Same but from the top of the monorepo
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:22.18.0 npm run --silent
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:24.13.0 npm run --silent
|
||||
|
||||
SHELLCHECK_OPTS = \
|
||||
--shell=bash \
|
||||
|
||||
@@ -3,7 +3,7 @@ history-v1
|
||||
--env-add=
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🥑 Core
|
||||
--public-repo=False
|
||||
--tsconfig-extra-includes=backup-deletion-app.mjs,backup-verifier-app.mjs,backup-worker-app.mjs,api/**/*,migrations/**/*,storage/**/*
|
||||
|
||||
@@ -124,7 +124,7 @@ services:
|
||||
certs:
|
||||
build:
|
||||
dockerfile_inline: |
|
||||
FROM node:22.18.0
|
||||
FROM node:24.13.0
|
||||
RUN wget -O /certgen "https://github.com/minio/certgen/releases/download/v1.3.0/certgen-linux-"`dpkg --print-architecture`
|
||||
RUN chmod +x /certgen
|
||||
volumes:
|
||||
|
||||
@@ -130,7 +130,7 @@ services:
|
||||
certs:
|
||||
build:
|
||||
dockerfile_inline: |
|
||||
FROM node:22.18.0
|
||||
FROM node:24.13.0
|
||||
RUN wget -O /certgen "https://github.com/minio/certgen/releases/download/v1.3.0/certgen-linux-"`dpkg --print-architecture`
|
||||
RUN chmod +x /certgen
|
||||
volumes:
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Instead run bin/update_build_scripts from
|
||||
# https://github.com/overleaf/internal/
|
||||
|
||||
FROM node:22.18.0 AS base
|
||||
FROM node:24.13.0 AS base
|
||||
|
||||
WORKDIR /overleaf/services/notifications
|
||||
|
||||
|
||||
@@ -52,12 +52,12 @@ clean:
|
||||
|
||||
# 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:22.18.0 npm run --silent
|
||||
RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:24.13.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/notifications/reports:/overleaf/services/notifications/reports $(IMAGE_CI) npm run --silent
|
||||
|
||||
# Same but from the top of the monorepo
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:22.18.0 npm run --silent
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:24.13.0 npm run --silent
|
||||
|
||||
SHELLCHECK_OPTS = \
|
||||
--shell=bash \
|
||||
|
||||
@@ -3,7 +3,7 @@ notifications
|
||||
--env-add=
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🚉 Platform
|
||||
--public-repo=True
|
||||
--test-acceptance-vitest=True
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
services:
|
||||
test_unit:
|
||||
image: node:22.18.0
|
||||
image: node:24.13.0
|
||||
volumes:
|
||||
- .:/overleaf/services/notifications
|
||||
- ../../node_modules:/overleaf/node_modules
|
||||
@@ -27,7 +27,7 @@ services:
|
||||
condition: service_started
|
||||
|
||||
test_acceptance:
|
||||
image: node:22.18.0
|
||||
image: node:24.13.0
|
||||
volumes:
|
||||
- .:/overleaf/services/notifications
|
||||
- ../../node_modules:/overleaf/node_modules
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Instead run bin/update_build_scripts from
|
||||
# https://github.com/overleaf/internal/
|
||||
|
||||
FROM node:22.18.0 AS base
|
||||
FROM node:24.13.0 AS base
|
||||
|
||||
WORKDIR /overleaf/services/project-history
|
||||
|
||||
|
||||
@@ -54,12 +54,12 @@ clean:
|
||||
|
||||
# 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:22.18.0 npm run --silent
|
||||
RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:24.13.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 --volume $(MONOREPO)/services/project-history/reports:/overleaf/services/project-history/reports $(IMAGE_CI) npm run --silent
|
||||
|
||||
# Same but from the top of the monorepo
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:22.18.0 npm run --silent
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:24.13.0 npm run --silent
|
||||
|
||||
SHELLCHECK_OPTS = \
|
||||
--shell=bash \
|
||||
|
||||
@@ -3,6 +3,6 @@ project-history
|
||||
--env-add=
|
||||
--env-pass-through=
|
||||
--esmock-loader=True
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🥑 Core
|
||||
--public-repo=False
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
services:
|
||||
test_unit:
|
||||
image: node:22.18.0
|
||||
image: node:24.13.0
|
||||
volumes:
|
||||
- .:/overleaf/services/project-history
|
||||
- ../../node_modules:/overleaf/node_modules
|
||||
@@ -33,7 +33,7 @@ services:
|
||||
condition: service_healthy
|
||||
|
||||
test_acceptance:
|
||||
image: node:22.18.0
|
||||
image: node:24.13.0
|
||||
volumes:
|
||||
- .:/overleaf/services/project-history
|
||||
- ../../node_modules:/overleaf/node_modules
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
"bunyan": "^1.8.15",
|
||||
"celebrate": "^15.0.3",
|
||||
"diff-match-patch": "overleaf/diff-match-patch#89805f9c671a77a263fc53461acd62aa7498f688",
|
||||
"esmock": "^2.6.3",
|
||||
"express": "4.22.1",
|
||||
"lodash": "^4.17.20",
|
||||
"minimist": "^1.2.8",
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Instead run bin/update_build_scripts from
|
||||
# https://github.com/overleaf/internal/
|
||||
|
||||
FROM node:22.18.0 AS base
|
||||
FROM node:24.13.0 AS base
|
||||
|
||||
WORKDIR /overleaf/services/real-time
|
||||
|
||||
|
||||
@@ -50,12 +50,12 @@ clean:
|
||||
|
||||
# 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:22.18.0 npm run --silent
|
||||
RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:24.13.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/real-time/reports:/overleaf/services/real-time/reports $(IMAGE_CI) npm run --silent
|
||||
|
||||
# Same but from the top of the monorepo
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:22.18.0 npm run --silent
|
||||
RUN_LINTING_MONOREPO = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(MONOREPO) node:24.13.0 npm run --silent
|
||||
|
||||
SHELLCHECK_OPTS = \
|
||||
--shell=bash \
|
||||
|
||||
@@ -3,7 +3,7 @@ real-time
|
||||
--env-add=
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--pipeline-owner=🚉 Platform
|
||||
--public-repo=False
|
||||
--test-unit-vitest=True
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
services:
|
||||
test_unit:
|
||||
image: node:22.18.0
|
||||
image: node:24.13.0
|
||||
volumes:
|
||||
- .:/overleaf/services/real-time
|
||||
- ../../node_modules:/overleaf/node_modules
|
||||
@@ -29,7 +29,7 @@ services:
|
||||
condition: service_healthy
|
||||
|
||||
test_acceptance:
|
||||
image: node:22.18.0
|
||||
image: node:24.13.0
|
||||
volumes:
|
||||
- .:/overleaf/services/real-time
|
||||
- ../../node_modules:/overleaf/node_modules
|
||||
|
||||
@@ -1 +1 @@
|
||||
22.18.0
|
||||
24.13.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This file was auto-generated, do not edit it directly.
|
||||
# Instead run internal$ services/web/build_scripts
|
||||
|
||||
FROM node:22.18.0 AS base
|
||||
FROM node:24.13.0 AS base
|
||||
|
||||
WORKDIR /overleaf/services/web
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM node:22.18.0
|
||||
FROM node:24.13.0
|
||||
|
||||
# Install Google Chrome
|
||||
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
|
||||
|
||||
@@ -4,5 +4,5 @@ web
|
||||
--env-add=
|
||||
--env-pass-through=
|
||||
--esmock-loader=False
|
||||
--node-version=22.18.0
|
||||
--node-version=24.13.0
|
||||
--public-repo=False
|
||||
|
||||
@@ -45,6 +45,6 @@ OVERLEAF_SAML_IS_ADMIN_FIELD_VALUE=Brookes
|
||||
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:22.18.0 --print 'require("crypto").generateKeySync("aes", { length: 256 }).export().toString("hex")'
|
||||
# $ docker run --rm node:24.13.0 --print 'require("crypto").generateKeySync("aes", { length: 256 }).export().toString("hex")'
|
||||
DEVICE_HISTORY_SECRET=1b46e6cdf72db02845da06c9517c9cfbbfa0d87357479f4e1df3ce160bd54807
|
||||
QUEUE_PROCESSING_ENABLED=true
|
||||
|
||||
@@ -4,7 +4,7 @@ volumes:
|
||||
services:
|
||||
|
||||
test_unit:
|
||||
image: node:22.18.0
|
||||
image: node:24.13.0
|
||||
volumes:
|
||||
- .:/overleaf/services/web
|
||||
- ../../node_modules:/overleaf/node_modules
|
||||
@@ -32,7 +32,7 @@ services:
|
||||
- redis_test
|
||||
|
||||
test_acceptance:
|
||||
image: node:22.18.0
|
||||
image: node:24.13.0
|
||||
volumes:
|
||||
- .:/overleaf/services/web
|
||||
- ../../node_modules:/overleaf/node_modules
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM node:22.18.0
|
||||
FROM node:24.13.0
|
||||
|
||||
WORKDIR /app/scripts/translations
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ describe('<ActionsMenu />', function () {
|
||||
|
||||
renderWithEditorContext(<ActionsMenu />, {
|
||||
projectId: '123abc',
|
||||
mockCompileOnLoad: true,
|
||||
scope: {
|
||||
editor: {
|
||||
sharejs_doc: {
|
||||
@@ -56,6 +57,7 @@ describe('<ActionsMenu />', function () {
|
||||
|
||||
renderWithEditorContext(<ActionsMenu />, {
|
||||
projectId: '123abc',
|
||||
mockCompileOnLoad: true,
|
||||
scope: {
|
||||
editor: {
|
||||
sharejs_doc: {
|
||||
|
||||
@@ -38,6 +38,7 @@ describe('<ActionsWordCount />', function () {
|
||||
|
||||
renderWithEditorContext(<ActionsWordCount />, {
|
||||
projectId: '123abc',
|
||||
mockCompileOnLoad: true,
|
||||
scope: {
|
||||
editor: {
|
||||
sharejs_doc: {
|
||||
|
||||
@@ -27,6 +27,7 @@ describe('<DownloadMenu />', function () {
|
||||
|
||||
renderWithEditorContext(<DownloadMenu />, {
|
||||
projectId: '123abc',
|
||||
mockCompileOnLoad: true,
|
||||
scope: {
|
||||
editor: {
|
||||
sharejs_doc: {
|
||||
|
||||
@@ -49,6 +49,8 @@ import { UserId } from '../../../types/user'
|
||||
import { ProjectCompiler } from '../../../types/project-settings'
|
||||
import { ReferencesContext } from '@/features/ide-react/context/references-context'
|
||||
import { useEditorAnalytics } from '@/shared/hooks/use-editor-analytics'
|
||||
import { DetachCompileContext } from '@/shared/context/detach-compile-context'
|
||||
import { type CompileContext } from '@/shared/context/local-compile-context'
|
||||
|
||||
// these constants can be imported in tests instead of
|
||||
// using magic strings
|
||||
@@ -91,6 +93,7 @@ export type EditorProvidersProps = {
|
||||
layoutContext?: Partial<LayoutContextValue>
|
||||
userSettings?: Record<string, any>
|
||||
providers?: Record<string, React.FC<React.PropsWithChildren<any>>>
|
||||
mockCompileOnLoad?: boolean
|
||||
}
|
||||
|
||||
export const projectDefaults: ProjectMetadata = {
|
||||
@@ -174,6 +177,7 @@ export function EditorProviders({
|
||||
layoutContext = layoutContextDefault,
|
||||
userSettings = {},
|
||||
providers = {},
|
||||
mockCompileOnLoad = false,
|
||||
}: EditorProvidersProps) {
|
||||
window.metaAttributesCache.set(
|
||||
'ol-gitBridgePublicBaseUrl',
|
||||
@@ -234,27 +238,32 @@ export function EditorProviders({
|
||||
window.metaAttributesCache.set('ol-user', { ...user, features })
|
||||
window.metaAttributesCache.set('ol-project_id', projectId)
|
||||
|
||||
const customProviders: Record<string, FC<PropsWithChildren>> = {
|
||||
ConnectionProvider: makeConnectionProvider(socket),
|
||||
IdeReactProvider: makeIdeReactProvider(scope, socket),
|
||||
EditorOpenDocProvider: makeEditorOpenDocProvider({
|
||||
currentDocumentId: scope.editor.currentDocumentId,
|
||||
openDocName: scope.editor.openDocName,
|
||||
currentDocument: scope.editor.sharejs_doc,
|
||||
}),
|
||||
EditorPropertiesProvider: makeEditorPropertiesProvider({
|
||||
wantTrackChanges: scope.editor.wantTrackChanges,
|
||||
}),
|
||||
LayoutProvider: makeLayoutProvider(layoutContext),
|
||||
ProjectProvider: makeProjectProvider(project),
|
||||
ReferencesProvider: makeReferencesProvider(),
|
||||
...providers,
|
||||
}
|
||||
|
||||
// Only override DetachCompileProvider when we need the mock
|
||||
if (mockCompileOnLoad) {
|
||||
customProviders.DetachCompileProvider =
|
||||
makeDetachCompileProvider(mockCompileOnLoad)
|
||||
}
|
||||
// Otherwise, let ReactContextRoot use the real DetachCompileProvider from production
|
||||
|
||||
return (
|
||||
<ReactContextRoot
|
||||
providers={{
|
||||
ConnectionProvider: makeConnectionProvider(socket),
|
||||
IdeReactProvider: makeIdeReactProvider(scope, socket),
|
||||
EditorOpenDocProvider: makeEditorOpenDocProvider({
|
||||
currentDocumentId: scope.editor.currentDocumentId,
|
||||
openDocName: scope.editor.openDocName,
|
||||
currentDocument: scope.editor.sharejs_doc,
|
||||
}),
|
||||
EditorPropertiesProvider: makeEditorPropertiesProvider({
|
||||
wantTrackChanges: scope.editor.wantTrackChanges,
|
||||
}),
|
||||
LayoutProvider: makeLayoutProvider(layoutContext),
|
||||
ProjectProvider: makeProjectProvider(project),
|
||||
ReferencesProvider: makeReferencesProvider(),
|
||||
...providers,
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
</ReactContextRoot>
|
||||
<ReactContextRoot providers={customProviders}>{children}</ReactContextRoot>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -640,3 +649,127 @@ export function makeProjectProvider(initialProject: ProjectMetadata) {
|
||||
|
||||
return ProjectProvider
|
||||
}
|
||||
|
||||
const BASE_COMPILE_CONTEXT_MOCK = {
|
||||
animateCompileDropdownArrow: false,
|
||||
clearCache: () => {},
|
||||
clearingCache: false,
|
||||
clsiServerId: undefined,
|
||||
codeCheckFailed: false,
|
||||
deliveryLatencies: {},
|
||||
editedSinceCompileStarted: false,
|
||||
fileList: undefined,
|
||||
hasChanges: false,
|
||||
hasShortCompileTimeout: false,
|
||||
highlights: undefined,
|
||||
isProjectOwner: true,
|
||||
lastCompileOptions: {},
|
||||
logEntryAnnotations: undefined,
|
||||
logEntries: undefined,
|
||||
outputFilesArchive: undefined,
|
||||
pdfViewer: 'pdfjs',
|
||||
position: undefined,
|
||||
rawLog: undefined,
|
||||
recompileFromScratch: () => {},
|
||||
setAnimateCompileDropdownArrow: () => {},
|
||||
setHasLintingError: () => {},
|
||||
setHighlights: () => {},
|
||||
setPosition: () => {},
|
||||
setShowCompileTimeWarning: () => {},
|
||||
setShowLogs: () => {},
|
||||
toggleLogs: () => {},
|
||||
setStopOnValidationError: () => {},
|
||||
showLogs: false,
|
||||
showCompileTimeWarning: false,
|
||||
stopCompile: () => {},
|
||||
stopOnValidationError: true,
|
||||
stoppedOnFirstError: false,
|
||||
uncompiled: false,
|
||||
validationIssues: undefined,
|
||||
firstRenderDone: () => {},
|
||||
setChangedAt: () => {},
|
||||
cleanupCompileResult: undefined,
|
||||
syncToEntry: () => {},
|
||||
recordAction: () => {},
|
||||
darkModePdf: false,
|
||||
setDarkModePdf: () => {},
|
||||
activeOverallTheme: 'light',
|
||||
} as const
|
||||
|
||||
const makeDetachCompileProvider = (mockCompileOnLoad: boolean = false) => {
|
||||
const DetachCompileProvider: FC<PropsWithChildren> = ({ children }) => {
|
||||
const [pdfUrl, setPdfUrl] = useState<string | undefined>()
|
||||
const [pdfDownloadUrl, setPdfDownloadUrl] = useState<string | undefined>()
|
||||
const [pdfFile, setPdfFile] = useState<any>()
|
||||
const [compiling, setCompiling] = useState(false)
|
||||
const [error, setError] = useState<string | undefined>()
|
||||
const [autoCompile, setAutoCompile] = useState(true)
|
||||
const [draft, setDraft] = useState(false)
|
||||
const [stopOnFirstError, setStopOnFirstError] = useState(false)
|
||||
|
||||
const startCompile = useCallback(async () => {
|
||||
setCompiling(true)
|
||||
try {
|
||||
const response = await fetch('/project/123abc/compile', {
|
||||
method: 'POST',
|
||||
})
|
||||
const data = await response.json()
|
||||
const pdfFileData = data.outputFiles?.find(
|
||||
(file: any) => file.type === 'pdf'
|
||||
)
|
||||
if (data.status === 'success' && pdfFileData) {
|
||||
const newPdfUrl = `${data.pdfDownloadDomain || ''}${pdfFileData.url}`
|
||||
const params = [
|
||||
data.compileGroup && `compileGroup=${data.compileGroup}`,
|
||||
data.clsiServerId && `clsiserverid=${data.clsiServerId}`,
|
||||
'popupDownload=true',
|
||||
]
|
||||
.filter(Boolean)
|
||||
.join('&')
|
||||
const newPdfDownloadUrl = `/download/project/123abc/build/${pdfFileData.build}/output/${pdfFileData.path}?${params}`
|
||||
|
||||
setPdfUrl(newPdfUrl)
|
||||
setPdfDownloadUrl(newPdfDownloadUrl)
|
||||
setPdfFile({ pdfUrl: newPdfUrl, pdfDownloadUrl: newPdfDownloadUrl })
|
||||
}
|
||||
} catch (err) {
|
||||
setError('Compile failed')
|
||||
} finally {
|
||||
setCompiling(false)
|
||||
}
|
||||
}, [])
|
||||
|
||||
useEffect(() => {
|
||||
if (mockCompileOnLoad) {
|
||||
startCompile()
|
||||
}
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, [startCompile])
|
||||
|
||||
const value = {
|
||||
...BASE_COMPILE_CONTEXT_MOCK,
|
||||
autoCompile,
|
||||
compiling,
|
||||
draft,
|
||||
error,
|
||||
pdfDownloadUrl,
|
||||
pdfFile,
|
||||
pdfUrl,
|
||||
setAutoCompile,
|
||||
setCompiling,
|
||||
setDraft,
|
||||
setError,
|
||||
setStopOnFirstError,
|
||||
startCompile,
|
||||
stopOnFirstError,
|
||||
} as CompileContext
|
||||
|
||||
return (
|
||||
<DetachCompileContext.Provider value={value}>
|
||||
{children}
|
||||
</DetachCompileContext.Provider>
|
||||
)
|
||||
}
|
||||
|
||||
return DetachCompileProvider
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user