1
1
const concat = require ( 'gulp-concat' ) ;
2
2
const dartSass = require ( 'sass' ) ;
3
+ const del = require ( 'del' ) ;
4
+ const fs = require ( 'fs' ) ;
3
5
const gulpSass = require ( 'gulp-sass' ) ;
4
6
const less = require ( 'gulp-less' ) ;
5
7
const path = require ( 'path' ) ;
@@ -11,20 +13,32 @@ const uglify = require('gulp-uglify');
11
13
const uglifycss = require ( 'gulp-uglifycss' ) ;
12
14
const wrapper = require ( '@risadams/gulp-wrapper' ) ;
13
15
14
- const del = require ( 'del' ) ;
15
16
const { src, dest, series, watch } = require ( 'gulp' ) ;
16
17
17
- // Tasks
18
-
19
18
const cleanLibs = async ( ) => del ( 'dist/**/*' ) ;
20
19
const loadDependencies = async ( ) => await _copyLibs ( ) ;
21
20
const copyDependencies = async ( ) => src ( [ 'lib/**/*' ] ) . pipe ( dest ( 'dist/lib' ) ) ;
22
21
const copySrc = async ( ) => {
22
+
23
+ let scripts = [
24
+ 'src/contrib/*.js' ,
25
+ 'src/constants.js' ,
26
+ 'src/utils.js' ,
27
+ 'src/selectize.js' ,
28
+ 'src/defaults.js' ,
29
+ 'src/selectize.jquery.js'
30
+ ] ;
31
+
32
+ // Add in all plugin scripts in a predictable order
33
+ fs . readdirSync ( 'src/plugins' ) . sort ( ) . forEach ( ( file ) => {
34
+ scripts . push ( `src/plugins/${ file } /plugin.js` ) ;
35
+ } ) ;
36
+
23
37
setTimeout ( async ( ) => {
24
38
await _compileLess ( ) ;
25
39
await _compileSass ( ) ;
26
- await _compileJavascript ( ) ;
27
- setTimeout ( async ( ) => { await _minifyScripts ( ) ; } , 1000 ) ;
40
+ await _compileJavascript ( scripts ) ;
41
+ await _minifyScripts ( scripts ) ;
28
42
} , 1000 ) ;
29
43
} ;
30
44
const watchFiles = async ( ) => watch ( [ 'src/**/*.{js,css,less,scss}' ] ) . on ( 'change' , series ( loadDependencies , copyDependencies , copySrc ) ) ;
@@ -137,16 +151,8 @@ const _compileSass = async () => {
137
151
}
138
152
}
139
153
140
- const _compileJavascript = async ( ) =>
141
- src ( [
142
- 'src/contrib/*.js' ,
143
- 'src/constants.js' ,
144
- 'src/utils.js' ,
145
- 'src/selectize.js' ,
146
- 'src/defaults.js' ,
147
- 'src/selectize.jquery.js' ,
148
- 'src/plugins/**/*.js' ,
149
- ] )
154
+ const _compileJavascript = async ( scripts ) =>
155
+ src ( scripts )
150
156
. pipe ( concat ( 'selectize.js' ) )
151
157
. pipe ( wrapper ( {
152
158
header : amd_header ,
@@ -157,16 +163,8 @@ const _compileJavascript = async () =>
157
163
. pipe ( replace ( / @ @ v e r s i o n / g, getVersion ( ) ) )
158
164
. pipe ( dest ( 'dist/js' ) ) ;
159
165
160
- const _minifyScripts = async ( ) =>
161
- src ( [
162
- 'src/contrib/*.js' ,
163
- 'src/constants.js' ,
164
- 'src/utils.js' ,
165
- 'src/selectize.js' ,
166
- 'src/defaults.js' ,
167
- 'src/selectize.jquery.js' ,
168
- 'src/plugins/**/*.js' ,
169
- ] )
166
+ const _minifyScripts = async ( scripts ) =>
167
+ src ( scripts )
170
168
. pipe ( concat ( 'selectize.min.js' ) )
171
169
. pipe ( wrapper ( {
172
170
header : amd_header ,
0 commit comments