feat: 新增打包配置

This commit is contained in:
duanshuwen
2026-04-01 23:10:33 +08:00
parent 20bf7ad7da
commit e152ac4625
3 changed files with 176 additions and 2 deletions

View File

@@ -7,6 +7,7 @@ import { MakerDMG } from '@electron-forge/maker-dmg';
import { VitePlugin } from '@electron-forge/plugin-vite';
import { FusesPlugin } from '@electron-forge/plugin-fuses';
import { FuseV1Options, FuseVersion } from '@electron/fuses';
import MakerWix from '@electron-forge/maker-wix';
import * as fs from 'fs-extra';
import * as path from 'path';
import * as esbuild from 'esbuild';
@@ -16,15 +17,27 @@ const config: ForgeConfig = {
asar: true,
tmpdir: path.resolve(process.cwd(), '..', 'electron-packager-tmp'),
name: 'NianXX',
icon: path.join(__dirname, 'public/logo.ico'),
icon: path.join(__dirname, 'public/logo'),
appCopyright: 'Copyright © 2026 智念科技',
},
rebuildConfig: {},
makers: [
new MakerSquirrel({}),
new MakerSquirrel({
iconUrl: path.join(__dirname, 'public/logo.ico'), // 快捷方式的图标,需要在线的地址
setupIcon: path.join(__dirname, 'public/logo.ico'),
setupExe: 'NianXX.exe',
// loadingGif: path.join(__dirname, 'public/loading.gif'), // 修改默认安装图片
}),
new MakerZIP({}, ['darwin']),
new MakerRpm({}),
new MakerDeb({}),
new MakerDMG({}),
new MakerWix({
language: 2052,
ui: {
chooseDirectory: true,
}
}),
],
plugins: [
new VitePlugin({

160
package-lock.json generated
View File

@@ -49,6 +49,7 @@
"@electron-forge/maker-dmg": "^7.11.1",
"@electron-forge/maker-rpm": "^7.10.2",
"@electron-forge/maker-squirrel": "^7.10.2",
"@electron-forge/maker-wix": "^7.11.1",
"@electron-forge/maker-zip": "^7.10.2",
"@electron-forge/plugin-auto-unpack-natives": "^7.10.2",
"@electron-forge/plugin-fuses": "^7.10.2",
@@ -192,6 +193,15 @@
"node": ">=6.9.0"
}
},
"node_modules/@bitdisaster/exe-icon-extractor": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/@bitdisaster/exe-icon-extractor/-/exe-icon-extractor-1.0.10.tgz",
"integrity": "sha512-iTZ8cVGZ5dglNRyFdSj8U60mHIrC8XNIuOHN/NkM5/dQP4nsmpyqeQTAADLLQgoFCNJD+DiwQCv8dR2cCeWP4g==",
"dev": true,
"hasInstallScript": true,
"license": "ISC",
"optional": true
},
"node_modules/@clack/core": {
"version": "0.5.0",
"resolved": "https://registry.npmmirror.com/@clack/core/-/core-0.5.0.tgz",
@@ -449,6 +459,26 @@
"electron-winstaller": "^5.3.0"
}
},
"node_modules/@electron-forge/maker-wix": {
"version": "7.11.1",
"resolved": "https://registry.npmjs.org/@electron-forge/maker-wix/-/maker-wix-7.11.1.tgz",
"integrity": "sha512-yKsnfPQVBrjyjWndmSB0rqQSXAiIukwz5fuVyoCTnYpfJQojrEEMUN/eXSHA08d+rOPbB/hkMAR+QJcjJ8vO2Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@electron-forge/core-utils": "7.11.1",
"@electron-forge/maker-base": "7.11.1",
"@electron-forge/shared-types": "7.11.1",
"chalk": "^4.0.0",
"electron-wix-msi": "^5.1.3",
"log-symbols": "^4.0.0",
"parse-author": "^2.0.0",
"semver": "^7.2.1"
},
"engines": {
"node": ">= 16.4.0"
}
},
"node_modules/@electron-forge/maker-zip": {
"version": "7.11.1",
"resolved": "https://registry.npmmirror.com/@electron-forge/maker-zip/-/maker-zip-7.11.1.tgz",
@@ -4826,6 +4856,54 @@
"node": ">= 8"
}
},
"node_modules/cross-spawn-windows-exe": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/cross-spawn-windows-exe/-/cross-spawn-windows-exe-1.2.0.tgz",
"integrity": "sha512-mkLtJJcYbDCxEG7Js6eUnUNndWjyUZwJ3H7bErmmtOYU/Zb99DyUkpamuIZE0b3bhmJyZ7D90uS6f+CGxRRjOw==",
"dev": true,
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/malept"
},
{
"type": "tidelift",
"url": "https://tidelift.com/subscription/pkg/npm-cross-spawn-windows-exe?utm_medium=referral&utm_source=npm_fund"
}
],
"license": "Apache-2.0",
"dependencies": {
"@malept/cross-spawn-promise": "^1.1.0",
"is-wsl": "^2.2.0",
"which": "^2.0.2"
},
"engines": {
"node": ">= 10"
}
},
"node_modules/cross-spawn-windows-exe/node_modules/@malept/cross-spawn-promise": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz",
"integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==",
"dev": true,
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/malept"
},
{
"type": "tidelift",
"url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund"
}
],
"license": "Apache-2.0",
"dependencies": {
"cross-spawn": "^7.0.1"
},
"engines": {
"node": ">= 10"
}
},
"node_modules/cross-zip": {
"version": "4.0.1",
"resolved": "https://registry.npmmirror.com/cross-zip/-/cross-zip-4.0.1.tgz",
@@ -5742,6 +5820,29 @@
"node": ">= 4.0.0"
}
},
"node_modules/electron-wix-msi": {
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/electron-wix-msi/-/electron-wix-msi-5.1.3.tgz",
"integrity": "sha512-EYj1cm1nZoVHmIIx3o0aKt784lxdEpJnXbEnyypklUCnglqSb7ni+1xi1Vp/gtrGS/mzIxnWBT+x5fIfuDjhvA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@electron/windows-sign": "^1.1.2",
"debug": "^4.3.4",
"fs-extra": "^10.1.0",
"klaw": "^4.1.0",
"lodash": "^4.17.21",
"rcedit": "^4.0.1",
"rcinfo": "^0.1.3",
"semver": "^7.6.0"
},
"engines": {
"node": ">=14.0.0"
},
"optionalDependencies": {
"@bitdisaster/exe-icon-extractor": "^1.0.10"
}
},
"node_modules/electron/node_modules/@electron/get": {
"version": "2.0.3",
"resolved": "https://registry.npmmirror.com/@electron/get/-/get-2.0.3.tgz",
@@ -7569,6 +7670,22 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-docker": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
"integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
"dev": true,
"license": "MIT",
"bin": {
"is-docker": "cli.js"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -7703,6 +7820,19 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-wsl": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
"integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
"dev": true,
"license": "MIT",
"dependencies": {
"is-docker": "^2.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/isbinaryfile": {
"version": "4.0.10",
"resolved": "https://registry.npmmirror.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz",
@@ -7914,6 +8044,16 @@
"json-buffer": "3.0.1"
}
},
"node_modules/klaw": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/klaw/-/klaw-4.1.0.tgz",
"integrity": "sha512-1zGZ9MF9H22UnkpVeuaGKOjfA2t6WrfdrJmGjy16ykcjnKQDmHVX+KI477rpbGevz/5FD4MC3xf1oxylBgcaQw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=14.14.0"
}
},
"node_modules/levn": {
"version": "0.4.1",
"resolved": "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz",
@@ -10277,6 +10417,26 @@
"murmur-32": "^0.1.0 || ^0.2.0"
}
},
"node_modules/rcedit": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/rcedit/-/rcedit-4.0.1.tgz",
"integrity": "sha512-bZdaQi34krFWhrDn+O53ccBDw0MkAT2Vhu75SqhtvhQu4OPyFM4RoVheyYiVQYdjhUi6EJMVWQ0tR6bCIYVkUg==",
"dev": true,
"license": "MIT",
"dependencies": {
"cross-spawn-windows-exe": "^1.1.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/rcinfo": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/rcinfo/-/rcinfo-0.1.3.tgz",
"integrity": "sha512-c2XV2aYgY7x3BscO+/B/nCTtMvnclZ8w5D7R6zgK4sGOQnE0MjlXhOPynno7yp6Iw1RPNSXBwXwB1svZVRfcSw==",
"dev": true,
"license": "BSD-2-Clause"
},
"node_modules/react": {
"version": "19.2.4",
"resolved": "https://registry.npmmirror.com/react/-/react-19.2.4.tgz",

View File

@@ -27,6 +27,7 @@
"@electron-forge/maker-dmg": "^7.11.1",
"@electron-forge/maker-rpm": "^7.10.2",
"@electron-forge/maker-squirrel": "^7.10.2",
"@electron-forge/maker-wix": "^7.11.1",
"@electron-forge/maker-zip": "^7.10.2",
"@electron-forge/plugin-auto-unpack-natives": "^7.10.2",
"@electron-forge/plugin-fuses": "^7.10.2",