Acf pnp migration master (#34040)

GitOrigin-RevId: 418eab9bc733f27a6e0f8f04a2a8e21c2f5a491f
This commit is contained in:
Anna Claire Fields
2026-06-17 08:07:16 +00:00
committed by Copybot
parent d44e862a0c
commit 8f07308342
93 changed files with 1490 additions and 209 deletions
+6 -3
View File
@@ -10,13 +10,12 @@ WORKDIR /overleaf
# Add required source files for yarn install
# -------------------------------------------
COPY --parents libraries/*/package.json .yarn/patches/ services/*/package.json tools/migrations/ package.json yarn.lock .yarnrc.yml /overleaf/
COPY --parents libraries/*/package.json .yarn/patches/ services/*/package.json tools/migrations/ package.json yarn.lock .yarnrc.yml .pnp.register.mjs /overleaf/
COPY server-ce/genScript.js server-ce/services.js /overleaf/
# Pre-install yarn via corepack so it is available at runtime for all users
# -------------------------------------------------------------------------
# Corepack setup, shared between all the images.
ENV PATH="/overleaf/node_modules/.bin:$PATH"
ENV COREPACK_HOME=/opt/corepack
RUN corepack enable && corepack install -g yarn@4.14.1
ENV COREPACK_ENABLE_NETWORK=0
@@ -34,10 +33,14 @@ COPY --parents libraries/ services/ tools/migrations/ /overleaf/
RUN --mount=type=cache,target=/root/.cache \
--mount=type=cache,target=/root/.yarn/berry/cache,id=server-ce-yarn-cache \
--mount=type=cache,target=/usr/local/share/.cache/yarn,id=server-ce-yarn-fallback-cache \
--mount=type=cache,target=/overleaf/services/web/node_modules/.cache,id=server-ce-webpack-cache \
--mount=type=cache,target=/overleaf/services/web/.cache,id=server-ce-webpack-cache \
--mount=type=tmpfs,target=/tmp \
node genScript compile | bash
# Enable Yarn PnP resolution for all Node.js processes
# -----------------------------------------------------
ENV NODE_OPTIONS="--require /overleaf/.pnp.cjs --import /overleaf/.pnp.register.mjs"
# Copy runit service startup scripts to its location
# --------------------------------------------------
ADD server-ce/runit /etc/service
+1
View File
@@ -1,2 +1,3 @@
data/
docker-mailtrap/
cypress/reporter/
-1
View File
@@ -1,7 +1,6 @@
FROM node:24.14.1
# Corepack setup, shared between all the images.
ENV PATH="/overleaf/node_modules/.bin:$PATH"
ENV COREPACK_HOME=/opt/corepack
RUN corepack enable && corepack install -g yarn@4.14.1
ENV COREPACK_ENABLE_NETWORK=0
+4 -1
View File
@@ -33,10 +33,13 @@ if (process.env.CYPRESS_SHARD && !process.env.SPEC_PATTERN) {
const specPattern = process.env.SPEC_PATTERN || './**/*.spec.ts'
// Cypress's Electron process uses PackherdModuleLoader which doesn't go through
// PnP hooks. Reporter packages are materialized into /tmp/cypress-reporter by
// scripts/materialize-cypress-reporter.cjs at container startup.
let reporterOptions = {}
if (process.env.CI) {
reporterOptions = {
reporter: `${process.env.MONOREPO}/node_modules/cypress-multi-reporters`,
reporter: '/tmp/cypress-reporter/node_modules/cypress-multi-reporters',
reporterOptions: {
configFile: 'cypress/cypress-multi-reporters.cjs',
},
+12 -8
View File
@@ -79,12 +79,15 @@ services:
working_dir: $PWD
volumes:
- $PWD:$PWD
- $MONOREPO/libraries:$MONOREPO/libraries
- $MONOREPO/node_modules:$MONOREPO/node_modules
- $MONOREPO/.yarn:$MONOREPO/.yarn
- $MONOREPO/.yarnrc.yml:$MONOREPO/.yarnrc.yml
- $MONOREPO/package.json:$MONOREPO/package.json
- $MONOREPO/yarn.lock:$MONOREPO/yarn.lock
- $MONOREPO/libraries:$MONOREPO/libraries:ro
- $MONOREPO/scripts:$MONOREPO/scripts:ro
- $MONOREPO/.yarn:$MONOREPO/.yarn:ro
- $MONOREPO/.yarnrc.yml:$MONOREPO/.yarnrc.yml:ro
- $MONOREPO/.pnp.cjs:$MONOREPO/.pnp.cjs:ro
- $MONOREPO/.pnp.loader.mjs:$MONOREPO/.pnp.loader.mjs:ro
- $MONOREPO/.pnp.register.mjs:$MONOREPO/.pnp.register.mjs:ro
- $MONOREPO/package.json:$MONOREPO/package.json:ro
- $MONOREPO/yarn.lock:$MONOREPO/yarn.lock:ro
environment:
MONOREPO:
CYPRESS_SHARD:
@@ -108,15 +111,16 @@ services:
host-admin:
build: .
entrypoint: ["node", "--watch", "host-admin.js"]
entrypoint: ["yarn", "node", "--watch", "host-admin.js"]
# See comment in Makefile regarding matching file paths
working_dir: $PWD
volumes:
- $PWD:$PWD
- $MONOREPO/libraries:$MONOREPO/libraries:ro
- $MONOREPO/node_modules:$MONOREPO/node_modules:ro
- $MONOREPO/.yarn:$MONOREPO/.yarn:ro
- $MONOREPO/.yarnrc.yml:$MONOREPO/.yarnrc.yml:ro
- $MONOREPO/.pnp.cjs:$MONOREPO/.pnp.cjs:ro
- $MONOREPO/.pnp.loader.mjs:$MONOREPO/.pnp.loader.mjs:ro
- $MONOREPO/package.json:$MONOREPO/package.json:ro
- $MONOREPO/yarn.lock:$MONOREPO/yarn.lock:ro
- /var/run/docker.sock:/var/run/docker.sock
+7 -2
View File
@@ -4,8 +4,9 @@
"private": true,
"type": "module",
"scripts": {
"cypress:open": "cypress open --e2e --browser chrome",
"cypress:run": "cypress run --e2e --browser chrome",
"materialize-reporter": "node ../../scripts/materialize-cypress-reporter.cjs /tmp/cypress-reporter",
"cypress:open": "yarn run materialize-reporter && cypress open --e2e --browser chrome",
"cypress:run": "yarn run materialize-reporter && cypress run --e2e --browser chrome",
"lint": "eslint --cache --cache-location ../../.cache/eslint/ --max-warnings 0 --format unix --ext .js,.jsx,.mjs,.ts,.tsx .",
"lint:fix": "eslint --cache --cache-location ../../.cache/eslint/ --fix --ext .js,.jsx,.mjs,.ts,.tsx ."
},
@@ -20,11 +21,15 @@
"body-parser": "1.20.4",
"cypress": "15.12.0",
"cypress-multi-reporters": "^2.0.5",
"eslint": "^10.4.0",
"eslint-formatter-unix": "^8.40.0",
"express": "4.22.1",
"isomorphic-git": "^1.33.1",
"js-yaml": "^4.1.1",
"mocha": "^11.7.5",
"mocha-junit-reporter": "^2.2.1",
"pdfjs-dist": "^5.1.91",
"typescript": "^5.0.4",
"uuid": "^9.0.1",
"zod-validation-error": "^4.0.1"
}