feat: 打包加固调整

This commit is contained in:
duanshuwen
2025-11-23 18:21:28 +08:00
parent 0b1e7a6679
commit 7eb2a13efe
7 changed files with 99 additions and 129 deletions

View File

@@ -6,6 +6,8 @@ import { MakerRpm } from '@electron-forge/maker-rpm';
import { VitePlugin } from '@electron-forge/plugin-vite';
import { FusesPlugin } from '@electron-forge/plugin-fuses';
import { FuseV1Options, FuseVersion } from '@electron/fuses';
import * as fs from 'fs-extra';
import * as path from 'path';
const config: ForgeConfig = {
packagerConfig: {
@@ -54,6 +56,66 @@ const config: ForgeConfig = {
[FuseV1Options.OnlyLoadAppFromAsar]: true,
}),
],
hooks: {
async prePackage() {
const outDir = path.resolve(process.cwd(), 'out');
fs.rmSync(outDir, { recursive: true, force: true });
},
async preMake() {
const outDir = path.resolve(process.cwd(), 'out');
fs.rmSync(outDir, { recursive: true, force: true });
},
async postPackage(_forgeConfig, options) {
const electronVersion = require('electron/package.json').version;
const nodeVersion = process.version;
const versionData = {
node: nodeVersion,
electron: electronVersion,
platform: process.platform,
arch: process.arch,
buildTime: new Date().toISOString(),
};
const outDir = path.resolve(process.cwd(), 'out');
fs.ensureDirSync(outDir);
const outputs = (options && (options as any).outputPaths) || [];
if (Array.isArray(outputs) && outputs.length > 0) {
for (const p of outputs) {
try {
const versionFile = path.join(p, 'version');
fs.writeFileSync(versionFile, JSON.stringify(versionData, null, 2));
} catch {}
}
}
},
async postMake(_forgeConfig, outputs) {
const electronVersion = require('electron/package.json').version;
const nodeVersion = process.version;
const versionData = {
node: nodeVersion,
electron: electronVersion,
platform: process.platform,
arch: process.arch,
buildTime: new Date().toISOString(),
};
const outDir = path.resolve(process.cwd(), 'out');
fs.ensureDirSync(outDir);
if (Array.isArray(outputs) && outputs.length > 0) {
for (const p of outputs) {
try {
const versionFile = path.join(p as any, 'version');
fs.writeFileSync(versionFile, JSON.stringify(versionData, null, 2));
} catch {}
}
}
},
},
};
export default config;