fix(cli): support cross-platform python execution on windows (#462)

- replaced hardcoded python3 in npm scripts with a node wrapper to support windows natively without breaking unix systems

- updated stale catalog-summary.json snapshot

Co-authored-by: khietan <118370929+khietan@users.noreply.github.com>
This commit is contained in:
nhatlong90 2026-09-01 01:13:07 +07:00 committed by GitHub
parent c7d413e7c3
commit bd19ab9070
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 31 additions and 13 deletions

View File

@ -15,14 +15,14 @@
"dev": "bun run src/index.ts",
"sync:assets": "node scripts/sync-assets.mjs",
"check:assets": "node scripts/sync-assets.mjs --check",
"validate:csv": "cd .. && python3 scripts/validate-csv.py",
"validate:semantic": "cd .. && python3 src/ui-ux-pro-max/scripts/validate_data.py",
"validate:agent-guide": "cd .. && python3 scripts/validate-agent-guide.py",
"validate:catalog-summary": "cd .. && python3 scripts/generate-catalog-summary.py --check",
"test:python": "cd .. && python3 -m unittest discover -s src/ui-ux-pro-max/scripts/tests -p 'test_*.py'",
"evaluate:relevance": "cd .. && python3 scripts/evaluate-relevance.py",
"evaluate:relevance:calibration": "cd .. && python3 scripts/evaluate-relevance.py --split calibration",
"evaluate:relevance:held-out": "cd .. && python3 scripts/evaluate-relevance.py --split held_out",
"validate:csv": "cd .. && node cli/scripts/run-python.mjs scripts/validate-csv.py",
"validate:semantic": "cd .. && node cli/scripts/run-python.mjs src/ui-ux-pro-max/scripts/validate_data.py",
"validate:agent-guide": "cd .. && node cli/scripts/run-python.mjs scripts/validate-agent-guide.py",
"validate:catalog-summary": "cd .. && node cli/scripts/run-python.mjs scripts/generate-catalog-summary.py --check",
"test:python": "cd .. && node cli/scripts/run-python.mjs -m unittest discover -s src/ui-ux-pro-max/scripts/tests -p 'test_*.py'",
"evaluate:relevance": "cd .. && node cli/scripts/run-python.mjs scripts/evaluate-relevance.py",
"evaluate:relevance:calibration": "cd .. && node cli/scripts/run-python.mjs scripts/evaluate-relevance.py --split calibration",
"evaluate:relevance:held-out": "cd .. && node cli/scripts/run-python.mjs scripts/evaluate-relevance.py --split held_out",
"smoke:domains": "cd .. && bash scripts/smoke-domains.sh",
"smoke:stacks": "cd .. && bash scripts/smoke-stacks.sh",
"verify:data": "npm run validate:csv && npm run validate:semantic && npm run validate:agent-guide && npm run validate:catalog-summary && npm run test:python && npm run evaluate:relevance && npm run smoke:domains && npm run smoke:stacks && npm run check:assets",

View File

@ -0,0 +1,18 @@
#!/usr/bin/env node
import { spawnSync } from 'node:child_process';
import { platform } from 'node:os';
const cmd = platform() === 'win32' ? 'python' : 'python3';
const args = process.argv.slice(2);
const result = spawnSync(cmd, args, {
stdio: 'inherit',
cwd: process.cwd()
});
if (result.error) {
console.error(`Failed to start ${cmd}: ${result.error.message}`);
process.exit(1);
}
process.exit(result.status ?? 0);

View File

@ -1,6 +1,6 @@
{
"schemaVersion": 1,
"verifiedAt": "2026-08-13",
"verifiedAt": "2026-08-26",
"counts": {
"styles": {
"total": 88,
@ -24,16 +24,16 @@
},
"snapshots": {
"google-fonts.csv": {
"sha256": "1c8c3b2ea1faf6a1012da463756def8b3889db33f2226f0343bb4daa80307d03"
"sha256": "d03194d2c35a2cdc4c6846ddde9beb54fdd1f81a3ddc80fead3c0ba2842b75fb"
},
"google-font-licenses.json": {
"sha256": "35688523f2955795caa1a47c53b83099e60c1708461476f9cc3a050cf3b0148a"
"sha256": "7c35e410dd8b5853ca86c3e0e3d3cfb73db1ffa3d9a2fa688c182bc44cd9a8d7"
},
"icons.csv": {
"sha256": "50816c6012030178195a16ee481ebf58b47bd985d70e8ec58886cc83f6eddafc"
"sha256": "272ccf0eb60e50ba7af55de3ef5c195d92e1862d411b6cb80d81dec4fe56deee"
},
"phosphor-icons-upstream.json": {
"sha256": "2399325233b277b5c97a80e6a5e8941154f5d057beee4e7613db87c87d700236"
"sha256": "81c37fb3583eb43a91e93f1a62c4da3b4ff089624c06bfe53950b8205b54974d"
}
},
"promotionPolicy": {