An actual work from chentsulin/electron-react-boilerplate + sagas, immutable and stateless components
Application boilerplate based on
- Electron
- React
- Webpack 2
- Redux
- React Router
- Flow
- ESLint
- Jest
- Yarn
- React Transform HMR
- Apisauce
- Redux Saga
- Immutable
- css-modules
- Note: requires a node version >= 6 and an npm version >= 3.
First, clone the repo via git:
git clone --depth=1 https://github.com/Liftitapp/electron-react-sagas-starter.git your-project-nameAnd then install dependencies. ProTip: Install with yarn for faster and safer installation:
$ cd your-project-name && npm installStart the app in the dev environment. This starts the renderer process in hot-module-replacement mode and starts a server sends hot updates to the renderer process:
$ npm run devYou Run these two commands simultaneously in different console tabs:
$ npm run hot-updates-server
$ npm run start-hot-rendererAtom
apm install editorconfig es6-javascript atom-ternjs javascript-snippets linter linter-eslint language-babel autocomplete-modules file-iconsVSCode
- Editorconfig
- ESLint
- Flow
- Babel
- Jest
- ES6 Snippets
- React Snippets
💡 If you are using the
flow-for-vscodeplugin, make sure to disable theflowtype-errors/show-errorseslint rule in the.eslintrcby setting it to0
Sublime
- Editorconfig Integration
- Linting
- ESLint Integration
- Syntax Highlighting
- Autocompletion
- Node Snippets
- ES6 Snippets
Others
- Editorconfig
- ESLint
- Babel Syntax Plugin
- OS X: Cmd Alt I or F12
- Linux: Ctrl Shift I or F12
- Windows: Ctrl Shift I or F12
See electron-debug for more information.
This boilerplate is included following DevTools extensions:
- Devtron - Install via electron-debug.
- React Developer Tools - Install via electron-devtools-installer.
- Redux DevTools - Install via electron-devtools-installer.
You can find the tabs on Chrome DevTools.
If you want to update extensions version, please set UPGRADE_EXTENSIONS env, just run:
$ UPGRADE_EXTENSIONS=1 npm run dev
# For Windows
$ set UPGRADE_EXTENSIONS=1 && npm run dev💡 You can debug your production build with devtools by simply setting the DEBUG_PROD env variable:
DEBUG_PROD=true npm run package
If you want to use Sass in your app, you only need to import .sass files instead of .css once:
import './app.global.scss';To package apps for the local platform:
$ npm run packageTo package apps for all platforms:
First, refer to Multi Platform Build for dependencies.
Then,
$ npm run package-allTo package apps with options:
$ npm run package -- --[option]To run the application without packaging run
$ npm run build
$ npm startTo run End-to-End Test
$ npm run build
$ npm run test-e2e- Clean up lint
- Improve eslint config
- Saga testing missing
MIT ©