0.0.1 • Published 10 years ago

grunt-simplever v0.0.1

Weekly downloads
1
License
-
Repository
github
Last release
10 years ago

grunt-simplever Build Status NPM version

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 in package.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)