nnnjjj123
2020-11-17 1b2c1edb61190eeb19f465ff031eaa3b2a1b8dbc
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
/* jshint node:true */
 
module.exports = function (grunt) {
    grunt.loadNpmTasks('grunt-contrib-clean');
    grunt.loadNpmTasks('grunt-contrib-stylus');
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('intern');
 
    // grunt-contrib-stylus does not appear to support globbed destination filenames,
    // so generate the desired destination/source configuration ahead of time
    var stylusFiles = grunt.file.expand([
        'css/dgrid.styl',
        'css/skins/*.styl',
        '!css/skins/skin.styl'
    ]);
    var stylusFilesConfig = {};
    stylusFiles.forEach(function (filename) {
        stylusFilesConfig[filename.slice(0, -5) + '.css'] = filename;
    });
 
    grunt.initConfig({
        clean: {
            css: {
                src: [ 'css/**/*.css' ]
            }
        },
 
        stylus: {
            options: {
                compress: false,
                use: [ require('nib') ]
            },
 
            compile: {
                files: stylusFilesConfig
            }
        },
 
        watch: {
            stylus: {
                files: [ 'css/**/*.styl' ],
                tasks: [ 'stylus' ]
            }
        },
 
        intern: {
            options: {
                reporters: [ 'LcovHtml', 'Pretty' ],
                runType: 'runner',
                config: 'test/intern/intern'
            },
 
            local: {
                options: {
                    config: 'test/intern/intern-local'
                }
            },
 
            browserstack: {},
 
            saucelabs: {
                options: {
                    config: 'test/intern/intern-saucelabs'
                }
            }
        }
    });
 
    grunt.registerTask('default', [ 'stylus', 'watch:stylus' ]);
    grunt.registerTask('test', function () {
        var flags = Object.keys(this.flags);
 
        if (!flags.length) {
            flags.push('local');
        }
 
        flags.forEach(function (flag) {
            grunt.task.run('intern:' + flag);
        });
    });
};