@roots/bud-build 5.0.0-next.7 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.md +8 -28
  2. package/lib/cjs/Build/config.js +205 -113
  3. package/lib/cjs/Build/index.js +158 -49
  4. package/lib/cjs/Build/items.js +109 -97
  5. package/lib/cjs/Build/loaders.js +57 -55
  6. package/lib/cjs/Build/rules.js +150 -90
  7. package/lib/cjs/Item/index.js +26 -26
  8. package/lib/cjs/Item/item.dependencies.js +0 -1
  9. package/lib/cjs/Item/item.interface.js +2 -3
  10. package/lib/cjs/Loader/index.js +34 -10
  11. package/lib/cjs/Rule/index.js +180 -82
  12. package/lib/cjs/index.js +31 -14
  13. package/lib/cjs/shared/Base.js +0 -1
  14. package/lib/tsconfig.tsbuildinfo +1 -1
  15. package/package.json +20 -33
  16. package/types/Build/config.d.ts +8 -1
  17. package/types/Build/config.d.ts.map +1 -1
  18. package/types/Build/index.d.ts +51 -13
  19. package/types/Build/index.d.ts.map +1 -1
  20. package/types/Build/items.d.ts +73 -43
  21. package/types/Build/items.d.ts.map +1 -1
  22. package/types/Build/loaders.d.ts +54 -41
  23. package/types/Build/loaders.d.ts.map +1 -1
  24. package/types/Build/rules.d.ts +61 -22
  25. package/types/Build/rules.d.ts.map +1 -1
  26. package/types/Item/index.d.ts +9 -17
  27. package/types/Item/index.d.ts.map +1 -1
  28. package/types/Item/item.interface.d.ts +1 -1
  29. package/types/Item/item.interface.d.ts.map +1 -1
  30. package/types/Loader/index.d.ts +13 -10
  31. package/types/Loader/index.d.ts.map +1 -1
  32. package/types/Rule/index.d.ts +122 -24
  33. package/types/Rule/index.d.ts.map +1 -1
  34. package/types/index.d.ts +5 -6
  35. package/types/index.d.ts.map +1 -1
  36. package/types/shared/Base.d.ts.map +1 -1
  37. package/lib/cjs/Build/config.js.map +0 -1
  38. package/lib/cjs/Build/index.js.map +0 -1
  39. package/lib/cjs/Build/items.js.map +0 -1
  40. package/lib/cjs/Build/loaders.js.map +0 -1
  41. package/lib/cjs/Build/rules.js.map +0 -1
  42. package/lib/cjs/Item/index.js.map +0 -1
  43. package/lib/cjs/Item/item.dependencies.js.map +0 -1
  44. package/lib/cjs/Item/item.interface.js.map +0 -1
  45. package/lib/cjs/Loader/index.js.map +0 -1
  46. package/lib/cjs/Rule/index.js.map +0 -1
  47. package/lib/cjs/index.js.map +0 -1
  48. package/lib/cjs/shared/Base.js.map +0 -1
  49. package/lib/esm/Build/config.js +0 -166
  50. package/lib/esm/Build/config.js.map +0 -1
  51. package/lib/esm/Build/index.js +0 -66
  52. package/lib/esm/Build/index.js.map +0 -1
  53. package/lib/esm/Build/items.js +0 -90
  54. package/lib/esm/Build/items.js.map +0 -1
  55. package/lib/esm/Build/loaders.js +0 -43
  56. package/lib/esm/Build/loaders.js.map +0 -1
  57. package/lib/esm/Build/rules.js +0 -103
  58. package/lib/esm/Build/rules.js.map +0 -1
  59. package/lib/esm/Item/index.js +0 -88
  60. package/lib/esm/Item/index.js.map +0 -1
  61. package/lib/esm/Item/item.dependencies.js +0 -4
  62. package/lib/esm/Item/item.dependencies.js.map +0 -1
  63. package/lib/esm/Item/item.interface.js +0 -2
  64. package/lib/esm/Item/item.interface.js.map +0 -1
  65. package/lib/esm/Loader/index.js +0 -49
  66. package/lib/esm/Loader/index.js.map +0 -1
  67. package/lib/esm/Rule/index.js +0 -155
  68. package/lib/esm/Rule/index.js.map +0 -1
  69. package/lib/esm/index.js +0 -27
  70. package/lib/esm/index.js.map +0 -1
  71. package/lib/esm/shared/Base.js +0 -8
  72. package/lib/esm/shared/Base.js.map +0 -1
  73. package/lib/tsconfig-esm.tsbuildinfo +0 -1
package/README.md CHANGED
@@ -1,41 +1,25 @@
1
1
  <p align="center">
2
- <img alt="Bud" src="https://cdn.roots.io/app/uploads/logo-bud.svg" height="100" />
2
+ <img src="https://cdn.roots.io/app/uploads/logo-bud.svg" height="100" alt="Bud" />
3
3
  </p>
4
4
 
5
5
  <p align="center">
6
- <img
7
- alt="MIT License"
8
- src="https://img.shields.io/github/license/roots/bud?color=%23525ddc&style=flat-square"
9
- />
10
- <a href="https://app.fossa.com/projects/git%2Bgithub.com%2Froots%2Fbud?ref=badge_small" alt="FOSSA Status">
11
- <img src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Froots%2Fbud.svg?type=small"/>
12
- </a>
13
- <a href="https://www.npmjs.com/package/@roots/bud">
14
- <img src="https://img.shields.io/npm/v/@roots/bud.svg?color=%23525ddc&style=flat-square" />
15
- </a>
16
- <a href="https://codecov.io/gh/roots/bud">
17
- <img src="https://codecov.io/gh/roots/bud/branch/next/graph/badge.svg?token=DRJ28OD8XD"/>
18
- </a>
19
- <a href="https://twitter.com/rootswp">
20
- <img
21
- alt="Follow Roots"
22
- src="https://img.shields.io/twitter/follow/rootswp.svg?color=%23525ddc&style=flat-square"
23
- />
24
- </a>
6
+ <img alt="MIT License" src="https://img.shields.io/github/license/roots/bud?color=%23525ddc&style=flat-square" /> <img alt="npm" src="https://img.shields.io/npm/v/@roots/bud.svg?color=%23525ddc&style=flat-square" /> <img alt="Follow Roots" src="https://img.shields.io/twitter/follow/rootswp.svg?color=%23525ddc&style=flat-square" />
25
7
  </p>
26
8
 
27
-
28
9
  <h1 align="center">
29
10
  <strong>@roots/bud-build</strong>
30
11
  </h1>
31
12
 
32
- > Bud webpack config build controller
13
+ <p align="center">
14
+ Bud webpack config build controller
15
+ </p>
16
+
33
17
  ## Installation
34
18
 
35
19
  Install **@roots/bud-build** to your project.
36
20
 
37
21
  ```shell
38
- yarn add @roots/bud-build
22
+ yarn add @roots/bud-build --dev
39
23
  ```
40
24
 
41
25
  ## Documentation
@@ -67,8 +51,4 @@ Help support our open-source development efforts by [becoming a patron](https://
67
51
  <a href="https://carrot.com/"><img src="https://cdn.roots.io/app/uploads/carrot.svg" alt="Carrot" width="200" height="150"/></a>
68
52
  <a href="https://www.c21redwood.com/"><img src="https://cdn.roots.io/app/uploads/c21redwood.svg" alt="C21 Redwood Realty" width="200" height="150"/></a>
69
53
  <a href="https://wordpress.com/"><img src="https://cdn.roots.io/app/uploads/wordpress.svg" alt="WordPress.com" width="200" height="150"/></a>
70
- <a href="https://icons8.com/"><img src="https://cdn.roots.io/app/uploads/icons8.svg" alt="Icons8" width="200" height="150"/></a>
71
- <a href="https://www.harnessup.com/"><img src="https://cdn.roots.io/app/uploads/harness-software.svg" alt="Harness Software" width="200" height="150"/></a>
72
- <a href="https://www.codersclan.com/"><img src="https://cdn.roots.io/app/uploads/coders-clan.svg" alt="Coders Clan" width="200" height="150"/></a>
73
- <a href="https://generodigital.com/"><img src="https://cdn.roots.io/app/uploads/genero.svg" alt="Genero" width="200" height="150"/></a>
74
- <a href="https://motto.ca/roots"><img src="https://cdn.roots.io/app/uploads/motto.svg" alt="Motto" width="200" height="150"/></a>
54
+ <a href="https://pantheon.io/"><img src="https://cdn.roots.io/app/uploads/pantheon.svg" alt="Pantheon" width="200" height="150"/></a>
@@ -1,170 +1,262 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.config = void 0;
4
- function config(app) {
4
+ const bud_support_1 = require("@roots/bud-support");
5
+ const path_1 = require("path");
6
+ const { dirname } = path_1.posix;
7
+ /**
8
+ * Filters framework values and returns a webpack configuration
9
+ *
10
+ * @param app - the Framework instance
11
+ *
12
+ * @public
13
+ */
14
+ async function config(app) {
5
15
  app.hooks
6
- .on('build', () => ({
7
- bail: app.hooks.filter('build/bail'),
8
- cache: app.hooks.filter('build/cache'),
9
- context: app.hooks.filter('build/context'),
10
- devtool: app.hooks.filter('build/devtool'),
11
- entry: app.hooks.filter('build/entry'),
12
- experiments: app.hooks.filter('build/experiments'),
13
- externals: app.hooks.filter('build/externals'),
14
- infrastructureLogging: app.hooks.filter('build/infrastructureLogging'),
15
- mode: app.hooks.filter('build/mode'),
16
- module: app.hooks.filter('build/module'),
17
- name: app.hooks.filter('build/name'),
18
- node: app.hooks.filter('build/node'),
19
- output: app.hooks.filter('build/output'),
20
- optimization: app.hooks.filter('build/optimization'),
21
- parallelism: app.hooks.filter('build/parallelism'),
22
- performance: app.hooks.filter('build/performance'),
23
- plugins: app.hooks.filter('build/plugins'),
24
- profile: app.hooks.filter('build/profile'),
25
- recordsPath: app.hooks.filter('build/recordsPath'),
26
- resolve: app.hooks.filter('build/resolve'),
27
- stats: app.hooks.filter('build/stats'),
28
- target: app.hooks.filter('build/target'),
29
- watch: app.hooks.filter('build/watch'),
30
- watchOptions: app.hooks.filter('build/watchOptions'),
31
- }))
16
+ .async('build', async () => {
17
+ const entry = await app.hooks.filterAsync('build.entry');
18
+ const plugins = await app.hooks.filterAsync('build.plugins');
19
+ const resolve = await app.hooks.filterAsync('build.resolve');
20
+ return {
21
+ entry,
22
+ plugins,
23
+ resolve,
24
+ bail: app.hooks.filter('build.bail'),
25
+ cache: app.hooks.filter('build.cache'),
26
+ context: app.hooks.filter('build.context'),
27
+ devtool: app.hooks.filter('build.devtool'),
28
+ experiments: app.hooks.filter('build.experiments'),
29
+ externals: app.hooks.filter('build.externals'),
30
+ infrastructureLogging: app.hooks.filter('build.infrastructureLogging'),
31
+ mode: app.hooks.filter('build.mode'),
32
+ module: app.hooks.filter('build.module'),
33
+ name: app.hooks.filter('build.name'),
34
+ node: app.hooks.filter('build.node'),
35
+ output: app.hooks.filter('build.output'),
36
+ optimization: app.hooks.filter('build.optimization'),
37
+ parallelism: app.hooks.filter('build.parallelism'),
38
+ performance: app.hooks.filter('build.performance'),
39
+ profile: app.hooks.filter('build.profile'),
40
+ recordsPath: app.hooks.filter('build.recordsPath'),
41
+ stats: app.hooks.filter('build.stats'),
42
+ target: app.hooks.filter('build.target'),
43
+ watch: app.hooks.filter('build.watch'),
44
+ watchOptions: app.hooks.filter('build.watchOptions'),
45
+ };
46
+ })
47
+ /**
48
+ * build.bail
49
+ */
50
+ .hooks.on('build.bail', () => app.store.get('build.bail'))
32
51
  /**
33
- * Bail
52
+ * build.context
34
53
  */
35
- .hooks.on('build/bail', () => app.store.get('build.bail'))
54
+ .hooks.on('build.context', () => app.path('project'))
36
55
  /**
37
- * Cache
56
+ * build.devtool
38
57
  */
39
- .hooks.on('build/cache', () => undefined)
58
+ .hooks.on('build.devtool', () => app.store.get('build.devtool'))
40
59
  /**
41
- * Context
60
+ * build.infrastructureLogging
42
61
  */
43
- .hooks.on('build/context', () => app.path('project'))
62
+ .hooks.on('build.infrastructureLogging', () => app.store.get('build.infrastructureLogging'))
44
63
  /**
45
- * Devtool
64
+ * build.mode
46
65
  */
47
- .hooks.on('build/devtool', () => app.store.get('build.devtool'))
66
+ .hooks.on('build.mode', () => app.mode)
48
67
  /**
49
- * Experiments
68
+ * build.module
50
69
  */
51
- .hooks.on('build/experiments', () => ({
52
- lazyCompilation: app.hooks.filter('build/experiments/lazyCompilation'),
70
+ .hooks.on('build.module', () => ({
71
+ rules: app.hooks.filter('build.module.rules'),
53
72
  }))
54
- .hooks.on('build/experiments/lazyCompilation', () => app.store.get('build.experiments.lazyCompilation'))
55
73
  /**
56
- * InfrastructureLogging
74
+ * build.module.rules
57
75
  */
58
- .hooks.on('build/infrastructureLogging', () => app.store.get('build.infrastructureLogging'))
76
+ .hooks.on('build.module.rules', () => [
77
+ ...app.hooks.filter('build.module.rules.before'),
78
+ {
79
+ oneOf: app.hooks.filter('build.module.rules.oneOf'),
80
+ },
81
+ ...app.hooks.filter('build.module.rules.after'),
82
+ ])
59
83
  /**
60
- * Mode
84
+ * build.module.rules[1].oneOf
61
85
  */
62
- .hooks.on('build/mode', () => app.mode)
86
+ .hooks.on('build.module.rules.oneOf', () => Object.values(app.build.rules).map(rule => rule.make()))
63
87
  /**
64
- * Module
88
+ * build.module.rules[0]
65
89
  */
66
- .hooks.on('build/module', () => ({
67
- rules: app.hooks.filter('build/module/rules'),
68
- }))
69
- .hooks.on('build/module/rules', () => [
90
+ .hooks.on('build.module.rules.before', () => [
70
91
  {
71
92
  test: /\.[cm]?(jsx?|tsx?)$/,
72
93
  parser: { requireEnsure: false },
73
94
  },
74
- {
75
- oneOf: app.hooks.filter('build/module/rules/oneOf'),
76
- },
77
95
  ])
78
- .hooks.on('build/module/rules/oneOf', () => Object.values(app.build.rules).map(rule => rule.make(app)))
79
96
  /**
80
- * Name
97
+ * build.module.rules[2]
81
98
  */
82
- .hooks.on('build/name', () => app.name)
99
+ .hooks.on('build.module.rules.after', () => [])
83
100
  /**
84
- * Node
101
+ * build.name
85
102
  */
86
- .hooks.on('build/node', false)
103
+ .hooks.on('build.name', () => app.name)
87
104
  /**
88
- * Output
105
+ * build.node
89
106
  */
90
- .hooks.on('build/output', () => ({
91
- path: app.hooks.filter('build/output/path'),
92
- publicPath: app.hooks.filter('build/output/publicPath'),
93
- filename: app.hooks.filter('build/output/filename'),
107
+ .hooks.on('build.node', () => false)
108
+ /**
109
+ * build.optimization
110
+ */
111
+ .hooks.on('build.optimization', () => ({
112
+ emitOnErrors: app.hooks.filter('build.optimization.emitOnErrors'),
113
+ minimize: app.hooks.filter('build.optimization.minimize'),
114
+ minimizer: app.hooks.filter('build.optimization.minimizer'),
115
+ moduleIds: app.hooks.filter('build.optimization.moduleIds'),
116
+ runtimeChunk: app.hooks.filter('build.optimization.runtimeChunk'),
117
+ splitChunks: app.hooks.filter('build.optimization.splitChunks'),
94
118
  }))
95
- .hooks.on('build/output/filename', () => `${app.store.get('hash')
119
+ /**
120
+ * build.optimization.emitOnErrors
121
+ */
122
+ .hooks.on('build.optimization.emitOnErrors', () => app.store.get('build.optimization.emitOnErrors'))
123
+ /**
124
+ * build.optimization.minimize
125
+ */
126
+ .hooks.on('build.optimization.minimize', () => app.store.is('features.minimize', true))
127
+ /**
128
+ * build.optimization.minimizer
129
+ */
130
+ .hooks.on('build.optimization.minimizer', () => ['...'])
131
+ /**
132
+ * build.optimization.moduleIds
133
+ */
134
+ .hooks.on('build.optimization.moduleIds', () => app.store.get('build.optimization.moduleIds'))
135
+ /**
136
+ * build.optimization.removeEmptyChunks
137
+ */
138
+ .hooks.on('build.optimization.removeEmptyChunks', () => app.store.get('build.optimization.removeEmptyChunks'))
139
+ /**
140
+ * build.optimization.runtimeChunk
141
+ */
142
+ .hooks.on('build.optimization.runtimeChunk', () => app.store.is('features.runtimeChunk', true))
143
+ /**
144
+ * build.optimization.splitChunks
145
+ */
146
+ .hooks.on('build.optimization.splitChunks', () => app.store.is('features.splitChunks', true))
147
+ /**
148
+ * build.output
149
+ */
150
+ .hooks.on('build.output', () => ({
151
+ assetModuleFilename: app.hooks.filter('build.output.assetModuleFilename'),
152
+ chunkFilename: app.hooks.filter('build.output.chunkFilename'),
153
+ clean: app.hooks.filter('build.output.clean'),
154
+ filename: app.hooks.filter('build.output.filename'),
155
+ path: app.hooks.filter('build.output.path'),
156
+ pathinfo: app.hooks.filter('build.output.pathinfo'),
157
+ publicPath: app.hooks.filter('build.output.publicPath'),
158
+ }))
159
+ /**
160
+ * build.output.assetModuleFilename
161
+ */
162
+ .hooks.on('build.output.assetModuleFilename', () => app.isProduction && app.store.is('features.hash', true)
163
+ ? `assets/${app.store.get('hashFormat')}[ext]`
164
+ : app.store.get('fileFormat'))
165
+ .hooks.on('build.output.clean', () => app.store.get('build.output.clean'))
166
+ /**
167
+ * build.output.filename
168
+ */
169
+ .hooks.on('build.output.filename', () => `${app.store.is('features.hash', true) && app.isProduction
96
170
  ? app.store.get('hashFormat')
97
171
  : app.store.get('fileFormat')}.js`)
98
- .hooks.on('build/output/path', () => app.path('dist'))
99
- .hooks.on('build/output/pathinfo', () => app.store.get('build.output.pathinfo'))
100
- .hooks.on('build/output/publicPath', () => app.store.get('location.publicPath'))
101
- /**
102
- * Optimization
103
- */
104
- .hooks.on('build/optimization', () => ({
105
- emitOnErrors: app.hooks.filter('build/optimization/emitOnErrors'),
106
- minimize: app.hooks.filter('build/optimization/minimize'),
107
- minimizer: app.hooks.filter('build/optimization/minimizer'),
108
- moduleIds: app.hooks.filter('build/optimization/moduleIds'),
109
- runtimeChunk: app.hooks.filter('build/optimization/runtimeChunk'),
110
- splitChunks: app.hooks.filter('build/optimization/splitChunks'),
111
- }))
112
- .hooks.on('build/optimization/emitOnErrors', () => app.store.get('build.optimization.emitOnErrors'))
113
- .hooks.on('build/optimization/minimize', () => false)
114
- .hooks.on('build/optimization/minimizer', () => ['...'])
115
- .hooks.on('build/optimization/moduleIds', () => app.store.get('build.optimization.moduleIds'))
116
- .hooks.on('build/optimization/removeEmptyChunks', () => app.store.get('build.optimization.removeEmptyChunks'))
117
- .hooks.on('build/optimization/runtimeChunk', () => undefined)
118
- .hooks.on('build/optimization/splitChunks', () => app.store.is('splitChunks', true)
119
- ? app.store.get('build.optimization.splitChunks')
120
- : false)
172
+ /**
173
+ * build.output.path
174
+ */
175
+ .hooks.on('build.output.path', () => app.path('dist'))
176
+ /**
177
+ * build.output.pathinfo
178
+ */
179
+ .hooks.on('build.output.pathinfo', () => app.store.get('build.output.pathinfo'))
180
+ /**
181
+ * build.output.publicPath
182
+ */
183
+ .hooks.on('build.output.publicPath', () => app.store.get('location.publicPath'))
121
184
  /**
122
185
  * Parallelism
123
186
  */
124
- .hooks.on('build/parallelism', () => app.store.get('build.parallelism'))
187
+ .hooks.on('build.parallelism', () => app.store.get('build.parallelism'))
125
188
  /**
126
- * Performance
189
+ * build.performance
127
190
  */
128
- .hooks.on('build/performance', () => app.store.get('build.performance'))
191
+ .hooks.on('build.performance', () => app.store.get('build.performance'))
192
+ .hooks.async('build.plugins', async () => {
193
+ const newExtensions = await app.extensions.make();
194
+ return newExtensions;
195
+ })
129
196
  /**
130
- * Plugins
197
+ * build.profile
131
198
  */
132
- .hooks.on('build/plugins', () => app.extensions.make())
199
+ .hooks.on('build.profile', () => app.store.get('build.profile'))
133
200
  /**
134
- * Profile
201
+ * build.recordsPath
135
202
  */
136
- .hooks.on('build/profile', () => app.store.get('build.profile'))
203
+ .hooks.on('build.recordsPath', () => app.path('storage', app.name, `modules.json`))
204
+ .hooks.async('build.resolve', async () => {
205
+ const modules = await app.hooks.filterAsync('build.resolve.modules');
206
+ const alias = await app.hooks.filter('build.resolve.alias');
207
+ const extensions = app.hooks.filter('build.resolve.extensions');
208
+ return { modules, alias, extensions };
209
+ })
137
210
  /**
138
- * RecordsPath
211
+ * build.resolve.alias
139
212
  */
140
- .hooks.on('build/recordsPath', () => app.path('storage', `${app.name}-modules.json`))
213
+ .hooks.on('build.resolve.alias', () => ({}))
141
214
  /**
142
- * Resolve
215
+ * build.resolve.modules
143
216
  */
144
- .hooks.on('build/resolve', () => ({
145
- alias: app.hooks.filter('build/resolve/alias'),
146
- extensions: app.hooks.filter('build/resolve/extensions'),
147
- modules: app.hooks.filter('build/resolve/modules'),
148
- }))
149
- .hooks.on('build/resolve/alias', {})
150
- .hooks.on('build/resolve/extensions', app.store.get('build.resolve.extensions'))
151
- .hooks.on('build/resolve/modules', () => {
152
- var _a, _b, _c, _d, _e;
217
+ .hooks.async('build.resolve.modules', async (value) => {
218
+ const budPkg = await (0, bud_support_1.pkgUp)({
219
+ cwd: require.resolve('@roots/bud'),
220
+ });
221
+ const bud = dirname(budPkg);
222
+ const roots = bud
223
+ .split('/')
224
+ .splice(0, bud.split('/').length - 1)
225
+ .join('/');
226
+ const peers = roots
227
+ .split('/')
228
+ .splice(0, roots.split('/').length - 1)
229
+ .join('/');
153
230
  return [
154
- app.hooks.filter('location/src'),
155
- app.hooks.filter('location/modules'),
156
- ...((_e = (_b = (_a = app.project) === null || _a === void 0 ? void 0 : _a.resolveFrom) !== null && _b !== void 0 ? _b : (_d = (_c = app.parent) === null || _c === void 0 ? void 0 : _c.project) === null || _d === void 0 ? void 0 : _d.resolveFrom) !== null && _e !== void 0 ? _e : []),
231
+ ...new Set([
232
+ ...(value ?? []),
233
+ app.hooks.filter('location.src'),
234
+ app.hooks.filter('location.modules'),
235
+ peers,
236
+ ...(app.project?.get('resolve') ?? []),
237
+ ...(app.root?.project.get('resolve') ?? []),
238
+ ]),
157
239
  ];
158
240
  })
159
241
  /**
160
- * Stats
242
+ * build.resolve.extensions
243
+ */
244
+ .hooks.on('build.resolve.extensions', () => app.store.get('build.resolve.extensions'))
245
+ /**
246
+ * build.stats
247
+ */
248
+ .hooks.on('build.stats', () => app.store.get('build.stats'))
249
+ /**
250
+ * build.target
251
+ */
252
+ .hooks.on('build.target', () => `browserslist:${app.path('project', 'package.json')}`)
253
+ /**
254
+ * build.watch
161
255
  */
162
- .hooks.on('build/stats', () => app.store.get('build.stats'))
256
+ .hooks.on('build.watch', () => app.store.get('build.watch'))
163
257
  /**
164
- * Watch
258
+ * build.watchOptions
165
259
  */
166
- .hooks.on('build/watch', () => app.store.get('build.watch'))
167
- .hooks.on('build/watchOptions', () => app.store.get('build.watchOptions'));
260
+ .hooks.on('build.watchOptions', () => app.store.get('build.watchOptions'));
168
261
  }
169
262
  exports.config = config;
170
- //# sourceMappingURL=config.js.map