123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- import type { ForgeConfig } from "@electron-forge/shared-types";
- import { MakerZIP } from "@electron-forge/maker-zip";
- import { MakerDeb } from "@electron-forge/maker-deb";
- import { MakerDMG } from "@electron-forge/maker-dmg";
- import { WebpackPlugin } from "@electron-forge/plugin-webpack";
- import { mainConfig } from "./config/webpack.main.config";
- import { rendererConfig } from "./config/webpack.renderer.config";
- import path from "path";
- const config: ForgeConfig = {
- packagerConfig: {
- appBundleId: "fun.upup.musicfree",
- icon: path.resolve(__dirname, "res/logo"),
- executableName: "MusicFree",
- extraResource: [path.resolve(__dirname, "res")],
- protocols: [
- {
- name: "MusicFree",
- schemes: ["musicfree"],
- },
- ],
- },
- rebuildConfig: {},
- makers: [
- // new MakerSquirrel({
- // exe: "MusicFree",
- // setupIcon: path.resolve(__dirname, "resources/logo.ico"),
- // setupMsi: "MusicFreeInstaller",
- // }),
- new MakerZIP({}, ["darwin"]),
- new MakerDMG(
- {
- // background
- format: "ULFO",
- },
- ["darwin"]
- ),
- // new MakerRpm({}),
- new MakerDeb({
- options: {
- name: "MusicFree",
- bin: "MusicFree",
- mimeType: ["x-scheme-handler/musicfree"],
- },
- }),
- ],
- plugins: [
- new WebpackPlugin({
- devContentSecurityPolicy: `default-src * self blob: data: gap: file:; style-src * self 'unsafe-inline' blob: data: gap: file:; script-src * 'self' 'unsafe-eval' 'unsafe-inline' blob: data: gap: file:; object-src * 'self' blob: data: gap:; img-src * self 'unsafe-inline' blob: data: gap: file:; connect-src self * 'unsafe-inline' blob: data: gap:; frame-src * self blob: data: gap:;`,
- mainConfig,
- renderer: {
- config: rendererConfig,
- entryPoints: [
- {
- html: "./src/renderer/document/index.html",
- js: "./src/renderer/document/index.tsx",
- name: "main_window",
- preload: {
- js: "./src/preload/index.ts",
- },
- },
- {
- html: "./src/renderer-lrc/document/index.html",
- js: "./src/renderer-lrc/document/index.tsx",
- name: "lrc_window",
- preload: {
- js: "./src/preload/extension.ts",
- },
- },
- {
- html: "./src/renderer-minimode/document/index.html",
- js: "./src/renderer-minimode/document/index.tsx",
- name: "minimode_window",
- preload: {
- js: "./src/preload/extension.ts",
- },
- },
- /** webworkers */
- {
- js: "./src/webworkers/downloader.ts",
- name: "worker_downloader",
- nodeIntegration: true,
- },
- {
- js: "./src/webworkers/local-file-watcher.ts",
- name: "local_file_watcher",
- nodeIntegration: true,
- },
- {
- js: "./src/webworkers/db-worker.ts",
- name: "db",
- nodeIntegration: true,
- }
- ],
- },
- }),
- {
- name: "@timfish/forge-externals-plugin",
- config: {
- externals: ["sharp"],
- includeDeps: true,
- },
- },
- ],
- };
- export default config;
|