Socket
Socket
Sign inDemoInstall

npm-prepublish

Package Overview
Dependencies
14
Maintainers
2
Versions
13
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    npm-prepublish

Allows you use to use a continuous testing tool (such as **Travis**) to deploy to npm on every semver-y tag.


Version published
Maintainers
2
Install size
1.20 MB
Created

Readme

Source

npm-prepublish

Allows you use to use a continuous testing tool (such as Travis) to deploy to npm on every semver-y tag.

This means you can use GitHub releases or git tags and have Travis deploy automagically for you to the npm registry.

Warning

In order to use this tool please set the version key from your package.json to 0.0.0 (this is for compatibility reasons so that people can still install your module via its git URL because npm will refuse to install any package that doesn't have a version number - issue raised here).

If you really, really want to keep updating version in your package.json file you can use npm-prepublish --lax to skip this check).

Installation (Codeship, Jenkins…)

Change your test command to:-

npm test && if [[ $CI_BRANCH =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]] ; then npm-prepublish && printf "_auth = $NPM_AUTH_TOKEN\nemail = $NPM_EMAIL\n" > .npmrc && npm publish; fi

And ensure that the following environment variables are set for each job:-

  • NPM_AUTH_TOKEN — Your npm auth token (echo -n "username:password" | base64)
  • NPM_EMAIL — Your npm account's email address

Installation (Travis)

npm install --save-dev npm-prepublish
language: node_js
script: npm test
node_js:
- '0.10'
- '0.11'
before_deploy:
- npm-prepublish --verbose
deploy:
  provider: npm
  email: "YOUR EMAIL ADDRESS"
  api_key: "YOUR API KEY"
  on:
    all_branches: true
    tags: true
    node: '0.10'
    repo: YOUR-GITHUB-USERNAME/YOUR-GITHUB-REPOSITORY

I recommend running travis setup npm and then adding the following lines to your .travis.yml file.

before_deploy:
- npm-prepublish --verbose

And these too, under on:

all_branches: true
tags: true

You only need to specify node if you are testing on multiple versions of node.

Credits and collaboration

The lead developer of npm-prepublish is Matt Andrews at FT Labs. All open source code released by FT Labs is licenced under the MIT licence. We welcome comments, feedback and suggestions. Please feel free to raise an issue or pull request.

FAQs

Last updated on 23 Aug 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc