@roots/bud-build 6.10.0 → 6.11.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 (237) hide show
  1. package/lib/config/bail.d.ts +3 -0
  2. package/lib/config/bail.d.ts.map +1 -0
  3. package/lib/config/bail.js +2 -0
  4. package/lib/config/bail.js.map +1 -0
  5. package/lib/config/cache.d.ts +3 -0
  6. package/lib/config/cache.d.ts.map +1 -0
  7. package/lib/config/cache.js +2 -0
  8. package/lib/config/cache.js.map +1 -0
  9. package/lib/config/context.d.ts +3 -0
  10. package/lib/config/context.d.ts.map +1 -0
  11. package/lib/config/context.js +2 -0
  12. package/lib/config/context.js.map +1 -0
  13. package/lib/config/dependencies.d.ts +3 -0
  14. package/lib/config/dependencies.d.ts.map +1 -0
  15. package/lib/config/dependencies.js +5 -0
  16. package/lib/config/dependencies.js.map +1 -0
  17. package/lib/config/devtool.d.ts +3 -0
  18. package/lib/config/devtool.d.ts.map +1 -0
  19. package/lib/config/devtool.js +2 -0
  20. package/lib/config/devtool.js.map +1 -0
  21. package/lib/config/entry.d.ts +3 -0
  22. package/lib/config/entry.d.ts.map +1 -0
  23. package/lib/config/entry.js +2 -0
  24. package/lib/config/entry.js.map +1 -0
  25. package/lib/config/experiments.d.ts +3 -0
  26. package/lib/config/experiments.d.ts.map +1 -0
  27. package/lib/config/experiments.js +2 -0
  28. package/lib/config/experiments.js.map +1 -0
  29. package/lib/config/externals.d.ts +3 -0
  30. package/lib/config/externals.d.ts.map +1 -0
  31. package/lib/config/externals.js +2 -0
  32. package/lib/config/externals.js.map +1 -0
  33. package/lib/config/externalsType.d.ts +3 -0
  34. package/lib/config/externalsType.d.ts.map +1 -0
  35. package/lib/config/externalsType.js +2 -0
  36. package/lib/config/externalsType.js.map +1 -0
  37. package/lib/config/index.d.ts +35 -0
  38. package/lib/config/index.d.ts.map +1 -0
  39. package/lib/config/index.js +27 -0
  40. package/lib/config/index.js.map +1 -0
  41. package/lib/config/infrastructureLogging.d.ts +3 -0
  42. package/lib/config/infrastructureLogging.d.ts.map +1 -0
  43. package/lib/config/infrastructureLogging.js +14 -0
  44. package/lib/config/infrastructureLogging.js.map +1 -0
  45. package/lib/config/loader.d.ts +3 -0
  46. package/lib/config/loader.d.ts.map +1 -0
  47. package/lib/config/loader.js +2 -0
  48. package/lib/config/loader.js.map +1 -0
  49. package/lib/config/mode.d.ts +3 -0
  50. package/lib/config/mode.d.ts.map +1 -0
  51. package/lib/config/mode.js +2 -0
  52. package/lib/config/mode.js.map +1 -0
  53. package/lib/config/module.d.ts +3 -0
  54. package/lib/config/module.d.ts.map +1 -0
  55. package/lib/config/module.js +23 -0
  56. package/lib/config/module.js.map +1 -0
  57. package/lib/config/name.d.ts +3 -0
  58. package/lib/config/name.d.ts.map +1 -0
  59. package/lib/config/name.js +2 -0
  60. package/lib/config/name.js.map +1 -0
  61. package/lib/config/node.d.ts +3 -0
  62. package/lib/config/node.d.ts.map +1 -0
  63. package/lib/config/node.js +2 -0
  64. package/lib/config/node.js.map +1 -0
  65. package/lib/config/optimization.d.ts +3 -0
  66. package/lib/config/optimization.d.ts.map +1 -0
  67. package/lib/config/optimization.js +11 -0
  68. package/lib/config/optimization.js.map +1 -0
  69. package/lib/config/output/assetModuleFilename.d.ts +8 -0
  70. package/lib/config/output/assetModuleFilename.d.ts.map +1 -0
  71. package/lib/config/output/assetModuleFilename.js +2 -0
  72. package/lib/config/output/assetModuleFilename.js.map +1 -0
  73. package/lib/config/output/chunkFilename.d.ts +8 -0
  74. package/lib/config/output/chunkFilename.d.ts.map +1 -0
  75. package/lib/config/output/chunkFilename.js +4 -0
  76. package/lib/config/output/chunkFilename.js.map +1 -0
  77. package/lib/config/output/filename.d.ts +8 -0
  78. package/lib/config/output/filename.d.ts.map +1 -0
  79. package/lib/config/output/filename.js +3 -0
  80. package/lib/config/output/filename.js.map +1 -0
  81. package/lib/config/output/index.d.ts +3 -0
  82. package/lib/config/output/index.d.ts.map +1 -0
  83. package/lib/config/output/index.js +18 -0
  84. package/lib/config/output/index.js.map +1 -0
  85. package/lib/config/parallelism.d.ts +3 -0
  86. package/lib/config/parallelism.d.ts.map +1 -0
  87. package/lib/config/parallelism.js +3 -0
  88. package/lib/config/parallelism.js.map +1 -0
  89. package/lib/config/performance.d.ts +3 -0
  90. package/lib/config/performance.d.ts.map +1 -0
  91. package/lib/config/performance.js +2 -0
  92. package/lib/config/performance.js.map +1 -0
  93. package/lib/config/plugins.d.ts +3 -0
  94. package/lib/config/plugins.d.ts.map +1 -0
  95. package/lib/config/plugins.js +2 -0
  96. package/lib/config/plugins.js.map +1 -0
  97. package/lib/config/profile.d.ts +3 -0
  98. package/lib/config/profile.d.ts.map +1 -0
  99. package/lib/config/profile.js +2 -0
  100. package/lib/config/profile.js.map +1 -0
  101. package/lib/config/recordsPath.d.ts +3 -0
  102. package/lib/config/recordsPath.d.ts.map +1 -0
  103. package/lib/config/recordsPath.js +2 -0
  104. package/lib/config/recordsPath.js.map +1 -0
  105. package/lib/config/resolve.d.ts +3 -0
  106. package/lib/config/resolve.d.ts.map +1 -0
  107. package/lib/config/resolve.js +30 -0
  108. package/lib/config/resolve.js.map +1 -0
  109. package/lib/config/stats.d.ts +3 -0
  110. package/lib/config/stats.d.ts.map +1 -0
  111. package/lib/config/stats.js +17 -0
  112. package/lib/config/stats.js.map +1 -0
  113. package/lib/config/target.d.ts +3 -0
  114. package/lib/config/target.d.ts.map +1 -0
  115. package/lib/config/target.js +4 -0
  116. package/lib/config/target.js.map +1 -0
  117. package/lib/handlers/index.d.ts +19 -0
  118. package/lib/handlers/index.d.ts.map +1 -0
  119. package/lib/handlers/index.js +6 -0
  120. package/lib/handlers/index.js.map +1 -0
  121. package/lib/handlers/items/items.d.ts +47 -0
  122. package/lib/handlers/items/items.d.ts.map +1 -0
  123. package/lib/handlers/items/items.js +69 -0
  124. package/lib/handlers/items/items.js.map +1 -0
  125. package/lib/handlers/loaders/loaders.d.ts +12 -0
  126. package/lib/handlers/loaders/loaders.d.ts.map +1 -0
  127. package/lib/handlers/loaders/loaders.js +11 -0
  128. package/lib/handlers/loaders/loaders.js.map +1 -0
  129. package/lib/handlers/register.d.ts +14 -0
  130. package/lib/handlers/register.d.ts.map +1 -0
  131. package/lib/handlers/register.js +26 -0
  132. package/lib/handlers/register.js.map +1 -0
  133. package/lib/handlers/rules/css.d.ts +3 -0
  134. package/lib/handlers/rules/css.d.ts.map +1 -0
  135. package/lib/handlers/rules/css.js +5 -0
  136. package/lib/handlers/rules/css.js.map +1 -0
  137. package/lib/handlers/rules/css.module.d.ts +3 -0
  138. package/lib/handlers/rules/css.module.d.ts.map +1 -0
  139. package/lib/handlers/rules/css.module.js +5 -0
  140. package/lib/handlers/rules/css.module.js.map +1 -0
  141. package/lib/handlers/rules/csv.d.ts +3 -0
  142. package/lib/handlers/rules/csv.d.ts.map +1 -0
  143. package/lib/handlers/rules/csv.js +5 -0
  144. package/lib/handlers/rules/csv.js.map +1 -0
  145. package/lib/handlers/rules/font.d.ts +3 -0
  146. package/lib/handlers/rules/font.d.ts.map +1 -0
  147. package/lib/handlers/rules/font.inline.d.ts +3 -0
  148. package/lib/handlers/rules/font.inline.d.ts.map +1 -0
  149. package/lib/handlers/rules/font.inline.js +6 -0
  150. package/lib/handlers/rules/font.inline.js.map +1 -0
  151. package/lib/handlers/rules/font.js +5 -0
  152. package/lib/handlers/rules/font.js.map +1 -0
  153. package/lib/handlers/rules/html.d.ts +3 -0
  154. package/lib/handlers/rules/html.d.ts.map +1 -0
  155. package/lib/handlers/rules/html.js +5 -0
  156. package/lib/handlers/rules/html.js.map +1 -0
  157. package/lib/handlers/rules/image.d.ts +3 -0
  158. package/lib/handlers/rules/image.d.ts.map +1 -0
  159. package/lib/handlers/rules/image.inline.d.ts +3 -0
  160. package/lib/handlers/rules/image.inline.d.ts.map +1 -0
  161. package/lib/handlers/rules/image.inline.js +6 -0
  162. package/lib/handlers/rules/image.inline.js.map +1 -0
  163. package/lib/handlers/rules/image.js +5 -0
  164. package/lib/handlers/rules/image.js.map +1 -0
  165. package/lib/handlers/rules/index.d.ts +19 -0
  166. package/lib/handlers/rules/index.d.ts.map +1 -0
  167. package/lib/handlers/rules/index.js +35 -0
  168. package/lib/handlers/rules/index.js.map +1 -0
  169. package/lib/handlers/rules/js.d.ts +3 -0
  170. package/lib/handlers/rules/js.d.ts.map +1 -0
  171. package/lib/handlers/rules/js.js +5 -0
  172. package/lib/handlers/rules/js.js.map +1 -0
  173. package/lib/handlers/rules/json.d.ts +3 -0
  174. package/lib/handlers/rules/json.d.ts.map +1 -0
  175. package/lib/handlers/rules/json.js +7 -0
  176. package/lib/handlers/rules/json.js.map +1 -0
  177. package/lib/handlers/rules/svg.d.ts +3 -0
  178. package/lib/handlers/rules/svg.d.ts.map +1 -0
  179. package/lib/handlers/rules/svg.inline.d.ts +5 -0
  180. package/lib/handlers/rules/svg.inline.d.ts.map +1 -0
  181. package/lib/handlers/rules/svg.inline.js +9 -0
  182. package/lib/handlers/rules/svg.inline.js.map +1 -0
  183. package/lib/handlers/rules/svg.js +5 -0
  184. package/lib/handlers/rules/svg.js.map +1 -0
  185. package/lib/handlers/rules/toml.d.ts +3 -0
  186. package/lib/handlers/rules/toml.d.ts.map +1 -0
  187. package/lib/handlers/rules/toml.js +7 -0
  188. package/lib/handlers/rules/toml.js.map +1 -0
  189. package/lib/handlers/rules/webp.d.ts +3 -0
  190. package/lib/handlers/rules/webp.d.ts.map +1 -0
  191. package/lib/handlers/rules/webp.js +5 -0
  192. package/lib/handlers/rules/webp.js.map +1 -0
  193. package/lib/handlers/rules/xml.d.ts +3 -0
  194. package/lib/handlers/rules/xml.d.ts.map +1 -0
  195. package/lib/handlers/rules/xml.js +5 -0
  196. package/lib/handlers/rules/xml.js.map +1 -0
  197. package/lib/handlers/rules/yml.d.ts +3 -0
  198. package/lib/handlers/rules/yml.d.ts.map +1 -0
  199. package/lib/handlers/rules/yml.js +5 -0
  200. package/lib/handlers/rules/yml.js.map +1 -0
  201. package/lib/helpers/isMjs.d.ts +3 -0
  202. package/lib/helpers/isMjs.d.ts.map +1 -0
  203. package/lib/helpers/isMjs.js +2 -0
  204. package/lib/helpers/isMjs.js.map +1 -0
  205. package/lib/helpers/scriptExtension.d.ts +3 -0
  206. package/lib/helpers/scriptExtension.d.ts.map +1 -0
  207. package/lib/helpers/scriptExtension.js +5 -0
  208. package/lib/helpers/scriptExtension.js.map +1 -0
  209. package/lib/index.d.ts +12 -0
  210. package/lib/index.d.ts.map +1 -0
  211. package/lib/index.js +14 -0
  212. package/lib/index.js.map +1 -0
  213. package/lib/item/index.d.ts +84 -0
  214. package/lib/item/index.d.ts.map +1 -0
  215. package/lib/item/index.js +165 -0
  216. package/lib/item/index.js.map +1 -0
  217. package/lib/loader/index.d.ts +26 -0
  218. package/lib/loader/index.d.ts.map +1 -0
  219. package/lib/loader/index.js +28 -0
  220. package/lib/loader/index.js.map +1 -0
  221. package/lib/rule/index.d.ts +118 -0
  222. package/lib/rule/index.d.ts.map +1 -0
  223. package/lib/rule/index.js +261 -0
  224. package/lib/rule/index.js.map +1 -0
  225. package/lib/service.d.ts +84 -0
  226. package/lib/service.d.ts.map +1 -0
  227. package/lib/service.js +212 -0
  228. package/lib/service.js.map +1 -0
  229. package/lib/shared/base.d.ts +20 -0
  230. package/lib/shared/base.d.ts.map +1 -0
  231. package/lib/shared/base.js +43 -0
  232. package/lib/shared/base.js.map +1 -0
  233. package/lib/types.d.ts +52 -0
  234. package/lib/types.d.ts.map +1 -0
  235. package/lib/types.js +4 -0
  236. package/lib/types.js.map +1 -0
  237. package/package.json +5 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rule/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,sBAAsB,CAAA;AAC7C,OAAO,KAAK,EACV,OAAO,EACP,MAAM,EACN,MAAM,EACN,IAAI,IAAI,SAAS,EAClB,MAAM,0CAA0C,CAAA;AAIjD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAA;AAE3D,OAAO,IAAI,MAAM,mBAAmB,CAAA;AAEpC;;GAEG;AACH,cAAM,IAAK,SAAQ,IAAK,YAAW,SAAS;IAC1C;;OAEG;IACI,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAE5B;;OAEG;IACI,GAAG,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAE3B;;OAEG;IACI,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAEnC;;OAEG;IACI,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAEnC;;OAEG;IACI,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAE7B;;OAEG;IACI,aAAa,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAE/C;;OAEG;IACI,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEjC;;OAEG;IACI,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAEvC;;OAEG;gBACgB,IAAI,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO;IAerD;;OAEG;IAEI,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC;IAIhC;;OAEG;IAEI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI;IAK3C;;OAEG;IAEI,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIpC;;OAEG;IAEI,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI;IAKnD;;OAEG;IAEI,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC;IAI/B;;OAEG;IAEI,MAAM,CACX,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,GAC9D,IAAI;IAKP;;OAEG;IAEI,UAAU,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAM3C;;OAEG;IAEI,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI;IAKrD;;OAEG;IAEI,gBAAgB,IAAI,MAAM,CAAC,eAAe,CAAC;IAIlD;;OAEG;IAEI,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAK9D;;OAEG;IAEI,UAAU,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAI3C;;OAEG;IAEI,UAAU,CACf,QAAQ,EACJ,OAAO,CAAC,SAAS,CAAC,GAClB,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,GACzD,IAAI;IAKP;;OAEG;IAEI,OAAO,IAAI,MAAM;IAIxB;;OAEG;IAEI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI;IAK3C;;OAEG;IAEI,YAAY;;;IAInB;;OAEG;IAEI,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAK1D;;OAEG;IAEI,SAAS,IAAI,MAAM,GAAG,WAAW;CA6BzC;AAED,OAAO,EAAC,IAAI,EAAC,CAAA;AACb,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAC,CAAA"}
@@ -0,0 +1,261 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { bind } from '@roots/bud-support/decorators';
3
+ import isFunction from '@roots/bud-support/lodash/isFunction';
4
+ import isString from '@roots/bud-support/lodash/isString';
5
+ import Base from '../shared/base.js';
6
+ /**
7
+ * RuleSetRule
8
+ */
9
+ class Rule extends Base {
10
+ /**
11
+ * Class constructor
12
+ */
13
+ constructor(_app, options) {
14
+ super(_app);
15
+ this._app = _app;
16
+ if (!options)
17
+ return;
18
+ this.setTest(options.test);
19
+ this.setUse(options.use);
20
+ this.setInclude(options.include);
21
+ this.setExclude(options.exclude);
22
+ this.setType(options.type);
23
+ this.setParser(options.parser);
24
+ this.setGenerator(options.generator);
25
+ }
26
+ /**
27
+ * Test value
28
+ */
29
+ getTest() {
30
+ return this.unwrap(this.test);
31
+ }
32
+ /**
33
+ * Set test value
34
+ */
35
+ setTest(test) {
36
+ this.test = test;
37
+ return this;
38
+ }
39
+ /**
40
+ * Get parser value
41
+ */
42
+ getParser() {
43
+ return this.unwrap(this.parser);
44
+ }
45
+ /**
46
+ * Set parser value
47
+ */
48
+ setParser(parser) {
49
+ this.parser = this.wrap(parser);
50
+ return this;
51
+ }
52
+ /**
53
+ * Get use value
54
+ */
55
+ getUse() {
56
+ return this.use;
57
+ }
58
+ /**
59
+ * Set use value
60
+ */
61
+ setUse(use) {
62
+ this.use = isFunction(use) ? use(this.getUse()) : use;
63
+ return this;
64
+ }
65
+ /**
66
+ * Get include value
67
+ */
68
+ getInclude() {
69
+ return this.include?.map(item => isFunction(item) ? item(this.app) : item);
70
+ }
71
+ /**
72
+ * Set include value
73
+ */
74
+ setInclude(includes) {
75
+ this.include = isFunction(includes) ? includes(this.include) : includes;
76
+ return this;
77
+ }
78
+ /**
79
+ * Get include value
80
+ */
81
+ getResourceQuery() {
82
+ return this.resourceQuery;
83
+ }
84
+ /**
85
+ * Set include value
86
+ */
87
+ setResourceQuery(query) {
88
+ this.resourceQuery = query;
89
+ return this;
90
+ }
91
+ /**
92
+ * Get exclude value
93
+ */
94
+ getExclude() {
95
+ return this.exclude?.map(this.unwrap);
96
+ }
97
+ /**
98
+ * Set exclude value
99
+ */
100
+ setExclude(excludes) {
101
+ this.exclude = isFunction(excludes) ? excludes(this.exclude) : excludes;
102
+ return this;
103
+ }
104
+ /**
105
+ * Get type value
106
+ */
107
+ getType() {
108
+ return this.unwrap(this.type);
109
+ }
110
+ /**
111
+ * Set type value
112
+ */
113
+ setType(type) {
114
+ this.type = type;
115
+ return this;
116
+ }
117
+ /**
118
+ * Get generator value
119
+ */
120
+ getGenerator() {
121
+ return this.unwrap(this.generator);
122
+ }
123
+ /**
124
+ * Set generator value
125
+ */
126
+ setGenerator(generator) {
127
+ this.generator = this.wrap(generator);
128
+ return this;
129
+ }
130
+ /**
131
+ * Produce final Base output
132
+ */
133
+ toWebpack() {
134
+ const output = Object.entries({
135
+ test: this.getTest(),
136
+ type: this.getType(),
137
+ parser: this.getParser(),
138
+ generator: this.getGenerator(),
139
+ use: this.getUse()
140
+ ?.filter(Boolean)
141
+ .map(item => isString(item) && item in this.app.build.items
142
+ ? this.app.build.items[item]
143
+ : item)
144
+ .filter(Boolean)
145
+ .map(item => !isString(item) && `toWebpack` in item ? item.toWebpack() : item),
146
+ resourceQuery: this.getResourceQuery(),
147
+ include: this.getInclude(),
148
+ exclude: this.getExclude(),
149
+ }).reduce((a, [k, v]) => {
150
+ if (v === undefined)
151
+ return a;
152
+ return { ...a, [k]: v };
153
+ }, {});
154
+ this.app.info(output);
155
+ return output;
156
+ }
157
+ }
158
+ __decorate([
159
+ bind,
160
+ __metadata("design:type", Function),
161
+ __metadata("design:paramtypes", []),
162
+ __metadata("design:returntype", Object)
163
+ ], Rule.prototype, "getTest", null);
164
+ __decorate([
165
+ bind,
166
+ __metadata("design:type", Function),
167
+ __metadata("design:paramtypes", [Object]),
168
+ __metadata("design:returntype", Object)
169
+ ], Rule.prototype, "setTest", null);
170
+ __decorate([
171
+ bind,
172
+ __metadata("design:type", Function),
173
+ __metadata("design:paramtypes", []),
174
+ __metadata("design:returntype", Object)
175
+ ], Rule.prototype, "getParser", null);
176
+ __decorate([
177
+ bind,
178
+ __metadata("design:type", Function),
179
+ __metadata("design:paramtypes", [Object]),
180
+ __metadata("design:returntype", Object)
181
+ ], Rule.prototype, "setParser", null);
182
+ __decorate([
183
+ bind,
184
+ __metadata("design:type", Function),
185
+ __metadata("design:paramtypes", []),
186
+ __metadata("design:returntype", Object)
187
+ ], Rule.prototype, "getUse", null);
188
+ __decorate([
189
+ bind,
190
+ __metadata("design:type", Function),
191
+ __metadata("design:paramtypes", [Object]),
192
+ __metadata("design:returntype", Object)
193
+ ], Rule.prototype, "setUse", null);
194
+ __decorate([
195
+ bind,
196
+ __metadata("design:type", Function),
197
+ __metadata("design:paramtypes", []),
198
+ __metadata("design:returntype", Array)
199
+ ], Rule.prototype, "getInclude", null);
200
+ __decorate([
201
+ bind,
202
+ __metadata("design:type", Function),
203
+ __metadata("design:paramtypes", [Object]),
204
+ __metadata("design:returntype", Object)
205
+ ], Rule.prototype, "setInclude", null);
206
+ __decorate([
207
+ bind,
208
+ __metadata("design:type", Function),
209
+ __metadata("design:paramtypes", []),
210
+ __metadata("design:returntype", Object)
211
+ ], Rule.prototype, "getResourceQuery", null);
212
+ __decorate([
213
+ bind,
214
+ __metadata("design:type", Function),
215
+ __metadata("design:paramtypes", [Object]),
216
+ __metadata("design:returntype", Object)
217
+ ], Rule.prototype, "setResourceQuery", null);
218
+ __decorate([
219
+ bind,
220
+ __metadata("design:type", Function),
221
+ __metadata("design:paramtypes", []),
222
+ __metadata("design:returntype", Array)
223
+ ], Rule.prototype, "getExclude", null);
224
+ __decorate([
225
+ bind,
226
+ __metadata("design:type", Function),
227
+ __metadata("design:paramtypes", [Object]),
228
+ __metadata("design:returntype", Object)
229
+ ], Rule.prototype, "setExclude", null);
230
+ __decorate([
231
+ bind,
232
+ __metadata("design:type", Function),
233
+ __metadata("design:paramtypes", []),
234
+ __metadata("design:returntype", String)
235
+ ], Rule.prototype, "getType", null);
236
+ __decorate([
237
+ bind,
238
+ __metadata("design:type", Function),
239
+ __metadata("design:paramtypes", [Object]),
240
+ __metadata("design:returntype", Object)
241
+ ], Rule.prototype, "setType", null);
242
+ __decorate([
243
+ bind,
244
+ __metadata("design:type", Function),
245
+ __metadata("design:paramtypes", []),
246
+ __metadata("design:returntype", void 0)
247
+ ], Rule.prototype, "getGenerator", null);
248
+ __decorate([
249
+ bind,
250
+ __metadata("design:type", Function),
251
+ __metadata("design:paramtypes", [Object]),
252
+ __metadata("design:returntype", Object)
253
+ ], Rule.prototype, "setGenerator", null);
254
+ __decorate([
255
+ bind,
256
+ __metadata("design:type", Function),
257
+ __metadata("design:paramtypes", []),
258
+ __metadata("design:returntype", Object)
259
+ ], Rule.prototype, "toWebpack", null);
260
+ export { Rule };
261
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rule/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ import type { Items, Loaders, Rules } from '@roots/bud-framework';
2
+ import { Service } from '@roots/bud-framework/service';
3
+ import type * as Base from '@roots/bud-framework/services/build';
4
+ import type { Configuration } from '@roots/bud-support/webpack';
5
+ import { register } from './handlers/register.js';
6
+ import { Item } from './item/index.js';
7
+ import { Loader } from './loader/index.js';
8
+ import { Options as RuleOptions, Rule } from './rule/index.js';
9
+ /**
10
+ * Webpack configuration builder class
11
+ */
12
+ export declare class Build extends Service implements Base.Service {
13
+ /**
14
+ * Built config object
15
+ */
16
+ config: Partial<Configuration>;
17
+ /**
18
+ * Registered loaders
19
+ *
20
+ * @public
21
+ */
22
+ loaders: Loaders;
23
+ /**
24
+ * Registered rules
25
+ *
26
+ * @public
27
+ */
28
+ rules: Rules;
29
+ /**
30
+ * Registered items
31
+ *
32
+ * @public
33
+ */
34
+ items: Items;
35
+ /**
36
+ * Service register event
37
+ *
38
+ * @remarks
39
+ * `loaders`, `items`, and `rules` are instantiated dumbly
40
+ * because it is painful to think about how to map the typings..
41
+ */
42
+ register?: typeof register;
43
+ /**
44
+ * Make webpack configuration
45
+ */
46
+ make(): Promise<Configuration>;
47
+ /**
48
+ * Get rule
49
+ */
50
+ getRule<K extends `${keyof Rules & string}`>(ident: K): Rules[K];
51
+ /**
52
+ * Set Rule
53
+ */
54
+ setRule<K extends `${keyof Rules & string}`>(name: K, input?: RuleOptions | Rule): this;
55
+ /**
56
+ * Make Rule
57
+ */
58
+ makeRule(options?: RuleOptions): Rule;
59
+ /**
60
+ * Get loader
61
+ */
62
+ getLoader(name: string): Loader;
63
+ /**
64
+ * Set loader
65
+ */
66
+ setLoader<K extends `${keyof Loaders & string}`>(name: K, definition?: any): this;
67
+ /**
68
+ * Make loader
69
+ */
70
+ makeLoader(src?: string): Loader;
71
+ /**
72
+ * Get item
73
+ */
74
+ getItem(name: `${keyof Items & string}`): Item;
75
+ /**
76
+ * Set item
77
+ */
78
+ setItem<K extends `${keyof Items & string}`>(ident: K, options?: Items[K]['options'] | ((item: Items[K]) => Items[K])): this;
79
+ /**
80
+ * Make item
81
+ */
82
+ makeItem(options?: Partial<Item['options']>): Item;
83
+ }
84
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAC,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAC,OAAO,EAAC,MAAM,8BAA8B,CAAA;AACpD,OAAO,KAAK,KAAK,IAAI,MAAM,qCAAqC,CAAA;AAIhE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAA;AAG7D,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAC,OAAO,IAAI,WAAW,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAA;AAE5D;;GAEG;AACH,qBAAa,KAAM,SAAQ,OAAQ,YAAW,IAAI,CAAC,OAAO;IACxD;;OAEG;IACI,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAK;IAE1C;;;;OAIG;IACI,OAAO,EAAE,OAAO,CAAgB;IAEvC;;;;OAIG;IACI,KAAK,EAAE,KAAK,CAAc;IAEjC;;;;OAIG;IACI,KAAK,EAAE,KAAK,CAAc;IAEjC;;;;;;OAMG;IACa,QAAQ,CAAC,kBAAsB;IAE/C;;OAEG;IAEU,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC;IA2B3C;;OAEG;IAEI,OAAO,CAAC,CAAC,SAAS,GAAG,MAAM,KAAK,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAIvE;;OAEG;IAEI,OAAO,CAAC,CAAC,SAAS,GAAG,MAAM,KAAK,GAAG,MAAM,EAAE,EAChD,IAAI,EAAE,CAAC,EACP,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,GACzB,IAAI;IAcP;;OAEG;IAEI,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI;IAI5C;;OAEG;IAEI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQtC;;OAEG;IAEI,SAAS,CAAC,CAAC,SAAS,GAAG,MAAM,OAAO,GAAG,MAAM,EAAE,EACpD,IAAI,EAAE,CAAC,EACP,UAAU,CAAC,EAAE,GAAG,GACf,IAAI;IAaP;;OAEG;IAEI,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM;IAIvC;;OAEG;IAEI,OAAO,CAAC,IAAI,EAAE,GAAG,MAAM,KAAK,GAAG,MAAM,EAAE,GAAG,IAAI;IASrD;;OAEG;IAEI,OAAO,CAAC,CAAC,SAAS,GAAG,MAAM,KAAK,GAAG,MAAM,EAAE,EAChD,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAC7D,IAAI;IAeP;;OAEG;IAEI,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI;CAG1D"}
package/lib/service.js ADDED
@@ -0,0 +1,212 @@
1
+ var _a, _b, _c, _d;
2
+ import { __decorate, __metadata } from "tslib";
3
+ import { Service } from '@roots/bud-framework/service';
4
+ import { bind } from '@roots/bud-support/decorators';
5
+ import isFunction from '@roots/bud-support/lodash/isFunction';
6
+ import isUndefined from '@roots/bud-support/lodash/isUndefined';
7
+ import { register } from './handlers/register.js';
8
+ import { Item } from './item/index.js';
9
+ import { Loader } from './loader/index.js';
10
+ import { Rule } from './rule/index.js';
11
+ /**
12
+ * Webpack configuration builder class
13
+ */
14
+ export class Build extends Service {
15
+ constructor() {
16
+ super(...arguments);
17
+ /**
18
+ * Built config object
19
+ */
20
+ this.config = {};
21
+ /**
22
+ * Registered loaders
23
+ *
24
+ * @public
25
+ */
26
+ this.loaders = {};
27
+ /**
28
+ * Registered rules
29
+ *
30
+ * @public
31
+ */
32
+ this.rules = {};
33
+ /**
34
+ * Registered items
35
+ *
36
+ * @public
37
+ */
38
+ this.items = {};
39
+ /**
40
+ * Service register event
41
+ *
42
+ * @remarks
43
+ * `loaders`, `items`, and `rules` are instantiated dumbly
44
+ * because it is painful to think about how to map the typings..
45
+ */
46
+ this.register = register.bind(this);
47
+ }
48
+ /**
49
+ * Make webpack configuration
50
+ */
51
+ async make() {
52
+ this.logger.log(`bud.build.make called`);
53
+ await this.app.hooks.fire(`build.before`, this.app);
54
+ await import(`./config/index.js`).then(async (records) => await Promise.all(Object.entries(records).map(async ([prop, factory]) => {
55
+ try {
56
+ const value = await factory(this.app);
57
+ if (isUndefined(value))
58
+ return;
59
+ this.config[prop] = value;
60
+ this.logger.success(`built`, prop);
61
+ }
62
+ catch (error) {
63
+ throw error;
64
+ }
65
+ })));
66
+ this.logger.success(`configuration successfully built`);
67
+ await this.app.hooks.fire(`build.after`, this.app);
68
+ return this.config;
69
+ }
70
+ /**
71
+ * Get rule
72
+ */
73
+ getRule(ident) {
74
+ return this.rules[ident];
75
+ }
76
+ /**
77
+ * Set Rule
78
+ */
79
+ setRule(name, input) {
80
+ this.rules[name] =
81
+ input instanceof Rule
82
+ ? input
83
+ : isFunction(input)
84
+ ? input(this.makeRule())
85
+ : this.makeRule(input);
86
+ this.logger.success(`set rule:`, name);
87
+ this.logger.info(`\n`, this.rules[name]);
88
+ return this;
89
+ }
90
+ /**
91
+ * Make Rule
92
+ */
93
+ makeRule(options) {
94
+ return new Rule(() => this.app, options);
95
+ }
96
+ /**
97
+ * Get loader
98
+ */
99
+ getLoader(name) {
100
+ if (!this.loaders[name])
101
+ this.logger.error(`loader ${name} was requested but is not registered`);
102
+ return this.loaders[name];
103
+ }
104
+ /**
105
+ * Set loader
106
+ */
107
+ setLoader(name, definition) {
108
+ const loader = isUndefined(definition)
109
+ ? this.makeLoader(name)
110
+ : definition instanceof Loader
111
+ ? definition
112
+ : this.makeLoader(definition);
113
+ this.loaders[name] = loader;
114
+ this.logger.info(`set loader`, loader);
115
+ return this;
116
+ }
117
+ /**
118
+ * Make loader
119
+ */
120
+ makeLoader(src) {
121
+ return new Loader(() => this.app, src);
122
+ }
123
+ /**
124
+ * Get item
125
+ */
126
+ getItem(name) {
127
+ if (!this.items[name])
128
+ this.logger.error(`loader ${name} was requested but is not registered`);
129
+ return this.items[name];
130
+ }
131
+ /**
132
+ * Set item
133
+ */
134
+ setItem(ident, options) {
135
+ const maybeOptionsCallback = isUndefined(options)
136
+ ? { ident, loader: ident }
137
+ : options;
138
+ const item = isFunction(maybeOptionsCallback)
139
+ ? maybeOptionsCallback(this.makeItem())
140
+ : this.makeItem(maybeOptionsCallback);
141
+ this.items[ident] = item;
142
+ this.logger.info(`set item`, item);
143
+ return this;
144
+ }
145
+ /**
146
+ * Make item
147
+ */
148
+ makeItem(options) {
149
+ return new Item(() => this.app, options);
150
+ }
151
+ }
152
+ __decorate([
153
+ bind,
154
+ __metadata("design:type", Function),
155
+ __metadata("design:paramtypes", []),
156
+ __metadata("design:returntype", Promise)
157
+ ], Build.prototype, "make", null);
158
+ __decorate([
159
+ bind,
160
+ __metadata("design:type", Function),
161
+ __metadata("design:paramtypes", [typeof (_a = typeof K !== "undefined" && K) === "function" ? _a : Object]),
162
+ __metadata("design:returntype", Object)
163
+ ], Build.prototype, "getRule", null);
164
+ __decorate([
165
+ bind,
166
+ __metadata("design:type", Function),
167
+ __metadata("design:paramtypes", [typeof (_b = typeof K !== "undefined" && K) === "function" ? _b : Object, Object]),
168
+ __metadata("design:returntype", Object)
169
+ ], Build.prototype, "setRule", null);
170
+ __decorate([
171
+ bind,
172
+ __metadata("design:type", Function),
173
+ __metadata("design:paramtypes", [Object]),
174
+ __metadata("design:returntype", Rule)
175
+ ], Build.prototype, "makeRule", null);
176
+ __decorate([
177
+ bind,
178
+ __metadata("design:type", Function),
179
+ __metadata("design:paramtypes", [String]),
180
+ __metadata("design:returntype", Loader)
181
+ ], Build.prototype, "getLoader", null);
182
+ __decorate([
183
+ bind,
184
+ __metadata("design:type", Function),
185
+ __metadata("design:paramtypes", [typeof (_c = typeof K !== "undefined" && K) === "function" ? _c : Object, Object]),
186
+ __metadata("design:returntype", Object)
187
+ ], Build.prototype, "setLoader", null);
188
+ __decorate([
189
+ bind,
190
+ __metadata("design:type", Function),
191
+ __metadata("design:paramtypes", [String]),
192
+ __metadata("design:returntype", Loader)
193
+ ], Build.prototype, "makeLoader", null);
194
+ __decorate([
195
+ bind,
196
+ __metadata("design:type", Function),
197
+ __metadata("design:paramtypes", [String]),
198
+ __metadata("design:returntype", Item)
199
+ ], Build.prototype, "getItem", null);
200
+ __decorate([
201
+ bind,
202
+ __metadata("design:type", Function),
203
+ __metadata("design:paramtypes", [typeof (_d = typeof K !== "undefined" && K) === "function" ? _d : Object, Object]),
204
+ __metadata("design:returntype", Object)
205
+ ], Build.prototype, "setItem", null);
206
+ __decorate([
207
+ bind,
208
+ __metadata("design:type", Function),
209
+ __metadata("design:paramtypes", [Object]),
210
+ __metadata("design:returntype", Item)
211
+ ], Build.prototype, "makeItem", null);
212
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { Bud } from '@roots/bud-framework';
2
+ import type { Base as BuildBase } from '@roots/bud-framework/services/build';
3
+ export default class Base implements BuildBase {
4
+ _app: () => Bud;
5
+ /**
6
+ * Application getter
7
+ *
8
+ * @readonly @public
9
+ */
10
+ get app(): Bud;
11
+ /**
12
+ * Constructor
13
+ *
14
+ * @public
15
+ */
16
+ constructor(_app: () => Bud);
17
+ wrap<T = any>(input: T | ((app: Bud) => T)): (app: Bud) => T;
18
+ unwrap<T = any>(maybeFunction: T | ((app: Bud, ...options: Array<any>) => T), ...options: Array<any>): T;
19
+ }
20
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/shared/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,sBAAsB,CAAA;AAC7C,OAAO,KAAK,EAAC,IAAI,IAAI,SAAS,EAAC,MAAM,qCAAqC,CAAA;AAI1E,MAAM,CAAC,OAAO,OAAO,IAAK,YAAW,SAAS;IAelB,IAAI,EAAE,MAAM,GAAG;IAdzC;;;;OAIG;IACH,IAAW,GAAG,IAAI,GAAG,CAEpB;IAED;;;;OAIG;gBACuB,IAAI,EAAE,MAAM,GAAG;IAGlC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IAK5D,MAAM,CAAC,CAAC,GAAG,GAAG,EACnB,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAC5D,GAAG,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,GACrB,CAAC;CAKL"}
@@ -0,0 +1,43 @@
1
+ var _a, _b, _c;
2
+ import { __decorate, __metadata } from "tslib";
3
+ import { bind } from '@roots/bud-support/decorators';
4
+ import isFunction from '@roots/bud-support/lodash/isFunction';
5
+ export default class Base {
6
+ /**
7
+ * Application getter
8
+ *
9
+ * @readonly @public
10
+ */
11
+ get app() {
12
+ return this._app();
13
+ }
14
+ /**
15
+ * Constructor
16
+ *
17
+ * @public
18
+ */
19
+ constructor(_app) {
20
+ this._app = _app;
21
+ }
22
+ wrap(input) {
23
+ return isFunction(input) ? input : () => input;
24
+ }
25
+ unwrap(maybeFunction, ...options) {
26
+ return isFunction(maybeFunction)
27
+ ? maybeFunction(this.app, ...options)
28
+ : maybeFunction;
29
+ }
30
+ }
31
+ __decorate([
32
+ bind,
33
+ __metadata("design:type", Function),
34
+ __metadata("design:paramtypes", [Object]),
35
+ __metadata("design:returntype", Function)
36
+ ], Base.prototype, "wrap", null);
37
+ __decorate([
38
+ bind,
39
+ __metadata("design:type", Function),
40
+ __metadata("design:paramtypes", [Object, Object]),
41
+ __metadata("design:returntype", typeof (_c = typeof T !== "undefined" && T) === "function" ? _c : Object)
42
+ ], Base.prototype, "unwrap", null);
43
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/shared/base.ts"],"names":[],"mappings":";;AAEA,OAAO,EAAC,IAAI,EAAC,MAAM,+BAA+B,CAAA;AAClD,OAAO,UAAU,MAAM,sCAAsC,CAAA;AAE7D,MAAM,CAAC,OAAO,OAAO,IAAI;IACvB;;;;OAIG;IACH,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;IACpB,CAAC;IAED;;;;OAIG;IACH,YAA0B,IAAe;QAAf,SAAI,GAAJ,IAAI,CAAW;IAAG,CAAC;IAGtC,IAAI,CAAU,KAA4B;QAC/C,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAA;IAChD,CAAC;IAGM,MAAM,CACX,aAA4D,EAC5D,GAAG,OAAmB;QAEtB,OAAO,UAAU,CAAC,aAAa,CAAC;YAC9B,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;YACrC,CAAC,CAAC,aAAa,CAAA;IACnB,CAAC;CACF;AAdC;IAAC,IAAI;;;;gCAGJ;AAED;IAAC,IAAI;;;wDAIF,CAAC,oBAAD,CAAC;kCAIH"}