Files
heros_web/package.json

106 lines
8.4 KiB
JSON

{
"name": "heros-web",
"version": "0.1.0",
"private": true,
"type": "module",
"scripts": {
"dev": "vite --host 0.0.0.0",
"debug": "vite --host 0.0.0.0 --debug",
"build": "tsc && vite build",
"generate:audio": "node scripts/generate-bgm.mjs",
"generate:camp-audio": "node scripts/generate-camp-audio.mjs",
"generate:sfx": "node scripts/generate-sfx.mjs",
"generate:battle-ui-icons": "python scripts/build-battle-ui-icons.py",
"export:battle-map-v2-data": "node scripts/export-battle-map-v2-data.mjs",
"generate:battle-maps-v2": "node scripts/export-battle-map-v2-data.mjs && python scripts/generate-battle-maps-v2.py",
"audit:equipment-icons": "node scripts/audit-equipment-icon-quality.mjs",
"audit:visual-assets": "node scripts/audit-visual-asset-quality.mjs",
"preview": "vite preview --host 0.0.0.0",
"measure:performance": "node scripts/measure-performance.mjs",
"verify:performance": "node scripts/measure-performance.mjs",
"verify:battle-data": "node scripts/verify-battle-scenario-data.mjs",
"verify:narrative-continuity": "node scripts/verify-narrative-continuity.mjs",
"verify:campaign-data": "node scripts/verify-campaign-flow-data.mjs",
"verify:campaign-save": "node scripts/verify-campaign-save-normalization.mjs",
"verify:campaign-completion": "node scripts/verify-campaign-completion.mjs",
"verify:campaign-presentation": "node scripts/verify-campaign-presentation-profiles.mjs",
"verify:growth-consistency": "node scripts/verify-growth-consistency.mjs",
"verify:battle-save": "node scripts/verify-battle-save-normalization.mjs",
"verify:battle-usables": "node scripts/verify-battle-usables.mjs",
"verify:combat-presentation": "node scripts/verify-combat-presentation-settings.mjs",
"verify:enemy-intent": "node scripts/verify-enemy-intent-rollout.mjs",
"verify:sortie-synergy": "node scripts/verify-sortie-synergy.mjs",
"verify:sortie-recommendations": "node scripts/verify-sortie-recommendations.mjs",
"verify:sortie-roster-history": "node scripts/verify-sortie-roster-history.mjs",
"verify:camp-rewards": "node scripts/verify-camp-reward-data.mjs",
"verify:city-stays": "node scripts/verify-city-stay-data.mjs",
"verify:city-equipment-preparation": "node scripts/verify-city-equipment-preparation.mjs",
"verify:city-stays:browser": "node scripts/verify-city-stay-browser.mjs",
"verify:xuzhou-equipment-link:browser": "node scripts/verify-xuzhou-equipment-link-browser.mjs",
"verify:xuzhou-stay-payoff:browser": "node scripts/verify-xuzhou-stay-battle-payoff-browser.mjs",
"verify:prologue-village": "node scripts/verify-prologue-village-data.mjs",
"verify:first-battle-camp-followup": "node scripts/verify-first-battle-camp-followup.mjs",
"verify:first-battle-camaraderie": "node scripts/verify-first-battle-camaraderie-memory.mjs",
"verify:first-pursuit-scout": "node scripts/verify-first-pursuit-scout-memory.mjs",
"verify:first-pursuit-camp:browser": "node scripts/verify-first-pursuit-camp-exploration-browser.mjs",
"verify:second-battle-relief": "node scripts/verify-second-battle-relief-exploration.mjs",
"verify:second-battle-relief:browser": "node scripts/verify-second-battle-relief-exploration-browser.mjs",
"verify:third-battle-return": "node scripts/verify-third-battle-return-dialogue.mjs",
"verify:third-battle-return:browser": "node scripts/verify-third-battle-priority-return-browser.mjs",
"verify:third-camp-preparation": "node scripts/verify-third-camp-preparation.mjs",
"verify:third-camp-preparation:browser": "node scripts/verify-third-camp-preparation-browser.mjs",
"verify:prologue-exploration-assets": "node scripts/verify-prologue-exploration-asset-data.mjs",
"verify:exploration-backgrounds": "node scripts/verify-prologue-exploration-asset-data.mjs",
"verify:exploration-characters": "node scripts/verify-exploration-character-asset-data.mjs",
"verify:prologue-dialogue-portraits": "node scripts/verify-prologue-dialogue-portrait-data.mjs",
"verify:prologue-village:browser": "node scripts/verify-prologue-village-browser.mjs",
"verify:camp-skins": "node scripts/verify-camp-skin-data.mjs",
"verify:camp-soundscapes": "node scripts/verify-camp-soundscape-data.mjs",
"verify:sound-director": "node scripts/verify-sound-director.mjs",
"verify:campaign-recruits": "node scripts/verify-campaign-recruit-data.mjs",
"verify:equipment-catalog": "node scripts/verify-equipment-catalog-data.mjs",
"verify:inventory-rewards": "node scripts/verify-inventory-reward-data.mjs",
"verify:story-assets": "node scripts/verify-story-asset-data.mjs",
"verify:story-images": "node scripts/verify-story-image-asset-data.mjs",
"verify:visual-assets": "node scripts/verify-visual-asset-data.mjs",
"verify:unit-sprites": "node scripts/verify-unit-sprite-asset-data.mjs",
"verify:unit-action-assets": "python scripts/optimize-unit-action-assets.py && node scripts/verify-battle-action-asset-budgets.mjs",
"verify:unit-action-assets:dist": "node scripts/verify-battle-action-asset-budgets.mjs --dist",
"verify:loader-lifecycle": "node scripts/verify-loader-lifecycle.mjs",
"verify:battle-map-assets": "node scripts/verify-battle-map-asset-data.mjs",
"verify:audio-assets": "node scripts/verify-audio-asset-data.mjs",
"verify:av-feedback": "node scripts/verify-audiovisual-feedback.mjs",
"verify:av-feedback:browser": "node scripts/verify-audiovisual-feedback-browser.mjs",
"verify:desktop-viewport": "node scripts/verify-desktop-browser-viewport.mjs",
"verify:static-data": "node scripts/verify-static-data.mjs",
"verify:flow": "node scripts/verify-flow-segments.mjs",
"verify:flow:manifest": "node scripts/verify-flow-segments.mjs --list-segments",
"verify:flow:monolith": "node scripts/verify-flow.mjs",
"verify:flow:segment": "node scripts/verify-flow.mjs",
"verify:interaction-ux": "node scripts/verify-interaction-ux.mjs",
"verify:save-flow": "node scripts/verify-save-retry-flow.mjs",
"verify:release": "node scripts/verify-release-candidate.mjs",
"verify:local-release": "pnpm run verify:static-data && pnpm run verify:unit-action-assets && pnpm run verify:enemy-intent && tsc --noEmit && pnpm run build && pnpm run verify:unit-action-assets:dist && pnpm run verify:loader-lifecycle && pnpm run verify:interaction-ux && pnpm run verify:city-stays:browser && pnpm run verify:xuzhou-equipment-link:browser && pnpm run verify:xuzhou-stay-payoff:browser && pnpm run verify:prologue-village:browser && pnpm run verify:first-pursuit-camp:browser && pnpm run verify:second-battle-relief:browser && pnpm run verify:third-battle-return:browser && pnpm run verify:third-camp-preparation:browser && pnpm run verify:av-feedback:browser && pnpm run verify:release && pnpm run verify:performance",
"verify:1.0": "pnpm run verify:local-release && pnpm run verify:flow && pnpm run qa:campaign-complete && pnpm run qa:battle-maps:webgl",
"verify:public-deploy": "node scripts/verify-public-deploy.mjs",
"qa:representative": "node scripts/qa-representative-battles.mjs",
"qa:battle-maps:webgl": "node scripts/qa-representative-battles.mjs --set=campaign --battles=1,9,18,22,33,40,46,54,59,61,64,66 --renderer=webgl --report=dist/qa-battle-maps-webgl.json",
"qa:smoke": "node scripts/qa-representative-battles.mjs --set=smoke",
"qa:early": "node scripts/qa-representative-battles.mjs --set=campaign --battles=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66",
"qa:campaign-complete": "node scripts/qa-representative-battles.mjs --set=campaign --cumulative=1 --completion=1 --renderer=canvas --report=dist/qa-campaign-complete.json",
"qa:early:repeat": "node scripts/qa-repeat.mjs --set=campaign --battles=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66",
"deploy:nas": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts/deploy-nas.ps1 -Build",
"deploy:nas:dist": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts/deploy-nas.ps1",
"ship:release": "node scripts/ship-release.mjs"
},
"dependencies": {
"phaser": "^3.90.0"
},
"devDependencies": {
"@types/node": "^24.0.4",
"playwright": "^1.61.0",
"typescript": "^5.8.3",
"vite": "^6.3.5"
}
}