-
-
Notifications
You must be signed in to change notification settings - Fork 61
/
gulpfile.ts
93 lines (86 loc) · 1.63 KB
/
gulpfile.ts
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
89
90
91
92
93
import gulp from 'gulp';
import isolateBuildConfig from './conf/isolate.config.json';
import PackageJson from './package.json';
import {
createLicenseText,
gulpFactory,
gulpUmdFactory,
gulpUmdMinFactory
} from './tools/buildFactory';
import { createIsolateTasksFromConfig } from './tools/createTask';
gulp.task(
'cjs',
() => gulpFactory(
{ globs: 'src/**/*.ts' },
'dist/cjs',
{
overrideSettings: {
module: 'ES2015',
declaration: true
},
useCjsTransform: true
}
)
);
gulp.task(
'esm',
() => gulpFactory(
{ globs: 'src/**/*.ts' },
'dist/esm',
{
overrideSettings: {
target: 'ES5',
module: 'ES2015',
declaration: true
}
}
)
);
gulp.task(
'performance',
() => gulpFactory(
{
globs: [
'src/**/*.ts',
'performance/**/*.ts'
],
opts: {
base: '.'
}
},
'dist/performance',
{
overrideSettings: {
module: 'ES2015',
declaration: false
},
useCjsTransform: true,
sourceMap: false
}
)
);
gulp.task(
'umd',
gulpUmdFactory(
{
indexFile: 'src/index.ts',
include: ['src/**/*.ts']
},
'dist/umd/js-sdsl.js',
{
overrideSettings: {
target: 'ES5'
},
umdBanner: createLicenseText(PackageJson.name, PackageJson.version)
}
)
);
gulp.task(
'umd:min',
() => gulpUmdMinFactory(
'dist/umd/js-sdsl.js',
'dist/umd/js-sdsl.min.js'
)
);
gulp.task('default', gulp.series('cjs', 'esm', 'umd', 'umd:min'));
gulp.task('isolate', gulp.series(createIsolateTasksFromConfig(isolateBuildConfig)));