-
Notifications
You must be signed in to change notification settings - Fork 2
/
gulpfile.js
128 lines (104 loc) · 2.84 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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
require('./tasks/babel-setup')()
var gulp = require('gulp')
var config = require('./tasks/config')
var Summary = require('gulp-summary')
var summary = new Summary(gulp)
summary.configure(config)
/*======*\
* Main *
\*======*/
summary.define({
command: 'default',
description: 'tests, lints, and then builds alchemist',
task: require('./tasks/default')
})
summary.define({
command: 'dev',
description: 'watches all files and tests and lints as they change',
task: require('./tasks/dev')
})
summary.define({
command: 'build',
description: 'bundles all production builds of alchemist and places them in the dist/ directory',
task: require('./tasks/build')
})
summary.define({
command: 'test',
description: 'runs tests for node',
task: require('./tasks/test/main')
})
summary.define({
command: 'lint',
description: 'lints alchemist, its tests, and all task files',
task: require('./tasks/lint/main')
})
/*========*\
* Builds *
\*========*/
summary.define({
command: 'build:tests',
description: 'bundles alchemist and its tests for testing in the browser',
task: require('./tasks/build/tests')
})
summary.define({
command: 'build:node',
description: 'transpiles and bundles all es6 code, but leaves the cjs requires',
task: require('./tasks/build/node')
})
summary.define({
command: 'build:browser',
description: 'bundles alchemist with alchemist-common and produces a development and minified build',
task: require('./tasks/build/browser')
})
summary.define({
command: 'build:lite',
description: 'bundles alchemist without alchemist-common and produces a development and minified build',
task: require('./tasks/build/lite')
})
summary.define({
command: 'build:size',
description: 'reports the size of all builds',
task: require('./tasks/build/size')
})
/*=======*\
* Tests *
\*=======*/
summary.define({
command: 'test:node',
description: 'runs tests with normal node requires and outputs to console',
task: require('./tasks/test/node')
})
summary.define({
command: 'test:browser',
description: 'opens the runner.html in your default browser',
task: require('./tasks/test/browser')
})
summary.define({
command: 'test:watch',
description: 'watches the project and runs the node tests on change',
task: require('./tasks/test/watch')
})
/*=========*\
* Linting *
\*=========*/
summary.define({
command: 'lint:lib',
description: 'lints alchemist',
task: require('./tasks/lint/lib')
})
summary.define({
command: 'lint:tests',
description: 'lints all of alchemist\'s tests',
task: require('./tasks/lint/tests')
})
summary.define({
command: 'lint:tasks',
description: 'lints gulp tasks',
task: require('./tasks/lint/tasks')
})
summary.define({
command: 'lint:watch',
description: 'watches all files and lints them on change',
task: require('./tasks/lint/watch')
})
module.exports = summary