Skip to content

Commit ae51b02

Browse files
committed
feat: working electron build
1 parent c96e065 commit ae51b02

File tree

5 files changed

+75
-41
lines changed

5 files changed

+75
-41
lines changed

electron/main.js

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
const { app, BrowserWindow } = require('electron');
2+
const path = require('path');
3+
const url = require('url');
4+
5+
let mainWindow;
6+
7+
const createWindow = () => {
8+
mainWindow = new BrowserWindow({ width: 800, height: 600, show: false });
9+
mainWindow.loadURL(
10+
!app.isPackaged
11+
? process.env.ELECTRON_START_URL
12+
: url.format({
13+
pathname: path.join(__dirname, '../index.html'),
14+
protocol: 'file:',
15+
slashes: true,
16+
}),
17+
);
18+
19+
mainWindow.once('ready-to-show', () => {
20+
mainWindow.show();
21+
});
22+
23+
mainWindow.on('closed', () => {
24+
mainWindow = null;
25+
});
26+
};
27+
28+
app.on('ready', createWindow);
29+
30+
app.on('window-all-closed', () => {
31+
if (process.platform !== 'darwin') {
32+
app.quit();
33+
}
34+
});
35+
36+
app.on('activate', () => {
37+
if (mainWindow === null) {
38+
createWindow();
39+
}
40+
});

package.json

+15-8
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
"version": "1.0.0",
55
"private": true,
66
"author": "Abishek",
7-
"main": "public/electron.js",
7+
"main": "electron/main.js",
8+
"homepage": "./",
89
"build": {
910
"appId": "sh.now.relp",
1011
"productName": "Relp",
@@ -72,21 +73,26 @@
7273
"workbox-build": "^5.1.3"
7374
},
7475
"scripts": {
75-
"start": "yarn build:css && react-scripts start",
76+
"main": "yarn build:css && react-scripts start",
7677
"build-sw": "node ./src/sw-build.js",
7778
"clean-cra-sw": "rm -f build/precache-manifest.*.js && rm -f build/service-worker.js",
78-
"build": "NODE_ENV=production yarn build:css && react-scripts build && npm run build-sw && npm run clean-cra-sw",
79-
"windows-build": "set NODE_ENV=production&&yarn build:css && react-scripts build && npm run build-sw && npm run clean-cra-sw",
79+
"main-build": "cross-env NODE_ENV=production yarn build:css && react-scripts build && npm run build-sw && npm run clean-cra-sw",
8080
"test": "react-scripts test",
81-
"test-sw": "yarn windows-build && serve build",
81+
"test-sw": "yarn main-build && serve build",
8282
"build:css": "postcss src/Styles/tailwind.css -o src/Styles/AutoGenerated/main.css",
8383
"lint": "eslint src/**/*.js src/**/*.jsx",
8484
"format": "npm run prettier -- --write",
8585
"prettier": "prettier \"src/**/*.{js,jsx,css,json}\"",
8686
"eject": "react-scripts eject",
87-
"electron-pack": "electron-builder -c.extraMetadata.main=build/electron.js",
88-
"preelectron-pack": "yarn windows-build",
89-
"electron-dev": "concurrently \"set BROWSER=none yarn start\" \"wait-on http://localhost:3000 && electron .\""
87+
"electron-pack": "electron-builder -c.extraMetadata.main=build/electron/main.js",
88+
"electron-dev": "concurrently \"cross-env BROWSER=none yarn start\" \"wait-on http://localhost:3000 && electron .\"",
89+
"start": "cross-env BROWSER=none && npm run main",
90+
"start-electron": "cross-env ELECTRON_START_URL=http://localhost:3000 && electron .",
91+
"build": "npm run main-build",
92+
"build-electron": "mkdir build/src && cp -r electron/. build/electron",
93+
"build-electron-win": "mkdir build\\src && Xcopy /E /I /Y electron build\\electron",
94+
"package": "npm run build && npm run build-electron && electron-builder build -c.extraMetadata.main=build/electron/main.js --publish never",
95+
"package-win": "npm run build && npm run build-electron-win && electron-builder build -c.extraMetadata.main=build/electron/main.js --publish never"
9096
},
9197
"eslintConfig": {
9298
"extends": "react-app"
@@ -106,6 +112,7 @@
106112
"devDependencies": {
107113
"autoprefixer": "^9.8.5",
108114
"concurrently": "^5.3.0",
115+
"cross-env": "^7.0.3",
109116
"electron": "^10.1.5",
110117
"electron-builder": "^22.9.1",
111118
"eslint": "^6.8.0",

public/electron.js

-29
This file was deleted.

src/index.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ import { render } from 'react-dom';
33
import { createStore, applyMiddleware } from 'redux';
44
import { Provider } from 'react-redux';
55
import thunk from 'redux-thunk';
6-
import { Router } from 'react-router-dom';
6+
import { MemoryRouter } from 'react-router-dom';
77
import * as Sentry from '@sentry/browser';
88
import { composeWithDevTools } from 'redux-devtools-extension';
99
import App from './App';
10-
import history from './history';
10+
// import history from './history';
1111
import reducer from './Store/reducers/rootReducers';
1212
import * as serviceWorker from './serviceWorker';
1313
import 'fawn-components/lib/fn-pwa-banner';
@@ -26,9 +26,9 @@ const store = createStore(reducer, composeWithDevTools(applyMiddleware(thunk)));
2626
const rootElement = document.getElementById('root');
2727
render(
2828
<Provider store={store}>
29-
<Router history={history}>
29+
<MemoryRouter>
3030
<App />
31-
</Router>
31+
</MemoryRouter>
3232
</Provider>,
3333
rootElement,
3434
);

yarn.lock

+16
Original file line numberDiff line numberDiff line change
@@ -4944,6 +4944,13 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
49444944
safe-buffer "^5.0.1"
49454945
sha.js "^2.4.8"
49464946

4947+
cross-env@^7.0.3:
4948+
version "7.0.3"
4949+
resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf"
4950+
integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==
4951+
dependencies:
4952+
cross-spawn "^7.0.1"
4953+
49474954
cross-spawn@7.0.1:
49484955
version "7.0.1"
49494956
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14"
@@ -4964,6 +4971,15 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5:
49644971
shebang-command "^1.2.0"
49654972
which "^1.2.9"
49664973

4974+
cross-spawn@^7.0.1:
4975+
version "7.0.3"
4976+
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
4977+
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
4978+
dependencies:
4979+
path-key "^3.1.0"
4980+
shebang-command "^2.0.0"
4981+
which "^2.0.1"
4982+
49674983
crypto-browserify@^3.11.0:
49684984
version "3.12.0"
49694985
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"

0 commit comments

Comments
 (0)