bpmn-io npm project boilerplate
This is a blueprint you can use to create your own projects.
Placeholders
After copying the template replace the following placeholders in the package.json
file:
<AUTHOR_NAME>
: your name<AUTHOR_GITHUB_NAME>
: your name on GitHub<PACKAGE_NAME>
: the name of the project (for npm package and repository)<PACKAGE_DESCRIPTION>
: a short description of the package
Project structure
The following shows the general project structure
├─docs
│ └─api
├─lib
│ └─foo.js
├─resources
├─test
│ ├─fixtures
│ └─spec
│ └─fooSpec.js
├─tmp
│ └─reports
├─Gruntfile.js
├─index.js
└─package.json
A note on the structure:
-
docs
contains documentation relevant for developers or usersdocs/api
gets generated from the project sources
-
lib
contains the project sources -
resources
can contain non-js sources such as JSON config files or images -
test
contains all test related datatest/spec
and sub folders hold test cases with the convention:nameSpec.js
test/fixtures
hold test data
-
index.js
is the main entry point for the module
What is inside
The boilerplate uses the following components:
- grunt for building
- jasmine, version 1.3 for testing
- jsdoc for documentation generation
- jshint for linting
Build tasks
The contained Gruntfile.js
configures the following build tasks:
default (test, lint, generate docs)
Performs all neccessary tasks in the correct order.
grunt
auto-test
Watches for library or test changes and re-runs the test suite automatically.
grunt auto-test
release
Releases a new version of the library (on npm and GitHub).
grunt release:minor
grunt release:patch
grunt release:major
License
MIT