https://github.com/chrislaskey/ghost
Timely Reminders
https://github.com/chrislaskey/ghost
electron react
Last synced: about 2 months ago
JSON representation
Timely Reminders
- Host: GitHub
- URL: https://github.com/chrislaskey/ghost
- Owner: chrislaskey
- Created: 2018-11-14T16:24:11.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-11-20T17:53:00.000Z (over 7 years ago)
- Last Synced: 2025-03-09T23:45:02.052Z (over 1 year ago)
- Topics: electron, react
- Language: JavaScript
- Homepage:
- Size: 105 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Setup
### Electron
Note: Setup directions based on the [Medium post from Kitze](https://medium.com/@kitze/%EF%B8%8F-from-react-to-an-electron-app-ready-for-production-a0468ecb1da3)
Create react application:
```
npx create-react-app ghost
```
Add electron:
```
yarn add --dev concurrently electron electron-builder wait-on
yarn add electron-is-dev
```
Copy [`electron.js`](https://gist.github.com/kitze/42bfc85e8f41ebe777609c250b183eec#file-electron-js) to `public/electron.js`.
Update entry point in `package.json`:
```
"main": "public/electron.js"
```
Add script to `package.json`:
```
"electron-dev": "concurrently \"BROWSER=none yarn start\" \"wait-on http://localhost:3000 && electron .\""
```
Verify development version runs:
```
$ yarn electron-dev
```
#### Production Build
Update `package.json`:
```
"build": {
"appId": "com.ghost.electron",
"files": [
"build/**/*",
"node_modules/**/*"
],
"directories":{
"buildResources": "assets"
}
}
```
Add scripts to `package.json`:
```
"electron-pack": "build -c.extraMetadata.main=build/electron.js",
"preelectron-pack": "yarn build"
```
Add homepage to `package.json`:
```
"homepage": "./"
```
Build the production version:
```
$ yarn electron-pack
```
Once complete, the prebuilt application files are located in `dist` directory.
### Developer Environment
Add StandardJS linting rules:
```
yarn add standard
```
Update `package.json` with new section:
```
"standard": {
"parser": "babel-eslint",
"ignore": [
"config",
"scripts",
"src/app/registerServiceWorker.js",
"src/**/*.test.js"
]
}
```
Add scripts to `package.json`:
```
"fix": ". ./.env && yarn standard --fix",
"lint": ". ./.env && yarn standard"
```