You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AdminLTE/bower_components/bootstrap-colorpicker/Gruntfile.js

189 lines
4.5 KiB

'use strict';
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
less: {
dist: {
options: {
strictMath: true,
sourceMap: true,
outputSourceFiles: true,
sourceMapURL: '<%= pkg.name %>.css.map',
sourceMapFilename: 'dist/css/<%= pkg.name %>.css.map'
},
src: 'src/less/colorpicker.less',
dest: 'dist/css/<%= pkg.name %>.css'
}
},
cssmin: {
options: {
compatibility: 'ie8',
keepSpecialComments: '*',
sourceMap: true,
advanced: false
},
dist: {
src: 'dist/css/<%= pkg.name %>.css',
dest: 'dist/css/<%= pkg.name %>.min.css'
}
},
jshint: {
options: {
jshintrc: '.jshintrc'
},
files: [
'Gruntfile.js',
'docs/docs.js',
'dist/js/<%= pkg.name %>.js'
]
},
jsbeautifier: {
options: {
js: {
braceStyle: "collapse",
breakChainedMethods: false,
e4x: false,
evalCode: false,
indentChar: " ",
indentLevel: 0,
indentSize: 2,
indentWithTabs: false,
jslintHappy: false,
keepArrayIndentation: false,
keepFunctionIndentation: false,
maxPreserveNewlines: 2,
preserveNewlines: true,
spaceBeforeConditional: true,
spaceInParen: false,
unescapeStrings: false,
wrapLineLength: 0,
endWithNewline: true
}
},
src: ['src/js/*.js', 'docs/docs.js'],
dist: ['dist/js/<%= pkg.name %>.js']
},
combine: {
js: {
input: 'src/js/colorpicker-plugin-wrapper.js',
output: 'dist/js/<%= pkg.name %>.js',
tokens: [{
token: "//@version",
string: '<%= pkg.version %>'
}, {
token: "//@colorpicker-color",
file: 'src/js/colorpicker-color.js'
}, {
token: "//@colorpicker-defaults",
file: 'src/js/colorpicker-defaults.js'
}, {
token: "//@colorpicker-component",
file: 'src/js/colorpicker-component.js'
}]
},
less: {
input: 'src/less/colorpicker.less',
output: 'src/less/colorpicker.less',
tokens: [{
token: "//@version",
string: '<%= pkg.version %>'
}]
}
},
strip_code: {
src: {
src: 'dist/js/*.js'
}
},
uglify: {
options: {
banner: '/*!\n * Bootstrap Colorpicker v<%= pkg.version %>\n' +
' * https://itsjavi.com/bootstrap-colorpicker/\n */\n'
},
dist: {
files: {
'dist/js/<%= pkg.name %>.min.js': [
'dist/js/<%= pkg.name %>.js'
]
}
}
},
watch: {
less: {
files: [
'src/less/*.less'
],
tasks: ['combine:less', 'less', 'cssmin']
},
js: {
files: [
'src/js/*.js',
'docs/docs.js'
],
tasks: ['jsbeautifier:src', 'combine:js', 'jsbeautifier:dist', 'uglify', 'jshint']
},
handlebars: {
files: [
'docs/*.hbs',
'docs/**/*.hbs',
'docs/helpers/**/*.js'
],
tasks: ['assemble']
}
},
assemble: {
options: {
assets: 'docs/assets',
helpers: ['docs/helpers/code'],
partials: ['docs/includes/**/*.hbs'],
layout: ['docs/layout.hbs'],
data: ['package.json'],
flatten: true
},
site: {
src: ['docs/pages/*.hbs'],
dest: './'
}
},
clean: {
dist: [
'dist/css/*',
'dist/js/*',
'index_new.html'
]
}
});
// Load tasks
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-jsbeautifier');
grunt.loadNpmTasks('grunt-combine');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-assemble');
grunt.loadNpmTasks('grunt-strip-code');
// Register tasks
grunt.registerTask('default', [
'clean',
'combine:less',
'less',
'cssmin',
'jsbeautifier:src',
'combine:js',
'jsbeautifier:dist',
'strip_code',
'uglify',
'assemble',
'jshint'
]);
grunt.registerTask('dev', [
'watch'
]);
};