123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- var src_folders = ['wui-3', 'wui-3-rt', 'wui-7', 'wui-9', 'wui-9-mts', 'wui-10', 'wui-11', 'upload'];
- var cssminConf = function() {
- var conf = {};
- for (var i = src_folders.length - 1; i >= 0; i--) {
- var srcName = src_folders[i];
- conf[srcName] = {
- expand: true,
- cwd: 'src/'+srcName,
- src: ['*.css', '!*.min.css'],
- dest: 'src/'+srcName,
- ext: '.min.css'
- };
- }
- return conf;
- };
- var uglifyConf = function() {
- var conf = {};
- for (var i = src_folders.length - 1; i >= 0; i--) {
- var srcName = src_folders[i];
- conf[srcName] = {
- files: [{
- expand: true,
- cwd: 'src/'+srcName,
- src: '**/*.js',
- dest: 'src/'+srcName,
- rename: function (dst, src) {
- return dst + '/' + src.replace('.js', '.min.js');
- }
- }]
- };
- }
- return conf;
- };
- var compressConf = function() {
- var conf = {};
- for (var i = src_folders.length - 1; i >= 0; i--) {
- var srcName = src_folders[i];
- conf[srcName] = {
- options: { mode: 'gzip' },
- files: [
- {expand: true, cwd: 'src/'+srcName+'/',src: ['*.min.js'], dest: 'dist/'+srcName, ext: '.js'},
- {expand: true, cwd: 'src/'+srcName+'/',src: ['*.min.css'], dest: 'dist/'+srcName, ext: '.css'},
- {expand: true, cwd: 'src/'+srcName+'/',src: ['*.min.html'], dest: 'dist/'+srcName, ext: '.html'}
- ]
- };
- }
- return conf;
- };
- var htmlminConf = function() {
- var conf = {};
- for (var i = src_folders.length - 1; i >= 0; i--) {
- var srcName = src_folders[i];
- conf[srcName] = {
- options: { removeComments: true, collapseWhitespace: true },
- files: [{
- expand: true,
- cwd: 'src/'+srcName,
- src: ['*.html'],
- dest: 'src/'+srcName,
- rename: function (dst, src) {
- return dst + '/' + src.replace('.html', '.min.html');
- }
- }]
- };
- }
- return conf;
- };
- var imageminConf = function() {
- var conf = {};
- for (var i = src_folders.length - 1; i >= 0; i--) {
- var srcName = src_folders[i];
- var logo = {};
- if (srcName === 'wui-3-rt') {
- logo['dist/'+srcName+'/logo.png'] = 'src/'+srcName+'/logo.png';
- } else {
- logo['dist/'+srcName+'/rotek.png'] = 'src/'+srcName+'/rotek.png';
- }
- var favicon = {};
- favicon['dist/'+srcName+'/favicon.ico'] = 'src/'+srcName+'/favicon.ico';
- if (srcName === 'upload') {
- conf[srcName] = {
- options: { optimizationLevel: 0 },
- files: [ favicon ]
- };
- } else {
- conf[srcName] = {
- options: { optimizationLevel: 0 },
- files: [ logo, favicon ]
- };
- }
- }
- return conf;
- };
- module.exports = function (grunt) {
- grunt.initConfig({
- pkg: grunt.file.readJSON('package.json'),
- cssmin: cssminConf(),
- uglify: uglifyConf(),
- compress: compressConf(),
- htmlmin: htmlminConf(),
- imagemin: imageminConf(),
- clean: {
- all: {
- src: [
- '!src/**/*.js',
- '!src/**/*.css',
- 'src/**/*.min.js',
- 'src/**/*.min.css',
- 'src/**/*.min.html'
- ]
- },
- clear: {
- src: 'dist*/*'
- }
- },
- jshint: {
- all: ['Gruntfile.js', 'src/**/*.js']
- }
- });
- grunt.loadNpmTasks('grunt-contrib-htmlmin');
- grunt.loadNpmTasks('grunt-contrib-uglify');
- grunt.loadNpmTasks('grunt-contrib-cssmin');
- grunt.loadNpmTasks('grunt-contrib-clean');
- grunt.loadNpmTasks('grunt-contrib-compress');
- grunt.loadNpmTasks('grunt-contrib-imagemin');
- grunt.loadNpmTasks('grunt-contrib-jshint');
- grunt.registerTask('default', ['cssmin','uglify','htmlmin','clean:all']);
- grunt.registerTask('build', ['cssmin','uglify','htmlmin','compress','clean:all', 'imagemin']);
- grunt.registerTask('clear', ['clean:clear']);
- grunt.registerTask('jhint', ['jshint']);
- };
|