aboutsummaryrefslogtreecommitdiffstats
path: root/library/bootstrap-colorpicker/Gruntfile.js
blob: 597a1c8e4f060163cf6051817e94646581d9769f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
'use strict';
module.exports = function(grunt) {

    grunt.initConfig({
        recess: {
            dist: {
                options: {
                    compile: true,
                    compress: false
                },
                files: {
                    'dist/css/bootstrap-colorpicker.css': [
                        'src/less/colorpicker.less'
                    ]
                }
            },
            distMin: {
                options: {
                    compile: true,
                    compress: true
                },
                files: {
                    'dist/css/bootstrap-colorpicker.min.css': [
                        'src/less/colorpicker.less'
                    ]
                }
            }
        },
        jshint: {
            options: {
                jshintrc: '.jshintrc'
            },
            files: [
                'Gruntfile.js',
                'src/js/commits.js',
                'src/js/docs.js',
                'dist/js/*.js'
            ]
        },
        jsbeautifier: {
            htmlFiles: ['index.html'],
            srcFiles: ['src/js/*.js'],
            distFiles: ['dist/js/bootstrap-colorpicker.js']
        },
        combine: {
            dist: {
                input: 'src/js/colorpicker.js',
                output: 'dist/js/bootstrap-colorpicker.js',
                tokens: [{
                        token: "'{{color}}';",
                        file: 'src/js/colorpicker-color.js',
                    }]
            }
        },
        uglify: {
            dist: {
                files: {
                    'dist/js/bootstrap-colorpicker.min.js': [
                        'dist/js/bootstrap-colorpicker.js'
                    ]
                }
            }
        },
        bake: {
            options: {
                condense: true,
                indent: 4
            },
            dist: {
                files: {
                    'index.html': ['src/docs.html']
                }
            }
        },
        watch: {
            less: {
                files: [
                    'src/less/*.less'
                ],
                tasks: ['recess']
            },
            js: {
                files: [
                    'src/js/*.js'
                ],
                tasks: ['jsbeautifier:srcFiles', 'combine', 'jsbeautifier:distFiles', 'uglify', 'jshint']
            },
            html: {
                files: [
                    'src/*.html'
                ],
                tasks: ['bake', 'jsbeautifier:htmlFiles']
            }
        },
        clean: {
            dist: [
                'index.html',
                'dist/css',
                'dist/js/*.js'
            ]
        }
    });

    // Load tasks
    grunt.loadNpmTasks('grunt-contrib-clean');
    grunt.loadNpmTasks('grunt-contrib-jshint');
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-bake');
    grunt.loadNpmTasks('grunt-recess');
    grunt.loadNpmTasks('grunt-jsbeautifier');
    grunt.loadNpmTasks('grunt-combine');

    // Register tasks
    grunt.registerTask('default', [
        'clean',
        'recess',
        'jsbeautifier:srcFiles',
        'combine',
        'jsbeautifier:distFiles',
        'uglify',
        'bake',
        'jsbeautifier:htmlFiles'
    ]);
    grunt.registerTask('dev', [
        'watch'
    ]);

};