build(deps): update pnpm to v11.1.2 and enforce workspace settings
Upgrade pnpm version to 11.1.2 across Dockerfile, workflows, and package.json. Add pnpm-workspace.yaml to enable workspace features. Update all docs-related scripts and CI jobs to use --ignore-workspace for isolated docs-site installs. Set packageManager field in package.json for explicit version control. This ensures consistent dependency management and prepares for multi-package workspace support.
This commit is contained in:
parent
80f9386a6c
commit
288af0f370
7 changed files with 34 additions and 31 deletions
6
.github/workflows/docs-check.yml
vendored
6
.github/workflows/docs-check.yml
vendored
|
|
@ -21,7 +21,7 @@ jobs:
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4
|
uses: pnpm/action-setup@v4
|
||||||
with:
|
with:
|
||||||
version: 9
|
version: 11
|
||||||
|
|
||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
|
|
@ -31,7 +31,7 @@ jobs:
|
||||||
cache-dependency-path: docs-site/pnpm-lock.yaml
|
cache-dependency-path: docs-site/pnpm-lock.yaml
|
||||||
|
|
||||||
- name: Install docs dependencies
|
- name: Install docs dependencies
|
||||||
run: pnpm --dir docs-site install --frozen-lockfile
|
run: pnpm --ignore-workspace --dir docs-site install --frozen-lockfile
|
||||||
|
|
||||||
- name: Build docs
|
- name: Build docs
|
||||||
run: pnpm --dir docs-site build
|
run: pnpm --ignore-workspace --dir docs-site build
|
||||||
|
|
|
||||||
6
.github/workflows/docs-deploy.yml
vendored
6
.github/workflows/docs-deploy.yml
vendored
|
|
@ -39,7 +39,7 @@ jobs:
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4
|
uses: pnpm/action-setup@v4
|
||||||
with:
|
with:
|
||||||
version: 9
|
version: 11
|
||||||
|
|
||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
|
|
@ -49,7 +49,7 @@ jobs:
|
||||||
cache-dependency-path: docs-site/pnpm-lock.yaml
|
cache-dependency-path: docs-site/pnpm-lock.yaml
|
||||||
|
|
||||||
- name: Install docs dependencies
|
- name: Install docs dependencies
|
||||||
run: pnpm --dir docs-site install --frozen-lockfile
|
run: pnpm --ignore-workspace --dir docs-site install --frozen-lockfile
|
||||||
|
|
||||||
- name: Build changelog feed
|
- name: Build changelog feed
|
||||||
env:
|
env:
|
||||||
|
|
@ -59,7 +59,7 @@ jobs:
|
||||||
run: node scripts/build-changelog-feed.mjs
|
run: node scripts/build-changelog-feed.mjs
|
||||||
|
|
||||||
- name: Build docs
|
- name: Build docs
|
||||||
run: pnpm --dir docs-site build
|
run: pnpm --ignore-workspace --dir docs-site build
|
||||||
|
|
||||||
- name: Upload Pages artifact
|
- name: Upload Pages artifact
|
||||||
uses: actions/upload-pages-artifact@v3
|
uses: actions/upload-pages-artifact@v3
|
||||||
|
|
|
||||||
8
.github/workflows/docs-version-on-tag.yml
vendored
8
.github/workflows/docs-version-on-tag.yml
vendored
|
|
@ -32,7 +32,7 @@ jobs:
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4
|
uses: pnpm/action-setup@v4
|
||||||
with:
|
with:
|
||||||
version: 9
|
version: 11
|
||||||
|
|
||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
|
|
@ -42,7 +42,7 @@ jobs:
|
||||||
cache-dependency-path: docs-site/pnpm-lock.yaml
|
cache-dependency-path: docs-site/pnpm-lock.yaml
|
||||||
|
|
||||||
- name: Install docs dependencies
|
- name: Install docs dependencies
|
||||||
run: pnpm --dir docs-site install --frozen-lockfile
|
run: pnpm --ignore-workspace --dir docs-site install --frozen-lockfile
|
||||||
|
|
||||||
- name: Snapshot docs version
|
- name: Snapshot docs version
|
||||||
env:
|
env:
|
||||||
|
|
@ -52,11 +52,11 @@ jobs:
|
||||||
if [ -f docs-site/versions.json ] && grep -q "\"${VERSION}\"" docs-site/versions.json; then
|
if [ -f docs-site/versions.json ] && grep -q "\"${VERSION}\"" docs-site/versions.json; then
|
||||||
echo "Version ${VERSION} already exists in versions.json; skipping docs:version"
|
echo "Version ${VERSION} already exists in versions.json; skipping docs:version"
|
||||||
else
|
else
|
||||||
pnpm --dir docs-site docusaurus docs:version "${VERSION}"
|
pnpm --ignore-workspace --dir docs-site docusaurus docs:version "${VERSION}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Build docs
|
- name: Build docs
|
||||||
run: pnpm --dir docs-site build
|
run: pnpm --ignore-workspace --dir docs-site build
|
||||||
|
|
||||||
- name: Commit docs snapshot
|
- name: Commit docs snapshot
|
||||||
id: commit_snapshot
|
id: commit_snapshot
|
||||||
|
|
|
||||||
2
.github/workflows/playwright.yml
vendored
2
.github/workflows/playwright.yml
vendored
|
|
@ -20,7 +20,7 @@ jobs:
|
||||||
node-version: lts/*
|
node-version: lts/*
|
||||||
- uses: pnpm/action-setup@v4
|
- uses: pnpm/action-setup@v4
|
||||||
with:
|
with:
|
||||||
version: 9
|
version: 11
|
||||||
- name: Install system dependencies
|
- name: Install system dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ RUN cp "$(command -v weed)" /tmp/weed && \
|
||||||
FROM node:lts-alpine AS app-builder
|
FROM node:lts-alpine AS app-builder
|
||||||
|
|
||||||
# Install pnpm globally
|
# Install pnpm globally
|
||||||
RUN npm install -g pnpm
|
RUN npm install -g pnpm@11.1.2
|
||||||
|
|
||||||
# Create app directory
|
# Create app directory
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
@ -60,7 +60,7 @@ FROM node:lts-alpine AS runner
|
||||||
RUN apk add --no-cache ca-certificates libreoffice-writer
|
RUN apk add --no-cache ca-certificates libreoffice-writer
|
||||||
|
|
||||||
# Install pnpm globally for running the app
|
# Install pnpm globally for running the app
|
||||||
RUN npm install -g pnpm
|
RUN npm install -g pnpm@11.1.2
|
||||||
|
|
||||||
# App runtime directory
|
# App runtime directory
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
|
||||||
25
package.json
25
package.json
|
|
@ -2,6 +2,7 @@
|
||||||
"name": "openreader",
|
"name": "openreader",
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
"packageManager": "pnpm@11.1.2",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "node scripts/openreader-entrypoint.mjs -- pnpm dev:raw",
|
"dev": "node scripts/openreader-entrypoint.mjs -- pnpm dev:raw",
|
||||||
"dev:raw": "next dev --turbopack -p 3003",
|
"dev:raw": "next dev --turbopack -p 3003",
|
||||||
|
|
@ -14,12 +15,12 @@
|
||||||
"migrate-fs": "node scripts/migrate-fs-v2.mjs",
|
"migrate-fs": "node scripts/migrate-fs-v2.mjs",
|
||||||
"migrate-fs:dry-run": "node scripts/migrate-fs-v2.mjs --dry-run true",
|
"migrate-fs:dry-run": "node scripts/migrate-fs-v2.mjs --dry-run true",
|
||||||
"generate": "node drizzle/scripts/generate.mjs",
|
"generate": "node drizzle/scripts/generate.mjs",
|
||||||
"docs:init": "pnpm --dir docs-site install",
|
"docs:init": "pnpm --ignore-workspace --dir docs-site install",
|
||||||
"docs:dev": "pnpm --dir docs-site start",
|
"docs:dev": "pnpm --ignore-workspace --dir docs-site start",
|
||||||
"docs:build": "pnpm --dir docs-site build",
|
"docs:build": "pnpm --ignore-workspace --dir docs-site build",
|
||||||
"docs:serve": "pnpm --dir docs-site serve",
|
"docs:serve": "pnpm --ignore-workspace --dir docs-site serve",
|
||||||
"docs:version": "pnpm --dir docs-site docusaurus docs:version",
|
"docs:version": "pnpm --ignore-workspace --dir docs-site docusaurus docs:version",
|
||||||
"docs:clear": "pnpm --dir docs-site clear"
|
"docs:clear": "pnpm --ignore-workspace --dir docs-site clear"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@aws-sdk/client-s3": "^3.987.0",
|
"@aws-sdk/client-s3": "^3.987.0",
|
||||||
|
|
@ -79,17 +80,5 @@
|
||||||
"postcss": "^8.5.6",
|
"postcss": "^8.5.6",
|
||||||
"tailwindcss": "^3.4.19",
|
"tailwindcss": "^3.4.19",
|
||||||
"typescript": "^5.9.3"
|
"typescript": "^5.9.3"
|
||||||
},
|
|
||||||
"pnpm": {
|
|
||||||
"onlyBuiltDependencies": [
|
|
||||||
"@napi-rs/canvas",
|
|
||||||
"better-sqlite3",
|
|
||||||
"ffmpeg-static"
|
|
||||||
],
|
|
||||||
"overrides": {
|
|
||||||
"lodash": "^4.17.23",
|
|
||||||
"@xmldom/xmldom": "^0.9.8",
|
|
||||||
"@types/localforage": "npm:empty-module@0.0.2"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
14
pnpm-workspace.yaml
Normal file
14
pnpm-workspace.yaml
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
packages:
|
||||||
|
- .
|
||||||
|
|
||||||
|
strictDepBuilds: false
|
||||||
|
|
||||||
|
allowBuilds:
|
||||||
|
'@napi-rs/canvas': true
|
||||||
|
better-sqlite3: true
|
||||||
|
ffmpeg-static: true
|
||||||
|
|
||||||
|
overrides:
|
||||||
|
lodash: ^4.17.23
|
||||||
|
'@xmldom/xmldom': ^0.9.8
|
||||||
|
'@types/localforage': npm:empty-module@0.0.2
|
||||||
Loading…
Reference in a new issue