fix(deps): unblock pi install by overriding the vitepress-plugin-mermaid peer

`pi install git:github.com/CharlesWiltgen/Axiom` — the command in README.md and
the Pi setup guide — failed for every user with npm ERESOLVE. Pi runs a bare
`npm install --omit=dev` in its clone; --omit=dev skips INSTALLING
devDependencies but npm still RESOLVES the whole graph, so a docs-toolchain
conflict aborted an install that has nothing to install (the root manifest
declares no runtime dependencies at all).

vitepress-plugin-mermaid peers on vitepress ^1 and has no v2-compatible release,
and mermaid is used on 25 docs pages, so the plugin cannot be dropped. A narrow
`overrides` entry fixes resolution without disabling peer checks repo-wide:
strict `npm ci` now passes, so both workflows drop --legacy-peer-deps. That flag
was what hid this from CI for seven months — it landed 73 seconds after mermaid
did (e53671ac).

Toolchain moved to current while here: vitepress 2.0.0-alpha.15 (Nov 2025) ->
2.0.0-alpha.19, and mermaid 11.12.2 -> 11.17.1 inside the existing ^11 range.
npm audit drops from 15 vulnerabilities (8 moderate, 7 high) to 2, clearing a
DOMPurify XSS. Docs build stays green with all 25 mermaid pages rendering.

Closes #54.
This commit is contained in:
Charles Wiltgen
2026-08-24 09:57:23 -07:00
parent a389c4802f
commit 545798e3bb
4 changed files with 836 additions and 1224 deletions
+1 -1
View File
@@ -37,6 +37,6 @@ jobs:
with:
node-version: '24'
- run: npm ci --legacy-peer-deps
- run: npm ci
- run: npm run test:cursor
- run: npm run check:cursor
+1 -1
View File
@@ -25,7 +25,7 @@ jobs:
node-version: '24'
- name: Install dependencies
run: npm ci --legacy-peer-deps
run: npm ci
- name: Build VitePress site
run: npm run docs:build
+828 -1221
View File
File diff suppressed because it is too large Load Diff
+6 -1
View File
@@ -34,9 +34,14 @@
"devDependencies": {
"gray-matter": "^4.0.3",
"mermaid": "^11.12.2",
"vitepress": "2.0.0-alpha.15",
"vitepress": "2.0.0-alpha.19",
"vitepress-plugin-mermaid": "^2.0.17"
},
"overrides": {
"vitepress-plugin-mermaid": {
"vitepress": "$vitepress"
}
},
"keywords": [
"claude-code",
"ios",