@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
@@ -1,21 +1,44 @@
1
+ import crypto from 'crypto';
2
+ import fs from 'fs';
3
+ import path from 'path';
1
4
  import { getPortPromise } from 'portfinder';
2
5
  import webpack, { Configuration } from 'webpack';
3
6
  import WebpackDevServer from 'webpack-dev-server';
4
- import { isDevServerDisabled, isExposeSharedDependencies, isWebComponent, log } from '../../utils';
5
- import { createWebpackConfigs } from '../../webpack';
7
+ import {
8
+ getPackageName,
9
+ hasHeadlessBundle,
10
+ isDevServerDisabled,
11
+ isExposeSharedDependencies,
12
+ isWebComponent,
13
+ log,
14
+ pick,
15
+ } from '../../utils';
16
+ import { Overrides, createWebpackConfig } from '../../webpack';
17
+ import { stringifyConfig } from '../../webpack/utils';
6
18
 
7
19
  interface Options {
8
20
  buildStat?: boolean;
9
21
  codeCoverage?: boolean;
10
22
  config?: string;
11
- emitExposedDependencies?: boolean;
23
+ emitExposedDependencies?: boolean | Pick<Configuration, 'output'>;
12
24
  useWatchConfig?: boolean;
13
25
  watch?: boolean;
14
26
  }
15
27
 
16
- export async function bundle(options: Options = {}) {
17
- const { emitExposedDependencies, watch } = options;
28
+ function getName() {
29
+ const packageName = getPackageName()
30
+ .replace(/\//g, '-')
31
+ .replace(/[^\w-]/g, '');
32
+ const hash = crypto.randomBytes(4).toString('hex');
33
+
34
+ return `${packageName}-${hash}`;
35
+ }
18
36
 
37
+ export const webpackDevConfigFileName = 'webpack.dev.config.js';
38
+ export const webpackProdConfigFileName = 'webpack.prod.config.js';
39
+
40
+ export async function bundle(options: Options = {}) {
41
+ const { emitExposedDependencies, useWatchConfig, watch } = options;
19
42
  if (emitExposedDependencies) {
20
43
  if (watch) {
21
44
  throw new Error('cannot bundle exposed dependencies in watch mode');
@@ -27,31 +50,89 @@ export async function bundle(options: Options = {}) {
27
50
 
28
51
  log.info(`Bundling ${emitExposedDependencies ? 'exposed dependencies' : 'package'}...`);
29
52
 
30
- if (isWebComponent()) {
31
- const [fullConfig, lightConfig, headlessConfig] = createWebpackConfigs(options);
53
+ const mode = watch || useWatchConfig ? 'development' : 'production';
54
+ const fallback = watch || useWatchConfig ? webpackDevConfigFileName : webpackProdConfigFileName;
55
+ const customConfig = readWebpackConfig({ ...options, fallback });
56
+ const webpackOptions = getWebpackOptions(options, customConfig);
32
57
 
33
- if (watch) {
34
- return Promise.all([
35
- isDevServerDisabled() ? runWatch(fullConfig) : runServe(fullConfig),
36
- runWatch(lightConfig),
37
- headlessConfig && runWatch(headlessConfig),
38
- ]);
39
- }
58
+ /* istanbul ignore next: debug only */
59
+ log.debug('custom-webpack-config', () => stringifyConfig(customConfig));
40
60
 
41
- return Promise.all([
42
- run(fullConfig),
43
- run(lightConfig),
44
- headlessConfig && run(headlessConfig),
45
- ]);
61
+ if (isWebComponent()) {
62
+ return bundleWebComponent({ customConfig, mode, watch, webpackOptions });
46
63
  }
47
64
 
48
- const [config] = createWebpackConfigs(options);
65
+ const config =
66
+ customConfig && !emitExposedDependencies
67
+ ? customConfig
68
+ : createWebpackConfig({ configuration: { mode } }, webpackOptions);
69
+
49
70
  if (watch) {
50
71
  return isDevServerDisabled() ? runWatch(config) : runServe(config);
51
72
  }
73
+
52
74
  return run(config);
53
75
  }
54
76
 
77
+ function bundleWebComponent({
78
+ customConfig,
79
+ mode,
80
+ watch,
81
+ webpackOptions,
82
+ }: {
83
+ customConfig: ReturnType<typeof readWebpackConfig>;
84
+ mode: 'development' | 'production';
85
+ watch?: boolean;
86
+ webpackOptions: ReturnType<typeof getWebpackOptions>;
87
+ }) {
88
+ const overrides: Overrides = {
89
+ configuration: { ...customConfig?.configuration, mode },
90
+ plugins: customConfig?.plugins,
91
+ };
92
+
93
+ const fullConfig = createWebpackConfig(overrides, webpackOptions);
94
+ const lightConfig = createWebpackConfig(overrides, { ...webpackOptions, embed: true });
95
+ const headlessConfig = hasHeadlessBundle()
96
+ ? createWebpackConfig(overrides, {
97
+ ...webpackOptions,
98
+ headless: true,
99
+ })
100
+ : undefined;
101
+
102
+ const promises = watch
103
+ ? [
104
+ runWatch(lightConfig),
105
+ isDevServerDisabled() ? runWatch(fullConfig) : runServe(fullConfig),
106
+ headlessConfig && runWatch(headlessConfig),
107
+ ]
108
+ : [run(lightConfig), run(fullConfig), headlessConfig && run(headlessConfig)];
109
+
110
+ return Promise.all(promises.filter(promise => !!promise));
111
+ }
112
+
113
+ function getWebpackOptions(options: Options, customConfig?: Record<string, any>) {
114
+ const result = {
115
+ name: getName(),
116
+ ...pick(options, ['buildStat', 'codeCoverage', 'emitExposedDependencies']),
117
+ };
118
+
119
+ if (result.emitExposedDependencies && customConfig) {
120
+ result.emitExposedDependencies = { output: customConfig.output };
121
+ }
122
+
123
+ return result;
124
+ }
125
+
126
+ function readWebpackConfig({ config, fallback }: Options & { fallback: string }) {
127
+ return readConfig(config) ?? readConfig(fallback);
128
+ }
129
+
130
+ function readConfig(relativePath?: string): Record<string, any> | undefined {
131
+ if (relativePath && fs.existsSync(relativePath)) {
132
+ return require(path.resolve(relativePath));
133
+ }
134
+ }
135
+
55
136
  async function run(config: Configuration) {
56
137
  const compiler = createWebpackCompiler(config);
57
138
 
@@ -74,7 +74,7 @@ export function runCommandOutput(
74
74
  const result = execSync(fullCommand, execSyncOptions).toString();
75
75
 
76
76
  if (!quiet) {
77
- log.info('command finished', result);
77
+ log.info('command finished', result.trim());
78
78
  }
79
79
 
80
80
  return result;
package/src/index.ts CHANGED
@@ -1,3 +1,2 @@
1
1
  export * from './utils/get-packages';
2
- export * from './vite/define-config';
3
2
  export * from './webpack';
@@ -1,6 +1,5 @@
1
1
  import type { Configuration } from 'webpack';
2
- import { rulesConfig } from '../../webpack/configs';
3
- import { Overrides } from '../../webpack/types';
2
+ import { Overrides, rulesConfig } from '../../webpack/configs';
4
3
  import { miniCssExtractPlugin } from '../../webpack/configs/plugins';
5
4
  import { webpackFinal } from '../webpack-final';
6
5
 
@@ -92,9 +91,7 @@ describe(`[startup/storybook-config] ${webpackFinal.name}`, () => {
92
91
  subject();
93
92
 
94
93
  expect(rulesConfig).toHaveBeenCalledWith(
95
- expect.objectContaining({
96
- build: expect.objectContaining({ isProduction: true }),
97
- }),
94
+ expect.objectContaining({ isProduction: true }),
98
95
  expect.anything()
99
96
  );
100
97
  });
@@ -1,10 +1,8 @@
1
1
  import { inspect } from 'node:util';
2
2
  import type { Configuration } from 'webpack';
3
- import { BuildContext } from '../core';
4
3
  import { log } from '../utils';
5
- import { rulesConfig } from '../webpack/configs';
4
+ import { Context, Overrides, rulesConfig } from '../webpack/configs';
6
5
  import { miniCssExtractPlugin } from '../webpack/configs/plugins';
7
- import { Overrides } from '../webpack/types';
8
6
 
9
7
  export function webpackFinal(config: Configuration, overrides: Overrides = {}): Configuration {
10
8
  const context = getContext(config);
@@ -24,34 +22,22 @@ export function webpackFinal(config: Configuration, overrides: Overrides = {}):
24
22
  };
25
23
  }
26
24
 
27
- function getContext(config: Configuration): BuildContext {
25
+ function getContext(config: Configuration): Context {
28
26
  return {
29
- package: {
30
- name: '',
31
- version: '',
32
- destination: '',
33
- source: '',
34
- dependencies: {},
35
- sharedDependencies: {},
36
- isWebComponent: false,
37
- isLegacyRoot: false,
38
- isExposeSharedDependencies: false,
39
- },
40
- build: {
41
- name: '',
42
- isProduction: config.mode === 'production',
43
- },
44
- options: {
45
- bundlerConfig: {},
46
- },
27
+ destination: '',
28
+ isProduction: config.mode === 'production',
29
+ name: '',
30
+ packageData: {} as any,
31
+ sharedDependencies: {},
32
+ source: '',
47
33
  };
48
34
  }
49
35
 
50
- function getPlugins(context: BuildContext, overrides: Overrides) {
36
+ function getPlugins(context: Context, overrides: Overrides) {
51
37
  return [miniCssExtractPlugin(context, overrides)].filter(plugin => !!plugin);
52
38
  }
53
39
 
54
- function getRules(context: BuildContext, overrides: Overrides) {
40
+ function getRules(context: Context, overrides: Overrides) {
55
41
  const include = ['.module.css', '.module.less', '.less', '.module.scss', '.scss', '.svg'];
56
42
  const exclude = ['.css'];
57
43
 
@@ -7,7 +7,6 @@ import {
7
7
  getJestConfiguration,
8
8
  getReviewConfiguration,
9
9
  getStylelintConfiguration,
10
- getViteConfiguration,
11
10
  getVitestConfiguration,
12
11
  getWebComponentBranchConfigs,
13
12
  getWebComponentConfiguration,
@@ -20,8 +19,6 @@ import {
20
19
  isLegacyRoot,
21
20
  isStyleCheckDisabled,
22
21
  isWebComponent,
23
- validateSharedDependenciesConsistency,
24
- validateSharedDependenciesMigration,
25
22
  } from '../get-configuration';
26
23
  import { log } from '../log';
27
24
 
@@ -228,29 +225,6 @@ describe('[startup] Utils', () => {
228
225
  });
229
226
  });
230
227
 
231
- describe(getViteConfiguration.name, () => {
232
- const subject = () => getViteConfiguration();
233
-
234
- itReturns(subject, {});
235
-
236
- describe('with "cli.vite"', () => {
237
- const content = {
238
- cli: {
239
- vite: {
240
- omitDefault: ['plugins.svgr'],
241
- config: { server: { port: 9000 }, build: { minify: false } },
242
- },
243
- },
244
- };
245
-
246
- beforeEach(() => mockPackageJson(content));
247
-
248
- test('returns "cli.vite"', () => {
249
- expect(subject()).toEqual(content.cli.vite);
250
- });
251
- });
252
- });
253
-
254
228
  describe(getVitestConfiguration.name, () => {
255
229
  const subject = () => getVitestConfiguration();
256
230
 
@@ -433,10 +407,7 @@ describe('[startup] Utils', () => {
433
407
  {
434
408
  fn: isExposeSharedDependencies,
435
409
  defaultValue: false,
436
- trigger: [
437
- { cli: { 'expose-shared-dependencies': true } },
438
- { cli: { webpack: { 'expose-shared-dependencies': true } } },
439
- ],
410
+ trigger: { cli: { webpack: { 'expose-shared-dependencies': true } } },
440
411
  },
441
412
  {
442
413
  fn: isLegacy,
@@ -475,75 +446,6 @@ describe('[startup] Utils', () => {
475
446
  });
476
447
  });
477
448
 
478
- describe(validateSharedDependenciesConsistency.name, () => {
479
- test('passes when neither is set', () => {
480
- expect(() => validateSharedDependenciesConsistency()).not.toThrow();
481
- });
482
-
483
- test('passes when only cli top level is set', () => {
484
- mockPackageJson({ cli: { 'shared-dependencies': { defaults: '' } } });
485
- expect(() => validateSharedDependenciesConsistency()).not.toThrow();
486
- });
487
-
488
- test('passes when only cli.webpack is set', () => {
489
- mockPackageJson({ cli: { webpack: { 'shared-dependencies': { defaults: '' } } } });
490
- expect(() => validateSharedDependenciesConsistency()).not.toThrow();
491
- });
492
-
493
- test('passes when both are set and identical', () => {
494
- const deps = { defaults: '', lodash: 'SharedDependencies.Lodash' };
495
- mockPackageJson({
496
- cli: { 'shared-dependencies': deps, 'webpack': { 'shared-dependencies': deps } },
497
- });
498
- expect(() => validateSharedDependenciesConsistency()).not.toThrow();
499
- });
500
-
501
- test('throws when shared-dependencies both exist and differ', () => {
502
- mockPackageJson({
503
- cli: {
504
- 'shared-dependencies': { defaults: '' },
505
- 'webpack': { 'shared-dependencies': { defaults: '', extra: 'foo' } },
506
- },
507
- });
508
- expect(() => validateSharedDependenciesConsistency()).toThrow(/both set but differ/);
509
- });
510
-
511
- test('throws when expose-shared-dependencies both exist and differ', () => {
512
- mockPackageJson({
513
- cli: {
514
- 'expose-shared-dependencies': true,
515
- 'webpack': { 'expose-shared-dependencies': false },
516
- },
517
- });
518
- expect(() => validateSharedDependenciesConsistency()).toThrow(/both set but differ/);
519
- });
520
- });
521
-
522
- describe(validateSharedDependenciesMigration.name, () => {
523
- test('passes when neither is set', () => {
524
- expect(() => validateSharedDependenciesMigration()).not.toThrow();
525
- });
526
-
527
- test('passes when only cli top level is set', () => {
528
- mockPackageJson({ cli: { 'expose-shared-dependencies': true } });
529
- expect(() => validateSharedDependenciesMigration()).not.toThrow();
530
- });
531
-
532
- test('throws when webpack shared-dependencies is set but top level is not', () => {
533
- mockPackageJson({ cli: { webpack: { 'shared-dependencies': { defaults: '' } } } });
534
- expect(() => validateSharedDependenciesMigration()).toThrow(
535
- /Move your shared-dependencies/
536
- );
537
- });
538
-
539
- test('throws when webpack expose-shared-dependencies is set but top level is not', () => {
540
- mockPackageJson({ cli: { webpack: { 'expose-shared-dependencies': true } } });
541
- expect(() => validateSharedDependenciesMigration()).toThrow(
542
- /Move your expose-shared-dependencies/
543
- );
544
- });
545
- });
546
-
547
449
  describe(isLegacy.name, () => {
548
450
  const trigger = { cli: { legacy: true } };
549
451
  let location: string | undefined;
@@ -32,7 +32,7 @@ describe(`[startup] Utils`, () => {
32
32
  });
33
33
  });
34
34
 
35
- describe(`when ${packageJson} contains sharedDependencies in cli.webpack`, () => {
35
+ describe(`when ${packageJson} contains sharedDependencies`, () => {
36
36
  const sharedDependencies = { react: 'SharedDependencies.React' };
37
37
 
38
38
  beforeEach(() => {
@@ -45,40 +45,6 @@ describe(`[startup] Utils`, () => {
45
45
  expect(subject()).toEqual(expect.objectContaining({ sharedDependencies }));
46
46
  });
47
47
  });
48
-
49
- describe(`when ${packageJson} contains sharedDependencies in cli top level`, () => {
50
- const sharedDependencies = { mobx: 'SharedDependencies.MobX' };
51
-
52
- beforeEach(() => {
53
- Object.assign(packages[packageJson], {
54
- cli: { 'shared-dependencies': sharedDependencies },
55
- });
56
- });
57
-
58
- test('returns sharedDependencies from cli top level', () => {
59
- expect(subject()).toEqual(expect.objectContaining({ sharedDependencies }));
60
- });
61
- });
62
-
63
- describe(`when ${packageJson} contains sharedDependencies in both locations`, () => {
64
- const topLevel = { react: 'SharedDependencies.React' };
65
- const webpack = { mobx: 'SharedDependencies.MobX' };
66
-
67
- beforeEach(() => {
68
- Object.assign(packages[packageJson], {
69
- cli: {
70
- 'shared-dependencies': topLevel,
71
- 'webpack': { 'shared-dependencies': webpack },
72
- },
73
- });
74
- });
75
-
76
- test('prefers cli top level', () => {
77
- expect(subject()).toEqual(
78
- expect.objectContaining({ sharedDependencies: topLevel })
79
- );
80
- });
81
- });
82
48
  });
83
49
 
84
50
  describe(`${getPackageDependencyVersion.name}`, () => {
@@ -38,7 +38,6 @@ export interface WebpackConfiguration extends Omit<
38
38
  'disable-style-check'?: boolean;
39
39
  'minify'?: MinifyOptions;
40
40
  'proxy'?: WebpackDevServerConfiguration['proxy'] | string;
41
- 'shared-dependencies'?: Record<string, string>;
42
41
  }
43
42
 
44
43
  export interface ESLintConfiguration extends ESLint.Options {
@@ -63,7 +62,6 @@ export interface NodeConfiguration {
63
62
  export enum CommandName {
64
63
  'build' = 'build',
65
64
  'bundle-package' = 'bundle-package',
66
- 'bundle-vite' = 'bundle-vite',
67
65
  'clean' = 'clean',
68
66
  'convert-eslint-config' = 'convert-eslint-config',
69
67
  'eslint' = 'eslint',
@@ -78,6 +76,7 @@ export enum CommandName {
78
76
  'mfe-package-publish' = 'mfe-package-publish',
79
77
  'mfe-package-rollback' = 'mfe-package-rollback',
80
78
  'mfe-publish' = 'mfe-publish',
79
+ 'mfe-purge-cache' = 'mfe-purge-cache',
81
80
  'prepare-package' = 'prepare-package',
82
81
  'review' = 'review',
83
82
  'start' = 'start',
@@ -93,30 +92,6 @@ export type VitestConfiguration = ViteUserConfig['test'] & {
93
92
  omitDefault?: string[];
94
93
  };
95
94
 
96
- export interface HtmlTemplatePluginOptions {
97
- title?: string;
98
- favicon?: string;
99
- template?: string;
100
- }
101
-
102
- export interface SvgrPluginOptions {
103
- include?: string | RegExp | (string | RegExp)[];
104
- exclude?: string | RegExp | (string | RegExp)[];
105
- svgrOptions?: Record<string, any>;
106
- }
107
-
108
- export interface PluginOverrides {
109
- htmlTemplate?: HtmlTemplatePluginOptions;
110
- svgr?: SvgrPluginOptions;
111
- }
112
-
113
- export interface ViteConfiguration {
114
- omitDefault?: string[];
115
- minify?: MinifyOptions;
116
- pluginOverrides?: PluginOverrides;
117
- config?: Omit<import('vite').UserConfig, 'plugins'>;
118
- }
119
-
120
95
  export interface WebComponentBranchConfigs {
121
96
  publishTag?: string;
122
97
  uploadSourcemaps?: boolean;
@@ -139,9 +114,6 @@ type Configuration = {
139
114
  'swc-compile-package'?: Parameters<typeof swcDir>[0];
140
115
  'test'?: JestConfiguration; // for backward-compatibility
141
116
  'testRunner'?: string;
142
- 'expose-shared-dependencies'?: boolean;
143
- 'shared-dependencies'?: Record<string, string>;
144
- 'vite'?: ViteConfiguration;
145
117
  'vitest'?: VitestConfiguration;
146
118
  'web-component'?: boolean | string | WebComponentOptions;
147
119
  'webpack'?: false | WebpackConfiguration;
@@ -184,10 +156,6 @@ export function getStylelintConfiguration() {
184
156
  return getConfiguration().lint?.stylelint ?? {};
185
157
  }
186
158
 
187
- export function getViteConfiguration(): ViteConfiguration {
188
- return getConfiguration().vite ?? {};
189
- }
190
-
191
159
  export function getVitestConfiguration() {
192
160
  return getConfiguration().vitest ?? {};
193
161
  }
@@ -258,65 +226,7 @@ export function isDevServerDisabled() {
258
226
  }
259
227
 
260
228
  export function isExposeSharedDependencies() {
261
- return (
262
- (getConfiguration()['expose-shared-dependencies'] ??
263
- getWebpackConfiguration()['expose-shared-dependencies']) === true
264
- );
265
- }
266
-
267
- export function validateSharedDependenciesConsistency() {
268
- const config = getConfiguration();
269
- const webpackSharedDependencies = getWebpackConfiguration()['shared-dependencies'];
270
- const topLevelSharedDependencies = config['shared-dependencies'];
271
-
272
- if (
273
- webpackSharedDependencies &&
274
- topLevelSharedDependencies &&
275
- JSON.stringify(webpackSharedDependencies) !== JSON.stringify(topLevelSharedDependencies)
276
- ) {
277
- throw new Error(
278
- 'cli.shared-dependencies and cli.webpack.shared-dependencies are both set but differ. ' +
279
- 'Remove cli.webpack.shared-dependencies and use cli.shared-dependencies only.'
280
- );
281
- }
282
-
283
- const webpackExpose = getWebpackConfiguration()['expose-shared-dependencies'];
284
- const topLevelExpose = config['expose-shared-dependencies'];
285
-
286
- if (
287
- webpackExpose !== undefined &&
288
- topLevelExpose !== undefined &&
289
- webpackExpose !== topLevelExpose
290
- ) {
291
- throw new Error(
292
- 'cli.expose-shared-dependencies and cli.webpack.expose-shared-dependencies are both set but differ. ' +
293
- 'Remove cli.webpack.expose-shared-dependencies and use cli.expose-shared-dependencies only.'
294
- );
295
- }
296
- }
297
-
298
- export function validateSharedDependenciesMigration() {
299
- const config = getConfiguration();
300
- const webpackSharedDependencies = getWebpackConfiguration()['shared-dependencies'];
301
- const topLevelSharedDependencies = config['shared-dependencies'];
302
-
303
- if (webpackSharedDependencies && !topLevelSharedDependencies) {
304
- throw new Error(
305
- 'cli.webpack.shared-dependencies is set but cli.shared-dependencies is not. ' +
306
- 'Vite reads shared-dependencies from cli top level. ' +
307
- 'Move your shared-dependencies config from cli.webpack to cli.'
308
- );
309
- }
310
-
311
- const webpackExpose = getWebpackConfiguration()['expose-shared-dependencies'];
312
- const topLevelExpose = config['expose-shared-dependencies'];
313
-
314
- if (webpackExpose !== undefined && topLevelExpose === undefined) {
315
- throw new Error(
316
- 'cli.webpack.expose-shared-dependencies is set but cli.expose-shared-dependencies is not. ' +
317
- 'Move your expose-shared-dependencies config from cli.webpack to cli.'
318
- );
319
- }
229
+ return getWebpackConfiguration()['expose-shared-dependencies'] === true;
320
230
  }
321
231
 
322
232
  export function isLegacy(locationOrJson?: LocationOrJson) {
@@ -17,9 +17,7 @@ export function getPackageData(): PackageData {
17
17
  ...readJson('../../package.json').dependencies,
18
18
  ...packageJson.dependencies,
19
19
  },
20
- sharedDependencies:
21
- packageJson.cli?.['shared-dependencies'] ??
22
- packageJson.cli?.webpack?.['shared-dependencies'],
20
+ sharedDependencies: packageJson.cli?.webpack?.['shared-dependencies'],
23
21
  };
24
22
  }
25
23
 
@@ -10,7 +10,6 @@ import { WebpackAssetsManifest } from 'webpack-assets-manifest';
10
10
  import RemoveEmptyScriptsPlugin from 'webpack-remove-empty-scripts';
11
11
  import VirtualModulesPlugin from 'webpack-virtual-modules';
12
12
  import yargs from 'yargs';
13
- import { getLaunchDarklySdkVersion } from '../../core';
14
13
  import {
15
14
  getFolders,
16
15
  getPackageData,
@@ -24,6 +23,7 @@ import {
24
23
  pick,
25
24
  } from '../../utils';
26
25
  import { miniCssPluginStyleRules } from '../__mocks__';
26
+ import { getLaunchDarklySdkVersion } from '../configs/utils/get-launchdarkly-sdk-version';
27
27
  import { createWebpackConfig } from '../index';
28
28
  import { getModuleEntryPath } from '../utils';
29
29
 
@@ -53,7 +53,7 @@ jest.mock('../../utils', () => ({
53
53
  isExposeSharedDependencies: jest.fn(),
54
54
  loadSharedDependencies: jest.fn(),
55
55
  }));
56
- jest.mock('../../core/utils/get-launchdarkly-sdk-version');
56
+ jest.mock('../configs/utils/get-launchdarkly-sdk-version');
57
57
  jest.mock('../utils', () => ({
58
58
  ...jest.requireActual('../utils'),
59
59
  getCallerFile: jest.fn(),
@@ -6,7 +6,7 @@ import { DefinePlugin } from 'webpack';
6
6
  import { WebpackAssetsManifest } from 'webpack-assets-manifest';
7
7
  import VirtualModulesPlugin from 'webpack-virtual-modules';
8
8
  import yargs from 'yargs';
9
- import { generateMetadata } from '../../core';
9
+ import { webpackDevConfigFileName, webpackProdConfigFileName } from '../../cli/utils';
10
10
  import {
11
11
  getFolders,
12
12
  getPackageData,
@@ -16,7 +16,7 @@ import {
16
16
  isWebComponent,
17
17
  } from '../../utils';
18
18
  import { miniCssPluginStyleRules } from '../__mocks__';
19
- import { webpackDevConfigFileName, webpackProdConfigFileName } from '../create-webpack-config';
19
+ import { generateMetadata } from '../configs/utils';
20
20
  import { createWebpackConfig } from '../index';
21
21
  import { getCallerFile, splitByEntry } from '../utils';
22
22
 
@@ -42,7 +42,7 @@ jest.mock('../../utils', () => ({
42
42
  isLegacyRoot: jest.fn(),
43
43
  isWebComponent: jest.fn(),
44
44
  }));
45
- jest.mock('../../core/utils/generate-metadata');
45
+ jest.mock('../configs/utils/generate-metadata');
46
46
  jest.mock('../utils', () => ({
47
47
  ...jest.requireActual('../utils'),
48
48
  getCallerFile: jest.fn(),
@@ -64,15 +64,15 @@ describe(`[startup] ${createWebpackConfig.name}`, () => {
64
64
 
65
65
  const indexPath = () => path.join(process.cwd(), `${destination}/index`);
66
66
  const indexCode = ({
67
- light = false,
67
+ embed = false,
68
68
  legacyRoot = false,
69
69
  designSystem,
70
- }: { light?: boolean; legacyRoot?: boolean; designSystem?: boolean } = {}) =>
70
+ }: { embed?: boolean; legacyRoot?: boolean; designSystem?: boolean } = {}) =>
71
71
  [
72
72
  ...(designSystem ? [`require('./design-system.css');`] : []),
73
73
  `import { register } from '@servicetitan/web-components';`,
74
74
  `import { App } from './app';`,
75
- `register(App, ${light}, { legacyRoot: ${legacyRoot}, sharedDependenciesNames: ${JSON.stringify(Object.keys(sharedDependencies))} });`,
75
+ `register(App, ${embed}, { legacyRoot: ${legacyRoot}, sharedDependenciesNames: ${JSON.stringify(Object.keys(sharedDependencies))} });`,
76
76
  ].join('\n');
77
77
 
78
78
  let overrides: Parameters<typeof createWebpackConfig>[0];
@@ -331,13 +331,13 @@ describe(`[startup] ${createWebpackConfig.name}`, () => {
331
331
  });
332
332
  });
333
333
 
334
- describe('when light option is set to true', () => {
335
- beforeEach(() => (options.light = true));
334
+ describe('when embed option is set to true', () => {
335
+ beforeEach(() => (options.embed = true));
336
336
 
337
- test(`omits design system and registers App with light set to true`, () => {
337
+ test(`omits design system and registers App with embed set to true`, () => {
338
338
  expect(subject().plugins).toContainEqual(
339
339
  new VirtualModulesPlugin({
340
- [indexPath()]: indexCode({ designSystem: false, light: true }),
340
+ [indexPath()]: indexCode({ designSystem: false, embed: true }),
341
341
  })
342
342
  );
343
343
  });
@@ -366,7 +366,7 @@ describe(`[startup] ${createWebpackConfig.name}`, () => {
366
366
  expect(subject().plugins).toContainEqual(
367
367
  new VirtualModulesPlugin({
368
368
  [designSystemPath()]: designSystemCode,
369
- [indexPath()]: indexCode({ designSystem: true, light: true }),
369
+ [indexPath()]: indexCode({ designSystem: true, embed: true }),
370
370
  })
371
371
  );
372
372
  });