-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathgulpfile.js
executable file
·61 lines (53 loc) · 1.47 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
const {
getPathConfig,
getTaskConfig,
getWebpackConfig
} = require('./gulp/utils/paths')
const requireDir = require('require-dir')
const util = require('gulp-util')
const path = require('path')
const deepmerge = require('deepmerge')
const PATH_CONFIG = getPathConfig()
const TASK_CONFIG = getTaskConfig()
// Fallback for windows backs out of node_modules folder to root of project
process.env.PWD = process.env.PWD || __dirname
const { env } = util.env
let PATHS = PATH_CONFIG
global.SERVER = PATHS.browserSync
if (util.env.config) {
try {
const PATH_OVERWRITES = require(path.resolve(
process.env.PWD,
`gulp/path.config.${util.env.config}.json`
))
PATHS = deepmerge(PATH_CONFIG, PATH_OVERWRITES)
global.SERVER = PATH_OVERWRITES.browserSync || global.SERVER
} catch (e) {
throw new Error(
`gulp/path.config.${util.env.config}.json can not be found, ${e.name}: ${
e.message
}`
)
}
}
global.env = env ? env : 'development'
global.PRODUCTION = global.env === 'production'
global.PATH_CONFIG = PATHS
global.TASK_CONFIG = TASK_CONFIG
global.BUILD_TYPE = util.env.config
global.WEBPACK_CONFIG = getWebpackConfig(global.env)
global.log = util.log
log(
`
__
.--------.--.--.| |.-----.
| | | || || _ |
|__|__|__|_____||__|| __|
|__|
ENV: ${global.env}, MODE: ${TASK_CONFIG.mode}, CONFIG: ${
util.env.config ? util.env.config : 'development'
}`
)
requireDir('./gulp/tasks', {
recurse: true
})