Closed jjeff closed 1 year ago
Yes it works with Electron Forge too.
forge.config.cjs
file with the fllowing lines:// forge.config.cjs
module.exports = {
packagerConfig: {
ignore: [
/^\/src/,
/(.eslintrc.json)|(.gitignore)|(electron.vite.config.ts)|(forge.config.cjs)|(tsconfig.*)/,
],
},
rebuildConfig: {},
makers: [
{
name: '@electron-forge/maker-squirrel',
config: {},
},
{
name: '@electron-forge/maker-zip',
platforms: ['darwin'],
},
{
name: '@electron-forge/maker-deb',
config: {},
},
{
name: '@electron-forge/maker-rpm',
config: {},
},
],
};
"scripts": {
"package": "electron-vite build && electron-forge package",
"make ": "electron-vite build && electron-forge make"
},
"devDependencies": {
"@electron-forge/cli": "^6.1.1",
"@electron-forge/maker-deb": "^6.1.1",
"@electron-forge/maker-rpm": "^6.1.1",
"@electron-forge/maker-squirrel": "^6.1.1",
"@electron-forge/maker-zip": "^6.1.1",
}
Is it possible to have electron.forge in ts extension instead? electron-vite would need to compile it before invoking electron forge.
Here's one example:
import MakerSquirrel from "@electron-forge/maker-squirrel";
import type { ForgeConfig } from "@electron-forge/shared-types";
import path from "node:path";
const getAppIcon = () => {
const iconExtension =
process.platform === "win32"
? "ico"
: process.platform === "darwin"
? "icns"
: "png";
return path.resolve(
__dirname,
`./resources/appicons/${iconExtension}/icon.${iconExtension}`
);
};
const config: ForgeConfig = {
packagerConfig: {
icon: getAppIcon(),
ignore: [
/^\/(src)|(tools)|(.github)|(.vscode)/,
/\/(.eslintrc.json)|(.gitignore)|(.gitattributes)|(electron.vite.config.ts)|(forge.config.ts)|(tsconfig.json)|(bindl.config.js)|(bindl.config.js)|(README.md)$/,
],
extendInfo: {
LSUIElement: true,
},
},
rebuildConfig: {},
makers: [
new MakerSquirrel({
name: "clipboard_sync",
setupIcon: getAppIcon(),
iconUrl: getAppIcon(),
}),
],
};
export default config;
Describe the bug
Does electron-vite work with Electron Forge? I'm guessing it could work, but I'm not finding any mention of Electron Forge in the documentation. It would be great to mention whether or not it works, how it might work, and have some examples or pointers.
I am attempting to move from Webpack to Vite in my (very complicated) Electron Forge app. I'd rather change just one thing at a time, so I don't want to move to Electron Builder now. But if it does work with Electron Forge, I'd be happy to provide some documentation and/or examples once I get it working.
Electron-Vite Version
n/a
Electron Version
n/a
Vite Version
n/a
Validations