node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »



A slush generator to scaffold a simple SPA application template with karma and tape for unit testing, serve for production and webpack for development and building.


Install slush-webpack globally:

npm install -g slush-webpack

Remember to install slush and gulp globally as well, if you haven't already:

npm install -g slush gulp


Create a new folder for your project:

mkdir my-app

Run the generator from within the new folder:

cd my-app
slush webpack

You will now be prompted to give some information to scaffold your application.

Project structure

The project structure will look like this:

├── .editorconfig
├── .gitignore                         # See "Gulpfile" below
├── karma.conf.js
├── package.json
├── webpack.config.js
└── src                                     # Source directory
│   ├── assets                              # Assets to be imported and bundled with webpack
│   │        └── .gitkeep
│   ├── index.html                          # The index.html / app layout template
│   └── main.js     
└── test                                    # Test directory
    └── main.js                             # All files inside test .js are [tape]( tests run with karma.



To start developing in your new generated project run:

npm run dev

Then head to http://localhost:8080 in your browser.

The dev tasks starts webpack-dev-server with hot module replacement enabled


To run tests run:

npm test

Production ready build - a.k.a. dist

To make the app ready for deploy to production run:

npm run build

Now you have a ./dist folder with all your scripts and stylesheets concatenated and minified.

Production serve

To serve the app in production you can run the script:

npm start

Now you have a production server serving your app from the ./dist folder in port 5000.