npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

grunt-bumper

v1.1.0

Published

Bump package version, run tasks, git tag, commit & push.

Downloads

152

Readme

grunt-bumper

Build Status Dependency Status NPM version

Bump package version, run tasks, git tag, commit & push.

This is based on grunt-push-release

DEPRICATION NOTICE

This project hasn't been maintained and updated for a while now. Please use as is and send PRs if you need changes.

Getting Started

This plugin requires Grunt ~0.4.1

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-bumper --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-bumper');

Options

This shows all the available config options with their default values.

bumper:
  options:
      files: ["package.json"]
      updateConfigs: ['pkg'] # array of config properties to update (with files)
      releaseBranch: false
      runTasks: true
      tasks: ["default"]
      add: true
      addFiles: ["."] # '.' for all files except ingored files in .gitignore
      commit: true
      commitMessage: "Release v%VERSION%"
      commitFiles: ["-a"] # '-a' for all files
      createTag: true
      tagName: "v%VERSION%"
      tagMessage: "Version %VERSION%"
      push: true
      pushTo: "origin"
      npm: false
      npmTag: "Release v%VERSION%"
      gitDescribeOptions: "--tags --always --abbrev=1 --dirty=-d"

files

Type Array Default ['package.json']

List of files to bump. Maybe you wanna bump 'component.json' as well ?

updateConfigs

Type Array Default ['pkg']

Sometimes you load the content of package.json into a grunt config. This will update the config property, so that even tasks running in the same grunt process see the updated value.

bumper:
  options:
    files:         ["package.json", "bower.json"]
    updateConfigs: ["pkg",          "bower"]

releaseBranch

Type Boolean Default false

Define branch(es) on which it is allowed to make releases. Either define a single one as string or severals as array. This helps to not accidentially make a release on a topic branch.

push: {
  releaseBranch: ['develop', 'master']
}

runTasks

Type Boolean Default true

Do you want to run tasks after bumping the version?

tasks

Type Array Default ['default']

List of tasks to be executed after bumping the version and before adding/commiting the files. Note: as this is being executed as a child process you are running in a different context!

add

Type Boolean Default true

Do you want to git add files?

addFiles

Type Array Default ['.']

An array of files that you wanna add. You can use ['.'] to add all files.

commit

Type Boolean Default true

Do you wanna commit the changes?

commitMessage

Type String Default 'Release v%VERSION%'

The commit message. You can use %VERSION% which will get replaced with the new version.

commitFiles

Type Array Default ['-a']

An array of files that you wanna commit. You can use ['-a'] to commit all files.

createTag

Type Boolean Default true

Do you want to create a git tag?

tagName

Type String Default 'v%VERSION%'

The tag name. You can use %VERSION% which will get replaced with the new version.

tagMessage

Type String Default 'Version v%VERSION%'

The tag message. You can use %VERSION% which will get replaced with the new version.

push

Type Boolean Default true

Do you want to push all these changes?

pushTo

Type String Default 'origin'

Name of the remote branch to push to.

npm

Type Boolean Default false

Do you wanna publish all these changes to NPM?

Make sure you have registered an npm used: 'npm adduser'

npmTag

Type String Default 'Release v%VERSION%'

The name of the tag. You can use %VERSION% which will get replaced with the new version.

Example Usage

Let's say current version is 0.0.1.

$ grunt bumper
>> Version bumped to 0.0.2
>> Committed as "Release v0.0.2"
>> Tagged as "v0.0.2"
>> Pushed to origin

$ grunt bumper:patch
>> Version bumped to 0.0.3
>> Committed as "Release v0.0.3"
>> Tagged as "v0.0.3"
>> Pushed to origin

$ grunt bumper:minor
>> Version bumped to 0.1.0
>> Committed as "Release v0.1.0"
>> Tagged as "v0.1.0"
>> Pushed to origin

$ grunt bumper:major
>> Version bumped to 1.0.0
>> Committed as "Release v1.0.0"
>> Tagged as "v1.0.0"
>> Pushed to origin

$ grunt bumper:git
>> Version bumped to 1.0.0-1-ge96c
>> Committed as "Release v1.0.0-1-ge96c"
>> Tagged as "v1.0.0-1-ge96c"
>> Pushed to origin

You can use bump-only and bump-commit to call each step separately.

$ grunt bumper-only:minor
$ grunt bumper-commit
$ grunt bumper-release //This will do a full push and publish to npm even if you have configured npm option to false
$ grunt bumper-publish //Just publishes to NPM overriding (npm option: false)

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

License

Copyright (c) We Are Interactive under the MIT license.