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 -
pro.alexandre.mercier@gmail.com
→ your public email address -
https://amercier.com
→ your website
- Import project in CI tools:
- 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
Created with npm-package-skeleton.