Skip to content

Commit fe0fa0a

Browse files
Kelementz916RoderickXiirobsinzDanielGaran02anthonyHerr
authored
Fixed electron build config and prepped files ready to build for multi-platform OS (#16)
* Solved import fx Co-authored-by: Kevin Can <[email protected]> Co-authored-by: rob sinz <[email protected]> Co-authored-by: DanielGaran02 <[email protected]> Co-authored-by: Anthony Herrera <[email protected]> * git commit -m "updated index.ts Co-authored-by: Daniel Garan <[email protected]> Co-authored-by: Kevin Can <[email protected]> Co-authored-by: Anthony Herrera <[email protected]> Co-authored-by: Rob Sinzieri <[email protected]> Co-authored-by: Roderick de Leon <[email protected]>" * switching to new branch * adjusted existSync to checkFileExists * Refactor exportProject and writeFile handlers * created console.logs for Kevin to view Co-authored-by: Anthony Herrera <[email protected]> * updated async functions in ExportMenu and Electron Main Co-authored-by: Kevin Can <[email protected]> * "fixed export button functionality Co-authored-by: Daniel Garan <[email protected]> Co-authored-by: Kevin Can <[email protected]> Co-authored-by: Anthony Herrera <[email protected]> Co-authored-by: Rob Sinzieri <[email protected]> Co-authored-by: Roderick de Leon <[email protected]>"" * Fixed save, import, and export functionality. Added Composition API to states Co-authored-by: Daniel Garan <[email protected]> Co-authored-by: Kevin Can <[email protected]> Co-authored-by: Anthony Herrera <[email protected]> Co-authored-by: Rob Sinzieri <[email protected]> Co-authored-by: Roderick de Leon <[email protected]> * Add new GIF files for state actions and component creation and updated ReadMe (work in progress) Co-authored-by: Daniel Garan <[email protected]> Co-authored-by: Kevin Can <[email protected]> Co-authored-by: Anthony Herrera <[email protected]> Co-authored-by: Rob Sinzieri <[email protected]> Co-authored-by: Roderick de Leon <[email protected]> * Update readMe * Optimize codebase and update HTML elements handling * Add electron-builder.yml and update package.json and quasar.conf.js * updated * Update electron-builder configuration and add platform-specific icons * Update dependencies in package-lock.json * removed options folder * update 1 --------- Co-authored-by: Roderick de Leon <[email protected]> Co-authored-by: Kevin Can <[email protected]> Co-authored-by: rob sinz <[email protected]> Co-authored-by: DanielGaran02 <[email protected]> Co-authored-by: Anthony Herrera <[email protected]> Co-authored-by: Daniel Garan <[email protected]> Co-authored-by: Anthony Herrera <[email protected]> Co-authored-by: Rob Sinzieri <[email protected]>
1 parent ac78a4f commit fe0fa0a

File tree

8 files changed

+104
-83
lines changed

8 files changed

+104
-83
lines changed

electron-builder miniguide.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
This is for future OverVue iteration groups to help in building out the application for github release
2+
3+
# Building Electron App with Electron-Builder
4+
5+
This guide provides instructions on how to use `electron-builder` to package and build your Electron app for different platforms.
6+
7+
## Prerequisites
8+
9+
- Node.js and npm installed on your system.
10+
- Project dependencies installed. Run `npm install` in the project root.
11+
12+
## Files notes
13+
14+
-the electron-builder.yml file holds the instructions for the electron-builder to config when building out the targets for mac,windows, and linux OSs
15+
-the 'main' path (in package.json) should be kept as "main": "./dist/electron/UnPackaged/electron-main.js", as this is the output main js after TypeScript compiles the code
16+
17+
## Building the App
18+
19+
**Build the Electron app**: Run the build script specified in your `package.json` file. The build script should look something like this: `"build": "quasar build -m electron"`. Run the build script with the command `npm run build`.
20+
21+
## Packaging the App for Different Platforms
22+
23+
After building the Electron app, then you can use `electron-builder` to package the app for different platforms:
24+
25+
- **Windows**: Run the command `npm run build:win` to package the app for Windows. This will create a `.exe` file in the `dist` directory.
26+
27+
- **macOS**: Run the command `npm run build:mac` to package the app for macOS. This will create a `.dmg` file in the `dist` directory.
28+
29+
- **Linux**: Run the command `npm run build:linux` to package the app for Linux. This will create an `AppImage` file in the `dist` directory.
30+
31+
## Releasing the App
32+
33+
After packaging the app, you can upload the packaged files to the releases section of your GitHub repository. Users can then download these files to install your Electron app on their respective platforms.

electron-builder.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
appId: com.electron.OverVue
2+
productName: OverVue 11.0
3+
directories:
4+
app: "./dist/electron/UnPackaged"
5+
mac:
6+
target: zip
7+
icon: "src-electron/icons/tileIconMac.icns"
8+
win:
9+
target: nsis
10+
icon: "src-electron/icons/tileIconWin.ico"
11+
linux:
12+
target: AppImage
13+
icon: "src-electron/icons/tileIconLinux.png"

package-lock.json

Lines changed: 27 additions & 63 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@
55
"description": "Vue Prototype DevTool",
66
"productName": "OverVue",
77
"cordovaId": "org.cordova.quasar.app",
8-
"author": "Team OverVue, Team Vuetiful, Team Vuelociraptors, TeamVueTopia, OverVue10.0",
8+
"author": "Team OverVue, Team Vuetiful, Team Vuelociraptors, TeamVueTopia, OverVue10.0, VueDragons 11.0",
99
"private": true,
1010
"bugs": {
1111
"url": "https://github.com/TeamOverVue/OverVue/issues"
1212
},
1313
"homepage": "https://github.com/TeamOverVue/OverVue",
14+
1415
"scripts": {
1516
"lint": "eslint --ext .js,.vue ./",
1617
"test": "echo \"See package.json => scripts for available tests.\" && exit 0",
@@ -23,7 +24,11 @@
2324
"test:unit:watch": "jest --watch",
2425
"test:unit:watchAll": "jest --watchAll",
2526
"serve:test:coverage": "quasar serve test/jest/coverage/lcov-report/ --port 8788",
26-
"concurrently:dev:jest": "concurrently \"quasar dev\" \"jest --watch\""
27+
"concurrently:dev:jest": "concurrently \"quasar dev\" \"jest --watch\"",
28+
"build:all": "npm run build && npm run build:win && npm run build:mac && npm run build:linux",
29+
"build:win": "electron-builder --win",
30+
"build:mac": "electron-builder --mac",
31+
"build:linux": "electron-builder --linux"
2732
},
2833
"dependencies": {
2934
"@babel/preset-env": "^7.22.14",

quasar.conf.js

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ module.exports = configure(function (ctx) {
220220
electron: {
221221
// bundler: 'packager', // 'packager' or 'builder'
222222
bundler: "builder",
223+
main: 'src-electron/electron-main.ts',
223224
packager: {
224225
// protocols: ["overvue"],
225226
protocol: "overvue",
@@ -233,24 +234,29 @@ module.exports = configure(function (ctx) {
233234
// Windows only
234235
// win32metadata: { ... }
235236
},
236-
237-
builder: {
238-
// https://www.electron.build/configuration/configuration
239-
240-
appId: "com.electron.OverVue",
241-
win: {
242-
target: "nsis",
243-
},
244-
mac: {
245-
target: "zip",
246-
},
247-
protocols: [
248-
{
249-
name: "overvue",
250-
schemes: ["overvue"],
251-
},
252-
],
253-
},
237+
//currently, builder (for electron builder) is being configured in seperate 'electron-builder.yml' file in the root.
238+
// builder: {
239+
// // https://www.electron.build/configuration/configuration
240+
// appId: "com.electron.OverVue",
241+
// win: {
242+
// target: "nsis",
243+
// icon: "src-electron/icons/tileIconWin.ico"
244+
// },
245+
// mac: {
246+
// target: "zip",
247+
// icon: "src-electron/icons/tileIconMac.icns"
248+
// },
249+
// linux: {
250+
// target: "AppImage",
251+
// icon: "src-electron/icons/tileIconLinux.png"
252+
// },
253+
// protocols: [
254+
// {
255+
// name: "overvue",
256+
// schemes: ["overvue"],
257+
// },
258+
// ],
259+
// },
254260
extendWebpack (cfg) {
255261
cfg.module.rules.push({
256262
test: /\.svg$/,

src-electron/icons/tileIconLinux.png

10.8 KB
Loading

src-electron/icons/tileIconMac.icns

768 KB
Binary file not shown.

src-electron/icons/tileIconWin.ico

24.1 KB
Binary file not shown.

0 commit comments

Comments
 (0)