diff --git a/README.md b/README.md index 6c62d960c..88b6ac369 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ A minimalistic yet comprehensive boilerplate application for [Electron runtime](http://electron.atom.io). Tested on OSX, Windows and Linux. -This project does not impose on you any framework (like Angular or React). Instead, it tries to give you only the 'electron' part of technology stack so you can pick your favorite tools for the rest. +This project does not impose on you any framework (like Angular or React). Tries to give you only the 'electron' part of technology stack so you can pick your favorite technologies to build the actual app. # Quick start @@ -50,9 +50,9 @@ Side note: [Electron authors advise](http://electron.atom.io/docs/tutorial/elect ## Adding npm modules to your app -Remember to respect the split between `dependencies` and `devDependencies` in `package.json` file. Only modules listed in `dependencies` will be included in app installers. +Remember to respect the split between `dependencies` and `devDependencies` in `package.json` file. Only modules listed in `dependencies` will be included into distributable app. -Pro tip: If the module you want to use in your app is a native one (not pure JavaScript but compiled C code or something) you should run first `npm install name_of_npm_module --save` and then `npm run postinstall` to rebuild the module for Electron. This needs to be done only once when you're first time installing the module. Later postinstall script will fire automatically with every `npm install`. +Side note: If the module you want to use in your app is a native one (not pure JavaScript but compiled C code or something) you should first run `npm install name_of_npm_module --save` and then `npm run postinstall` to rebuild the module for Electron. This needs to be done only once when you're first time installing the module. Later on postinstall script will fire automatically with every `npm install`. ## Working with modules @@ -72,38 +72,42 @@ var myStuff = require('./my_lib/my_stuff'); ## Unit tests -Using [electron-mocha](https://github.com/jprichardson/electron-mocha) test runner with the [chai](http://chaijs.com/api/assert/) assertion library. To run the tests go with standard and use the npm test script: ``` npm test ``` -This task searches for all files in `src` directory which respect pattern `*.spec.js`. + +Using [electron-mocha](https://github.com/jprichardson/electron-mocha) test runner with the [chai](http://chaijs.com/api/assert/) assertion library. This task searches for all files in `src` directory which respect pattern `*.spec.js`. ## End to end tests -Using [mocha](https://mochajs.org/) test runner and [spectron](http://electron.atom.io/spectron/). Run with command: ``` npm run e2e ``` -This task searches for all files in `e2e` directory which respect pattern `*.e2e.js`. + +Using [mocha](https://mochajs.org/) test runner and [spectron](http://electron.atom.io/spectron/). This task searches for all files in `e2e` directory which respect pattern `*.e2e.js`. ## Code coverage -Using [istanbul](http://gotwarlost.github.io/istanbul/) code coverage tool. Run with command: ``` npm run coverage ``` + +Using [istanbul](http://gotwarlost.github.io/istanbul/) code coverage tool. + You can set the reporter(s) by setting `ISTANBUL_REPORTERS` environment variable (defaults to `text-summary` and `html`). The report directory can be set with `ISTANBUL_REPORT_DIR` (defaults to `coverage`). ## Continuous integration -Electron [can be plugged](https://github.com/atom/electron/blob/master/docs/tutorial/testing-on-headless-ci.md) into CI systems. Here two CIs are preconfigured for you. [Travis CI](https://travis-ci.org/) covers testing on OSX and Linux and [App Veyor](https://www.appveyor.com) on Windows. +Electron [can be plugged](https://github.com/atom/electron/blob/master/docs/tutorial/testing-on-headless-ci.md) into CI systems. Here two CIs are preconfigured for you. [Travis CI](https://travis-ci.org/) tests on OSX and Linux, [App Veyor](https://www.appveyor.com) tests on Windows. # Making a release To package your app into an installer use command: + ``` npm run release ``` + It will start the packaging process for operating system you are running this command on. Ready for distribution file will be outputted to `dist` directory. You can create Windows installer only when running on Windows, the same is true for Linux and OSX. So to generate all three installers you need all three operating systems.