node-webkit-base-app
node-webkit-base-app copied to clipboard
Bootstrap your node-webkit app.
node-webkit-base-app
Bootstrap your node-webkit app. Similar idea to node-webkit-hipster-seed, but with different stuff.
Included:
- Notifications (proper Mac ones for Mac OSX 10.8+, otherwise HTML ones)
- GulpJS (for compiling the app, watching for changes and more)
- Grunt (for packaging the app up for each platform, will be moved to Gulp once node-webkit-builder#46 is complete)
- Bower
- LESS
- Bootstrap 3 (LESS)
- Autoprefixing of CSS
- CoffeeScript
- CoffeeScript linting (deliberately fails the compilation step in order to enforce)
- Browserify
- jQuery 2
- KnockoutJS
- Jade templates
- nedb for persistent storage
- Lossless compression of images
- Code style docs
To come:
- Gulp task for generating documentation based on Biscotto CoffeeScript comments
- Automated integration tests
- Image conversion (to WebP)
- SVG icons
Commands
Global dependencies
-
npm install -g bower
and make sure it's on your path. -
npm install -g gulp
and make sure it's on your path.
Build
-
npm run setup
-
npm run compiler
Run
-
npm start
Other useful commands
-
gulp clean
-
gulp lint
. Generates a nice CoffeeLint report. -
gulp compile
(this is whatnpm run compiler
calls) -
gulp compile-watch
. This first compiles everything, then watches for any changes in the LESS, Coffeescripts, etc. and re-compiles what has changed. If you want to run this, you should open a second terminal to runnpm start
once the re-compilation has finished.
Notable files
-
.editorconfig
. See editorconfig.org. -
package.json
: Add any GulpJS dependencies here under devDependencies. -
bower.json
: Any browser-side dependencies. -
app/package.json
: node-webkit manifest file. List any node dependencies here needed in the end app (e.g. jQuery) and you cannequire
them from your Coffescripts. -
app/scripts/app.coffee
: JS entry point -
app/style/app.less
: LESS root
Docs
- Coding style guide
- Keyboard shortcuts
Gotchas!!
- gyp modules might not work on windows unless executable is named nw.exe https://github.com/rogerwang/node-webkit/issues/199