These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | /* global module, require */ |
||
2 | module.exports = function( grunt ) { |
||
1 ignored issue
–
show
introduced
by
![]() |
|||
3 | 'use strict'; |
||
4 | |||
5 | // Load all grunt tasks |
||
6 | require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); |
||
7 | |||
8 | // Project configuration |
||
9 | grunt.initConfig( { |
||
10 | pkg: grunt.file.readJSON( 'package.json' ), |
||
11 | |||
12 | jshint: { |
||
13 | browser: { |
||
14 | files: { |
||
15 | src: [ 'assets/js/src/*.js' ] |
||
16 | }, |
||
17 | options: { |
||
18 | jshintrc: '.jshintrc' |
||
19 | } |
||
20 | }, |
||
21 | grunt: { |
||
22 | files:{ |
||
23 | src: [ 'Gruntfile.js' ] |
||
24 | }, |
||
25 | options: { |
||
26 | jshintrc: '.gruntjshintrc' |
||
27 | } |
||
28 | } |
||
29 | }, |
||
30 | |||
31 | concat: { |
||
32 | options: { |
||
33 | stripBanners: true, |
||
34 | banner: '/*! <%= pkg.title %> - v<%= pkg.version %> %>\n' + |
||
35 | ' * <%= pkg.homepage %>\n' + |
||
36 | ' * Copyright (c) <%= grunt.template.today("yyyy") %>;' + |
||
37 | ' * Licensed GPLv2+' + |
||
38 | ' */\n', |
||
39 | sourceMap: true |
||
40 | }, |
||
41 | css: { |
||
42 | files: { |
||
43 | 'assets/css/bulk-delete.css': ['assets/css/src/**/*.css'] |
||
44 | } |
||
45 | }, |
||
46 | scripts: { |
||
47 | files: { |
||
48 | 'assets/js/bulk-delete.js': ['assets/js/src/**/*.js'] |
||
49 | } |
||
50 | } |
||
51 | }, |
||
52 | |||
53 | uglify: { |
||
54 | all: { |
||
55 | options: { |
||
56 | banner: '/*! <%= pkg.title %> - v<%= pkg.version %> \n' + |
||
57 | ' * <%= pkg.homepage %>\n' + |
||
58 | ' * Copyright (c) <%= grunt.template.today("yyyy") %>;' + |
||
59 | ' * Licensed GPLv2+' + |
||
60 | ' */\n', |
||
61 | mangle: { |
||
62 | except: ['jQuery'] |
||
63 | } |
||
64 | }, |
||
65 | files: { |
||
66 | 'assets/js/bulk-delete.min.js': ['assets/js/bulk-delete.js'] |
||
67 | } |
||
68 | } |
||
69 | }, |
||
70 | |||
71 | cssmin: { |
||
72 | minify: { |
||
73 | src: 'assets/css/bulk-delete.css', |
||
74 | dest: 'assets/css/bulk-delete.min.css' |
||
75 | } |
||
76 | }, |
||
77 | |||
78 | watch: { |
||
79 | scripts: { |
||
80 | files: ['assets/js/src/**/*.js'], |
||
81 | tasks: ['jshint:browser', 'concat', 'uglify'], |
||
82 | options: { |
||
83 | debounceDelay: 500 |
||
84 | } |
||
85 | }, |
||
86 | css: { |
||
87 | files: ['assets/css/src/**/*.css'], |
||
88 | tasks: ['concat', 'cssmin'], |
||
89 | options: { |
||
90 | debounceDelay: 500 |
||
91 | } |
||
92 | } |
||
93 | }, |
||
94 | |||
95 | clean : { |
||
96 | dist: ['dist/'] |
||
97 | }, |
||
98 | |||
99 | copy: { |
||
100 | timepicker: { |
||
101 | files: [{ |
||
102 | src : 'assets/vendor/jqueryui-timepicker-addon/dist/jquery-ui-timepicker-addon.min.js', |
||
103 | dest: 'assets/js/jquery-ui-timepicker-addon.min.js' |
||
104 | }, |
||
105 | { |
||
106 | src : 'assets/vendor/jqueryui-timepicker-addon/dist/jquery-ui-timepicker-addon.min.css', |
||
107 | dest: 'assets/css/jquery-ui-timepicker-addon.min.css' |
||
108 | }] |
||
109 | }, |
||
110 | select2: { |
||
111 | files: [{ |
||
112 | src : 'assets/vendor/select2/dist/js/select2.min.js', |
||
113 | dest: 'assets/js/select2.min.js' |
||
114 | }, |
||
115 | { |
||
116 | src : 'assets/vendor/select2/dist/css/select2.min.css', |
||
117 | dest: 'assets/css/select2.min.css' |
||
118 | }] |
||
119 | }, |
||
120 | dist: { |
||
121 | files : [ |
||
122 | { |
||
123 | expand: true, |
||
124 | src: [ |
||
125 | '**', |
||
126 | '!dist/**', |
||
127 | '!assets-wp-repo/**', |
||
128 | '!node_modules/**', |
||
129 | '!assets/vendor/**', |
||
130 | '!assets/js/src/**', |
||
131 | '!assets/css/src/**', |
||
132 | '!Gruntfile.js', |
||
133 | '!bower.json', |
||
134 | '!package.json', |
||
135 | '!phpcs.xml', |
||
136 | '!tags' |
||
137 | ], |
||
138 | dest: 'dist/' |
||
139 | } |
||
140 | ] |
||
141 | } |
||
142 | } |
||
143 | } ); |
||
144 | |||
145 | require('time-grunt')(grunt); |
||
146 | |||
147 | grunt.registerTask('default', ['jshint:browser', 'concat', 'uglify', 'cssmin']); |
||
148 | grunt.registerTask('vendor', ['copy:timepicker', 'copy:select2']); |
||
149 | grunt.registerTask('build', [ 'default', 'vendor', 'clean', 'copy:dist']); |
||
150 | |||
151 | grunt.util.linefeed = '\n'; |
||
152 | }; |
||
153 |