OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2022-01-13 4545664bbece1b1b185945376b344b1660669a53
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
module.exports = function (grunt) {
    'use strict';
 
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
 
        version: {
            js: {
                src: ['<%= pkg.exportName %>.js', '*.json']
            },
            cdn: {
                options: {
                    prefix: '(cdnjs\\.cloudflare\\.com\\/ajax\\/libs\\/Sortable|cdn\\.jsdelivr\\.net\\/sortable)\\/',
                    replace: '[0-9\\.]+'
                },
                src: ['README.md']
            }
        },
 
        jshint: {
            all: ['*.js', '!*.min.js'],
 
            options: {
                jshintrc: true
            }
        },
 
        uglify: {
            options: {
                banner: '/*! <%= pkg.exportName %> <%= pkg.version %> - <%= pkg.license %> | <%= pkg.repository.url %> */\n'
            },
            dist: {
                files: {
                    '<%= pkg.exportName %>.min.js': ['<%= pkg.exportName %>.js']
                }
            },
            jquery: {
                files: {}
            }
        },
 
        jquery: {}
    });
 
 
    grunt.registerTask('jquery', function (exportName, uglify) {
        if (exportName == 'min') {
            exportName = null;
            uglify = 'min';
        }
 
        if (!exportName) {
            exportName = 'sortable';
        }
 
        var fs = require('fs'),
            filename = 'jquery.fn.' + exportName + '.js';
 
        grunt.log.oklns(filename);
 
        fs.writeFileSync(
            filename,
            (fs.readFileSync('jquery.binding.js') + '')
                .replace('$.fn.sortable', '$.fn.' + exportName)
                .replace('/* CODE */',
                    (fs.readFileSync('Sortable.js') + '')
                        .replace(/^[\s\S]*?function[\s\S]*?(var[\s\S]+)\/\/\s+Export[\s\S]+/, '$1')
                )
        );
 
        if (uglify) {
            var opts = {};
 
            opts['jquery.fn.' + exportName + '.min.js'] = filename;
            grunt.config.set('uglify.jquery.files', opts);
 
            grunt.task.run('uglify:jquery');
        }
    });
 
 
    grunt.loadNpmTasks('grunt-version');
    grunt.loadNpmTasks('grunt-contrib-jshint');
    grunt.loadNpmTasks('grunt-contrib-uglify');
 
    grunt.registerTask('tests', ['jshint']);
    grunt.registerTask('default', ['tests', 'version', 'uglify:dist']);
};