npm-package-skeleton
Skeleton of a simple NPM Package with Babel and CI already configured.
Pre-configured development tools
Pre-configured CI tools
Travis CI continuous integration platform
NPM automatic releasing
Codecov code coverage reporting
ESDoc
Recommended tools
Getting started
Add this project as
skeleton
remote:For a new project:
mkdir my-project && cd my-project git init git remote add skeleton https://github.com/amercier/npm-package-skeleton.git git remote set-url skeleton --push "Error: skeleton remote is read-only" # Disable pushing on skeleton git config remote.skeleton.tagOpt --no-tags # Disable fetching tags on skeleton git remote add origin <YOUR GIT REPOSITORY URL> git pull skeleton master --no-tags git push -u origin master
For an existing project:
Warning: this will erase all existing code and git history on master branch, usegit reflog
if you ever need to rollback.git remote add skeleton https://github.com/amercier/npm-package-skeleton.git git remote set-url skeleton --push "Error: skeleton remote is read-only" git show-ref --verify --quiet refs/heads/master || git branch master # Create master branch if needed [[ refs/heads/master == $(git symbolic-ref --quiet HEAD) ]] || git checkout master # Switch to master branch git fetch skeleton --no-tags git reset --hard skeleton/master # Warning: this rewrites git history git push -f -u origin master
Set initial version (ex:
0.1.0
) inpackage.json
Replace the following occurrences
[ ]
amercier/npm-package-skeleton
→ your repo slug- [ ]
npm-package-skeleton
→ your project name - [ ]
package-skeleton
→ your NPM package name - [ ]
Alex Mercier
→ your name - [ ] `[email protected]` → your public email address
[ ]
https://amercier.com
→ your websiteImport project in CI tools:
[ ] Travis CI
- [ ] Codecov
[ ] ESDoc
Add the following environment variables in your new Travis CI project's settings:
[ ]
NPM_AUTH_TOKEN
: NPM authentication token, used for automatic NPM releasing. See documentation.(Optional) Enable GreenKeeper:
greenkeeper enable
.(Optional) Enable Snyk monitoring:
snyk monitor
.(Optional) Add plugin-add-module-exports Babel plugin to avoid users of your packages having to use
.default
in ES5 style (see install documentation below).Cleanup
README.md
by removing all documentation related to the skeleton.
Usage
Automatic releasing process
Note: you can try this process safely by releasing an "alpha" version. Ex: 0.1.0-alpha.2
- [ ] Update the package version in
package.json
(ex:1.2.3
), commit it, and push it. - [ ] Tag the previously created commit (ex:
v1.2.3
), and push it (git push --tags
). - Travis build runs on tagged commit
- New package version is automatically released after tests have passed
License
This project is released under ISC License.
Note: the content after this is the actual package documentation (to be edited after cloning).
npm-package-skeleton
Installation
Prerequisites: Node.js 6+, npm 3+.
npm install --save package-skeleton
Usage
ES5
var xxx = require('package-skeleton').default;
ES2015+
import xxx from 'package-skeleton';
Contributing
Please refer to the guidelines for contributing.
License
<sup>Created with npm-package-skeleton.</sup>