11const concat = require ( 'gulp-concat' ) ;
22const dartSass = require ( 'sass' ) ;
3+ const del = require ( 'del' ) ;
4+ const fs = require ( 'fs' ) ;
35const gulpSass = require ( 'gulp-sass' ) ;
46const less = require ( 'gulp-less' ) ;
57const path = require ( 'path' ) ;
@@ -11,20 +13,32 @@ const uglify = require('gulp-uglify');
1113const uglifycss = require ( 'gulp-uglifycss' ) ;
1214const wrapper = require ( '@risadams/gulp-wrapper' ) ;
1315
14- const del = require ( 'del' ) ;
1516const { src, dest, series, watch } = require ( 'gulp' ) ;
1617
17- // Tasks
18-
1918const cleanLibs = async ( ) => del ( 'dist/**/*' ) ;
2019const loadDependencies = async ( ) => await _copyLibs ( ) ;
2120const copyDependencies = async ( ) => src ( [ 'lib/**/*' ] ) . pipe ( dest ( 'dist/lib' ) ) ;
2221const 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+
2337 setTimeout ( async ( ) => {
2438 await _compileLess ( ) ;
2539 await _compileSass ( ) ;
26- await _compileJavascript ( ) ;
27- setTimeout ( async ( ) => { await _minifyScripts ( ) ; } , 1000 ) ;
40+ await _compileJavascript ( scripts ) ;
41+ await _minifyScripts ( scripts ) ;
2842 } , 1000 ) ;
2943} ;
3044const watchFiles = async ( ) => watch ( [ 'src/**/*.{js,css,less,scss}' ] ) . on ( 'change' , series ( loadDependencies , copyDependencies , copySrc ) ) ;
@@ -137,16 +151,8 @@ const _compileSass = async () => {
137151 }
138152}
139153
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 )
150156 . pipe ( concat ( 'selectize.js' ) )
151157 . pipe ( wrapper ( {
152158 header : amd_header ,
@@ -157,16 +163,8 @@ const _compileJavascript = async () =>
157163 . pipe ( replace ( / @ @ v e r s i o n / g, getVersion ( ) ) )
158164 . pipe ( dest ( 'dist/js' ) ) ;
159165
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 )
170168 . pipe ( concat ( 'selectize.min.js' ) )
171169 . pipe ( wrapper ( {
172170 header : amd_header ,
0 commit comments