TEXT   48

Gruntfile.js

Guest on 3rd August 2021 01:41:30 AM

  1. module.exports = function(grunt) {
  2.         "use strict";
  3.  
  4.         grunt.loadNpmTasks("grunt-contrib-clean");
  5.         grunt.loadNpmTasks("grunt-contrib-copy");
  6.         grunt.loadNpmTasks("grunt-contrib-concat");
  7.         grunt.loadNpmTasks("grunt-contrib-jshint");
  8.         grunt.loadNpmTasks("grunt-contrib-qunit");
  9.         grunt.loadNpmTasks("grunt-contrib-uglify");
  10.  
  11.         // Project configuration.
  12.         grunt.initConfig({
  13.                 pkg: grunt.file.readJSON('package.json'),
  14.                 clean: {
  15.                         build: ['lib']
  16.                 },
  17.                 concat: {
  18.                         options: {
  19.                                 stripBanners: true,
  20.                                 banner: "/**\n" +
  21.                                          " * <%= pkg.name %>\n" +
  22.                                          " * <%= pkg.description %>\n" +
  23.                                          " *\n" +
  24.                                          " * @author <%= pkg.author.name %> <<%= pkg.author.email %>>\n" +
  25.                                          " * @copyright <%= pkg.author.name %> <%= grunt.template.today('yyyy') %>\n" +
  26.                                          " * @license <%= pkg.licenses[0].type %> <<%= pkg.licenses[0].url %>>\n" +
  27.                                          " * @link <%= pkg.homepage %>\n" +
  28.                                          " * @module <%= pkg.name %>\n" +
  29.                                          " * @version <%= pkg.version %>\n" +
  30.                                          " */\n"
  31.                         },
  32.                         dist: {
  33.                                 src: ["src/alertify.js"],
  34.                                 dest: "lib/alertify.js"
  35.                         }
  36.                 },
  37.                 copy: {
  38.                         main: {
  39.                                 files: [{
  40.                                         expand: true,
  41.                                         cwd: 'src/',
  42.                                         src: ['alertify.js'],
  43.                                         dest: 'lib/'
  44.                                 }]
  45.                         }
  46.                 },
  47.                 jshint: {
  48.                         files: {
  49.                                 src: [
  50.                                         'Gruntfile.js',
  51.                                         'src/**/*.js',
  52.                                         'test/**/*.js',
  53.                                         '!test/qunit/**/*.js'
  54.                                 ]
  55.                         },
  56.                         options: {
  57.                                 curly     : false,
  58.                                 eqeqeq    : true,
  59.                                 immed     : true,
  60.                                 latedef   : true,
  61.                                 noempty   : true,
  62.                                 newcap    : true,
  63.                                 noarg     : true,
  64.                                 sub       : true,
  65.                                 undef     : true,
  66.                                 boss      : true,
  67.                                 eqnull    : true,
  68.                                 node      : true,
  69.                                 smarttabs : true,
  70.                                 es5       : true,
  71.  
  72.                                 globals: {
  73.                                         document : true,
  74.                                         alertify : true
  75.                                 }
  76.                         },
  77.                 },
  78.                 qunit: {
  79.                         all: ["test/index.html"]
  80.                 },
  81.                 uglify: {
  82.                         options: {
  83.                                 banner: "/*! <%= pkg.name %> - v<%= pkg.version %> - " +
  84.                                                 "<%= grunt.template.today('yyyy-mm-dd') %> */\n"
  85.                         },
  86.                         dist: {
  87.                                 files: {
  88.                                         'lib/alertify.min.js': ['<banner>', 'lib/alertify.js']
  89.                                 }
  90.                         }
  91.                 },
  92.         });
  93.  
  94.         // Default task.
  95.         grunt.registerTask("default", ["jshint", "qunit", "clean:build", "concat", "uglify"]);
  96. };

Raw Paste


Login or Register to edit or fork this paste. It's free.