diff --git a/package.json b/package.json index 1cea8b7..053a6dd 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "verify:unit-sprites": "node scripts/verify-unit-sprite-asset-data.mjs", "verify:battle-map-assets": "node scripts/verify-battle-map-asset-data.mjs", "verify:audio-assets": "node scripts/verify-audio-asset-data.mjs", + "verify:static-data": "node scripts/verify-static-data.mjs", "verify:flow": "node scripts/verify-flow.mjs", "verify:save-flow": "node scripts/verify-save-retry-flow.mjs", "verify:release": "node scripts/verify-release-candidate.mjs", diff --git a/scripts/verify-release-candidate.mjs b/scripts/verify-release-candidate.mjs index 102b2d9..ad14332 100644 --- a/scripts/verify-release-candidate.mjs +++ b/scripts/verify-release-candidate.mjs @@ -9,17 +9,7 @@ let serverProcess; let browser; try { - runCommand('node', ['scripts/verify-campaign-flow-data.mjs']); - runCommand('node', ['scripts/verify-battle-scenario-data.mjs']); - runCommand('node', ['scripts/verify-camp-reward-data.mjs']); - runCommand('node', ['scripts/verify-campaign-recruit-data.mjs']); - runCommand('node', ['scripts/verify-equipment-catalog-data.mjs']); - runCommand('node', ['scripts/verify-story-asset-data.mjs']); - runCommand('node', ['scripts/verify-story-image-asset-data.mjs']); - runCommand('node', ['scripts/verify-visual-asset-data.mjs']); - runCommand('node', ['scripts/verify-unit-sprite-asset-data.mjs']); - runCommand('node', ['scripts/verify-battle-map-asset-data.mjs']); - runCommand('node', ['scripts/verify-audio-asset-data.mjs']); + runCommand('node', ['scripts/verify-static-data.mjs']); mkdirSync(screenshotDir, { recursive: true }); serverProcess = await ensurePreviewServer(targetUrl); diff --git a/scripts/verify-static-data.mjs b/scripts/verify-static-data.mjs new file mode 100644 index 0000000..dd27946 --- /dev/null +++ b/scripts/verify-static-data.mjs @@ -0,0 +1,32 @@ +import { spawnSync } from 'node:child_process'; + +const checks = [ + 'scripts/verify-campaign-flow-data.mjs', + 'scripts/verify-battle-scenario-data.mjs', + 'scripts/verify-camp-reward-data.mjs', + 'scripts/verify-campaign-recruit-data.mjs', + 'scripts/verify-equipment-catalog-data.mjs', + 'scripts/verify-story-asset-data.mjs', + 'scripts/verify-story-image-asset-data.mjs', + 'scripts/verify-visual-asset-data.mjs', + 'scripts/verify-unit-sprite-asset-data.mjs', + 'scripts/verify-battle-map-asset-data.mjs', + 'scripts/verify-audio-asset-data.mjs' +]; + +for (const scriptPath of checks) { + runNodeScript(scriptPath); +} + +console.log(`Verified static data and asset gates across ${checks.length} checks.`); + +function runNodeScript(scriptPath) { + const result = spawnSync(process.execPath, [scriptPath], { + cwd: process.cwd(), + stdio: 'inherit' + }); + + if (result.status !== 0) { + throw new Error(`Static verification failed: ${scriptPath}`); + } +}