0.2.2 • Published 8 years ago

grunt-upcoming v0.2.2

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

grunt-upcoming

Write upcoming release info to a JSON file

Getting Started

This plugin requires Grunt ~0.4.5

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

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

grunt.loadNpmTasks('grunt-upcoming');

The "upcoming" task

Overview

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

upcoming: {
  default: {
    files: [
      { src: 'package.json', dest: [ 'version%s-info.json','product%s-info.json' ] }
    ]
  },
  patch: {
    files: [ 
      { src: 'package.json', dest: ['patch-info.json'] }
    ]
  }
},

Configuration Options

default.files

Run the following from the command line:

$ grunt upcoming

For the example above, that command will generate two files:

  • version-info.json
  • product-info.json

The contents will simply be:

{
	"name":"(package-name)",
	"version":"(version)"
}

The package-name and version will be what is currently in package.json (the src in the default config).

For example:

{
	"name":"grunt-upcoming",
	"version":"0.1.0"
}

Now run this:

$ grunt upcoming:major

That will generate:

  • version-major-info.json
  • product-major-info.json

Because there was no config defined for major, the default was run by applying the major release argument. The files listed in the default section contain '%s'. That was replaced in the filename with '-major'.

The output will look something like this:

{
	"name":"(package-name)",
	"version":"(version)",
	"upcoming": {
		"release":"major",
		"version":"(next-major-version)"
	}
}

For example:

{
	"name":"grunt-upcoming",
	"version":"0.1.0",
	"upcoming": {
		"release":"major",
		"version":"1.0.0"
	}
}

(release).files

Valid releases are: major, minor, patch, premajor, preminor, prepatch, or prerelease.

If no section is defined in the config for a release, the default will be used. To define a section for a release, create one named after the release (patch, minor, major, etc.).

The example contains a configuration for patch.

    upcoming: {
      default: { ... },
      patch: {
        files: [ 
          { src: 'package.json', dest: ['patch-info.json'] }
        ]
      }
    },

Run this at the command line:

$ grunt upcoming:patch

This will result in the patch-info.json file being created.


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.


Version History

Version 0.2.2

  • updated documentation

Version 0.2.1

  • updated documentation for new config

Version 0.2.0

  • implemented version 0.2.0 which requires a more standard configuration
  • maintained backward compatibility and tests cases for deprecated version

Version 0.1.9

  • refactored test cases

Version 0.1.8

  • removed result file from repo

Version 0.1.7

  • added local install of mocha, needed by travis-ci

Version 0.1.6

  • added test cases
  • added test coverage
  • added integration with travis-ci and codecov.io

Version 0.1.5

  • fixed repo url in package.json

Version 0.1.4

  • updated description

Version 0.1.3

  • cleaned up test folder

Version 0.1.2

  • added badges to readme
  • added .travis.yml
  • renamed license file
  • fixed license listing in package.json

Version 0.1.1

  • if no config info will echo warning to console

Version 0.1.0

  • initial release

0.2.2

8 years ago

0.2.1

8 years ago

0.2.0

8 years ago

0.1.9

8 years ago

0.1.8

8 years ago

0.1.7

8 years ago

0.1.6

8 years ago

0.1.5

8 years ago

0.1.4

8 years ago

0.1.3

8 years ago

0.1.2

8 years ago

0.1.1

8 years ago

0.1.0

8 years ago