-
Notifications
You must be signed in to change notification settings - Fork 4
/
gulpfile.babel.js
31 lines (22 loc) · 1.08 KB
/
gulpfile.babel.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
import { series, src } from "gulp";
import clean from "gulp-clean";
import { startBuildHeadless } from "./build/build-headless";
import { startBuildTypes } from "./build/build-types";
import { startBuildUtils } from "./build/build-utils";
import { UTILS_PATH, HEADLESS_PATH, TYPES_PATH } from "./build/path";
const ARTIFACTS_DIRS = ["dist", "es", "lib", "types"]
function cleanDir(dir = "dist", options = {}) {
return src(dir, { allowEmpty: true, ...options }).pipe(clean({ force: true }))
}
export const cleanUtils = cleanDir.bind(null, ARTIFACTS_DIRS, { cwd: UTILS_PATH })
export const cleanHeadless = cleanDir.bind(null, ARTIFACTS_DIRS, { cwd: HEADLESS_PATH })
export const cleanTypes = cleanDir.bind(null, ['types'], { cwd: TYPES_PATH })
export const buildUtils = series(cleanUtils, startBuildUtils);
export const buildHeadless = series(cleanHeadless, startBuildHeadless);
export const buildTypes = series(cleanTypes, startBuildTypes);
// 根据依赖关系确定顺序
export const buildBatch = series(
buildTypes,
buildUtils,
buildHeadless
)