grunt-simplever
v0.0.1
Published
Prevents overriding releases, but makes exceptions for custom patterns.
Downloads
9
Readme
grunt-simplever
Prevents overwriting a previous built project (typically referred to as a release), but makes exceptions for custom patterns. This plugin reads from the version in
package.json
and won't run a task if that version already exists. If you wish to overwite a version for development you can add "rc" to the end of your version inpackage.json
. If you wish to use something other than rc you can add set a custom pattern in options.
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-simplever --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-simplever');
The "simplever" task
Overview
In your project's Gruntfile, add a section named simplever
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
simplever: {
build: {
options: {
pattern: /([rc])+/g,
tasks: [
'clean:dist',
'wiredep',
'useminPrepare',
'concurrent:dist',
'autoprefixer',
'concat',
'ngmin',
'copy:dist',
'cdnify',
'cssmin',
'uglify',
'usemin',
'htmlmin'
]
}
}
},
});
Options
options.patterns
Type: Regex
Default value: /([rc])+/g
A pattern that determines your version is safe to overwrite. *Typically used for development.
options.tasks
Type: Array
Default value: ['build']
The tasks that you want to run when you "build" you're project.
options.warning
Type: String
Default value: WARNING!!! - Version {{version}} has already been released and cannot be overwritten.
A warning message to display when someone tries to build the a project that has already been built.
Usage Examples
Default Options
As stated before, the default task the plugin runs if no tasks are it build
. The main purpose of
this plugin is to provide a layer of protection of the version you want to release and the build standard
build task you use which can sometimes be distructive.
grunt.initConfig({
simplever: {
options: {}
},
});
// Your projects build tasks
grunt.registerTask('build', ['clean', 'lesslint', 'jshint', 'cssmin', 'concat']);
// Alias for SimpleVer
grunt.registerTask('release', ['simplever']);
Custom Options
If you wish, you can overwrite the default simplever settings. The example below completely removes
the afformentioned build
task and funnels everything through simplever.
grunt.initConfig({
simplever: {
options: {
pattern: /([rc])+/g,
warning: 'Yo fool, you already released that.'
tasks: [
'clean',
'lesslint',
'jshint',
'cssmin',
'concat'
]
}
},
});
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.
Release History
(Nothing yet)