build: add Windows NSIS installer via electron-builder
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
|
release/
|
||||||
dist/
|
dist/
|
||||||
*.log
|
*.log
|
||||||
|
|||||||
@@ -17,13 +17,24 @@
|
|||||||
|
|
||||||
Также в этой папке должны лежать скрипты `release-all.ps1`, `prepare-release.ps1`, `publish.ps1` и конфиги `release-config.json`, `publish-config.json` (как в `D:\TTRPG-Release`).
|
Также в этой папке должны лежать скрипты `release-all.ps1`, `prepare-release.ps1`, `publish.ps1` и конфиги `release-config.json`, `publish-config.json` (как в `D:\TTRPG-Release`).
|
||||||
|
|
||||||
## Запуск
|
## Запуск из исходников
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm install
|
npm install
|
||||||
npm start
|
npm start
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Сборка установщика Windows
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm install
|
||||||
|
npm run pack:win
|
||||||
|
```
|
||||||
|
|
||||||
|
Готовый установщик: `release/TTRPGPlayerPublisher-Setup.exe`
|
||||||
|
|
||||||
|
Распакованная папка без установщика: `npm run pack:dir` → `release/win-unpacked/`
|
||||||
|
|
||||||
## Настройки
|
## Настройки
|
||||||
|
|
||||||
При первом запуске создаётся `%APPDATA%\ttrpg-player-publisher\config.json` с путями:
|
При первом запуске создаётся `%APPDATA%\ttrpg-player-publisher\config.json` с путями:
|
||||||
|
|||||||
Generated
+3435
-2
File diff suppressed because it is too large
Load Diff
+35
-3
@@ -8,9 +8,41 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "node src/run-electron.mjs",
|
"dev": "node src/run-electron.mjs",
|
||||||
"start": "node src/run-electron.mjs",
|
"start": "node src/run-electron.mjs",
|
||||||
"test": "node --test src/release/*.test.mjs"
|
"test": "node --test src/release/*.test.mjs",
|
||||||
|
"pack:win": "electron-builder --win",
|
||||||
|
"pack:dir": "electron-builder --dir"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {},
|
||||||
"electron": "^41.2.0"
|
"devDependencies": {
|
||||||
|
"electron": "^41.2.0",
|
||||||
|
"electron-builder": "^26.8.1"
|
||||||
|
},
|
||||||
|
"build": {
|
||||||
|
"appId": "com.ttrpgplayer.publisher",
|
||||||
|
"productName": "TTRPG Player Publisher",
|
||||||
|
"copyright": "Copyright © TTRPGPlayer",
|
||||||
|
"directories": {
|
||||||
|
"output": "release"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"src/**/*",
|
||||||
|
"default-config.json",
|
||||||
|
"package.json"
|
||||||
|
],
|
||||||
|
"asar": true,
|
||||||
|
"win": {
|
||||||
|
"target": [
|
||||||
|
{
|
||||||
|
"target": "nsis",
|
||||||
|
"arch": ["x64"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"artifactName": "TTRPGPlayerPublisher-Setup.${ext}"
|
||||||
|
},
|
||||||
|
"nsis": {
|
||||||
|
"oneClick": false,
|
||||||
|
"allowToChangeInstallationDirectory": true,
|
||||||
|
"artifactName": "TTRPGPlayerPublisher-Setup.${ext}"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user