124 lines
3.3 KiB
JavaScript
124 lines
3.3 KiB
JavaScript
"use strict";
|
|
|
|
module.exports = function(grunt) {
|
|
|
|
// Project configuration.
|
|
grunt.initConfig({
|
|
// Metadata.
|
|
pkg: grunt.file.readJSON("idle-timer.jquery.json"),
|
|
banner: "/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - " +
|
|
"<%= grunt.template.today('yyyy-mm-dd') %>\n" +
|
|
"<%= pkg.homepage ? '* ' + pkg.homepage + '\\n' : '' %>" +
|
|
"* Copyright (c) <%= grunt.template.today('yyyy') %> <%= pkg.author.name %>;" +
|
|
" Licensed <%= _.pluck(pkg.licenses, 'type').join(', ') %> */\n",
|
|
minbanner: "/*! <%= pkg.title || pkg.name %> v<%= pkg.version %> <%= grunt.template.today('yyyy-mm-dd') %> | " +
|
|
"<%= pkg.homepage ? pkg.homepage : '' %> | (c) <%= grunt.template.today('yyyy') %> <%= pkg.author.name %> | " +
|
|
"Licensed <%= _.pluck(pkg.licenses, 'type').join(', ') %> */\n",
|
|
// Task configuration.
|
|
concat: {
|
|
options: {
|
|
banner: "<%= banner %>",
|
|
stripBanners: true
|
|
},
|
|
dist: {
|
|
files: [
|
|
{
|
|
src: ["src/<%= pkg.name %>.js"],
|
|
dest: "dist/<%= pkg.name %>.js"
|
|
},
|
|
{
|
|
src: ["src/<%= pkg.name %>.js"],
|
|
dest: "dist/<%= pkg.name %>.<%= pkg.version %>.js"
|
|
}
|
|
]
|
|
},
|
|
},
|
|
uglify: {
|
|
options: {
|
|
banner: "<%= minbanner %>"
|
|
},
|
|
dist: {
|
|
files: [
|
|
{
|
|
src: "<%= concat.dist.files[0].dest %>",
|
|
dest: "dist/<%= pkg.name %>.min.js"
|
|
},
|
|
{
|
|
src: "<%= concat.dist.files[0].dest %>",
|
|
dest: "dist/<%= pkg.name %>.<%= pkg.version %>.min.js"
|
|
}
|
|
]
|
|
},
|
|
},
|
|
qunit: {
|
|
options: {
|
|
timeout: 30000,
|
|
"--web-security": "no",
|
|
coverage: {
|
|
src: [ "src/<%= pkg.name %>.js" ],
|
|
instrumentedFiles: "temp/",
|
|
htmlReport: "build/report/coverage",
|
|
lcovReport: "build/report/lcov",
|
|
linesThresholdPct: 0
|
|
}
|
|
},
|
|
files: ["test/**/*.html"]
|
|
},
|
|
coveralls: {
|
|
options: {
|
|
// dont fail if coveralls fails
|
|
force: true
|
|
},
|
|
main_target: {
|
|
src: "build/report/lcov/lcov.info"
|
|
}
|
|
},
|
|
jshint: {
|
|
gruntfile: {
|
|
options: {
|
|
jshintrc: ".jshintrc"
|
|
},
|
|
src: "Gruntfile.js"
|
|
},
|
|
src: {
|
|
options: {
|
|
jshintrc: "src/.jshintrc"
|
|
},
|
|
src: ["src/**/*.js"]
|
|
},
|
|
test: {
|
|
options: {
|
|
jshintrc: "test/.jshintrc"
|
|
},
|
|
src: ["test/**/*.js"]
|
|
},
|
|
},
|
|
watch: {
|
|
gruntfile: {
|
|
files: "<%= jshint.gruntfile.src %>",
|
|
tasks: ["jshint:gruntfile"]
|
|
},
|
|
src: {
|
|
files: "<%= jshint.src.src %>",
|
|
tasks: ["jshint:src", "qunit"]
|
|
},
|
|
test: {
|
|
files: "<%= jshint.test.src %>",
|
|
tasks: ["jshint:test", "qunit"]
|
|
},
|
|
},
|
|
});
|
|
|
|
// These plugins provide necessary tasks.
|
|
grunt.loadNpmTasks("grunt-contrib-jshint");
|
|
grunt.loadNpmTasks("grunt-coveralls");
|
|
grunt.loadNpmTasks("grunt-qunit-istanbul");
|
|
grunt.loadNpmTasks("grunt-contrib-concat");
|
|
grunt.loadNpmTasks("grunt-contrib-uglify");
|
|
grunt.loadNpmTasks("grunt-contrib-watch");
|
|
|
|
// Default task.
|
|
grunt.registerTask("default", ["jshint", "qunit", "concat", "uglify"]);
|
|
|
|
};
|