virt2/assets/vendor_components/jquery-wizard-master/Gruntfile.js

178 lines
5.5 KiB
JavaScript
Executable File

'use strict';
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
// Metadata.
pkg: grunt.file.readJSON('package.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',
// Task configuration.
// -- clean config ----------------------------------------------------------=
clean: {
files: ['dist']
},
// -- concat config ----------------------------------------------------------
concat: {
options: {
banner: '<%= banner %>',
stripBanners: true,
process: true
},
dist: {
src: [
'src/intro.js',
'src/support.js',
'src/setup.js',
'src/util.js',
'src/defaults.js',
'src/step.js',
'src/public.js',
'src/bind.js',
'src/outro.js'
],
dest: 'dist/jquery-wizard.js'
}
},
// -- uglify config ----------------------------------------------------------
uglify: {
options: {
banner: '<%= banner %>'
},
dist: {
src: '<%= concat.dist.dest %>',
dest: 'dist/jquery-wizard.min.js'
},
},
// -- jshint config ----------------------------------------------------------
jshint: {
gruntfile: {
options: {
jshintrc: '.jshintrc'
},
src: 'Gruntfile.js'
},
dist: {
options: {
jshintrc: 'src/.jshintrc'
},
src: ["<%= concat.dist.dest %>"]
}
},
// -- jsbeautifier config -----------------------------------------------------
jsbeautifier: {
dist: {
src: ["<%= concat.dist.dest %>"]
},
source: {
src: ['Gruntfile.js', "src/*.js"],
},
options: {
"indent_size": 4,
"indent_char": " ",
"indent_level": 0,
"indent_with_tabs": false,
"preserve_newlines": true,
"max_preserve_newlines": 10,
"jslint_happy": false,
"brace_style": "collapse",
"keep_array_indentation": false,
"keep_function_indentation": false,
"space_before_conditional": true,
"eval_code": false,
"indent_case": false,
"unescape_strings": false
}
},
// -- less config ----------------------------------------------------------
less: {
dist: {
files: {
'css/wizard.css': ['less/wizard.less']
}
}
},
// -- autoprefixer config ----------------------------------------------------------
autoprefixer: {
options: {
browsers: [
"Android 2.3",
"Android >= 4",
"Chrome >= 20",
"Firefox >= 24",
"Explorer >= 8",
"iOS >= 6",
"Opera >= 12",
"Safari >= 6"
]
},
src: {
expand: true,
cwd: 'css/',
src: ['*.css', '!*.min.css'],
dest: 'css/'
}
},
// -- watch config ------------------------------------------------------------
watch: {
gruntfile: {
files: '<%= jshint.gruntfile.src %>',
tasks: ['jshint:gruntfile']
},
src: {
files: '<%= concat.dist.src %>',
tasks: ['dist']
}
},
// -- csscomb config ---------------------------------------------------------
csscomb: {
options: {
config: '.csscomb.json'
},
dist: {
files: {
'css/wizard.css': ['css/wizard.css'],
},
}
},
// -- replace config ---------------------------------------------------------
replace: {
bower: {
src: ['bower.json'],
overwrite: true, // overwrite matched source files
replacements: [{
from: /("version": ")([0-9\.]+)(")/g,
to: "$1<%= pkg.version %>$3"
}]
}
}
});
// Load npm plugins to provide necessary tasks.
require('load-grunt-tasks')(grunt, {
pattern: ['grunt-*']
});
// Default task.
grunt.registerTask('default', ['dist', 'jshint']);
grunt.registerTask('dist', ['clean', 'concat', 'jsbeautifier:dist', 'uglify']);
grunt.registerTask('js', ['jsbeautifier', 'jshint']);
grunt.registerTask('version', [
'replace:bower'
]);
grunt.registerTask('css', ['less', 'csscomb', 'autoprefixer']);
};