npub
This is a publishing tool for Node.js projects hosted in a git repository.
This project is a safe and inclusive place for contributors of all kinds. See the Code of Conduct for details.
publishConfig
It makes use of the publishConfig
section
of a project's package.json
.
In your project's package.json
,
you can optionally include a publishConfig
section.
Below is an example.
"publishConfig": {
"registry": "http://some-registry.dev",
"license": {
"exclude": [
"lib"
]
}
}
publishConfig.registry
Specify a custom registry for use
in the npm install
and npm publish
commands.
This is a native
npm feature.
publishConfig.license.exclude
Specify an array of directories to ignore
for the npub prep
command.
prep
command
npub prep
- if no
LICENSE
file exists in the current directory, abort - get a list of all
*.{js,coffee}
files recursively in the current directory, excluding those inpublishConfig.license.exclude
(and./node_modules
) - for each file, ensure the LICENSE content is in a header comment
publish
command
npub publish <version>
Options:
-
-t/--test command
- alternate test suite command. default:npm test
<version>
-1.2.3
; or, for auto increments:patch
,minor
,major
- Runs
npub verify
- Runs
npub prep
- Runs
npub verify
- Removes
node_modules
& runsnpm install
usingpublishConfig.registry
if available - run the test suite
- build temp changelog based on commits since last version bump
- open editor with temp changelog
- if exit code is non-zero, abort
- set package version to whatever was specified
- commit changes (changelog and
package.json
update) with message"v1.2.3"
- tag commit as
v1.2.3
- confirm
"about to publish"
; otherwise abort git push
git push --tags
npm publish
verify
command
npub verify
- if
git status
is clean, exit with0
; otherwise exit with a status of2
todo
- optionally provide GitHub access to interact with Pull Requests and Releases
- update tag with release notes of this change's changelog
- comment on all PRs associated with this version, with a link to the release notes