Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    release-utilspublic

    node-release-utils

    Tools for incrementing versions and tagging node.js projects in Git.

    Simple scripts for incrementing the version of your project, automatically tagging, and releasing.

    Releasing can be to the global npm repo or to an S3 bucket (which is useful for deploying closed-source npm modules)

    Installation

    Add to your project using npm. E.g.

    npm install node-release-utils
    

    However it's better to add the project as a dev-dependency in your package.json. See the examples for more information.

    Examples

    Using release-utils in a publishable npm project

    npm is a great tool for publishing a project. You just run npm publish and your package is available on the web. Npm will stop you releasing multiple packages with the same version (although it is possible to force it to overwrite an existing release).

    This is all excellent, but using npm publish requires you to increment your version numbers. It also doesn't force you to create an scm-tag for every release.

    If you're using npm and git, then release-utils can help. Just add the project as a dev-dependency and call the npm-release script. This script will do the following:

    • Create an scm tag
    • Increment the version in package.json
    • Checkout the tag, package, and publish the module (it delegates to npm publish)
    • Push the tag to an upstream repo (e.g. GitHub)

    The configuration is minimal. In package.json add the dependency and a new script definition:

        "devDependencies"{
            "release-utils": ">= 0.0.1"
        }
        ...
        "scripts"{
            "build-release": "node node_modules/release-utils/npm-release.js",
        }

    Then to do a release, run:

    npm run-script build-release
    

    Using release-utils in a private project

    Maybe your project is secret and you don't want to deploy it to the global npm repo? Npm has some great features to build a tarball of your code, but again (see above), you'll want to automate the tagging and incrementing of your software's version. The release-utils project has support for uploading your *.tgz package to an Amazon S3 bucket.

    A release will do the following:

    • Create an scm tag
    • Increment the version in package.json
    • Checkout the tag, package, and build a package (it delegates to npm pack)
    • Upload the new package to S3
    • Push the tag to an upstream repo (e.g. GitHub)

    To configure an S3 release, add the release-utils project as a dev dependency and reference the s3-release script in your package.json. E.g.

        "devDependencies"{
            "release-utils": ">= 0.0.1"
        }
        ...
        "scripts"{
            "build-release": "node node_modules/release-utils/s3-release.js MYBUCKET",
        }

    You'll need your AWS credentials in the following environment variables:

    AWS_ACCESS_KEY
    AWS_SECRET_ACCESS_KEY
    

    Then, to do a release, run:

    npm run-script build-release
    

    Using release-utils to release to Heroku

    Info to follow...

    Development - Getting started

    Checkout the code Install dev dependencies

    npm install
    

    Build a release (increments, tags, and releases to the world)

    npm run-script build-release
    

    Keywords

    none

    install

    npm i release-utils

    Downloadsweekly downloads

    3

    version

    0.0.4

    license

    none

    repository

    github.com

    last publish

    collaborators

    • avatar