nwb
nwb is a toolkit for:
A zero-config development setup is provided, but nwb also supports configuration and plugin modules which add extra functionality (e.g. Sass support), should you need them
Install
Installing globally provides an nwb
command for quick development and working with projects.
npm install -g nwb
Using npm >= 3 is recommended, as Babel takes significantly more time and disk space to install with npm 2 due to its lack of deduplication.
Note: if you're using npm 5 and getting an
EACCES: permission denied
error from nwb's PhantomJS dependency while installing globally, try passing an--unsafe-perm
flag:
npm install -g --unsafe-perm nwb
To use nwb's tooling in a project, install it as a devDependency
and use nwb
commands in package.json
"scripts"
:
npm install --save-dev nwb
Quick Development
For quick development with React, Inferno, Preact or vanilla JavaScript, use the nwb react
, nwb inferno
, nwb preact
or nwb web
commands.
{ return <h1>Hello world!</h1> }
$ nwb react run app.js✔ Installing react and react-domStarting Webpack compilation...Compiled successfully in 5033 ms. The app is running at http://localhost:3000/
$ nwb react build app.js✔ Building React app File size after gzip: dist\app.cff417a3.js 46.72 KB
See Quick Development with nwb for a more detailed guide.
React Apps
Use nwb new react-app
to create a React app skeleton, preconfigured with npm scripts which use nwb
for development:
nwb new react-app my-appcd my-app/npm start
Open localhost:3000, start editing the code and changes will be hot-reloaded into the running app.
npm test
will run the app's tests and npm run build
will create a production build.
See Developing React Apps with nwb for a more detailed guide.
Preact Apps
Use nwb new preact-app
to create a Preact app skeleton:
nwb new preact-app my-app
Inferno Apps
Use nwb new inferno-app
to create an Inferno app skeleton:
nwb new inferno-app my-app
Vanilla JavaScript Apps
Use nwb new web-app
to create a vanilla JavaScript app skeleton:
nwb new web-app my-app
React Components and Libraries
nwb new react-component my-component cd my-component/
npm start
will run a demo app you can use to develop your component or library against.
npm test
will run the project's tests and npm run build
will create ES5, ES6 modules and UMD builds for publishing to npm.
See Developing React Components and Libraries with nwb for a more detailed guide.
npm Modules for the Web
nwb new web-module my-module cd my-module/
npm test
will run the project's tests and npm run build
will create ES5, ES6 modules and UMD builds for publishing to npm.
Guides
- Quick Development with nwb
- Developing React Apps with nwb
- Developing React Components and Libraries with nwb
Documentation
- Features
- Commands
- Configuration
- Testing
- Plugins
- Middleware
- Examples
- Frequently Asked Questions
- Versioning
Why use nwb?
Get started quickly. Start developing from a single .js
file or generate a project skeleton.
Covers the whole development cycle. Development tools, testing and production builds for projects work out of the box, no configuration required.
Flexible. While everything works out of the box, you can also use an optional configuration file to tweak things to your liking.
Manages key development dependencies and configuration for you. Check out an example of the effect using nwb had on the amount of devDependencies
and configuration to be managed in a real project it was dropped into.
MIT Licensed
Cover image created by GeorgioWan
Operating system icons created with Icons8