Skip to content

Commit a812e36

Browse files
Copilotlongsizhuo
andcommitted
Further improve robustness of version parsing and error messages
- Use substring() instead of split() to handle edge cases in version parsing - Replace Node.js inline require with grep for better portability in CI - Add validation for empty version strings Co-authored-by: longsizhuo <114939201+longsizhuo@users.noreply.github.com>
1 parent b38713e commit a812e36

3 files changed

Lines changed: 6 additions & 4 deletions

File tree

.github/workflows/content-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
echo "This indicates a pnpm version mismatch or corrupted lockfile"
5757
echo ""
5858
echo "Expected pnpm version from package.json:"
59-
node -p "require('./package.json').packageManager || 'not specified'" || echo "Could not read package.json"
59+
grep -o 'pnpm@[^"]*' package.json | head -1 || echo "Could not extract version"
6060
echo ""
6161
echo "Actual pnpm version:"
6262
pnpm --version || echo "pnpm not found"

.github/workflows/deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
echo "This indicates a pnpm version mismatch or corrupted lockfile"
4646
echo ""
4747
echo "Expected pnpm version from package.json:"
48-
node -p "require('./package.json').packageManager || 'not specified'" || echo "Could not read package.json"
48+
grep -o 'pnpm@[^"]*' package.json | head -1 || echo "Could not extract version"
4949
echo ""
5050
echo "Actual pnpm version:"
5151
pnpm --version || echo "pnpm not found"

scripts/check-pnpm-version.mjs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,12 @@ try {
3030
process.exit(1);
3131
}
3232

33-
const expectedVersion = packageManager.split('@')[1];
33+
// Extract version: "pnpm@10.20.0" -> "10.20.0"
34+
const expectedVersion = packageManager.substring(packageManager.indexOf('@') + 1);
3435

35-
if (!expectedVersion) {
36+
if (!expectedVersion || expectedVersion.trim() === '') {
3637
console.error('❌ Error: Could not parse pnpm version from packageManager field');
38+
console.error(` packageManager value: ${packageManager}`);
3739
process.exit(1);
3840
}
3941

0 commit comments

Comments
 (0)