Slam's Typescript-enabled Electron-React Desktop Template
Some important packages are listed as follows:
- Electron Forge (App Packager)
- ESLint
- Google Material Icons
- React Redux
- React Router DOM
- Sass
- Webpack.js
Template Features:
- Custom-built logging system (for both Main & Renderer Processes)
- [UNFINISHED] Custom SCSS Bootstrap (based from this repo)
- [UNFINISHED] Custom keybinding system
- [UNFINISHED] Electron IPC-Dictionary system (needs to be refactored)
- [UNFINISHED] Config Loader
- [UNFINISHED] Custom Modal System
- Custom Buttons
Side Note: this repository will be continually updated based on Slam's experiences and things he has implemented on other applications that are great for this repository's template setup.
Download dependencies with yarn i
or npm i
. Package manager pnpm will not work due to how electron-forge is designed.
Some important notes to consider:
- Electron files are located at
src/utils/electron
. - Main React Interface is located at
src/pages/Home/Home.tsx
A default launch.json is provided for debugging.
Here are some available scripts useful for development:
- start development environment
$ npm start
- package for source code & release
$ npm run publish
or
$ npm run package
- check for errors with ESlint
$ npm run lint
Some future goals:
- Implement majority of Electron.js's API
- Continue working on SlamTheDragon/docking-panels-test, would make a great base repository template for an electron-powered editing application (Similar to Blockbench)