#!/usr/bin/env node import {fileURLToPath} from 'node:url'; import {resolve} from 'node:path'; import {loadRoomAssetInventory,loadRoomAssetDefinitions,validateRoomAssets} from './lib/room-assets.mjs'; try { if(process.argv.length>4)throw Error('Usage: node scripts/check-room-assets.mjs [assets-directory] [game-definitions.ts]'); const assetsDir=process.argv[2]?resolve(process.argv[2]):fileURLToPath(new URL('../YouleNexus/assets/',import.meta.url)); const definitionFile=process.argv[3]?resolve(process.argv[3]):resolve(assetsDir,'games'); const definitions=loadRoomAssetDefinitions(definitionFile); const errors=validateRoomAssets(loadRoomAssetInventory(assetsDir),definitions); if(errors.length){console.error(errors.join('\n'));process.exitCode=1;} else console.log(`Room asset composition checks passed (${definitions.length} games).`); } catch(error){console.error(`Room asset composition check failed: ${error.message}`);process.exitCode=1;}