Files
healer-man/package.json
T
2026-08-17 17:12:02 -04:00

134 lines
9.8 KiB
JSON

{
"name": "healer-man",
"private": true,
"version": "0.1.3",
"type": "module",
"scripts": {
"dev": "vite --host 0.0.0.0",
"start": "node server/server.mjs",
"db:init": "node scripts/init-game-database.mjs",
"db:backup": "node scripts/backup-game-database.mjs",
"server:test": "node --test server/*.test.mjs",
"content:publish": "node scripts/content/publish-content.mjs",
"android:prepare": "node scripts/content/prepare-android-bootstrap.mjs",
"content:test": "node --test scripts/content/*.test.mjs",
"wow335:abilities": "node scripts/generate-wow335-abilities.mjs",
"coa:sync": "node scripts/sync-ascension-coa.mjs",
"coa:sync:live": "node scripts/sync-ascension-coa.mjs --tooltips",
"coa:icons": "node scripts/export-spell-icons.mjs",
"ascension:talents": "node scripts/generate-wow335-talents.mjs ../wow335a/Interface/AddOns/PlayerBotManager/PBM/PBM_TalentData.lua ../LadiksMPQEditor/client-current/area-52/patch-D/DBFilesClient/Spell.dbc src/game/wow335Talents.generated.ts ../LadiksMPQEditor/client-current/area-52/patch-D/DBFilesClient/Talent.dbc",
"ascension:sync": "npm run coa:sync && npm run wow335:abilities && npm run ascension:talents && npm run coa:icons",
"manastorm:import": "node scripts/manastorm-import/cli.mjs",
"manastorm:forensics": "node scripts/manastorm-import/forensics-cli.mjs",
"manastorm:sync": "npm run manastorm:import && npm run manastorm:forensics && npm run coa:icons",
"manastorm:maps:discover": "node scripts/manastorm-pipeline/cli.mjs discover",
"manastorm:maps:scaffold": "node scripts/manastorm-pipeline/cli.mjs scaffold",
"manastorm:maps:import": "node scripts/manastorm-assets/import-existing-stage.mjs",
"manastorm:maps:validate": "node scripts/manastorm-pipeline/cli.mjs validate",
"manastorm:maps:khronos": "node scripts/manastorm-assets/validate-package-glbs.cjs public/assets/game/manastorm",
"loot:generate": "node scripts/generate-loot-catalog.mjs",
"dungeon:discover": "node scripts/dungeon-pipeline/cli.mjs discover",
"dungeon:discover:all": "node scripts/dungeon-pipeline/discover-all.mjs",
"dungeon:epoch:catalog": "node scripts/dungeon-pipeline/import-epoch-client.mjs",
"dungeon:epoch:build": "node scripts/dungeon-pipeline/build-epoch-dungeons.mjs",
"dungeon:epoch:creatures:package": "node scripts/dungeon-pipeline/package-epoch-creatures.mjs",
"dungeon:epoch:creatures": "node scripts/dungeon-pipeline/build-epoch-creatures.mjs",
"dungeon:epoch:scripts": "node scripts/dungeon-pipeline/import-azerothcore-scripts.mjs",
"dungeon:epoch:sync": "node scripts/dungeon-pipeline/sync-epoch-dungeons.mjs",
"dungeon:source:azerothcore": "node scripts/dungeon-pipeline/import-azerothcore-world.mjs",
"dungeon:catalog": "node scripts/dungeon-pipeline/compile-campaign-catalog.mjs",
"dungeon:canonicalize-environments": "node scripts/dungeon-pipeline/relink-canonical-environments.mjs",
"dungeon:dedupe-creatures": "node scripts/dungeon-pipeline/dedupe-shared-creatures.mjs",
"dungeon:test-creature-animation-policy": "node --test scripts/dungeon-pipeline/runtime-creature-animations.test.mjs",
"dungeon:test-creature-mesh-policy": "node --test scripts/dungeon-pipeline/creature-mesh-consolidation.test.mjs",
"dungeon:optimize-creature-animations": "node scripts/dungeon-pipeline/optimize-shipped-creature-animations.mjs && node scripts/dungeon-pipeline/optimize-shared-creatures.mjs && npm run dungeon:catalog",
"dungeon:optimize-shared-creatures": "node scripts/dungeon-pipeline/optimize-shared-creatures.mjs",
"dungeon:five-player:import": "node scripts/dungeon-pipeline/import-five-player-dungeon.mjs",
"dungeon:five-player:import:remaining": "node scripts/dungeon-pipeline/import-remaining-five-player-dungeons.mjs",
"dungeon:five-player:verify": "node scripts/dungeon-pipeline/verify-five-player-dungeon-imports.mjs",
"dungeon:wow:audit": "node scripts/dungeon-pipeline/audit-wow-dungeon-content.mjs",
"dungeon:wow:test": "vitest run src/game/wowDungeonContent.test.ts",
"dungeon:wow:all": "node scripts/dungeon-pipeline/run-all-wow-dungeons.mjs",
"dungeon:extract": "node scripts/dungeon-pipeline/cli.mjs extract",
"dungeon:creatures": "node scripts/dungeon-pipeline/cli.mjs creatures",
"dungeon:convert": "node scripts/dungeon-pipeline/cli.mjs convert",
"dungeon:optimize": "node scripts/dungeon-pipeline/cli.mjs optimize",
"dungeon:build": "node scripts/dungeon-pipeline/cli.mjs build",
"dungeon:navmesh": "node scripts/dungeon-pipeline/cli.mjs navmesh",
"dungeon:navmesh:conversion": "node scripts/dungeon-pipeline/cli.mjs navmesh-conversion",
"dungeon:validate": "node scripts/dungeon-pipeline/cli.mjs validate",
"dungeon:enable": "node scripts/dungeon-pipeline/cli.mjs enable",
"runewaker:forsaken": "node \"%INIT_CWD%\\scripts\\runewaker-pipeline\\build-forsaken-abbey.mjs\"",
"runewaker:forsaken:actors": "node scripts/runewaker-pipeline/build-forsaken-population.mjs --actors-only",
"runewaker:forsaken:population": "node scripts/runewaker-pipeline/build-forsaken-population.mjs",
"runewaker:forsaken:population:refresh": "node scripts/runewaker-pipeline/refresh-forsaken-population.mjs",
"runewaker:discover": "node scripts/runewaker-pipeline/cli.mjs discover",
"runewaker:prepare:all": "node scripts/runewaker-pipeline/cli.mjs prepare-all",
"runewaker:build:all": "node scripts/runewaker-pipeline/cli.mjs build-all --resume",
"runewaker:register:all": "node scripts/runewaker-pipeline/cli.mjs register-all",
"runewaker:refresh:all": "node scripts/runewaker-pipeline/cli.mjs refresh-all",
"runewaker:spells:refresh": "node scripts/runewaker-pipeline/export-spell-catalog.mjs",
"runewaker:players:refresh": "node scripts/runewaker-pipeline/export-player-catalog.mjs && npm run runewaker:players:avatars",
"runewaker:players:avatars": "node scripts/runewaker-pipeline/build-population.mjs --recipe scripts/runewaker-pipeline/recipes/runewaker-player-avatars.json --actors-only && node scripts/runewaker-pipeline/finalize-player-avatar-manifest.mjs",
"runewaker:paperdolls:refresh": "node scripts/runewaker-pipeline/refresh-paperdoll-appearances.mjs",
"runewaker:audit:animation-readiness": "node scripts/runewaker-pipeline/audit-animation-readiness.mjs",
"runewaker:audit:animation-inventory": "node scripts/runewaker-pipeline/inventory-animation-assets.mjs",
"runewaker:audit:runtime-clips": "node scripts/runewaker-pipeline/audit-runtime-clip-coverage.mjs",
"runewaker:audit:pose-batch": "node scripts/runewaker-pipeline/audit-animated-poses.mjs",
"runewaker:audit:pose-master": "node scripts/runewaker-pipeline/generate-master-actor-pose-audit.mjs",
"runewaker:audit:animations": "npm run runewaker:audit:animation-readiness && vitest run src/game/runewakerDungeonAnimation.test.ts src/game/mobAnimation.test.ts src/game/runewakerDungeonRegistry.test.ts",
"runewaker:audit:gameplay": "node scripts/runewaker-pipeline/audit-gameplay-content.mjs",
"runewaker:audit:navigation": "node scripts/runewaker-pipeline/analyze-navigation-gaps.mjs && vitest run src/game/runewakerObjectiveRouteAudit.test.ts",
"assets:wailing:instance": "gltf-transform instance ../wow335a/dungeon-export-work/WailingCaverns/converted/wailing-caverns.visual.glb src/assets/game/dungeons/wailing-caverns/wailing-caverns-visual.glb --min 3",
"assets:wailing:creatures:animated": "node scripts/prepareAnimatedCreatures.mjs",
"assets:wailing:creatures:combat": "node scripts/add-combat-creature-clips.mjs",
"assets:wailing:creatures:audit": "node scripts/audit-combat-creature-clips.mjs",
"assets:ktx2": "node scripts/asset-pipeline/compress-ktx2.mjs",
"assets:ktx2:visuals": "node scripts/asset-pipeline/compress-ktx2.mjs --visual-only && npm run assets:ktx2:refresh-metadata",
"assets:ktx2:creatures": "node scripts/asset-pipeline/compress-creature-ktx2.mjs",
"assets:ktx2:audit": "node scripts/asset-pipeline/audit-ktx2.mjs --visual-only --require-all",
"assets:ktx2:refresh-metadata": "node scripts/asset-pipeline/refresh-ktx2-metadata.mjs",
"prebuild": "npm run loot:generate && npm run assets:ktx2:audit",
"build": "tsc -b && vite build",
"build:android:web": "npm run prebuild && npm run android:prepare && tsc -b && node --max-old-space-size=8192 node_modules/vite/bin/vite.js build --mode android",
"android:sync": "npm run build:android:web && cap sync android",
"android:apk": "npm run android:sync && powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/runAndroidGradle.ps1 assembleDebug",
"android:apk:release": "npm run android:sync && powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/runAndroidGradle.ps1 assembleRelease",
"android:install": "npm run android:sync && powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/runAndroidGradle.ps1 installDebug",
"release:gui": "python scripts/release_manager.py",
"preview": "vite preview --host 0.0.0.0",
"pretest": "npm run loot:generate",
"test": "vitest run",
"test:watch": "vitest"
},
"dependencies": {
"@capacitor/android": "8.4.1",
"@capacitor/core": "8.4.1",
"@react-three/drei": "^10.7.7",
"@react-three/fiber": "^9.6.0",
"@react-three/rapier": "^2.2.0",
"fflate": "^0.8.3",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"three": "^0.179.1",
"zustand": "^5.0.8"
},
"devDependencies": {
"@capacitor/cli": "8.4.1",
"@gltf-transform/cli": "^4.4.1",
"@gltf-transform/core": "^4.4.2",
"@recast-navigation/core": "0.43.1",
"@recast-navigation/generators": "0.43.1",
"@recast-navigation/three": "0.43.1",
"@types/react": "^19.2.0",
"@types/react-dom": "^19.2.0",
"@types/three": "^0.179.0",
"@vitejs/plugin-react": "^5.0.2",
"sharp": "^0.34.5",
"stormlib-js": "^0.1.1",
"typescript": "~5.8.3",
"vite": "^7.3.0",
"vitest": "^3.2.4"
}
}