📦 NPM Package Template 📦
Minimal tested and fully functional NPM package template project for ES6+ Javascript.
About this package
This template is intended to allow you to start developing immediatly with a working set of tools and scripts that play well together.
It is little opinionated to the point, that only the most basic tools are integrated. If you want a different flavour you can fork this project and easily replace the tools or add new ones.
Which tools are used?
All tools are only defined as dev-dependencies
:
- Babel for transpiling ES6+ to ES5 plus minification, sourcemaps etc.
- Mocha and Chai for testing
- Istanbul for code coverage
- Standard for linting
- JSDoc for documentation and jsdoc-to-markdown to create docs as markdown files
- Travis-CI for continuous integration
- GitHub actions for continuous integration
Getting started
Just create your Js files in the ./lib
folder and add the tests in the test
folder.
Code Quality
We use standard
as opinionated but zero-config linter.
You can run lint in two modes:
lint
$ npm run lint
lint with auto fixing
$ npm run lint:fix
Run the tests
We use mocha and chai with a mostly (but not strict) behavioural style for testing. You can run the tests in three different contexts:
Single run
$ npm run test
Watch mode
$ npm run test:watch
Coverage
$ npm run test:coverage
Documentation
Documentation is using jsDoc and is available as html or markdown version.
To build the documentation in development, you need to run
$ npm run docs
License
MIT, see license file