Skip to content

Commit cf6f0bb

Browse files
authored
Update frontend Dockerfiles based on cookieplone, also copy pnpm-lock.yaml (#92)
1 parent 209982f commit cf6f0bb

File tree

4 files changed

+31
-5
lines changed

4 files changed

+31
-5
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# 2025-10-30
2+
3+
- Update frontend Dockerfiles to make sure packages are properly locked. @davisagli
4+
15
# 2025-10-05
26

37
- Update to Plone 6.1.3, Volto 18.27.3, and Volto Light Theme 7.2.0. @mauritsvanrees @sneridagh @davisagli

frontend-seven/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ COPY --chown=node package.json /app/package.json.temp
1111

1212
RUN --mount=type=cache,id=pnpm,target=/app/.pnpm-store,uid=1000 <<EOT
1313
set -e
14-
python3 -c "import json; data = json.load(open('package.json.temp')); deps = data['dependencies']; data['dependencies'].update(deps); json.dump(data, open('package.json', 'w'), indent=2)"
14+
python3 -c "import json; orig_data = json.load(open('package.json.temp')); orig_deps = orig_data['dependencies']; data = json.load(open('package.json')); data['dependencies'].update(orig_deps); json.dump(data, open('package.json', 'w'), indent=2)"
1515
rm package.json.temp
1616
(cd core && git fetch --depth 1 origin seven:seven && git checkout seven)
1717
pnpm install && make build-deps

frontend-volto/Dockerfile

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,16 @@ FROM plone/frontend-builder:${VOLTO_VERSION} AS builder
55
COPY --chown=node packages/volto-demo /app/packages/volto-demo
66
COPY --chown=node volto.config.js /app/
77
COPY --chown=node package.json /app/package.json.temp
8+
COPY --chown=node mrs.developer.json /app/
9+
COPY --chown=node pnpm-workspace.yaml /app/
10+
COPY --chown=node pnpm-lock.yaml /app/
811

912
RUN --mount=type=cache,id=pnpm,target=/app/.pnpm-store,uid=1000 <<EOT
1013
set -e
11-
python3 -c "import json; data = json.load(open('package.json.temp')); deps = data['dependencies']; data['dependencies'].update(deps); json.dump(data, open('package.json', 'w'), indent=2)"
14+
python3 -c "import json; orig_data = json.load(open('package.json.temp')); orig_deps = orig_data['dependencies']; data = json.load(open('package.json')); data['dependencies'].update(orig_deps); json.dump(data, open('package.json', 'w'), indent=2)"
1215
rm package.json.temp
13-
pnpm install
16+
pnpm dlx mrs-developer missdev --no-config --fetch-https
17+
pnpm install && pnpm build:deps
1418
pnpm build
1519
pnpm install --prod
1620
EOT
@@ -23,3 +27,10 @@ LABEL maintainer="Plone Foundation <collective@plone.org>" \
2327
org.label-schema.vendor="Plone Foundation"
2428

2529
COPY --from=builder /app/ /app/
30+
31+
RUN <<EOT
32+
set -e
33+
npm i -g corepack@latest && corepack enable pnpm
34+
corepack use pnpm@9.1.1
35+
corepack prepare pnpm@9.1.1 --activate
36+
EOT

frontend/Dockerfile

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,16 @@ FROM plone/frontend-builder:${VOLTO_VERSION} AS builder
55
COPY --chown=node packages/volto-demo /app/packages/volto-demo
66
COPY --chown=node volto.config.js /app/
77
COPY --chown=node package.json /app/package.json.temp
8+
COPY --chown=node mrs.developer.json /app/
9+
COPY --chown=node pnpm-workspace.yaml /app/
10+
COPY --chown=node pnpm-lock.yaml /app/
811

912
RUN --mount=type=cache,id=pnpm,target=/app/.pnpm-store,uid=1000 <<EOT
1013
set -e
11-
python3 -c "import json; data = json.load(open('package.json.temp')); deps = data['dependencies']; data['dependencies'].update(deps); json.dump(data, open('package.json', 'w'), indent=2)"
14+
python3 -c "import json; orig_data = json.load(open('package.json.temp')); orig_deps = orig_data['dependencies']; data = json.load(open('package.json')); data['dependencies'].update(orig_deps); json.dump(data, open('package.json', 'w'), indent=2)"
1215
rm package.json.temp
13-
pnpm install
16+
pnpm dlx mrs-developer missdev --no-config --fetch-https
17+
pnpm install && pnpm build:deps
1418
pnpm build
1519
pnpm install --prod
1620
EOT
@@ -23,3 +27,10 @@ LABEL maintainer="Plone Foundation <collective@plone.org>" \
2327
org.label-schema.vendor="Plone Foundation"
2428

2529
COPY --from=builder /app/ /app/
30+
31+
RUN <<EOT
32+
set -e
33+
npm i -g corepack@latest && corepack enable pnpm
34+
corepack use pnpm@9.1.1
35+
corepack prepare pnpm@9.1.1 --activate
36+
EOT

0 commit comments

Comments
 (0)