GabiGrin/angular-validation-messages

View on GitHub
Gruntfile.js

Summary

Maintainability
A
3 hrs
Test Coverage
'use strict';

module.exports = function (grunt) {

  require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);

  grunt.initConfig({
      concat: {
        options: {
          // define a string to put between each file in the concatenated output
          separator: ';'
        },
        dist: {
          // the files to concatenate
          src: ['src/**/module.js', 'src/**/*.js'],
          // the location of the resulting JS file
          dest: 'dist/angular-validation-messages.js'
        }
      },
      ngAnnotate: {
        options: {
          singleQuotes: true
        },
        main: {
          files: {
            'dist/angular-validation-messages.js': ['dist/angular-validation-messages.js']
          }
        }
      },
      clean: ['dist'],
      uglify: {
        'dist/angular-validation-messages.min.js': 'dist/angular-validation-messages.js'
      },
      jshint: {
        options: {
          jshintrc: true
        },
        all: [
          'Gruntfile.js',
          'src/**/*.js',
          'test/**/*.js',
          '!test/lib/**/*.js'
        ]
      },
      watch: {
        options: {
          livereload: 30000
        },
        scripts: {
          files: ['src/**/*.js', 'Gruntfile.js'],
          tasks: ['package', 'test']
        },
        test: {
          files: ['test/**/*.js'],
          tasks: ['test']
        },
        html: {
          files: ['demo/**/*.html'],
          tasks: ['package']
        },
        styles: {
          files: ['src/**/*.css'],
          tasks: ['package']
        }
      },
      cssmin: {
        combine: {
          files: {
            'dist/angular-validation-messages.css': ['src/style.css']
          }
        }
      },
      coveralls: {
        options: {
          // LCOV coverage file relevant to every target
          force: true
        },
        all: {
          // Target-specific LCOV coverage file
          src: 'coverage/*/lcov.info'
        }
      },
      connect: {
        server: {
          options: {
            port: 9001,
            open: true
          }
        }
      },
      karma: {
        unit: {
          configFile: 'karma.conf.js'
        },
        dist: {
          configFile: 'karma.dist.conf.js'
        }
      }
    }
  );
  grunt.registerTask('package', ['cssmin', 'jshint', 'concat', 'ngAnnotate', 'uglify']);
  grunt.registerTask('test', ['karma:unit', 'karma:dist']);
  grunt.registerTask('serve', ['package', 'test', 'connect', 'watch']);
  grunt.registerTask('build', ['clean', 'package', 'test', 'coveralls']);
};