From a1bd23acb23cf26b1e6a71cb5ebf0711dcef4fcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E5=91=98=E9=98=BF=E6=B1=9F=28Relakkes?= =?UTF-8?q?=29?= Date: Tue, 21 Apr 2026 01:09:43 +0800 Subject: [PATCH] Restore docs workflow installs after adding the WebFetch dependency The main branch push introduced a new root dependency for WebFetch fixes, but package-lock.json was not refreshed, so the docs workflow's npm ci step failed before it could even build VitePress. This syncs the lockfile, upgrades the docs workflow to Node 22 for the current parser dependency requirements, and includes package-lock.json in the workflow trigger set. Constraint: The docs pipeline uses npm ci, which requires package.json and package-lock.json to stay exactly in sync Rejected: Leave the workflow on Node 20 | continues to emit avoidable engine warnings for current docs parser dependencies Rejected: Switch docs workflow from npm ci to npm install | weakens reproducibility instead of fixing the lockfile contract Confidence: high Scope-risk: narrow Reversibility: clean Directive: Whenever root dependencies change, keep package-lock.json in the same commit so docs and other npm-based workflows remain green Tested: npm ci Not-tested: Remote GitHub Actions rerun after pushing this fix --- .github/workflows/deploy-docs.yml | 3 ++- package-lock.json | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 469dfa42..4fd1ebed 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -6,6 +6,7 @@ on: paths: - 'docs/**' - 'package.json' + - 'package-lock.json' - '.github/workflows/deploy-docs.yml' workflow_dispatch: @@ -30,7 +31,7 @@ jobs: - name: Setup Node uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 cache: npm - name: Setup Pages diff --git a/package-lock.json b/package-lock.json index d692038c..18d78c53 100644 --- a/package-lock.json +++ b/package-lock.json @@ -61,6 +61,7 @@ "strip-ansi": "^7.2.0", "supports-hyperlinks": "^4.4.0", "tree-kill": "^1.2.2", + "turndown": "^7.2.4", "type-fest": "^5.5.0", "undici": "^7.24.6", "usehooks-ts": "^3.1.1", @@ -1789,6 +1790,12 @@ "langium": "^4.0.0" } }, + "node_modules/@mixmark-io/domino": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/@mixmark-io/domino/-/domino-2.2.0.tgz", + "integrity": "sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw==", + "license": "BSD-2-Clause" + }, "node_modules/@modelcontextprotocol/sdk": { "version": "1.29.0", "resolved": "https://registry.npmmirror.com/@modelcontextprotocol/sdk/-/sdk-1.29.0.tgz", @@ -8071,6 +8078,19 @@ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, + "node_modules/turndown": { + "version": "7.2.4", + "resolved": "https://registry.npmmirror.com/turndown/-/turndown-7.2.4.tgz", + "integrity": "sha512-I8yFsfRzmzK0WV1pNNOA4A7y4RDfFxPRxb3t+e3ui14qSGOxGtiSP6GjeX+Y6CHb7HYaFj7ECUD7VE5kQMZWGQ==", + "license": "MIT", + "dependencies": { + "@mixmark-io/domino": "^2.2.0" + }, + "engines": { + "node": ">=18", + "npm": ">=9" + } + }, "node_modules/type-fest": { "version": "5.5.0", "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-5.5.0.tgz",