Reviewer follow-ups:
1) Preserve mods/ for vanilla packs. `downloadModsFolder` now checks
`!pack.modsFolder` BEFORE wiping — vanilla packs (no modsFolder) no
longer clobber a user's hand-curated mods directory. Wipe still runs
for modded packs to keep different MC versions from colliding.
2) Always rename the extracted map to `saves/<퀴즈이름>/`, regardless of
the zip's top-level layout. The zip is now extracted into a temp
directory under saves/, and:
- if the temp has a single subdirectory, that subdirectory's content
becomes the world;
- otherwise the temp dir itself (e.g. level.dat + region/ at root) is
the world.
In either case, it is renamed atomically to `saves/<sanitized name>`
(or `<name>_2` etc. if a user world collides). Marker tracks the
final folder name for participant cleanup.
User request: replace both .exe icons.
- Added build/icon.ico (multi-size 16/32/48/64/128/256) and build/icon.png
generated from the new music-note artwork.
- electron-builder.yml: set win.icon, nsis installer/uninstaller icons,
buildResources=build, include build/icon.* in files for runtime use.
- New electron-builder-rp.yml + dist:win:rp script so the resourcepack
installer also packages with the same icon.
- BrowserWindow({ icon }) wired in both installer and installer-rp main
processes so the running window's titlebar/taskbar icon matches.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
38 lines
1.3 KiB
JSON
38 lines
1.3 KiB
JSON
{
|
|
"name": "minecraft-music-quiz-installer",
|
|
"version": "0.1.0",
|
|
"description": "마인크래프트 음악퀴즈 간편설치기 + 관리 사이트",
|
|
"main": "dist/installer/main.js",
|
|
"scripts": {
|
|
"build": "tsc -p tsconfig.json",
|
|
"start": "tsc -p tsconfig.server.json && node dist/server/app.js",
|
|
"dev:server": "tsc -p tsconfig.server.json && node dist/server/app.js",
|
|
"installer": "tsc -p tsconfig.installer.json && electron .",
|
|
"installer:rp": "tsc -p tsconfig.installer-rp.json && electron dist/installer-rp/main.js",
|
|
"dist:win": "tsc -p tsconfig.installer.json && electron-builder --win --config electron-builder.yml",
|
|
"dist:win:rp": "tsc -p tsconfig.installer-rp.json && electron-builder --win --config electron-builder-rp.yml"
|
|
},
|
|
"dependencies": {
|
|
"@types/archiver": "^7.0.0",
|
|
"archiver": "^7.0.1",
|
|
"dotenv": "^17.4.2",
|
|
"ejs": "^3.1.10",
|
|
"express": "^4.19.2",
|
|
"express-session": "^1.18.0",
|
|
"extract-zip": "^2.0.1",
|
|
"multer": "^1.4.5-lts.1",
|
|
"nat-upnp": "^1.1.1",
|
|
"sharp": "^0.34.5"
|
|
},
|
|
"devDependencies": {
|
|
"@types/ejs": "^3.1.5",
|
|
"@types/express": "^4.17.21",
|
|
"@types/express-session": "^1.18.0",
|
|
"@types/multer": "^1.4.11",
|
|
"@types/node": "^22.5.0",
|
|
"electron": "^31.4.0",
|
|
"electron-builder": "^24.13.3",
|
|
"typescript": "^5.5.4"
|
|
}
|
|
}
|