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-git-flow-bump

v0.0.8

Published

Version your project according to an opinionated git workflow

Downloads

4

Readme

#Grunt Git Flow Bump

NPM

Build Status

This bumps your git project according to an opinionated git workflow.

Set up your MAJOR, and MINOR branch name, from which merges will trigger according versions and all other branch merges will be considered PATCH.

This grunt task has been developed with continuous delivery in mind, when it may be impractical to bump manually.

Never concern yourself with what kind of bumping to give your next version again. Let your workflow do the talking.

Getting Started

This plugin requires Grunt.

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-git-flow-bump --save-dev

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

grunt.loadNpmTasks('grunt-git-flow-bump');

Configuration

In your project's Gruntfile, add a section named gitFlowBump to the data object passed into grunt.initConfig(). The options (and defaults) are:

grunt.initConfig({
  gitFlowBump: {
    options: {
      files: ['package.json'],
      updateConfigs: [], // array of config properties to update (with files)

      majorBranch: 'release',
      minorBranch: 'develop',
      patchBranch: '*',
      masterOnly: true,

      forceGitVersion: false,
      gitDescribeOptions: '--tags --always --abbrev=1 --dirty=-d',

      postBumpTasks: [], //tasks to run between versioning and git tag, commit, push

      commit: true,
      commitMessage: 'Release v%VERSION%',
      commitFiles: ['package.json'],

      createTag: true,
      tagName: 'v%VERSION%',
      tagMessage: 'Version %VERSION%',

      push: true,
      pushTo: 'upstream'


    }
  },
})

Options

options.files

Type: Array Default value: ['package.json']

Maybe you wanna bump 'component.json' instead? Or maybe both: ['package.json', 'component.json']? Can be either a list of files to bump (an array of files) or a grunt glob (e.g., ['*.json']).

options.minorBranch

options.majorBranch

options.updateConfigs

Type: Array Default value: []

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.

gitFlowBump: {
  files:         ['package.json', 'component.json'],
  updateConfigs: ['pkg',          'component']
}

options.commit

Type: Boolean Default value: true

Should the changes be committed? False if you want to do additional things.

options.commitMessage

Type: String Default value: Release v%VERSION%

If so, what is the commit message ? You can use %VERSION% which will get replaced with the new version.

options.commitFiles

Type: Array Default value: ['package.json']

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

options.createTag

Type: Boolean Default value: true

Create a Git tag?

options.tagName

Type: String Default value: v%VERSION%

If options.createTag is set to true, then this is the name of that tag (%VERSION% placeholder is available).

options.tagMessage

Type: String Default value: Version %VERSION%

If options.createTag is set to true, then yep, you guessed right, it's the message of that tag - description (%VERSION% placeholder is available).

options.push

Type: Boolean Default value: true

Push the changes to a remote repo?

options.pushTo

Type: String Default value: upstream

If options.push is set to true, which remote repo should it go to?

options.gitDescribeOptions

Type: String Default value: --tags --always --abbrev=1 --dirty=-d

Options to use with $ git describe

options.globalReplace

Type: Boolean Default value: false

Replace all occurrences of the version in the file. When set to false, only the first occurrence will be replaced.