-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
70 lines (67 loc) · 1.8 KB
/
gulpfile.js
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
const balm = require('balm');
const balmConfig = require('./config/balmrc');
const env = require('./config/env');
balm.config = balmConfig;
balm.go(mix => {
if (env.buildDocs) {
mix.remove(['./dist/rev-manifest.json']);
} else {
if (env.updateIScroll) {
// clear
mix.remove('src/iscroll/*');
// get iScroll
mix.copy('node_modules/iscroll/build/*', 'src/iscroll');
// get css reset for docs
mix.copy(
'node_modules/normalize.css/normalize.css',
'docs/styles/global',
{
prefix: '_',
extname: '.scss'
}
);
// get fonts for docs
mix.copy('node_modules/balm-ui/fonts/*', 'docs/fonts');
} else {
if (mix.env.isProd) {
// clear individual
mix.remove(['./components']);
// build individual
// let buildFiles = [
// 'scroll',
// 'scroll-lite',
// 'scroll-probe',
// 'scroll-zoom',
// 'scroll-infinite'
// ].map(item => {
// return `./src/scripts/components/${item}.js`;
// });
// mix.js(buildFiles, './components');
[
'scroll',
'scroll-lite',
'scroll-probe',
'scroll-zoom',
'scroll-infinite'
].forEach(async item => {
await mix.js(
[`./src/scripts/components/${item}.js`],
'./components',
{
output: {
library: 'BalmScroll_' + item
}
}
);
});
// clean build
mix.copy(
['./dist/css/*.css', './dist/js/*.js', './dist/img/*'],
'./dist'
);
mix.copy('src/styles/balm-scroll.scss', 'dist');
mix.remove(['./dist/css', './dist/js', './dist/img']);
}
}
}
});