Skip to content

mikaelkaron/grunt-semver

Repository files navigation

Build Status NPM version

grunt-semver

Semantic versioner for grunt

Getting Started

This plugin requires Grunt ~0.4.0

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-semver --save-dev

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

grunt.loadNpmTasks('grunt-semver');

The "grunt-semver" task

Overview

In your project's Gruntfile, add a section named semver to the data object passed into grunt.initConfig().

grunt.initConfig({
  "semver": {
    "options": {
      // Task-specific options go here.
      space: "\t"
    },
    "your_target": {
      // Target-specific file lists and/or options go here.
      files: [{
          src: "package.json",
          dest: "package.json.out"
      }, { 
          src: "bower.json",
          dest: "bower.json.out"
      }]
    },
  },
})

Examples

Validate a string as a correct version according to semantic versionning:

$ grunt semver:validate:your_target:0.1.2
0.1.2

$ grunt semver:validate:your_target:0.1.2foo
Warning: Invalid Version: 0.1.2foo

Validate versions found if the given part's files:

$ grunt semver:your_target:validate
package.json : 0.1.2
bower.json : 0.1.2

Set given version in every files:

$ grunt semver:your_target:set:0.1.4
package.json : 0.1.4
bower.json : 0.1.4

Bump major/minor/patch/prerelease number (example starts at 0.1.2-pre.1):

$ grunt semver:your_target:validate
package.json : 0.1.2-pre.1
bower.json : 0.1.2-pre.1

$ grunt semver:your_target:bump:major
package.json : 1.0.0
bower.json : 1.0.0

$ grunt semver:your_target:bump:minor
package.json : 0.2.0
bower.json : 0.2.0

$ grunt semver:your_target:bump:patch
package.json : 0.1.3
bower.json : 0.1.3

$ grunt semver:your_target:bump:prerelease
package.json : 0.1.2-pre.2
bower.json : 0.1.2-pre.2```

Strip build or prerelease information (example starts at 0.1.2-pre.1+0123456)::

$ grunt semver:your_target:validate
package.json : 0.1.2-pre.1+0123456
bower.json : 0.1.2-pre.1+0123456

$ grunt semver:your_target:strip:prerelease
package.json : 0.1.2+0123456
bower.json : 0.1.2+0123456

$ grunt semver:your_target:strip:build
package.json : 0.1.2-pre.1
bower.json : 0.1.2-pre.1

Options

options.space

Type: String
Default value: \t

A string value that is used to format the output JSON

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.

About

Semantic versioning for grunt

Resources

Stars

Watchers

Forks

Packages

No packages published