@servicetitan/startup 34.3.0-beta.2 → 35.0.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 (549) hide show
  1. package/dist/cli/commands/build.d.ts +0 -16
  2. package/dist/cli/commands/build.d.ts.map +1 -1
  3. package/dist/cli/commands/build.js +2 -15
  4. package/dist/cli/commands/build.js.map +1 -1
  5. package/dist/cli/commands/bundle-package.d.ts.map +1 -1
  6. package/dist/cli/commands/bundle-package.js +0 -1
  7. package/dist/cli/commands/bundle-package.js.map +1 -1
  8. package/dist/cli/commands/get-command.js +2 -2
  9. package/dist/cli/commands/get-command.js.map +1 -1
  10. package/dist/cli/commands/mfe-check.d.ts.map +1 -1
  11. package/dist/cli/commands/mfe-check.js +2 -2
  12. package/dist/cli/commands/mfe-check.js.map +1 -1
  13. package/dist/cli/commands/mfe-generate-metadata.js +2 -2
  14. package/dist/cli/commands/mfe-generate-metadata.js.map +1 -1
  15. package/dist/cli/commands/mfe-package-publish.d.ts +10 -0
  16. package/dist/cli/commands/mfe-package-publish.d.ts.map +1 -1
  17. package/dist/cli/commands/mfe-package-publish.js +12 -0
  18. package/dist/cli/commands/mfe-package-publish.js.map +1 -1
  19. package/dist/cli/commands/mfe-package-rollback.d.ts +10 -1
  20. package/dist/cli/commands/mfe-package-rollback.d.ts.map +1 -1
  21. package/dist/cli/commands/mfe-package-rollback.js +15 -3
  22. package/dist/cli/commands/mfe-package-rollback.js.map +1 -1
  23. package/dist/cli/commands/mfe-publish.d.ts.map +1 -1
  24. package/dist/cli/commands/mfe-publish.js +10 -4
  25. package/dist/cli/commands/mfe-publish.js.map +1 -1
  26. package/dist/cli/commands/mfe-purge-cache.d.ts +57 -0
  27. package/dist/cli/commands/mfe-purge-cache.d.ts.map +1 -0
  28. package/dist/cli/commands/mfe-purge-cache.js +101 -0
  29. package/dist/cli/commands/mfe-purge-cache.js.map +1 -0
  30. package/dist/cli/commands/start.d.ts +0 -8
  31. package/dist/cli/commands/start.d.ts.map +1 -1
  32. package/dist/cli/commands/start.js +2 -8
  33. package/dist/cli/commands/start.js.map +1 -1
  34. package/dist/cli/commands/{utils.d.ts → utils/build-rollback-tag.d.ts} +1 -2
  35. package/dist/cli/commands/utils/build-rollback-tag.d.ts.map +1 -0
  36. package/dist/cli/commands/{utils.js → utils/build-rollback-tag.js} +1 -5
  37. package/dist/cli/commands/utils/build-rollback-tag.js.map +1 -0
  38. package/dist/cli/commands/utils/constants.d.ts +2 -0
  39. package/dist/cli/commands/utils/constants.d.ts.map +1 -0
  40. package/dist/cli/commands/utils/constants.js +13 -0
  41. package/dist/cli/commands/utils/constants.js.map +1 -0
  42. package/dist/cli/commands/utils/index.d.ts +4 -0
  43. package/dist/cli/commands/utils/index.d.ts.map +1 -0
  44. package/dist/{core → cli/commands/utils}/index.js +3 -7
  45. package/dist/cli/commands/utils/index.js.map +1 -0
  46. package/dist/cli/commands/utils/purge-cache.d.ts +6 -0
  47. package/dist/cli/commands/utils/purge-cache.d.ts.map +1 -0
  48. package/dist/cli/commands/utils/purge-cache.js +21 -0
  49. package/dist/cli/commands/utils/purge-cache.js.map +1 -0
  50. package/dist/cli/utils/bundle.d.ts +5 -2
  51. package/dist/cli/utils/bundle.d.ts.map +1 -1
  52. package/dist/cli/utils/bundle.js +98 -18
  53. package/dist/cli/utils/bundle.js.map +1 -1
  54. package/dist/cli/utils/cli-os.js +1 -1
  55. package/dist/cli/utils/cli-os.js.map +1 -1
  56. package/dist/index.d.ts +0 -1
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +0 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/storybook-config/webpack-final.d.ts +1 -1
  61. package/dist/storybook-config/webpack-final.d.ts.map +1 -1
  62. package/dist/storybook-config/webpack-final.js +6 -18
  63. package/dist/storybook-config/webpack-final.js.map +1 -1
  64. package/dist/utils/get-configuration.d.ts +1 -28
  65. package/dist/utils/get-configuration.d.ts.map +1 -1
  66. package/dist/utils/get-configuration.js +2 -42
  67. package/dist/utils/get-configuration.js.map +1 -1
  68. package/dist/utils/get-package-data.d.ts.map +1 -1
  69. package/dist/utils/get-package-data.js +2 -3
  70. package/dist/utils/get-package-data.js.map +1 -1
  71. package/dist/webpack/configs/amd-config.d.ts +2 -3
  72. package/dist/webpack/configs/amd-config.d.ts.map +1 -1
  73. package/dist/webpack/configs/amd-config.js.map +1 -1
  74. package/dist/webpack/configs/cache-config.d.ts +2 -3
  75. package/dist/webpack/configs/cache-config.d.ts.map +1 -1
  76. package/dist/webpack/configs/cache-config.js +1 -1
  77. package/dist/webpack/configs/cache-config.js.map +1 -1
  78. package/dist/webpack/configs/dev-server-config.d.ts +2 -3
  79. package/dist/webpack/configs/dev-server-config.d.ts.map +1 -1
  80. package/dist/webpack/configs/dev-server-config.js +1 -1
  81. package/dist/webpack/configs/dev-server-config.js.map +1 -1
  82. package/dist/webpack/configs/devtool-config.d.ts +2 -3
  83. package/dist/webpack/configs/devtool-config.d.ts.map +1 -1
  84. package/dist/webpack/configs/devtool-config.js +1 -1
  85. package/dist/webpack/configs/devtool-config.js.map +1 -1
  86. package/dist/webpack/configs/entry.config.d.ts +2 -3
  87. package/dist/webpack/configs/entry.config.d.ts.map +1 -1
  88. package/dist/webpack/configs/entry.config.js +5 -6
  89. package/dist/webpack/configs/entry.config.js.map +1 -1
  90. package/dist/webpack/configs/externals-config.d.ts +2 -3
  91. package/dist/webpack/configs/externals-config.d.ts.map +1 -1
  92. package/dist/webpack/configs/externals-config.js +14 -4
  93. package/dist/webpack/configs/externals-config.js.map +1 -1
  94. package/dist/webpack/configs/index.d.ts +1 -0
  95. package/dist/webpack/configs/index.d.ts.map +1 -1
  96. package/dist/webpack/configs/index.js.map +1 -1
  97. package/dist/webpack/configs/loaders/css-loader.d.ts +2 -2
  98. package/dist/webpack/configs/loaders/css-loader.d.ts.map +1 -1
  99. package/dist/webpack/configs/loaders/css-loader.js +1 -2
  100. package/dist/webpack/configs/loaders/css-loader.js.map +1 -1
  101. package/dist/webpack/configs/loaders/style-loader.d.ts +2 -2
  102. package/dist/webpack/configs/loaders/style-loader.d.ts.map +1 -1
  103. package/dist/webpack/configs/loaders/style-loader.js +1 -4
  104. package/dist/webpack/configs/loaders/style-loader.js.map +1 -1
  105. package/dist/webpack/configs/module-config.d.ts +2 -3
  106. package/dist/webpack/configs/module-config.d.ts.map +1 -1
  107. package/dist/webpack/configs/module-config.js.map +1 -1
  108. package/dist/webpack/configs/optimization-config.d.ts +2 -3
  109. package/dist/webpack/configs/optimization-config.d.ts.map +1 -1
  110. package/dist/webpack/configs/optimization-config.js +7 -10
  111. package/dist/webpack/configs/optimization-config.js.map +1 -1
  112. package/dist/webpack/configs/output-config.d.ts +2 -3
  113. package/dist/webpack/configs/output-config.d.ts.map +1 -1
  114. package/dist/webpack/configs/output-config.js +24 -15
  115. package/dist/webpack/configs/output-config.js.map +1 -1
  116. package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts +8 -3
  117. package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts.map +1 -1
  118. package/dist/webpack/configs/plugins/assets-manifest-plugin.js +47 -10
  119. package/dist/webpack/configs/plugins/assets-manifest-plugin.js.map +1 -1
  120. package/dist/webpack/configs/plugins/bundle-analyser-plugin.d.ts +2 -3
  121. package/dist/webpack/configs/plugins/bundle-analyser-plugin.d.ts.map +1 -1
  122. package/dist/webpack/configs/plugins/bundle-analyser-plugin.js +6 -6
  123. package/dist/webpack/configs/plugins/bundle-analyser-plugin.js.map +1 -1
  124. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.d.ts +2 -3
  125. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.d.ts.map +1 -1
  126. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js +13 -4
  127. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js.map +1 -1
  128. package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.d.ts +2 -3
  129. package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.d.ts.map +1 -1
  130. package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.js +12 -4
  131. package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.js.map +1 -1
  132. package/dist/webpack/configs/plugins/define-web-component-name-plugin.d.ts +2 -3
  133. package/dist/webpack/configs/plugins/define-web-component-name-plugin.d.ts.map +1 -1
  134. package/dist/webpack/configs/plugins/define-web-component-name-plugin.js +6 -4
  135. package/dist/webpack/configs/plugins/define-web-component-name-plugin.js.map +1 -1
  136. package/dist/webpack/configs/plugins/filter-warnings-plugin.d.ts +2 -3
  137. package/dist/webpack/configs/plugins/filter-warnings-plugin.d.ts.map +1 -1
  138. package/dist/webpack/configs/plugins/filter-warnings-plugin.js +2 -2
  139. package/dist/webpack/configs/plugins/filter-warnings-plugin.js.map +1 -1
  140. package/dist/webpack/configs/plugins/html-plugin.d.ts +2 -3
  141. package/dist/webpack/configs/plugins/html-plugin.d.ts.map +1 -1
  142. package/dist/webpack/configs/plugins/html-plugin.js +2 -5
  143. package/dist/webpack/configs/plugins/html-plugin.js.map +1 -1
  144. package/dist/webpack/configs/plugins/html-tags-plugin.d.ts +2 -3
  145. package/dist/webpack/configs/plugins/html-tags-plugin.d.ts.map +1 -1
  146. package/dist/webpack/configs/plugins/html-tags-plugin.js +19 -8
  147. package/dist/webpack/configs/plugins/html-tags-plugin.js.map +1 -1
  148. package/dist/webpack/configs/plugins/ignore-plugin/check-resource.d.ts +3 -0
  149. package/dist/webpack/configs/plugins/ignore-plugin/check-resource.d.ts.map +1 -0
  150. package/dist/{core/check-resource → webpack/configs/plugins/ignore-plugin}/check-resource.js +2 -2
  151. package/dist/webpack/configs/plugins/ignore-plugin/check-resource.js.map +1 -0
  152. package/dist/webpack/configs/plugins/ignore-plugin/get-package-json.d.ts.map +1 -0
  153. package/dist/{core/check-resource → webpack/configs/plugins/ignore-plugin}/get-package-json.js +2 -2
  154. package/dist/webpack/configs/plugins/ignore-plugin/get-package-json.js.map +1 -0
  155. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.d.ts +3 -17
  156. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.d.ts.map +1 -1
  157. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js +6 -45
  158. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js.map +1 -1
  159. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.d.ts.map +1 -0
  160. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.js.map +1 -0
  161. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.d.ts.map +1 -0
  162. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.js.map +1 -0
  163. package/dist/webpack/configs/plugins/mini-css-extract-plugin.d.ts +2 -3
  164. package/dist/webpack/configs/plugins/mini-css-extract-plugin.d.ts.map +1 -1
  165. package/dist/webpack/configs/plugins/mini-css-extract-plugin.js +2 -4
  166. package/dist/webpack/configs/plugins/mini-css-extract-plugin.js.map +1 -1
  167. package/dist/webpack/configs/plugins/moment-locales-plugin.d.ts +2 -3
  168. package/dist/webpack/configs/plugins/moment-locales-plugin.d.ts.map +1 -1
  169. package/dist/webpack/configs/plugins/moment-locales-plugin.js.map +1 -1
  170. package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.d.ts +2 -3
  171. package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.d.ts.map +1 -1
  172. package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.js +1 -1
  173. package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.js.map +1 -1
  174. package/dist/webpack/configs/plugins/virtual-modules-plugin.d.ts +3 -3
  175. package/dist/webpack/configs/plugins/virtual-modules-plugin.d.ts.map +1 -1
  176. package/dist/webpack/configs/plugins/virtual-modules-plugin.js +56 -13
  177. package/dist/webpack/configs/plugins/virtual-modules-plugin.js.map +1 -1
  178. package/dist/webpack/configs/plugins/watch-run-plugin.d.ts +2 -3
  179. package/dist/webpack/configs/plugins/watch-run-plugin.d.ts.map +1 -1
  180. package/dist/webpack/configs/plugins/watch-run-plugin.js.map +1 -1
  181. package/dist/webpack/configs/plugins-config.d.ts +2 -3
  182. package/dist/webpack/configs/plugins-config.d.ts.map +1 -1
  183. package/dist/webpack/configs/plugins-config.js.map +1 -1
  184. package/dist/webpack/configs/resolve-config.d.ts +2 -3
  185. package/dist/webpack/configs/resolve-config.d.ts.map +1 -1
  186. package/dist/webpack/configs/resolve-config.js.map +1 -1
  187. package/dist/webpack/configs/rules/css-rules.d.ts +2 -2
  188. package/dist/webpack/configs/rules/css-rules.d.ts.map +1 -1
  189. package/dist/webpack/configs/rules/css-rules.js +1 -2
  190. package/dist/webpack/configs/rules/css-rules.js.map +1 -1
  191. package/dist/webpack/configs/rules/font-rules.d.ts +2 -2
  192. package/dist/webpack/configs/rules/font-rules.d.ts.map +1 -1
  193. package/dist/webpack/configs/rules/font-rules.js.map +1 -1
  194. package/dist/webpack/configs/rules/image-rules.d.ts +2 -2
  195. package/dist/webpack/configs/rules/image-rules.d.ts.map +1 -1
  196. package/dist/webpack/configs/rules/image-rules.js.map +1 -1
  197. package/dist/webpack/configs/rules/js-rules.d.ts +2 -2
  198. package/dist/webpack/configs/rules/js-rules.d.ts.map +1 -1
  199. package/dist/webpack/configs/rules/js-rules.js +1 -3
  200. package/dist/webpack/configs/rules/js-rules.js.map +1 -1
  201. package/dist/webpack/configs/rules/less-rules.d.ts +2 -2
  202. package/dist/webpack/configs/rules/less-rules.d.ts.map +1 -1
  203. package/dist/webpack/configs/rules/less-rules.js.map +1 -1
  204. package/dist/webpack/configs/rules/scss-rules.d.ts +2 -2
  205. package/dist/webpack/configs/rules/scss-rules.d.ts.map +1 -1
  206. package/dist/webpack/configs/rules/scss-rules.js.map +1 -1
  207. package/dist/webpack/configs/rules/svg-rules.d.ts +2 -2
  208. package/dist/webpack/configs/rules/svg-rules.d.ts.map +1 -1
  209. package/dist/webpack/configs/rules/svg-rules.js.map +1 -1
  210. package/dist/webpack/configs/rules-config.d.ts +2 -3
  211. package/dist/webpack/configs/rules-config.d.ts.map +1 -1
  212. package/dist/webpack/configs/rules-config.js +2 -2
  213. package/dist/webpack/configs/rules-config.js.map +1 -1
  214. package/dist/webpack/configs/stats-config.d.ts +2 -3
  215. package/dist/webpack/configs/stats-config.d.ts.map +1 -1
  216. package/dist/webpack/configs/stats-config.js.map +1 -1
  217. package/dist/webpack/configs/types.d.ts +35 -0
  218. package/dist/webpack/configs/types.d.ts.map +1 -0
  219. package/dist/webpack/configs/types.js.map +1 -0
  220. package/dist/webpack/configs/utils/build-metadata.d.ts.map +1 -0
  221. package/dist/{core → webpack/configs}/utils/build-metadata.js +1 -1
  222. package/dist/webpack/configs/utils/build-metadata.js.map +1 -0
  223. package/dist/webpack/configs/utils/generate-metadata.d.ts +3 -0
  224. package/dist/webpack/configs/utils/generate-metadata.d.ts.map +1 -0
  225. package/dist/{core → webpack/configs}/utils/generate-metadata.js +4 -5
  226. package/dist/webpack/configs/utils/generate-metadata.js.map +1 -0
  227. package/dist/webpack/configs/utils/get-bundle-type.d.ts +3 -0
  228. package/dist/webpack/configs/utils/get-bundle-type.d.ts.map +1 -0
  229. package/dist/{core → webpack/configs}/utils/get-bundle-type.js +2 -5
  230. package/dist/webpack/configs/utils/get-bundle-type.js.map +1 -0
  231. package/dist/webpack/configs/utils/get-exposed-dependencies.d.ts.map +1 -0
  232. package/dist/webpack/configs/utils/get-exposed-dependencies.js.map +1 -0
  233. package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.d.ts.map +1 -0
  234. package/dist/{core → webpack/configs}/utils/get-launchdarkly-sdk-version.js +1 -1
  235. package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.js.map +1 -0
  236. package/dist/webpack/configs/utils/get-web-components-version.d.ts.map +1 -0
  237. package/dist/{core → webpack/configs}/utils/get-web-components-version.js +1 -1
  238. package/dist/webpack/configs/utils/get-web-components-version.js.map +1 -0
  239. package/dist/webpack/configs/utils/index.d.ts +4 -0
  240. package/dist/webpack/configs/utils/index.d.ts.map +1 -0
  241. package/dist/{core → webpack/configs}/utils/index.js +0 -5
  242. package/dist/webpack/configs/utils/index.js.map +1 -0
  243. package/dist/webpack/configs/watch-options-config.d.ts +2 -2
  244. package/dist/webpack/configs/watch-options-config.d.ts.map +1 -1
  245. package/dist/webpack/configs/watch-options-config.js +2 -2
  246. package/dist/webpack/configs/watch-options-config.js.map +1 -1
  247. package/dist/webpack/create-webpack-config.d.ts +0 -10
  248. package/dist/webpack/create-webpack-config.d.ts.map +1 -1
  249. package/dist/webpack/create-webpack-config.js +41 -108
  250. package/dist/webpack/create-webpack-config.js.map +1 -1
  251. package/dist/webpack/types.d.ts +11 -4
  252. package/dist/webpack/types.d.ts.map +1 -1
  253. package/dist/webpack/utils/index.d.ts +1 -0
  254. package/dist/webpack/utils/index.d.ts.map +1 -1
  255. package/dist/webpack/utils/index.js +1 -0
  256. package/dist/webpack/utils/index.js.map +1 -1
  257. package/dist/webpack/utils/stringify-config.d.ts.map +1 -0
  258. package/dist/webpack/utils/stringify-config.js.map +1 -0
  259. package/package.json +16 -19
  260. package/src/cli/commands/__tests__/mfe-generate-metadata.test.ts +4 -3
  261. package/src/cli/commands/__tests__/mfe-package-publish.test.ts +27 -1
  262. package/src/cli/commands/__tests__/mfe-package-rollback.test.ts +31 -0
  263. package/src/cli/commands/__tests__/mfe-publish.test.ts +4 -2
  264. package/src/cli/commands/__tests__/mfe-purge-cache.test.ts +141 -0
  265. package/src/cli/commands/build.ts +2 -7
  266. package/src/cli/commands/bundle-package.ts +1 -3
  267. package/src/cli/commands/get-command.ts +2 -2
  268. package/src/cli/commands/mfe-check.ts +2 -1
  269. package/src/cli/commands/mfe-generate-metadata.ts +1 -1
  270. package/src/cli/commands/mfe-package-publish.ts +12 -2
  271. package/src/cli/commands/mfe-package-rollback.ts +15 -5
  272. package/src/cli/commands/mfe-publish.ts +14 -3
  273. package/src/cli/commands/mfe-purge-cache.ts +75 -0
  274. package/src/cli/commands/start.ts +2 -5
  275. package/src/cli/commands/utils/__tests__/purge-cache.test.ts +40 -0
  276. package/src/cli/commands/{utils.ts → utils/build-rollback-tag.ts} +0 -1
  277. package/src/cli/commands/utils/constants.ts +1 -0
  278. package/src/cli/commands/utils/index.ts +3 -0
  279. package/src/cli/commands/utils/purge-cache.ts +13 -0
  280. package/src/cli/utils/__tests__/bundle.test.ts +10 -19
  281. package/src/cli/utils/bundle.ts +101 -20
  282. package/src/cli/utils/cli-os.ts +1 -1
  283. package/src/index.ts +0 -1
  284. package/src/storybook-config/__tests__/webpack-final.test.ts +2 -5
  285. package/src/storybook-config/webpack-final.ts +10 -24
  286. package/src/utils/__tests__/get-configuration.test.ts +1 -99
  287. package/src/utils/__tests__/get-package-data.test.ts +1 -35
  288. package/src/utils/get-configuration.ts +2 -92
  289. package/src/utils/get-package-data.ts +1 -3
  290. package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +2 -2
  291. package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +11 -11
  292. package/src/webpack/__tests__/create-webpack-config.test.ts +2 -3
  293. package/src/webpack/configs/amd-config.ts +2 -3
  294. package/src/webpack/configs/cache-config.ts +3 -4
  295. package/src/webpack/configs/dev-server-config.ts +3 -8
  296. package/src/webpack/configs/devtool-config.ts +3 -4
  297. package/src/webpack/configs/entry.config.ts +7 -8
  298. package/src/webpack/configs/externals-config.ts +21 -5
  299. package/src/webpack/configs/index.ts +1 -0
  300. package/src/webpack/configs/loaders/css-loader.ts +2 -3
  301. package/src/webpack/configs/loaders/style-loader.ts +5 -5
  302. package/src/webpack/configs/module-config.ts +2 -3
  303. package/src/webpack/configs/optimization-config.ts +11 -16
  304. package/src/webpack/configs/output-config.ts +22 -16
  305. package/src/webpack/configs/plugins/assets-manifest-plugin.ts +36 -9
  306. package/src/webpack/configs/plugins/bundle-analyser-plugin.ts +8 -8
  307. package/src/webpack/configs/plugins/define-exposed-dependencies-plugin.ts +15 -7
  308. package/src/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.ts +13 -7
  309. package/src/webpack/configs/plugins/define-web-component-name-plugin.ts +8 -7
  310. package/src/webpack/configs/plugins/filter-warnings-plugin.ts +3 -4
  311. package/src/webpack/configs/plugins/html-plugin.ts +6 -7
  312. package/src/webpack/configs/plugins/html-tags-plugin.ts +16 -7
  313. package/src/{core/check-resource → webpack/configs/plugins/ignore-plugin}/__tests__/check-resource.test.ts +5 -18
  314. package/src/{core/check-resource → webpack/configs/plugins/ignore-plugin}/check-resource.ts +4 -4
  315. package/src/{core/check-resource → webpack/configs/plugins/ignore-plugin}/get-package-json.ts +2 -2
  316. package/src/webpack/configs/plugins/ignore-plugin/ignore-plugin.ts +6 -48
  317. package/src/webpack/configs/plugins/mini-css-extract-plugin.ts +5 -10
  318. package/src/webpack/configs/plugins/moment-locales-plugin.ts +2 -3
  319. package/src/webpack/configs/plugins/remove-empty-scripts-plugin.ts +3 -4
  320. package/src/webpack/configs/plugins/virtual-modules-plugin.ts +65 -13
  321. package/src/webpack/configs/plugins/watch-run-plugin.ts +2 -3
  322. package/src/webpack/configs/plugins-config.ts +2 -3
  323. package/src/webpack/configs/resolve-config.ts +2 -3
  324. package/src/webpack/configs/rules/css-rules.ts +3 -4
  325. package/src/webpack/configs/rules/font-rules.ts +2 -2
  326. package/src/webpack/configs/rules/image-rules.ts +2 -2
  327. package/src/webpack/configs/rules/js-rules.ts +2 -4
  328. package/src/webpack/configs/rules/less-rules.ts +2 -2
  329. package/src/webpack/configs/rules/scss-rules.ts +2 -2
  330. package/src/webpack/configs/rules/svg-rules.ts +2 -2
  331. package/src/webpack/configs/rules-config.ts +5 -9
  332. package/src/webpack/configs/stats-config.ts +2 -3
  333. package/src/webpack/configs/types.ts +38 -0
  334. package/src/{core → webpack/configs}/utils/__tests__/build-metadata.test.ts +2 -2
  335. package/src/{core → webpack/configs}/utils/__tests__/generate-metadata.test.ts +13 -27
  336. package/src/{core → webpack/configs}/utils/build-metadata.ts +1 -1
  337. package/src/{core → webpack/configs}/utils/generate-metadata.ts +6 -7
  338. package/src/webpack/configs/utils/get-bundle-type.ts +22 -0
  339. package/src/{core → webpack/configs}/utils/get-launchdarkly-sdk-version.ts +1 -1
  340. package/src/{core → webpack/configs}/utils/get-web-components-version.ts +1 -1
  341. package/src/webpack/configs/utils/index.ts +3 -0
  342. package/src/webpack/configs/watch-options-config.ts +3 -3
  343. package/src/webpack/create-webpack-config.ts +43 -85
  344. package/src/webpack/types.ts +11 -7
  345. package/src/webpack/utils/index.ts +1 -0
  346. package/dist/cli/commands/bundle-vite.d.ts +0 -66
  347. package/dist/cli/commands/bundle-vite.d.ts.map +0 -1
  348. package/dist/cli/commands/bundle-vite.js +0 -184
  349. package/dist/cli/commands/bundle-vite.js.map +0 -1
  350. package/dist/cli/commands/utils.d.ts.map +0 -1
  351. package/dist/cli/commands/utils.js.map +0 -1
  352. package/dist/core/check-resource/check-resource.d.ts +0 -3
  353. package/dist/core/check-resource/check-resource.d.ts.map +0 -1
  354. package/dist/core/check-resource/check-resource.js.map +0 -1
  355. package/dist/core/check-resource/get-package-json.d.ts.map +0 -1
  356. package/dist/core/check-resource/get-package-json.js.map +0 -1
  357. package/dist/core/check-resource/index.d.ts +0 -2
  358. package/dist/core/check-resource/index.d.ts.map +0 -1
  359. package/dist/core/check-resource/index.js +0 -13
  360. package/dist/core/check-resource/index.js.map +0 -1
  361. package/dist/core/check-resource/is-optional-peer-dependency.d.ts.map +0 -1
  362. package/dist/core/check-resource/is-optional-peer-dependency.js.map +0 -1
  363. package/dist/core/check-resource/is-optional-react-dom-peer-dependency.d.ts.map +0 -1
  364. package/dist/core/check-resource/is-optional-react-dom-peer-dependency.js.map +0 -1
  365. package/dist/core/context.d.ts +0 -14
  366. package/dist/core/context.d.ts.map +0 -1
  367. package/dist/core/context.js +0 -62
  368. package/dist/core/context.js.map +0 -1
  369. package/dist/core/defines/exposed-dependencies.d.ts +0 -5
  370. package/dist/core/defines/exposed-dependencies.d.ts.map +0 -1
  371. package/dist/core/defines/exposed-dependencies.js +0 -26
  372. package/dist/core/defines/exposed-dependencies.js.map +0 -1
  373. package/dist/core/defines/exposed-instance-dependencies.d.ts +0 -5
  374. package/dist/core/defines/exposed-instance-dependencies.d.ts.map +0 -1
  375. package/dist/core/defines/exposed-instance-dependencies.js +0 -29
  376. package/dist/core/defines/exposed-instance-dependencies.js.map +0 -1
  377. package/dist/core/defines/index.d.ts +0 -4
  378. package/dist/core/defines/index.d.ts.map +0 -1
  379. package/dist/core/defines/index.js +0 -26
  380. package/dist/core/defines/index.js.map +0 -1
  381. package/dist/core/defines/web-component-name.d.ts +0 -5
  382. package/dist/core/defines/web-component-name.d.ts.map +0 -1
  383. package/dist/core/defines/web-component-name.js +0 -23
  384. package/dist/core/defines/web-component-name.js.map +0 -1
  385. package/dist/core/externals.d.ts +0 -3
  386. package/dist/core/externals.d.ts.map +0 -1
  387. package/dist/core/externals.js +0 -29
  388. package/dist/core/externals.js.map +0 -1
  389. package/dist/core/get-exposed-dependencies-entry-points.d.ts +0 -11
  390. package/dist/core/get-exposed-dependencies-entry-points.d.ts.map +0 -1
  391. package/dist/core/get-exposed-dependencies-entry-points.js +0 -82
  392. package/dist/core/get-exposed-dependencies-entry-points.js.map +0 -1
  393. package/dist/core/index.d.ts +0 -9
  394. package/dist/core/index.d.ts.map +0 -1
  395. package/dist/core/index.js.map +0 -1
  396. package/dist/core/types.d.ts +0 -55
  397. package/dist/core/types.d.ts.map +0 -1
  398. package/dist/core/types.js.map +0 -1
  399. package/dist/core/utils/build-metadata.d.ts.map +0 -1
  400. package/dist/core/utils/build-metadata.js.map +0 -1
  401. package/dist/core/utils/generate-metadata.d.ts +0 -3
  402. package/dist/core/utils/generate-metadata.d.ts.map +0 -1
  403. package/dist/core/utils/generate-metadata.js.map +0 -1
  404. package/dist/core/utils/get-bundle-type.d.ts +0 -3
  405. package/dist/core/utils/get-bundle-type.d.ts.map +0 -1
  406. package/dist/core/utils/get-bundle-type.js.map +0 -1
  407. package/dist/core/utils/get-exposed-dependencies.d.ts.map +0 -1
  408. package/dist/core/utils/get-exposed-dependencies.js.map +0 -1
  409. package/dist/core/utils/get-launchdarkly-sdk-version.d.ts.map +0 -1
  410. package/dist/core/utils/get-launchdarkly-sdk-version.js.map +0 -1
  411. package/dist/core/utils/get-output-path.d.ts +0 -3
  412. package/dist/core/utils/get-output-path.d.ts.map +0 -1
  413. package/dist/core/utils/get-output-path.js +0 -32
  414. package/dist/core/utils/get-output-path.js.map +0 -1
  415. package/dist/core/utils/get-web-components-version.d.ts.map +0 -1
  416. package/dist/core/utils/get-web-components-version.js.map +0 -1
  417. package/dist/core/utils/index.d.ts +0 -9
  418. package/dist/core/utils/index.d.ts.map +0 -1
  419. package/dist/core/utils/index.js.map +0 -1
  420. package/dist/core/utils/stringify-config.d.ts.map +0 -1
  421. package/dist/core/utils/stringify-config.js.map +0 -1
  422. package/dist/core/virtual-modules.d.ts +0 -9
  423. package/dist/core/virtual-modules.d.ts.map +0 -1
  424. package/dist/core/virtual-modules.js +0 -84
  425. package/dist/core/virtual-modules.js.map +0 -1
  426. package/dist/vite/base-config.d.ts +0 -4
  427. package/dist/vite/base-config.d.ts.map +0 -1
  428. package/dist/vite/base-config.js +0 -76
  429. package/dist/vite/base-config.js.map +0 -1
  430. package/dist/vite/build-shared-deps.d.ts +0 -3
  431. package/dist/vite/build-shared-deps.d.ts.map +0 -1
  432. package/dist/vite/build-shared-deps.js +0 -310
  433. package/dist/vite/build-shared-deps.js.map +0 -1
  434. package/dist/vite/create-vite-config.d.ts +0 -3
  435. package/dist/vite/create-vite-config.d.ts.map +0 -1
  436. package/dist/vite/create-vite-config.js +0 -52
  437. package/dist/vite/create-vite-config.js.map +0 -1
  438. package/dist/vite/define-config.d.ts +0 -12
  439. package/dist/vite/define-config.d.ts.map +0 -1
  440. package/dist/vite/define-config.js +0 -15
  441. package/dist/vite/define-config.js.map +0 -1
  442. package/dist/vite/load-config-file.d.ts +0 -6
  443. package/dist/vite/load-config-file.d.ts.map +0 -1
  444. package/dist/vite/load-config-file.js +0 -107
  445. package/dist/vite/load-config-file.js.map +0 -1
  446. package/dist/vite/merge-config.d.ts +0 -6
  447. package/dist/vite/merge-config.d.ts.map +0 -1
  448. package/dist/vite/merge-config.js +0 -106
  449. package/dist/vite/merge-config.js.map +0 -1
  450. package/dist/vite/plugins/css-injector-plugin.d.ts +0 -15
  451. package/dist/vite/plugins/css-injector-plugin.d.ts.map +0 -1
  452. package/dist/vite/plugins/css-injector-plugin.js +0 -76
  453. package/dist/vite/plugins/css-injector-plugin.js.map +0 -1
  454. package/dist/vite/plugins/dev-server-routing-plugin.d.ts +0 -12
  455. package/dist/vite/plugins/dev-server-routing-plugin.d.ts.map +0 -1
  456. package/dist/vite/plugins/dev-server-routing-plugin.js +0 -85
  457. package/dist/vite/plugins/dev-server-routing-plugin.js.map +0 -1
  458. package/dist/vite/plugins/externals-plugin.d.ts +0 -4
  459. package/dist/vite/plugins/externals-plugin.d.ts.map +0 -1
  460. package/dist/vite/plugins/externals-plugin.js +0 -39
  461. package/dist/vite/plugins/externals-plugin.js.map +0 -1
  462. package/dist/vite/plugins/html-plugin.d.ts +0 -5
  463. package/dist/vite/plugins/html-plugin.d.ts.map +0 -1
  464. package/dist/vite/plugins/html-plugin.js +0 -74
  465. package/dist/vite/plugins/html-plugin.js.map +0 -1
  466. package/dist/vite/plugins/ignore-modules-plugin.d.ts +0 -4
  467. package/dist/vite/plugins/ignore-modules-plugin.d.ts.map +0 -1
  468. package/dist/vite/plugins/ignore-modules-plugin.js +0 -30
  469. package/dist/vite/plugins/ignore-modules-plugin.js.map +0 -1
  470. package/dist/vite/plugins/index.d.ts +0 -10
  471. package/dist/vite/plugins/index.d.ts.map +0 -1
  472. package/dist/vite/plugins/index.js +0 -28
  473. package/dist/vite/plugins/index.js.map +0 -1
  474. package/dist/vite/plugins/metadata-plugin.d.ts +0 -4
  475. package/dist/vite/plugins/metadata-plugin.d.ts.map +0 -1
  476. package/dist/vite/plugins/metadata-plugin.js +0 -86
  477. package/dist/vite/plugins/metadata-plugin.js.map +0 -1
  478. package/dist/vite/plugins/style-urls-plugin.d.ts +0 -4
  479. package/dist/vite/plugins/style-urls-plugin.d.ts.map +0 -1
  480. package/dist/vite/plugins/style-urls-plugin.js +0 -29
  481. package/dist/vite/plugins/style-urls-plugin.js.map +0 -1
  482. package/dist/vite/plugins/svgr-plugin.d.ts +0 -4
  483. package/dist/vite/plugins/svgr-plugin.d.ts.map +0 -1
  484. package/dist/vite/plugins/svgr-plugin.js +0 -31
  485. package/dist/vite/plugins/svgr-plugin.js.map +0 -1
  486. package/dist/vite/plugins/virtual-modules-plugin.d.ts +0 -4
  487. package/dist/vite/plugins/virtual-modules-plugin.d.ts.map +0 -1
  488. package/dist/vite/plugins/virtual-modules-plugin.js +0 -71
  489. package/dist/vite/plugins/virtual-modules-plugin.js.map +0 -1
  490. package/patches/vite-plugin-css-injected-by-js+3.5.2.patch +0 -63
  491. package/src/cli/commands/bundle-vite.ts +0 -112
  492. package/src/core/check-resource/index.ts +0 -1
  493. package/src/core/context.ts +0 -65
  494. package/src/core/defines/exposed-dependencies.ts +0 -21
  495. package/src/core/defines/exposed-instance-dependencies.ts +0 -19
  496. package/src/core/defines/index.ts +0 -3
  497. package/src/core/defines/web-component-name.ts +0 -15
  498. package/src/core/externals.ts +0 -23
  499. package/src/core/get-exposed-dependencies-entry-points.ts +0 -59
  500. package/src/core/index.ts +0 -8
  501. package/src/core/types.ts +0 -59
  502. package/src/core/utils/get-bundle-type.ts +0 -20
  503. package/src/core/utils/get-output-path.ts +0 -18
  504. package/src/core/utils/index.ts +0 -8
  505. package/src/core/virtual-modules.ts +0 -76
  506. package/src/vite/__tests__/define-config.test.ts +0 -13
  507. package/src/vite/__tests__/load-config-file.test.ts +0 -115
  508. package/src/vite/__tests__/merge-config.test.ts +0 -173
  509. package/src/vite/base-config.ts +0 -79
  510. package/src/vite/build-shared-deps.ts +0 -320
  511. package/src/vite/create-vite-config.ts +0 -50
  512. package/src/vite/define-config.ts +0 -20
  513. package/src/vite/index.html +0 -29
  514. package/src/vite/load-config-file.ts +0 -54
  515. package/src/vite/merge-config.ts +0 -93
  516. package/src/vite/plugins/css-injector-plugin.ts +0 -85
  517. package/src/vite/plugins/dev-server-routing-plugin.ts +0 -89
  518. package/src/vite/plugins/externals-plugin.ts +0 -27
  519. package/src/vite/plugins/html-plugin.ts +0 -65
  520. package/src/vite/plugins/ignore-modules-plugin.ts +0 -22
  521. package/src/vite/plugins/index.ts +0 -9
  522. package/src/vite/plugins/metadata-plugin.ts +0 -78
  523. package/src/vite/plugins/style-urls-plugin.ts +0 -34
  524. package/src/vite/plugins/svgr-plugin.ts +0 -11
  525. package/src/vite/plugins/virtual-modules-plugin.ts +0 -74
  526. package/src/webpack/configs/plugins/ignore-plugin/empty-module.js +0 -1
  527. /package/dist/{core/check-resource → webpack/configs/plugins/ignore-plugin}/get-package-json.d.ts +0 -0
  528. /package/dist/{core/check-resource → webpack/configs/plugins/ignore-plugin}/is-optional-peer-dependency.d.ts +0 -0
  529. /package/dist/{core/check-resource → webpack/configs/plugins/ignore-plugin}/is-optional-peer-dependency.js +0 -0
  530. /package/dist/{core/check-resource → webpack/configs/plugins/ignore-plugin}/is-optional-react-dom-peer-dependency.d.ts +0 -0
  531. /package/dist/{core/check-resource → webpack/configs/plugins/ignore-plugin}/is-optional-react-dom-peer-dependency.js +0 -0
  532. /package/dist/{core → webpack/configs}/types.js +0 -0
  533. /package/dist/{core → webpack/configs}/utils/build-metadata.d.ts +0 -0
  534. /package/dist/{core → webpack/configs}/utils/get-exposed-dependencies.d.ts +0 -0
  535. /package/dist/{core → webpack/configs}/utils/get-exposed-dependencies.js +0 -0
  536. /package/dist/{core → webpack/configs}/utils/get-launchdarkly-sdk-version.d.ts +0 -0
  537. /package/dist/{core → webpack/configs}/utils/get-web-components-version.d.ts +0 -0
  538. /package/dist/{core → webpack}/utils/stringify-config.d.ts +0 -0
  539. /package/dist/{core → webpack}/utils/stringify-config.js +0 -0
  540. /package/src/{core/check-resource → webpack/configs/plugins/ignore-plugin}/__tests__/get-package-json.test.ts +0 -0
  541. /package/src/{core/check-resource → webpack/configs/plugins/ignore-plugin}/__tests__/is-optional-peer-dependency.test.ts +0 -0
  542. /package/src/{core/check-resource → webpack/configs/plugins/ignore-plugin}/__tests__/is-optional-react-dom-peer-dependency.test.ts +0 -0
  543. /package/src/{core/check-resource → webpack/configs/plugins/ignore-plugin}/is-optional-peer-dependency.ts +0 -0
  544. /package/src/{core/check-resource → webpack/configs/plugins/ignore-plugin}/is-optional-react-dom-peer-dependency.ts +0 -0
  545. /package/src/{core → webpack/configs}/utils/__tests__/get-exposed-dependencies.test.ts +0 -0
  546. /package/src/{core → webpack/configs}/utils/__tests__/get-launchdarkly-sdk-version.test.ts +0 -0
  547. /package/src/{core → webpack/configs}/utils/__tests__/get-web-components-version.test.ts +0 -0
  548. /package/src/{core → webpack/configs}/utils/get-exposed-dependencies.ts +0 -0
  549. /package/src/{core → webpack}/utils/stringify-config.ts +0 -0
@@ -2,60 +2,31 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: Object.getOwnPropertyDescriptor(all, name).get
9
- });
10
- }
11
- _export(exports, {
12
- get createWebpackConfig () {
5
+ Object.defineProperty(exports, "createWebpackConfig", {
6
+ enumerable: true,
7
+ get: function() {
13
8
  return createWebpackConfig;
14
- },
15
- get createWebpackConfigs () {
16
- return createWebpackConfigs;
17
- },
18
- get webpackDevConfigFileName () {
19
- return webpackDevConfigFileName;
20
- },
21
- get webpackProdConfigFileName () {
22
- return webpackProdConfigFileName;
23
9
  }
24
10
  });
25
- const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
26
- const _path = /*#__PURE__*/ _interop_require_default(require("path"));
27
11
  const _webpackmerge = require("webpack-merge");
28
- const _core = require("../core");
29
- const _utils = require("../utils");
12
+ const _yargs = /*#__PURE__*/ _interop_require_default(require("yargs"));
13
+ const _helpers = require("yargs/helpers");
14
+ const _utils = require("../cli/utils");
15
+ const _utils1 = require("../utils");
30
16
  const _configs = require("./configs");
31
- const _utils1 = require("./utils");
17
+ const _utils2 = require("./utils");
32
18
  function _interop_require_default(obj) {
33
19
  return obj && obj.__esModule ? obj : {
34
20
  default: obj
35
21
  };
36
22
  }
37
- const webpackDevConfigFileName = 'webpack.dev.config.js';
38
- const webpackProdConfigFileName = 'webpack.prod.config.js';
39
23
  function createWebpackConfig(overrides, options = {}) {
40
- var _options_name, _overrides_configuration;
41
- var _overrides_configuration1;
42
- const context = (0, _core.createBuildContext)({
43
- name: (_options_name = options.name) !== null && _options_name !== void 0 ? _options_name : '',
44
- isProduction: ((_overrides_configuration1 = overrides.configuration) === null || _overrides_configuration1 === void 0 ? void 0 : _overrides_configuration1.mode) !== 'development',
45
- light: options.light,
46
- headless: options.headless,
47
- codeCoverage: options.codeCoverage,
48
- buildStat: options.buildStat,
49
- bundlerConfig: {
50
- emitExposedDependencies: options.emitExposedDependencies,
51
- minify: (0, _utils.getWebpackConfiguration)().minify,
52
- isCustomStyleRules: (0, _utils.isCustomStyleRules)()
53
- }
54
- });
55
- if (context.package.isWebComponent && isCalledFromCustomWebpackConfigFile()) {
24
+ var _overrides_configuration;
25
+ const context = getContext(overrides, options);
26
+ if (context.isWebComponent && isCalledFromCustomWebpackConfigFile()) {
56
27
  throw new Error(WEB_COMPONENT_CONFIG_ERROR);
57
28
  }
58
- if (options.emitExposedDependencies && !context.package.isExposeSharedDependencies) {
29
+ if (options.emitExposedDependencies && !context.isExposeSharedDependencies) {
59
30
  throw new Error('package does not expose shared dependencies');
60
31
  }
61
32
  const configs = [
@@ -77,82 +48,44 @@ function createWebpackConfig(overrides, options = {}) {
77
48
  ...result,
78
49
  ...fn(context, overrides)
79
50
  }), {}), (_overrides_configuration = overrides.configuration) !== null && _overrides_configuration !== void 0 ? _overrides_configuration : {});
80
- /* istanbul ignore next: debug only */ _utils.log.debug('create-webpack-config', ()=>(0, _core.stringifyConfig)(result));
51
+ /* istanbul ignore next: debug only */ _utils1.log.debug('create-webpack-config', ()=>(0, _utils2.stringifyConfig)(result));
81
52
  return result;
82
53
  }
54
+ function getContext({ configuration = {} }, options) {
55
+ var _options_codeCoverage;
56
+ const { source, destination } = (0, _utils1.getFolders)();
57
+ const { minify } = (0, _utils1.getWebpackConfiguration)();
58
+ const packageData = (0, _utils1.getPackageData)();
59
+ const sharedDependencies = (0, _utils1.loadSharedDependencies)(packageData.dependencies, packageData.sharedDependencies);
60
+ const args = (0, _yargs.default)((0, _helpers.hideBin)(process.argv)).argv;
61
+ const emitExposedDependencies = options.emitExposedDependencies;
62
+ return {
63
+ codeCoverage: (_options_codeCoverage = options.codeCoverage) !== null && _options_codeCoverage !== void 0 ? _options_codeCoverage : !!args['code-coverage'],
64
+ destination,
65
+ emitExposedDependencies,
66
+ isCustomStyleRules: !emitExposedDependencies && (0, _utils1.isCustomStyleRules)(),
67
+ isExposeSharedDependencies: (0, _utils1.isExposeSharedDependencies)(),
68
+ isLegacyRoot: (0, _utils1.isLegacyRoot)(),
69
+ isProduction: configuration.mode === 'production',
70
+ isWebComponent: (0, _utils1.isWebComponent)(),
71
+ minify,
72
+ name: '',
73
+ ...options,
74
+ packageData,
75
+ sharedDependencies,
76
+ source
77
+ };
78
+ }
83
79
  function isCalledFromCustomWebpackConfigFile() {
84
- const callerFileName = (0, _utils1.getCallerFile)();
80
+ const callerFileName = (0, _utils2.getCallerFile)();
85
81
  return [
86
- webpackDevConfigFileName,
87
- webpackProdConfigFileName
82
+ _utils.webpackDevConfigFileName,
83
+ _utils.webpackProdConfigFileName
88
84
  ].some((configFileName)=>callerFileName.includes(configFileName));
89
85
  }
90
86
  const WEB_COMPONENT_CONFIG_ERROR = `
91
87
  You cannot call createWebpackConfig in a custom webpack config file in a web component (MFE) project.
92
88
  Export webpack configuration itself as a default export from the config file instead.
93
89
  `.replace(/\n\s*/g, ' ').trim();
94
- function createWebpackConfigs(options) {
95
- const { watch, useWatchConfig } = options;
96
- const mode = watch || useWatchConfig ? 'development' : 'production';
97
- const fallback = watch || useWatchConfig ? webpackDevConfigFileName : webpackProdConfigFileName;
98
- const customConfig = readWebpackConfig({
99
- config: options.config,
100
- fallback
101
- });
102
- /* istanbul ignore next: debug only */ _utils.log.debug('custom-webpack-config', ()=>(0, _core.stringifyConfig)(customConfig));
103
- const emitExposedDependencies = options.emitExposedDependencies && customConfig ? {
104
- output: customConfig.output
105
- } : options.emitExposedDependencies;
106
- const resolved = {
107
- buildStat: options.buildStat,
108
- codeCoverage: options.codeCoverage,
109
- emitExposedDependencies,
110
- name: (0, _core.getName)()
111
- };
112
- if ((0, _utils.isWebComponent)()) {
113
- const overrides = {
114
- configuration: {
115
- ...customConfig === null || customConfig === void 0 ? void 0 : customConfig.configuration,
116
- mode
117
- },
118
- plugins: customConfig === null || customConfig === void 0 ? void 0 : customConfig.plugins
119
- };
120
- const configs = [
121
- createWebpackConfig(overrides, resolved),
122
- createWebpackConfig(overrides, {
123
- ...resolved,
124
- light: true
125
- })
126
- ];
127
- if ((0, _utils.hasHeadlessBundle)()) {
128
- configs.push(createWebpackConfig(overrides, {
129
- ...resolved,
130
- headless: true
131
- }));
132
- }
133
- return configs;
134
- }
135
- if (customConfig && !emitExposedDependencies) {
136
- return [
137
- customConfig
138
- ];
139
- }
140
- return [
141
- createWebpackConfig({
142
- configuration: {
143
- mode
144
- }
145
- }, resolved)
146
- ];
147
- }
148
- function readWebpackConfig({ config, fallback }) {
149
- var _readConfig;
150
- return (_readConfig = readConfig(config)) !== null && _readConfig !== void 0 ? _readConfig : readConfig(fallback);
151
- }
152
- function readConfig(relativePath) {
153
- if (relativePath && _fs.default.existsSync(relativePath)) {
154
- return require(_path.default.resolve(relativePath));
155
- }
156
- }
157
90
 
158
91
  //# sourceMappingURL=create-webpack-config.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/webpack/create-webpack-config.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { Configuration } from 'webpack';\nimport { merge } from 'webpack-merge';\nimport { createBuildContext, getName, stringifyConfig } from '../core';\nimport {\n getWebpackConfiguration,\n hasHeadlessBundle,\n isCustomStyleRules,\n isWebComponent,\n log,\n} from '../utils';\nimport {\n amdConfig,\n cacheConfig,\n devServerConfig,\n devtoolConfig,\n entryConfig,\n externalsConfig,\n moduleConfig,\n optimizationConfig,\n outputConfig,\n pluginsConfig,\n resolveConfig,\n statsConfig,\n watchOptionsConfig,\n} from './configs';\nimport { Options, Overrides } from './types';\nimport { getCallerFile } from './utils';\n\nexport const webpackDevConfigFileName = 'webpack.dev.config.js';\nexport const webpackProdConfigFileName = 'webpack.prod.config.js';\n\nexport function createWebpackConfig(overrides: Overrides, options: Options = {}): Configuration {\n const context = createBuildContext({\n name: options.name ?? '',\n isProduction: overrides.configuration?.mode !== 'development',\n light: options.light,\n headless: options.headless,\n codeCoverage: options.codeCoverage,\n buildStat: options.buildStat,\n bundlerConfig: {\n emitExposedDependencies: options.emitExposedDependencies,\n minify: getWebpackConfiguration().minify,\n isCustomStyleRules: isCustomStyleRules(),\n },\n });\n\n if (context.package.isWebComponent && isCalledFromCustomWebpackConfigFile()) {\n throw new Error(WEB_COMPONENT_CONFIG_ERROR);\n }\n\n if (options.emitExposedDependencies && !context.package.isExposeSharedDependencies) {\n throw new Error('package does not expose shared dependencies');\n }\n\n const configs = [\n amdConfig,\n cacheConfig,\n devServerConfig,\n devtoolConfig,\n entryConfig,\n externalsConfig,\n moduleConfig,\n optimizationConfig,\n outputConfig,\n pluginsConfig,\n resolveConfig,\n statsConfig,\n watchOptionsConfig,\n ];\n\n const result = merge(\n configs.reduce((result, fn) => ({ ...result, ...fn(context, overrides) }), {}),\n overrides.configuration ?? {}\n );\n\n /* istanbul ignore next: debug only */\n log.debug('create-webpack-config', () => stringifyConfig(result));\n\n return result;\n}\n\nfunction isCalledFromCustomWebpackConfigFile() {\n const callerFileName = getCallerFile();\n return [webpackDevConfigFileName, webpackProdConfigFileName].some(configFileName =>\n callerFileName.includes(configFileName)\n );\n}\n\nconst WEB_COMPONENT_CONFIG_ERROR = `\n You cannot call createWebpackConfig in a custom webpack config file in a web component (MFE) project.\n Export webpack configuration itself as a default export from the config file instead.\n`\n .replace(/\\n\\s*/g, ' ')\n .trim();\n\nexport function createWebpackConfigs(options: {\n buildStat?: boolean;\n codeCoverage?: boolean;\n config?: string;\n emitExposedDependencies?: boolean;\n useWatchConfig?: boolean;\n watch?: boolean;\n}): Configuration[] {\n const { watch, useWatchConfig } = options;\n const mode = watch || useWatchConfig ? 'development' : 'production';\n const fallback = watch || useWatchConfig ? webpackDevConfigFileName : webpackProdConfigFileName;\n const customConfig = readWebpackConfig({ config: options.config, fallback });\n\n /* istanbul ignore next: debug only */\n log.debug('custom-webpack-config', () => stringifyConfig(customConfig));\n\n const emitExposedDependencies =\n options.emitExposedDependencies && customConfig\n ? { output: customConfig.output }\n : options.emitExposedDependencies;\n\n const resolved: Options = {\n buildStat: options.buildStat,\n codeCoverage: options.codeCoverage,\n emitExposedDependencies,\n name: getName(),\n };\n\n if (isWebComponent()) {\n const overrides: Overrides = {\n configuration: { ...customConfig?.configuration, mode },\n plugins: customConfig?.plugins,\n };\n\n const configs = [\n createWebpackConfig(overrides, resolved),\n createWebpackConfig(overrides, { ...resolved, light: true }),\n ];\n if (hasHeadlessBundle()) {\n configs.push(createWebpackConfig(overrides, { ...resolved, headless: true }));\n }\n return configs;\n }\n\n if (customConfig && !emitExposedDependencies) {\n return [customConfig];\n }\n\n return [createWebpackConfig({ configuration: { mode } }, resolved)];\n}\n\nfunction readWebpackConfig({ config, fallback }: { config?: string; fallback: string }) {\n return readConfig(config) ?? readConfig(fallback);\n}\n\nfunction readConfig(relativePath?: string): Record<string, any> | undefined {\n if (relativePath && fs.existsSync(relativePath)) {\n return require(path.resolve(relativePath));\n }\n}\n"],"names":["createWebpackConfig","createWebpackConfigs","webpackDevConfigFileName","webpackProdConfigFileName","overrides","options","context","createBuildContext","name","isProduction","configuration","mode","light","headless","codeCoverage","buildStat","bundlerConfig","emitExposedDependencies","minify","getWebpackConfiguration","isCustomStyleRules","package","isWebComponent","isCalledFromCustomWebpackConfigFile","Error","WEB_COMPONENT_CONFIG_ERROR","isExposeSharedDependencies","configs","amdConfig","cacheConfig","devServerConfig","devtoolConfig","entryConfig","externalsConfig","moduleConfig","optimizationConfig","outputConfig","pluginsConfig","resolveConfig","statsConfig","watchOptionsConfig","result","merge","reduce","fn","log","debug","stringifyConfig","callerFileName","getCallerFile","some","configFileName","includes","replace","trim","watch","useWatchConfig","fallback","customConfig","readWebpackConfig","config","output","resolved","getName","plugins","hasHeadlessBundle","push","readConfig","relativePath","fs","existsSync","require","path","resolve"],"mappings":";;;;;;;;;;;QAiCgBA;eAAAA;;QAgEAC;eAAAA;;QAnEHC;eAAAA;;QACAC;eAAAA;;;2DA/BE;6DACE;8BAEK;sBACuC;uBAOtD;yBAeA;wBAEuB;;;;;;AAEvB,MAAMD,2BAA2B;AACjC,MAAMC,4BAA4B;AAElC,SAASH,oBAAoBI,SAAoB,EAAEC,UAAmB,CAAC,CAAC;QAEjEA,eAuCND;QAtCcA;IAFlB,MAAME,UAAUC,IAAAA,wBAAkB,EAAC;QAC/BC,IAAI,GAAEH,gBAAAA,QAAQG,IAAI,cAAZH,2BAAAA,gBAAgB;QACtBI,cAAcL,EAAAA,4BAAAA,UAAUM,aAAa,cAAvBN,gDAAAA,0BAAyBO,IAAI,MAAK;QAChDC,OAAOP,QAAQO,KAAK;QACpBC,UAAUR,QAAQQ,QAAQ;QAC1BC,cAAcT,QAAQS,YAAY;QAClCC,WAAWV,QAAQU,SAAS;QAC5BC,eAAe;YACXC,yBAAyBZ,QAAQY,uBAAuB;YACxDC,QAAQC,IAAAA,8BAAuB,IAAGD,MAAM;YACxCE,oBAAoBA,IAAAA,yBAAkB;QAC1C;IACJ;IAEA,IAAId,QAAQe,OAAO,CAACC,cAAc,IAAIC,uCAAuC;QACzE,MAAM,IAAIC,MAAMC;IACpB;IAEA,IAAIpB,QAAQY,uBAAuB,IAAI,CAACX,QAAQe,OAAO,CAACK,0BAA0B,EAAE;QAChF,MAAM,IAAIF,MAAM;IACpB;IAEA,MAAMG,UAAU;QACZC,kBAAS;QACTC,oBAAW;QACXC,wBAAe;QACfC,sBAAa;QACbC,oBAAW;QACXC,wBAAe;QACfC,qBAAY;QACZC,2BAAkB;QAClBC,qBAAY;QACZC,sBAAa;QACbC,sBAAa;QACbC,oBAAW;QACXC,2BAAkB;KACrB;IAED,MAAMC,SAASC,IAAAA,mBAAK,EAChBf,QAAQgB,MAAM,CAAC,CAACF,QAAQG,KAAQ,CAAA;YAAE,GAAGH,MAAM;YAAE,GAAGG,GAAGtC,SAASF,UAAU;QAAC,CAAA,GAAI,CAAC,KAC5EA,2BAAAA,UAAUM,aAAa,cAAvBN,sCAAAA,2BAA2B,CAAC;IAGhC,oCAAoC,GACpCyC,UAAG,CAACC,KAAK,CAAC,yBAAyB,IAAMC,IAAAA,qBAAe,EAACN;IAEzD,OAAOA;AACX;AAEA,SAASlB;IACL,MAAMyB,iBAAiBC,IAAAA,qBAAa;IACpC,OAAO;QAAC/C;QAA0BC;KAA0B,CAAC+C,IAAI,CAACC,CAAAA,iBAC9DH,eAAeI,QAAQ,CAACD;AAEhC;AAEA,MAAM1B,6BAA6B,CAAC;;;AAGpC,CAAC,CACI4B,OAAO,CAAC,UAAU,KAClBC,IAAI;AAEF,SAASrD,qBAAqBI,OAOpC;IACG,MAAM,EAAEkD,KAAK,EAAEC,cAAc,EAAE,GAAGnD;IAClC,MAAMM,OAAO4C,SAASC,iBAAiB,gBAAgB;IACvD,MAAMC,WAAWF,SAASC,iBAAiBtD,2BAA2BC;IACtE,MAAMuD,eAAeC,kBAAkB;QAAEC,QAAQvD,QAAQuD,MAAM;QAAEH;IAAS;IAE1E,oCAAoC,GACpCZ,UAAG,CAACC,KAAK,CAAC,yBAAyB,IAAMC,IAAAA,qBAAe,EAACW;IAEzD,MAAMzC,0BACFZ,QAAQY,uBAAuB,IAAIyC,eAC7B;QAAEG,QAAQH,aAAaG,MAAM;IAAC,IAC9BxD,QAAQY,uBAAuB;IAEzC,MAAM6C,WAAoB;QACtB/C,WAAWV,QAAQU,SAAS;QAC5BD,cAAcT,QAAQS,YAAY;QAClCG;QACAT,MAAMuD,IAAAA,aAAO;IACjB;IAEA,IAAIzC,IAAAA,qBAAc,KAAI;QAClB,MAAMlB,YAAuB;YACzBM,eAAe;mBAAKgD,yBAAAA,mCAAAA,aAAchD,aAAa,AAA9B;gBAAgCC;YAAK;YACtDqD,OAAO,EAAEN,yBAAAA,mCAAAA,aAAcM,OAAO;QAClC;QAEA,MAAMrC,UAAU;YACZ3B,oBAAoBI,WAAW0D;YAC/B9D,oBAAoBI,WAAW;gBAAE,GAAG0D,QAAQ;gBAAElD,OAAO;YAAK;SAC7D;QACD,IAAIqD,IAAAA,wBAAiB,KAAI;YACrBtC,QAAQuC,IAAI,CAAClE,oBAAoBI,WAAW;gBAAE,GAAG0D,QAAQ;gBAAEjD,UAAU;YAAK;QAC9E;QACA,OAAOc;IACX;IAEA,IAAI+B,gBAAgB,CAACzC,yBAAyB;QAC1C,OAAO;YAACyC;SAAa;IACzB;IAEA,OAAO;QAAC1D,oBAAoB;YAAEU,eAAe;gBAAEC;YAAK;QAAE,GAAGmD;KAAU;AACvE;AAEA,SAASH,kBAAkB,EAAEC,MAAM,EAAEH,QAAQ,EAAyC;QAC3EU;IAAP,QAAOA,cAAAA,WAAWP,qBAAXO,yBAAAA,cAAsBA,WAAWV;AAC5C;AAEA,SAASU,WAAWC,YAAqB;IACrC,IAAIA,gBAAgBC,WAAE,CAACC,UAAU,CAACF,eAAe;QAC7C,OAAOG,QAAQC,aAAI,CAACC,OAAO,CAACL;IAChC;AACJ"}
1
+ {"version":3,"sources":["../../src/webpack/create-webpack-config.ts"],"sourcesContent":["import { Configuration } from 'webpack';\nimport { merge } from 'webpack-merge';\nimport yargs, { Arguments } from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport { webpackDevConfigFileName, webpackProdConfigFileName } from '../cli/utils';\nimport {\n getFolders,\n getPackageData,\n getWebpackConfiguration,\n isCustomStyleRules,\n isExposeSharedDependencies,\n isLegacyRoot,\n isWebComponent,\n loadSharedDependencies,\n log,\n} from '../utils';\nimport {\n Context,\n amdConfig,\n cacheConfig,\n devServerConfig,\n devtoolConfig,\n entryConfig,\n externalsConfig,\n moduleConfig,\n optimizationConfig,\n outputConfig,\n pluginsConfig,\n resolveConfig,\n statsConfig,\n watchOptionsConfig,\n} from './configs';\nimport { Options, Overrides } from './types';\nimport { getCallerFile, stringifyConfig } from './utils';\n\nexport function createWebpackConfig(overrides: Overrides, options: Options = {}): Configuration {\n const context = getContext(overrides, options);\n if (context.isWebComponent && isCalledFromCustomWebpackConfigFile()) {\n throw new Error(WEB_COMPONENT_CONFIG_ERROR);\n }\n\n if (options.emitExposedDependencies && !context.isExposeSharedDependencies) {\n throw new Error('package does not expose shared dependencies');\n }\n\n const configs = [\n amdConfig,\n cacheConfig,\n devServerConfig,\n devtoolConfig,\n entryConfig,\n externalsConfig,\n moduleConfig,\n optimizationConfig,\n outputConfig,\n pluginsConfig,\n resolveConfig,\n statsConfig,\n watchOptionsConfig,\n ];\n\n const result = merge(\n configs.reduce((result, fn) => ({ ...result, ...fn(context, overrides) }), {}),\n overrides.configuration ?? {}\n );\n\n /* istanbul ignore next: debug only */\n log.debug('create-webpack-config', () => stringifyConfig(result));\n\n return result;\n}\n\nfunction getContext({ configuration = {} }: Overrides, options: Options): Context {\n const { source, destination } = getFolders();\n const { minify } = getWebpackConfiguration();\n const packageData = getPackageData();\n const sharedDependencies = loadSharedDependencies(\n packageData.dependencies,\n packageData.sharedDependencies\n );\n\n const args = yargs(hideBin(process.argv)).argv as Arguments;\n const emitExposedDependencies = options.emitExposedDependencies;\n\n return {\n codeCoverage: options.codeCoverage ?? !!args['code-coverage'],\n destination,\n emitExposedDependencies,\n isCustomStyleRules: !emitExposedDependencies && isCustomStyleRules(),\n isExposeSharedDependencies: isExposeSharedDependencies(),\n isLegacyRoot: isLegacyRoot(),\n isProduction: configuration.mode === 'production',\n isWebComponent: isWebComponent(),\n minify,\n name: '',\n ...options,\n packageData,\n sharedDependencies,\n source,\n };\n}\n\nfunction isCalledFromCustomWebpackConfigFile() {\n const callerFileName = getCallerFile();\n return [webpackDevConfigFileName, webpackProdConfigFileName].some(configFileName =>\n callerFileName.includes(configFileName)\n );\n}\n\nconst WEB_COMPONENT_CONFIG_ERROR = `\n You cannot call createWebpackConfig in a custom webpack config file in a web component (MFE) project.\n Export webpack configuration itself as a default export from the config file instead.\n`\n .replace(/\\n\\s*/g, ' ')\n .trim();\n"],"names":["createWebpackConfig","overrides","options","context","getContext","isWebComponent","isCalledFromCustomWebpackConfigFile","Error","WEB_COMPONENT_CONFIG_ERROR","emitExposedDependencies","isExposeSharedDependencies","configs","amdConfig","cacheConfig","devServerConfig","devtoolConfig","entryConfig","externalsConfig","moduleConfig","optimizationConfig","outputConfig","pluginsConfig","resolveConfig","statsConfig","watchOptionsConfig","result","merge","reduce","fn","configuration","log","debug","stringifyConfig","source","destination","getFolders","minify","getWebpackConfiguration","packageData","getPackageData","sharedDependencies","loadSharedDependencies","dependencies","args","yargs","hideBin","process","argv","codeCoverage","isCustomStyleRules","isLegacyRoot","isProduction","mode","name","callerFileName","getCallerFile","webpackDevConfigFileName","webpackProdConfigFileName","some","configFileName","includes","replace","trim"],"mappings":";;;;+BAmCgBA;;;eAAAA;;;8BAlCM;8DACW;yBACT;uBAC4C;wBAW7D;yBAgBA;wBAEwC;;;;;;AAExC,SAASA,oBAAoBC,SAAoB,EAAEC,UAAmB,CAAC,CAAC;QA4BvED;IA3BJ,MAAME,UAAUC,WAAWH,WAAWC;IACtC,IAAIC,QAAQE,cAAc,IAAIC,uCAAuC;QACjE,MAAM,IAAIC,MAAMC;IACpB;IAEA,IAAIN,QAAQO,uBAAuB,IAAI,CAACN,QAAQO,0BAA0B,EAAE;QACxE,MAAM,IAAIH,MAAM;IACpB;IAEA,MAAMI,UAAU;QACZC,kBAAS;QACTC,oBAAW;QACXC,wBAAe;QACfC,sBAAa;QACbC,oBAAW;QACXC,wBAAe;QACfC,qBAAY;QACZC,2BAAkB;QAClBC,qBAAY;QACZC,sBAAa;QACbC,sBAAa;QACbC,oBAAW;QACXC,2BAAkB;KACrB;IAED,MAAMC,SAASC,IAAAA,mBAAK,EAChBf,QAAQgB,MAAM,CAAC,CAACF,QAAQG,KAAQ,CAAA;YAAE,GAAGH,MAAM;YAAE,GAAGG,GAAGzB,SAASF,UAAU;QAAC,CAAA,GAAI,CAAC,KAC5EA,2BAAAA,UAAU4B,aAAa,cAAvB5B,sCAAAA,2BAA2B,CAAC;IAGhC,oCAAoC,GACpC6B,WAAG,CAACC,KAAK,CAAC,yBAAyB,IAAMC,IAAAA,uBAAe,EAACP;IAEzD,OAAOA;AACX;AAEA,SAASrB,WAAW,EAAEyB,gBAAgB,CAAC,CAAC,EAAa,EAAE3B,OAAgB;QAajDA;IAZlB,MAAM,EAAE+B,MAAM,EAAEC,WAAW,EAAE,GAAGC,IAAAA,kBAAU;IAC1C,MAAM,EAAEC,MAAM,EAAE,GAAGC,IAAAA,+BAAuB;IAC1C,MAAMC,cAAcC,IAAAA,sBAAc;IAClC,MAAMC,qBAAqBC,IAAAA,8BAAsB,EAC7CH,YAAYI,YAAY,EACxBJ,YAAYE,kBAAkB;IAGlC,MAAMG,OAAOC,IAAAA,cAAK,EAACC,IAAAA,gBAAO,EAACC,QAAQC,IAAI,GAAGA,IAAI;IAC9C,MAAMtC,0BAA0BP,QAAQO,uBAAuB;IAE/D,OAAO;QACHuC,YAAY,GAAE9C,wBAAAA,QAAQ8C,YAAY,cAApB9C,mCAAAA,wBAAwB,CAAC,CAACyC,IAAI,CAAC,gBAAgB;QAC7DT;QACAzB;QACAwC,oBAAoB,CAACxC,2BAA2BwC,IAAAA,0BAAkB;QAClEvC,4BAA4BA,IAAAA,kCAA0B;QACtDwC,cAAcA,IAAAA,oBAAY;QAC1BC,cAActB,cAAcuB,IAAI,KAAK;QACrC/C,gBAAgBA,IAAAA,sBAAc;QAC9B+B;QACAiB,MAAM;QACN,GAAGnD,OAAO;QACVoC;QACAE;QACAP;IACJ;AACJ;AAEA,SAAS3B;IACL,MAAMgD,iBAAiBC,IAAAA,qBAAa;IACpC,OAAO;QAACC,+BAAwB;QAAEC,gCAAyB;KAAC,CAACC,IAAI,CAACC,CAAAA,iBAC9DL,eAAeM,QAAQ,CAACD;AAEhC;AAEA,MAAMnD,6BAA6B,CAAC;;;AAGpC,CAAC,CACIqD,OAAO,CAAC,UAAU,KAClBC,IAAI"}
@@ -1,10 +1,17 @@
1
1
  import { Options as HtmlWebpackPluginOptions } from 'html-webpack-plugin';
2
2
  import { PluginOptions as MiniCssExtractPlugInOptions } from 'mini-css-extract-plugin';
3
3
  import { Configuration } from 'webpack';
4
- import { BuildIdentity, BuildOptions, BundlerConfig } from '../core';
5
- export type Options = Partial<Pick<BuildIdentity, 'name' | 'light' | 'headless'> & Pick<BuildOptions, 'codeCoverage' | 'buildStat'>> & {
6
- emitExposedDependencies?: BundlerConfig['emitExposedDependencies'];
7
- };
4
+ export interface ExposedDependenciesConfig {
5
+ output?: Configuration['output'];
6
+ }
7
+ export interface Options {
8
+ buildStat?: boolean;
9
+ codeCoverage?: boolean;
10
+ embed?: boolean;
11
+ emitExposedDependencies?: boolean | ExposedDependenciesConfig;
12
+ headless?: boolean;
13
+ name?: string;
14
+ }
8
15
  export interface Overrides {
9
16
  configuration?: Configuration;
10
17
  plugins?: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/webpack/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,aAAa,IAAI,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAErE,MAAM,MAAM,OAAO,GAAG,OAAO,CACzB,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC,GAC9C,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,WAAW,CAAC,CACvD,GAAG;IACA,uBAAuB,CAAC,EAAE,aAAa,CAAC,yBAAyB,CAAC,CAAC;CACtE,CAAC;AAEF,MAAM,WAAW,SAAS;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE;QACN,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;QAC7C,oBAAoB,CAAC,EAAE,2BAA2B,CAAC;KACtD,CAAC;CACL"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/webpack/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,aAAa,IAAI,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,yBAAyB;IACtC,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;CACpC;AACD,MAAM,WAAW,OAAO;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uBAAuB,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE;QACN,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;QAC7C,oBAAoB,CAAC,EAAE,2BAA2B,CAAC;KACtD,CAAC;CACL"}
@@ -1,4 +1,5 @@
1
1
  export * from './get-caller-filename';
2
2
  export * from './get-module-entry-path';
3
3
  export * from './split-by-entry';
4
+ export * from './stringify-config';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/webpack/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/webpack/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  _export_star(require("./get-caller-filename"), exports);
6
6
  _export_star(require("./get-module-entry-path"), exports);
7
7
  _export_star(require("./split-by-entry"), exports);
8
+ _export_star(require("./stringify-config"), exports);
8
9
  function _export_star(from, to) {
9
10
  Object.keys(from).forEach(function(k) {
10
11
  if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/webpack/utils/index.ts"],"sourcesContent":["export * from './get-caller-filename';\nexport * from './get-module-entry-path';\nexport * from './split-by-entry';\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA"}
1
+ {"version":3,"sources":["../../../src/webpack/utils/index.ts"],"sourcesContent":["export * from './get-caller-filename';\nexport * from './get-module-entry-path';\nexport * from './split-by-entry';\nexport * from './stringify-config';\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA;qBACA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringify-config.d.ts","sourceRoot":"","sources":["../../../src/webpack/utils/stringify-config.ts"],"names":[],"mappings":"AACA,wBAAgB,eAAe,CAAC,aAAa,EAAE,GAAG,UAiBjD"}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/webpack/utils/stringify-config.ts"],"sourcesContent":["/* istanbul ignore next: debug only */\nexport function stringifyConfig(configuration: any) {\n function replacer(key: string, value: any) {\n if (typeof value === 'function') {\n return `Function(${value.name ?? ''})`;\n }\n if (value instanceof RegExp) {\n return String(value);\n }\n if (key === 'plugins' && Array.isArray(value)) {\n return value.map(plugin => {\n const name = plugin.constructor?.name ?? plugin.name;\n return name ? { [name]: plugin } : plugin;\n });\n }\n return value;\n }\n return JSON.stringify(configuration, replacer, 2);\n}\n"],"names":["stringifyConfig","configuration","replacer","key","value","name","RegExp","String","Array","isArray","map","plugin","JSON","stringify"],"mappings":"AAAA,oCAAoC;;;;+BACpBA;;;eAAAA;;;AAAT,SAASA,gBAAgBC,aAAkB;IAC9C,SAASC,SAASC,GAAW,EAAEC,KAAU;QACrC,IAAI,OAAOA,UAAU,YAAY;gBACVA;YAAnB,OAAO,CAAC,SAAS,GAAEA,cAAAA,MAAMC,IAAI,cAAVD,yBAAAA,cAAc,GAAG,CAAC,CAAC;QAC1C;QACA,IAAIA,iBAAiBE,QAAQ;YACzB,OAAOC,OAAOH;QAClB;QACA,IAAID,QAAQ,aAAaK,MAAMC,OAAO,CAACL,QAAQ;YAC3C,OAAOA,MAAMM,GAAG,CAACC,CAAAA;;oBACAA;gBAAb,MAAMN,gBAAOM,sBAAAA,OAAO,WAAW,cAAlBA,0CAAAA,oBAAoBN,IAAI,uCAAIM,OAAON,IAAI;gBACpD,OAAOA,OAAO;oBAAE,CAACA,KAAK,EAAEM;gBAAO,IAAIA;YACvC;QACJ;QACA,OAAOP;IACX;IACA,OAAOQ,KAAKC,SAAS,CAACZ,eAAeC,UAAU;AACnD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/startup",
3
- "version": "34.3.0-beta.2",
3
+ "version": "35.0.0",
4
4
  "description": "CLI to create multi-package Lerna projects with TypeScript and React",
5
5
  "homepage": "https://docs.st.dev/docs/frontend/uikit/startup",
6
6
  "repository": {
@@ -9,8 +9,8 @@
9
9
  "directory": "packages/startup"
10
10
  },
11
11
  "engines": {
12
- "node": ">=20.19 <21 || >=22.17",
13
- "npm": ">=9"
12
+ "node": ">=22.17",
13
+ "npm": ">=10"
14
14
  },
15
15
  "sideEffects": false,
16
16
  "main": "./dist/index.js",
@@ -53,13 +53,13 @@
53
53
  },
54
54
  "dependencies": {
55
55
  "@babel/preset-env": "~7.29.0",
56
- "@jest/core": "~30.2.0",
57
- "@jest/types": "~30.2.0",
56
+ "@jest/core": "~30.3.0",
57
+ "@jest/types": "~30.3.0",
58
58
  "@jsdevtools/coverage-istanbul-loader": "^3.0.5",
59
- "@servicetitan/eslint-config": "34.3.0-beta.2",
60
- "@servicetitan/install": "34.3.0-beta.2",
61
- "@servicetitan/startup-utils": "34.3.0-beta.2",
62
- "@servicetitan/stylelint-config": "34.3.0-beta.2",
59
+ "@servicetitan/eslint-config": "35.0.0",
60
+ "@servicetitan/install": "35.0.0",
61
+ "@servicetitan/startup-utils": "35.0.0",
62
+ "@servicetitan/stylelint-config": "35.0.0",
63
63
  "@svgr/webpack": "^8.1.0",
64
64
  "@swc/cli": "^0.5.0",
65
65
  "@swc/core": "1.15.18",
@@ -80,16 +80,15 @@
80
80
  "html-webpack-plugin": "~5.6.6",
81
81
  "html-webpack-tags-plugin": "^3.0.2",
82
82
  "identity-obj-proxy": "~3.0.0",
83
- "jest": "~30.2.0",
84
- "jest-circus": "~30.2.0",
85
- "jest-environment-jsdom": "^30.2.0",
83
+ "jest": "~30.3.0",
84
+ "jest-circus": "~30.3.0",
85
+ "jest-environment-jsdom": "^30.3.0",
86
86
  "jest-fetch-mock": "~3.0.3",
87
87
  "json5": "^2.2.3",
88
88
  "lerna": "~9.0.5",
89
89
  "less": "~4.5.1",
90
90
  "less-loader": "~12.3.1",
91
91
  "less-plugin-npm-import": "~2.1.0",
92
- "eta": "^3.5.0",
93
92
  "lodash.kebabcase": "^4.1.1",
94
93
  "lodash.memoize": "^4.1.2",
95
94
  "memfs": "~4.56.11",
@@ -112,12 +111,9 @@
112
111
  "ts-node": "~10.9.2",
113
112
  "typed-css-modules": "~0.9.1",
114
113
  "typescript": "5.9.3",
115
- "vite": "^8.0.0",
116
- "vite-plugin-css-injected-by-js": "^4.0.1",
117
- "vite-plugin-svgr": "^4.5.0",
118
- "vitest": "^4.1.0",
114
+ "vitest": "^4.0.18",
119
115
  "webpack": "~5.105.4",
120
- "webpack-assets-manifest": "~6.5.0",
116
+ "webpack-assets-manifest": "~6.5.1",
121
117
  "webpack-bundle-analyzer": "^5.2.0",
122
118
  "webpack-dev-server": "~5.2.3",
123
119
  "webpack-filter-warnings-plugin": "~1.2.1",
@@ -147,5 +143,6 @@
147
143
  },
148
144
  "cli": {
149
145
  "webpack": false
150
- }
146
+ },
147
+ "gitHead": "3a5f2e6cad93c4e898091fb3d51310ccb26a91ee"
151
148
  }
@@ -1,7 +1,8 @@
1
1
  import { fs, vol } from 'memfs';
2
2
  import path from 'node:path';
3
- import { getLaunchDarklySdkVersion, getWebComponentsVersion } from '../../../core';
4
3
  import { getPackageData, getStartupVersion, loadSharedDependencies, log } from '../../../utils';
4
+ import { getLaunchDarklySdkVersion } from '../../../webpack/configs/utils/get-launchdarkly-sdk-version';
5
+ import { getWebComponentsVersion } from '../../../webpack/configs/utils/get-web-components-version';
5
6
  import { MfeGenerateMetadata } from '../mfe-generate-metadata';
6
7
 
7
8
  jest.mock('fs', () => fs);
@@ -9,13 +10,13 @@ jest.mock('../../../utils', () => ({
9
10
  ...jest.requireActual('../../../utils'),
10
11
  log: { info: jest.fn() },
11
12
  }));
12
- jest.mock('../../../core/utils/get-web-components-version', () => ({
13
+ jest.mock('../../../webpack/configs/utils/get-web-components-version', () => ({
13
14
  getWebComponentsVersion: jest.fn(() => '1.0.0'),
14
15
  }));
15
16
  jest.mock('../../../utils/get-startup-version', () => ({
16
17
  getStartupVersion: jest.fn(() => '33.0.0'),
17
18
  }));
18
- jest.mock('../../../core/utils/get-launchdarkly-sdk-version', () => ({
19
+ jest.mock('../../../webpack/configs/utils/get-launchdarkly-sdk-version', () => ({
19
20
  getLaunchDarklySdkVersion: jest.fn(() => '3.4.5'),
20
21
  }));
21
22
 
@@ -12,7 +12,7 @@ import {
12
12
  runCommand,
13
13
  } from '../../utils';
14
14
  import { MFEPackagePublish } from '../mfe-package-publish';
15
- import { ROLLBACK_TAG_SUFFIX } from '../utils';
15
+ import { purgeCache, ROLLBACK_TAG_SUFFIX } from '../utils';
16
16
 
17
17
  jest.mock('fs', () => fs);
18
18
 
@@ -32,6 +32,10 @@ jest.mock('../../utils', () => ({
32
32
  npmView: jest.fn(),
33
33
  runCommand: jest.fn(),
34
34
  }));
35
+ jest.mock('../utils', () => ({
36
+ ...jest.requireActual('../utils'),
37
+ purgeCache: jest.fn(),
38
+ }));
35
39
 
36
40
  describe(`[startup] ${MFEPackagePublish.name}`, () => {
37
41
  const defaultRegistry = 'https://verdaccio.servicetitan.com';
@@ -127,6 +131,12 @@ describe(`[startup] ${MFEPackagePublish.name}`, () => {
127
131
  );
128
132
  });
129
133
 
134
+ test('purges cache after publishing', async () => {
135
+ await subject();
136
+
137
+ expect(purgeCache).toHaveBeenCalledWith({ packageName, tag });
138
+ });
139
+
130
140
  test('gets current tagged versions before publishing', async () => {
131
141
  await subject();
132
142
 
@@ -196,6 +206,14 @@ describe(`[startup] ${MFEPackagePublish.name}`, () => {
196
206
  });
197
207
  });
198
208
 
209
+ function itDoesNotPurgeCache() {
210
+ test('does not purge cache', async () => {
211
+ await subject();
212
+
213
+ expect(purgeCache).not.toHaveBeenCalled();
214
+ });
215
+ }
216
+
199
217
  describe('with "dry" argument', () => {
200
218
  beforeEach(() => (args.dry = true));
201
219
 
@@ -239,6 +257,8 @@ describe(`[startup] ${MFEPackagePublish.name}`, () => {
239
257
  `npx startup upload-sourcemaps --dry --releaseVersion=${buildPackageVersion()}`
240
258
  );
241
259
  });
260
+
261
+ itDoesNotPurgeCache();
242
262
  });
243
263
 
244
264
  function itDoesNotUploadSourcemaps() {
@@ -257,6 +277,12 @@ describe(`[startup] ${MFEPackagePublish.name}`, () => {
257
277
  itDoesNotUploadSourcemaps();
258
278
  });
259
279
 
280
+ describe('with "purgeCache: false"', () => {
281
+ beforeEach(() => (args.purgeCache = false));
282
+
283
+ itDoesNotPurgeCache();
284
+ });
285
+
260
286
  describe('when branch configuration includes "uploadSourcemaps: false"', () => {
261
287
  beforeEach(() =>
262
288
  vol.fromJSON({
@@ -1,6 +1,7 @@
1
1
  import { log, readJson } from '../../../utils';
2
2
  import { npmTagVersion, npmView } from '../../utils';
3
3
  import { MFEPackageRollback } from '../mfe-package-rollback';
4
+ import { purgeCache } from '../utils';
4
5
 
5
6
  jest.mock('../../../utils', () => ({
6
7
  ...jest.requireActual('../../../utils'),
@@ -16,6 +17,10 @@ jest.mock('../../utils', () => ({
16
17
  npmTagVersion: jest.fn(),
17
18
  npmView: jest.fn(),
18
19
  }));
20
+ jest.mock('../utils', () => ({
21
+ ...jest.requireActual('../utils'),
22
+ purgeCache: jest.fn(),
23
+ }));
19
24
 
20
25
  describe(`[startup] ${MFEPackageRollback.name}`, () => {
21
26
  const registry = 'https://verdaccio.servicetitan.com';
@@ -98,6 +103,12 @@ describe(`[startup] ${MFEPackageRollback.name}`, () => {
98
103
  });
99
104
  });
100
105
 
106
+ test('purges cache after rollback', async () => {
107
+ await subject();
108
+
109
+ expect(purgeCache).toHaveBeenCalledWith({ packageName, tag });
110
+ });
111
+
101
112
  describe('when package is not found in registry', () => {
102
113
  beforeEach(() => {
103
114
  jest.mocked(npmView).mockReturnValue(undefined);
@@ -114,6 +125,14 @@ describe(`[startup] ${MFEPackageRollback.name}`, () => {
114
125
  itReportsError(`No rollback version found for tag "${tag}" (looking for "${rollbackTag}")`);
115
126
  });
116
127
 
128
+ function itDoesNotPurgeCache() {
129
+ test('does not purge cache', async () => {
130
+ await subject();
131
+
132
+ expect(purgeCache).not.toHaveBeenCalled();
133
+ });
134
+ }
135
+
117
136
  describe('when tag and rollback tag both point to the same version', () => {
118
137
  beforeEach(() => {
119
138
  packageInfo['dist-tags'] = {
@@ -130,6 +149,8 @@ describe(`[startup] ${MFEPackageRollback.name}`, () => {
130
149
  );
131
150
  expect(npmTagVersion).not.toHaveBeenCalled();
132
151
  });
152
+
153
+ itDoesNotPurgeCache();
133
154
  });
134
155
 
135
156
  describe('when tag does not exist', () => {
@@ -190,5 +211,15 @@ describe(`[startup] ${MFEPackageRollback.name}`, () => {
190
211
  )
191
212
  );
192
213
  });
214
+
215
+ itDoesNotPurgeCache();
216
+ });
217
+
218
+ describe('with purgeCache: false', () => {
219
+ beforeEach(() => {
220
+ args.purgeCache = false;
221
+ });
222
+
223
+ itDoesNotPurgeCache();
193
224
  });
194
225
  });
@@ -139,11 +139,13 @@ describe(`[startup] ${MFEPublish.name}`, () => {
139
139
  const testArgs: { name: ArgumentName; value: any; expected?: string | string[] }[] = [
140
140
  { name: 'build', value: true },
141
141
  { name: 'branch', value: 'foo-123' },
142
- { name: 'tag', value: 'foo' },
143
- { name: 'tag', value: true, expected: [] }, // check ignores obsolete --tag with no name
144
142
  { name: 'dry', value: true, expected: '--dry' },
145
143
  { name: 'force', value: true, expected: '--force' },
144
+ { name: 'purgeCache', value: true, expected: '--purge-cache' },
145
+ { name: 'purgeCache', value: false, expected: '--no-purge-cache' },
146
146
  { name: 'registry', value: 'https://foo' },
147
+ { name: 'tag', value: 'foo' },
148
+ { name: 'tag', value: true, expected: [] }, // check ignores obsolete --tag with no name
147
149
  { name: 'trackHistory', value: true, expected: '--track-history' },
148
150
  { name: 'trackHistory', value: false, expected: '--no-track-history' },
149
151
  { name: 'uploadSourcemaps', value: true, expected: '--upload-sourcemaps' },