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
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 9
|
||||
version: 11
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
|
|
@ -31,7 +31,7 @@ jobs:
|
|||
cache-dependency-path: docs-site/pnpm-lock.yaml
|
||||
|
||||
- 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
|
||||
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
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 9
|
||||
version: 11
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
|
|
@ -49,7 +49,7 @@ jobs:
|
|||
cache-dependency-path: docs-site/pnpm-lock.yaml
|
||||
|
||||
- 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
|
||||
env:
|
||||
|
|
@ -59,7 +59,7 @@ jobs:
|
|||
run: node scripts/build-changelog-feed.mjs
|
||||
|
||||
- name: Build docs
|
||||
run: pnpm --dir docs-site build
|
||||
run: pnpm --ignore-workspace --dir docs-site build
|
||||
|
||||
- name: Upload Pages artifact
|
||||
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
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 9
|
||||
version: 11
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
|
|
@ -42,7 +42,7 @@ jobs:
|
|||
cache-dependency-path: docs-site/pnpm-lock.yaml
|
||||
|
||||
- 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
|
||||
env:
|
||||
|
|
@ -52,11 +52,11 @@ jobs:
|
|||
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"
|
||||
else
|
||||
pnpm --dir docs-site docusaurus docs:version "${VERSION}"
|
||||
pnpm --ignore-workspace --dir docs-site docusaurus docs:version "${VERSION}"
|
||||
fi
|
||||
|
||||
- name: Build docs
|
||||
run: pnpm --dir docs-site build
|
||||
run: pnpm --ignore-workspace --dir docs-site build
|
||||
|
||||
- name: Commit docs snapshot
|
||||
id: commit_snapshot
|
||||
|
|
|
|||
2
.github/workflows/playwright.yml
vendored
2
.github/workflows/playwright.yml
vendored
|
|
@ -20,7 +20,7 @@ jobs:
|
|||
node-version: lts/*
|
||||
- uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 9
|
||||
version: 11
|
||||
- name: Install system dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ RUN cp "$(command -v weed)" /tmp/weed && \
|
|||
FROM node:lts-alpine AS app-builder
|
||||
|
||||
# Install pnpm globally
|
||||
RUN npm install -g pnpm
|
||||
RUN npm install -g pnpm@11.1.2
|
||||
|
||||
# Create app directory
|
||||
WORKDIR /app
|
||||
|
|
@ -60,7 +60,7 @@ FROM node:lts-alpine AS runner
|
|||
RUN apk add --no-cache ca-certificates libreoffice-writer
|
||||
|
||||
# Install pnpm globally for running the app
|
||||
RUN npm install -g pnpm
|
||||
RUN npm install -g pnpm@11.1.2
|
||||
|
||||
# App runtime directory
|
||||
WORKDIR /app
|
||||
|
|
|
|||
25
package.json
25
package.json
|
|
@ -2,6 +2,7 @@
|
|||
"name": "openreader",
|
||||
"version": "3.0.0",
|
||||
"private": true,
|
||||
"packageManager": "pnpm@11.1.2",
|
||||
"scripts": {
|
||||
"dev": "node scripts/openreader-entrypoint.mjs -- pnpm dev:raw",
|
||||
"dev:raw": "next dev --turbopack -p 3003",
|
||||
|
|
@ -14,12 +15,12 @@
|
|||
"migrate-fs": "node scripts/migrate-fs-v2.mjs",
|
||||
"migrate-fs:dry-run": "node scripts/migrate-fs-v2.mjs --dry-run true",
|
||||
"generate": "node drizzle/scripts/generate.mjs",
|
||||
"docs:init": "pnpm --dir docs-site install",
|
||||
"docs:dev": "pnpm --dir docs-site start",
|
||||
"docs:build": "pnpm --dir docs-site build",
|
||||
"docs:serve": "pnpm --dir docs-site serve",
|
||||
"docs:version": "pnpm --dir docs-site docusaurus docs:version",
|
||||
"docs:clear": "pnpm --dir docs-site clear"
|
||||
"docs:init": "pnpm --ignore-workspace --dir docs-site install",
|
||||
"docs:dev": "pnpm --ignore-workspace --dir docs-site start",
|
||||
"docs:build": "pnpm --ignore-workspace --dir docs-site build",
|
||||
"docs:serve": "pnpm --ignore-workspace --dir docs-site serve",
|
||||
"docs:version": "pnpm --ignore-workspace --dir docs-site docusaurus docs:version",
|
||||
"docs:clear": "pnpm --ignore-workspace --dir docs-site clear"
|
||||
},
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-s3": "^3.987.0",
|
||||
|
|
@ -79,17 +80,5 @@
|
|||
"postcss": "^8.5.6",
|
||||
"tailwindcss": "^3.4.19",
|
||||
"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