The Electron Shell starter that'll have you saying "kids these days" faster than you can type npm start.
WARNING: Electron Compile (one of the core dependencies of this starter) is no longer being actively maintained. Please consider starting your project using Electron Forge directly instead!
- All programming/style/markup languages supported by Electron Compile:
- Programming: TypeScript, ES6, ES7, CoffeeScript, GraphQL
- Style: Less, Sass, Stylus
- Markup/other: Jade, and Vue
- In particular, TypeScript is tuned to be as strict as possible.
- Good TypeScript code completion in VS Code! (There were some quirks to work out here)
- Packaging for distribution with Electron Forge:
- Run
npm run maketo generate distributable packages. - Configure forge by modifying
forge.config.js.
- Run
- Hot reloading of everything (courtesy of Electron Compile)
- VueJS devtools.
Simply fork or download this repo, and start hacking away! Before beginning any work, install all dependencies by running npm install.
Available commands:
npm start: Runs the application with Electron in development mode. Hot reloading as well as the Vue devtools are enabled in this mode.npm run make: Builds distributable app packages using Electron Forge, placing the results in the out directory. Note that this will only build packages compatible with the host system running the command; running the build on macOS won't produce GNU/Linux packages, for example.npm run lint: Runstslintover all TypeScript files.
- This readme
- The LICENSE
- The title and description in package.json
- Your TypeScript linting preferences
- Your editor preferences (indent size, tabs vs spaces, encoding, etc)
- Your package export settings
There are three different TypeScript configurations located in this repository, and all three of them are important:
- tsconfig.json contains the configuration used by Visual Studio Code or other editors to configure TypeScript checking. This file pulls in additional type information from the types directory, which contains a type definition necessary for proper code completion on imported Vue modules in Visual Studio Code.
- _compilerc contains the two type definitions that are actually used when transpiling for use with Electron, one for development (used when running
npm start) and one for production (used when runningnpm run make). - Due to a known issue with
npm@4and@5, it's advised to usenpm@3with Electron Forge:npm install -g npm@3
- SCSS works, but the indented Sass format doesn't build properly.
- It would be nice if this was a vue-cli, cookecutter, or yeoman scaffold.
Not interested in using TypeScript with Vue? Prefer to start with something simpler? I recommend checking out the available starter templates that Electron Forge offers for initializing projects.
Want something with more stuff/customizability/documentation out of the box? Prefer to use Webpack instead of Electron Compile? I recommend taking a look at electron-vue, which allows for scaffolding projects using vue-cli.