@servicetitan/startup 36.0.0 → 36.1.1-beta.1

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 (680) hide show
  1. package/dist/cli/commands/build.d.ts.map +1 -1
  2. package/dist/cli/commands/build.js +14 -9
  3. package/dist/cli/commands/build.js.map +1 -1
  4. package/dist/cli/commands/bundle-vite.d.ts +6 -0
  5. package/dist/cli/commands/bundle-vite.d.ts.map +1 -0
  6. package/dist/cli/commands/bundle-vite.js +110 -0
  7. package/dist/cli/commands/bundle-vite.js.map +1 -0
  8. package/dist/cli/commands/bundle-webpack.d.ts +6 -0
  9. package/dist/cli/commands/bundle-webpack.d.ts.map +1 -0
  10. package/dist/cli/commands/{bundle-package.js → bundle-webpack.js} +8 -6
  11. package/dist/cli/commands/bundle-webpack.js.map +1 -0
  12. package/dist/cli/commands/install.d.ts.map +1 -1
  13. package/dist/cli/commands/install.js +2 -1
  14. package/dist/cli/commands/install.js.map +1 -1
  15. package/dist/cli/commands/mfe-check.d.ts.map +1 -1
  16. package/dist/cli/commands/mfe-check.js +2 -2
  17. package/dist/cli/commands/mfe-check.js.map +1 -1
  18. package/dist/cli/commands/mfe-generate-metadata.js +2 -2
  19. package/dist/cli/commands/mfe-generate-metadata.js.map +1 -1
  20. package/dist/cli/commands/mfe-list.js +1 -1
  21. package/dist/cli/commands/mfe-list.js.map +1 -1
  22. package/dist/cli/commands/mfe-package-publish.js.map +1 -1
  23. package/dist/cli/commands/mfe-publish.js +1 -1
  24. package/dist/cli/commands/mfe-publish.js.map +1 -1
  25. package/dist/cli/commands/registry/build.d.ts +8 -0
  26. package/dist/cli/commands/registry/build.d.ts.map +1 -1
  27. package/dist/cli/commands/registry/build.js +8 -0
  28. package/dist/cli/commands/registry/build.js.map +1 -1
  29. package/dist/cli/commands/registry/bundle-vite.d.ts +33 -0
  30. package/dist/cli/commands/registry/bundle-vite.d.ts.map +1 -0
  31. package/dist/cli/commands/registry/bundle-vite.js +45 -0
  32. package/dist/cli/commands/registry/bundle-vite.js.map +1 -0
  33. package/dist/cli/commands/registry/{bundle-package.d.ts → bundle-webpack.d.ts} +1 -1
  34. package/dist/cli/commands/registry/bundle-webpack.d.ts.map +1 -0
  35. package/dist/cli/commands/registry/{bundle-package.js → bundle-webpack.js} +1 -1
  36. package/dist/cli/commands/registry/{bundle-package.js.map → bundle-webpack.js.map} +1 -1
  37. package/dist/cli/commands/registry/command-registry.d.ts +72 -0
  38. package/dist/cli/commands/registry/command-registry.d.ts.map +1 -1
  39. package/dist/cli/commands/registry/command-registry.js +7 -2
  40. package/dist/cli/commands/registry/command-registry.js.map +1 -1
  41. package/dist/cli/commands/registry/start.d.ts +4 -0
  42. package/dist/cli/commands/registry/start.d.ts.map +1 -1
  43. package/dist/cli/commands/registry/start.js +4 -0
  44. package/dist/cli/commands/registry/start.js.map +1 -1
  45. package/dist/cli/commands/start.d.ts.map +1 -1
  46. package/dist/cli/commands/start.js +11 -9
  47. package/dist/cli/commands/start.js.map +1 -1
  48. package/dist/cli/index.js +2 -1
  49. package/dist/cli/index.js.map +1 -1
  50. package/dist/cli/tasks/tsc-compile/tsc-compile.js +1 -1
  51. package/dist/cli/tasks/tsc-compile/tsc-compile.js.map +1 -1
  52. package/dist/cli/utils/copy-files.js +1 -0
  53. package/dist/cli/utils/copy-files.js.map +1 -1
  54. package/dist/cli/utils/index.d.ts +0 -1
  55. package/dist/cli/utils/index.d.ts.map +1 -1
  56. package/dist/cli/utils/index.js +0 -1
  57. package/dist/cli/utils/index.js.map +1 -1
  58. package/dist/core/check-resource/check-resource.d.ts +3 -0
  59. package/dist/core/check-resource/check-resource.d.ts.map +1 -0
  60. package/dist/{webpack/configs/plugins/ignore-plugin → core/check-resource}/check-resource.js +2 -2
  61. package/dist/core/check-resource/check-resource.js.map +1 -0
  62. package/dist/core/check-resource/get-package-json.d.ts +7 -0
  63. package/dist/core/check-resource/get-package-json.d.ts.map +1 -0
  64. package/dist/{webpack/configs/plugins/ignore-plugin → core/check-resource}/get-package-json.js +1 -1
  65. package/dist/core/check-resource/get-package-json.js.map +1 -0
  66. package/dist/core/check-resource/index.d.ts +2 -0
  67. package/dist/core/check-resource/index.d.ts.map +1 -0
  68. package/dist/core/check-resource/index.js +13 -0
  69. package/dist/core/check-resource/index.js.map +1 -0
  70. package/dist/core/check-resource/is-optional-peer-dependency.d.ts.map +1 -0
  71. package/dist/core/check-resource/is-optional-peer-dependency.js.map +1 -0
  72. package/dist/core/check-resource/is-optional-react-dom-peer-dependency.d.ts.map +1 -0
  73. package/dist/core/check-resource/is-optional-react-dom-peer-dependency.js.map +1 -0
  74. package/dist/core/constants.d.ts +17 -0
  75. package/dist/core/constants.d.ts.map +1 -0
  76. package/dist/core/constants.js +28 -0
  77. package/dist/core/constants.js.map +1 -0
  78. package/dist/core/create-build-context.d.ts +13 -0
  79. package/dist/core/create-build-context.d.ts.map +1 -0
  80. package/dist/core/create-build-context.js +51 -0
  81. package/dist/core/create-build-context.js.map +1 -0
  82. package/dist/core/defines/define-exposed-dependencies.d.ts +5 -0
  83. package/dist/core/defines/define-exposed-dependencies.d.ts.map +1 -0
  84. package/dist/core/defines/define-exposed-dependencies.js +26 -0
  85. package/dist/core/defines/define-exposed-dependencies.js.map +1 -0
  86. package/dist/core/defines/define-exposed-instance-dependencies.d.ts +5 -0
  87. package/dist/core/defines/define-exposed-instance-dependencies.d.ts.map +1 -0
  88. package/dist/core/defines/define-exposed-instance-dependencies.js +29 -0
  89. package/dist/core/defines/define-exposed-instance-dependencies.js.map +1 -0
  90. package/dist/core/defines/define-web-component-name.d.ts +5 -0
  91. package/dist/core/defines/define-web-component-name.d.ts.map +1 -0
  92. package/dist/core/defines/define-web-component-name.js +23 -0
  93. package/dist/core/defines/define-web-component-name.js.map +1 -0
  94. package/dist/core/defines/index.d.ts +4 -0
  95. package/dist/core/defines/index.d.ts.map +1 -0
  96. package/dist/core/defines/index.js +26 -0
  97. package/dist/core/defines/index.js.map +1 -0
  98. package/dist/core/externals.d.ts +3 -0
  99. package/dist/core/externals.d.ts.map +1 -0
  100. package/dist/core/externals.js +28 -0
  101. package/dist/core/externals.js.map +1 -0
  102. package/dist/core/get-build-name.d.ts +2 -0
  103. package/dist/core/get-build-name.d.ts.map +1 -0
  104. package/dist/core/get-build-name.js +24 -0
  105. package/dist/core/get-build-name.js.map +1 -0
  106. package/dist/core/get-bundle-type.d.ts +3 -0
  107. package/dist/core/get-bundle-type.d.ts.map +1 -0
  108. package/dist/{webpack/configs/utils → core}/get-bundle-type.js +4 -2
  109. package/dist/core/get-bundle-type.js.map +1 -0
  110. package/dist/core/get-exposed-dependencies.d.ts.map +1 -0
  111. package/dist/core/get-exposed-dependencies.js.map +1 -0
  112. package/dist/core/get-output-path.d.ts +3 -0
  113. package/dist/core/get-output-path.d.ts.map +1 -0
  114. package/dist/core/get-output-path.js +32 -0
  115. package/dist/core/get-output-path.js.map +1 -0
  116. package/dist/core/get-shared-entry-points.d.ts +11 -0
  117. package/dist/core/get-shared-entry-points.d.ts.map +1 -0
  118. package/dist/core/get-shared-entry-points.js +43 -0
  119. package/dist/core/get-shared-entry-points.js.map +1 -0
  120. package/dist/core/get-version/get-launchdarkly-sdk-version.d.ts.map +1 -0
  121. package/dist/{webpack/configs/utils → core/get-version}/get-launchdarkly-sdk-version.js +1 -1
  122. package/dist/core/get-version/get-launchdarkly-sdk-version.js.map +1 -0
  123. package/dist/core/get-version/get-startup-version.d.ts.map +1 -0
  124. package/dist/{utils → core/get-version}/get-startup-version.js +2 -2
  125. package/dist/core/get-version/get-startup-version.js.map +1 -0
  126. package/dist/core/get-version/get-web-components-version.d.ts.map +1 -0
  127. package/dist/{webpack/configs/utils → core/get-version}/get-web-components-version.js +1 -1
  128. package/dist/core/get-version/get-web-components-version.js.map +1 -0
  129. package/dist/core/get-version/index.d.ts +4 -0
  130. package/dist/core/get-version/index.d.ts.map +1 -0
  131. package/dist/core/get-version/index.js +22 -0
  132. package/dist/core/get-version/index.js.map +1 -0
  133. package/dist/core/index.d.ts +16 -0
  134. package/dist/core/index.d.ts.map +1 -0
  135. package/dist/core/index.js +33 -0
  136. package/dist/core/index.js.map +1 -0
  137. package/dist/core/metadata/build-metadata.d.ts.map +1 -0
  138. package/dist/{webpack/configs/utils → core/metadata}/build-metadata.js +5 -6
  139. package/dist/core/metadata/build-metadata.js.map +1 -0
  140. package/dist/core/metadata/generate-exposed-dependencies-metadata.d.ts +3 -0
  141. package/dist/core/metadata/generate-exposed-dependencies-metadata.d.ts.map +1 -0
  142. package/dist/core/metadata/generate-exposed-dependencies-metadata.js +42 -0
  143. package/dist/core/metadata/generate-exposed-dependencies-metadata.js.map +1 -0
  144. package/dist/core/metadata/generate-metadata.d.ts +3 -0
  145. package/dist/core/metadata/generate-metadata.d.ts.map +1 -0
  146. package/dist/{webpack/configs/utils → core/metadata}/generate-metadata.js +5 -4
  147. package/dist/core/metadata/generate-metadata.js.map +1 -0
  148. package/dist/core/metadata/index.d.ts +4 -0
  149. package/dist/core/metadata/index.d.ts.map +1 -0
  150. package/dist/{webpack/configs/utils → core/metadata}/index.js +2 -2
  151. package/dist/core/metadata/index.js.map +1 -0
  152. package/dist/core/stringify-config.d.ts.map +1 -0
  153. package/dist/core/stringify-config.js.map +1 -0
  154. package/dist/core/types.d.ts +51 -0
  155. package/dist/core/types.d.ts.map +1 -0
  156. package/dist/core/types.js.map +1 -0
  157. package/dist/core/virtual-modules.d.ts +8 -0
  158. package/dist/core/virtual-modules.d.ts.map +1 -0
  159. package/dist/core/virtual-modules.js +83 -0
  160. package/dist/core/virtual-modules.js.map +1 -0
  161. package/dist/cypress/config/webpack-config.d.ts +1 -1
  162. package/dist/cypress/config/webpack-config.d.ts.map +1 -1
  163. package/dist/cypress/config/webpack-config.js +19 -6
  164. package/dist/cypress/config/webpack-config.js.map +1 -1
  165. package/dist/index.d.ts.map +1 -1
  166. package/dist/index.js.map +1 -1
  167. package/dist/storybook-config/webpack-final.d.ts +1 -1
  168. package/dist/storybook-config/webpack-final.d.ts.map +1 -1
  169. package/dist/storybook-config/webpack-final.js +17 -6
  170. package/dist/storybook-config/webpack-final.js.map +1 -1
  171. package/dist/utils/get-configuration.d.ts +31 -1
  172. package/dist/utils/get-configuration.d.ts.map +1 -1
  173. package/dist/utils/get-configuration.js +12 -8
  174. package/dist/utils/get-configuration.js.map +1 -1
  175. package/dist/utils/get-package-data.d.ts.map +1 -1
  176. package/dist/utils/get-package-data.js +3 -2
  177. package/dist/utils/get-package-data.js.map +1 -1
  178. package/dist/utils/get-packages.d.ts +1 -1
  179. package/dist/utils/get-packages.d.ts.map +1 -1
  180. package/dist/utils/get-packages.js +1 -1
  181. package/dist/utils/get-packages.js.map +1 -1
  182. package/dist/utils/index.d.ts +1 -1
  183. package/dist/utils/index.d.ts.map +1 -1
  184. package/dist/utils/index.js +1 -1
  185. package/dist/utils/index.js.map +1 -1
  186. package/dist/utils/validate-shared-dependencies.d.ts +2 -0
  187. package/dist/utils/validate-shared-dependencies.d.ts.map +1 -0
  188. package/dist/utils/validate-shared-dependencies.js +26 -0
  189. package/dist/utils/validate-shared-dependencies.js.map +1 -0
  190. package/dist/vite/build-shared-dependencies.d.ts +3 -0
  191. package/dist/vite/build-shared-dependencies.d.ts.map +1 -0
  192. package/dist/vite/build-shared-dependencies.js +59 -0
  193. package/dist/vite/build-shared-dependencies.js.map +1 -0
  194. package/dist/vite/config/base-config.d.ts +4 -0
  195. package/dist/vite/config/base-config.d.ts.map +1 -0
  196. package/dist/vite/config/base-config.js +139 -0
  197. package/dist/vite/config/base-config.js.map +1 -0
  198. package/dist/vite/config/create-vite-build-context.d.ts +5 -0
  199. package/dist/vite/config/create-vite-build-context.d.ts.map +1 -0
  200. package/dist/vite/config/create-vite-build-context.js +43 -0
  201. package/dist/vite/config/create-vite-build-context.js.map +1 -0
  202. package/dist/vite/config/create-vite-config.d.ts +3 -0
  203. package/dist/vite/config/create-vite-config.d.ts.map +1 -0
  204. package/dist/vite/config/create-vite-config.js +43 -0
  205. package/dist/vite/config/create-vite-config.js.map +1 -0
  206. package/dist/vite/config/define-config.d.ts +13 -0
  207. package/dist/vite/config/define-config.d.ts.map +1 -0
  208. package/dist/vite/config/define-config.js +15 -0
  209. package/dist/vite/config/define-config.js.map +1 -0
  210. package/dist/vite/config/index.d.ts +6 -0
  211. package/dist/vite/config/index.d.ts.map +1 -0
  212. package/dist/vite/config/index.js +24 -0
  213. package/dist/vite/config/index.js.map +1 -0
  214. package/dist/vite/config/load-config-file.d.ts +4 -0
  215. package/dist/vite/config/load-config-file.d.ts.map +1 -0
  216. package/dist/vite/config/load-config-file.js +103 -0
  217. package/dist/vite/config/load-config-file.js.map +1 -0
  218. package/dist/vite/config/merge-vite-configs.d.ts +5 -0
  219. package/dist/vite/config/merge-vite-configs.d.ts.map +1 -0
  220. package/dist/vite/config/merge-vite-configs.js +17 -0
  221. package/dist/vite/config/merge-vite-configs.js.map +1 -0
  222. package/dist/vite/index.d.ts +2 -0
  223. package/dist/vite/index.d.ts.map +1 -0
  224. package/dist/vite/index.html +36 -0
  225. package/dist/vite/index.js +20 -0
  226. package/dist/vite/index.js.map +1 -0
  227. package/dist/vite/plugins/css-injector-plugin.d.ts +4 -0
  228. package/dist/vite/plugins/css-injector-plugin.d.ts.map +1 -0
  229. package/dist/vite/plugins/css-injector-plugin.js +57 -0
  230. package/dist/vite/plugins/css-injector-plugin.js.map +1 -0
  231. package/dist/vite/plugins/dev-server-routing-plugin.d.ts +24 -0
  232. package/dist/vite/plugins/dev-server-routing-plugin.d.ts.map +1 -0
  233. package/dist/vite/plugins/dev-server-routing-plugin.js +85 -0
  234. package/dist/vite/plugins/dev-server-routing-plugin.js.map +1 -0
  235. package/dist/vite/plugins/externals-plugin.d.ts +4 -0
  236. package/dist/vite/plugins/externals-plugin.d.ts.map +1 -0
  237. package/dist/vite/plugins/externals-plugin.js +60 -0
  238. package/dist/vite/plugins/externals-plugin.js.map +1 -0
  239. package/dist/vite/plugins/html-plugin.d.ts +4 -0
  240. package/dist/vite/plugins/html-plugin.d.ts.map +1 -0
  241. package/dist/vite/plugins/html-plugin.js +102 -0
  242. package/dist/vite/plugins/html-plugin.js.map +1 -0
  243. package/dist/vite/plugins/ignore-modules-plugin.d.ts +4 -0
  244. package/dist/vite/plugins/ignore-modules-plugin.d.ts.map +1 -0
  245. package/dist/vite/plugins/ignore-modules-plugin.js +30 -0
  246. package/dist/vite/plugins/ignore-modules-plugin.js.map +1 -0
  247. package/dist/vite/plugins/index.d.ts +10 -0
  248. package/dist/vite/plugins/index.d.ts.map +1 -0
  249. package/dist/vite/plugins/index.js +28 -0
  250. package/dist/vite/plugins/index.js.map +1 -0
  251. package/dist/vite/plugins/metadata-plugin.d.ts +4 -0
  252. package/dist/vite/plugins/metadata-plugin.d.ts.map +1 -0
  253. package/dist/vite/plugins/metadata-plugin.js +78 -0
  254. package/dist/vite/plugins/metadata-plugin.js.map +1 -0
  255. package/dist/vite/plugins/shared-dependencies-plugin.d.ts +8 -0
  256. package/dist/vite/plugins/shared-dependencies-plugin.d.ts.map +1 -0
  257. package/dist/vite/plugins/shared-dependencies-plugin.js +252 -0
  258. package/dist/vite/plugins/shared-dependencies-plugin.js.map +1 -0
  259. package/dist/vite/plugins/style-urls-plugin.d.ts +4 -0
  260. package/dist/vite/plugins/style-urls-plugin.d.ts.map +1 -0
  261. package/dist/vite/plugins/style-urls-plugin.js +31 -0
  262. package/dist/vite/plugins/style-urls-plugin.js.map +1 -0
  263. package/dist/vite/plugins/svgr-plugin.d.ts +4 -0
  264. package/dist/vite/plugins/svgr-plugin.d.ts.map +1 -0
  265. package/dist/vite/plugins/svgr-plugin.js +33 -0
  266. package/dist/vite/plugins/svgr-plugin.js.map +1 -0
  267. package/dist/vite/plugins/virtual-modules-plugin.d.ts +4 -0
  268. package/dist/vite/plugins/virtual-modules-plugin.d.ts.map +1 -0
  269. package/dist/vite/plugins/virtual-modules-plugin.js +63 -0
  270. package/dist/vite/plugins/virtual-modules-plugin.js.map +1 -0
  271. package/dist/vite/types.d.ts +4 -0
  272. package/dist/vite/types.d.ts.map +1 -0
  273. package/dist/vite/types.js +6 -0
  274. package/dist/vite/types.js.map +1 -0
  275. package/dist/vite/validate-shared-dependencies.d.ts +2 -0
  276. package/dist/vite/validate-shared-dependencies.d.ts.map +1 -0
  277. package/dist/vite/validate-shared-dependencies.js +27 -0
  278. package/dist/vite/validate-shared-dependencies.js.map +1 -0
  279. package/dist/webpack/bundle-webpack.d.ts +11 -0
  280. package/dist/webpack/bundle-webpack.d.ts.map +1 -0
  281. package/dist/webpack/bundle-webpack.js +107 -0
  282. package/dist/webpack/bundle-webpack.js.map +1 -0
  283. package/dist/webpack/configs/amd-config.d.ts +3 -2
  284. package/dist/webpack/configs/amd-config.d.ts.map +1 -1
  285. package/dist/webpack/configs/amd-config.js.map +1 -1
  286. package/dist/webpack/configs/cache-config.d.ts +3 -2
  287. package/dist/webpack/configs/cache-config.d.ts.map +1 -1
  288. package/dist/webpack/configs/cache-config.js +1 -1
  289. package/dist/webpack/configs/cache-config.js.map +1 -1
  290. package/dist/webpack/configs/dev-server-config.d.ts +2 -2
  291. package/dist/webpack/configs/dev-server-config.d.ts.map +1 -1
  292. package/dist/webpack/configs/dev-server-config.js +8 -8
  293. package/dist/webpack/configs/dev-server-config.js.map +1 -1
  294. package/dist/webpack/configs/devtool-config.d.ts +3 -2
  295. package/dist/webpack/configs/devtool-config.d.ts.map +1 -1
  296. package/dist/webpack/configs/devtool-config.js +1 -1
  297. package/dist/webpack/configs/devtool-config.js.map +1 -1
  298. package/dist/webpack/configs/entry.config.d.ts +3 -2
  299. package/dist/webpack/configs/entry.config.d.ts.map +1 -1
  300. package/dist/webpack/configs/entry.config.js +6 -5
  301. package/dist/webpack/configs/entry.config.js.map +1 -1
  302. package/dist/webpack/configs/externals-config.d.ts +3 -2
  303. package/dist/webpack/configs/externals-config.d.ts.map +1 -1
  304. package/dist/webpack/configs/externals-config.js +4 -14
  305. package/dist/webpack/configs/externals-config.js.map +1 -1
  306. package/dist/webpack/configs/index.d.ts +0 -1
  307. package/dist/webpack/configs/index.d.ts.map +1 -1
  308. package/dist/webpack/configs/index.js.map +1 -1
  309. package/dist/webpack/configs/loaders/css-loader.d.ts +2 -2
  310. package/dist/webpack/configs/loaders/css-loader.d.ts.map +1 -1
  311. package/dist/webpack/configs/loaders/css-loader.js +2 -1
  312. package/dist/webpack/configs/loaders/css-loader.js.map +1 -1
  313. package/dist/webpack/configs/loaders/style-loader.d.ts +2 -2
  314. package/dist/webpack/configs/loaders/style-loader.d.ts.map +1 -1
  315. package/dist/webpack/configs/loaders/style-loader.js +3 -1
  316. package/dist/webpack/configs/loaders/style-loader.js.map +1 -1
  317. package/dist/webpack/configs/module-config.d.ts +2 -2
  318. package/dist/webpack/configs/module-config.d.ts.map +1 -1
  319. package/dist/webpack/configs/module-config.js.map +1 -1
  320. package/dist/webpack/configs/optimization-config.d.ts +2 -2
  321. package/dist/webpack/configs/optimization-config.d.ts.map +1 -1
  322. package/dist/webpack/configs/optimization-config.js +9 -7
  323. package/dist/webpack/configs/optimization-config.js.map +1 -1
  324. package/dist/webpack/configs/output-config.d.ts +3 -2
  325. package/dist/webpack/configs/output-config.d.ts.map +1 -1
  326. package/dist/webpack/configs/output-config.js +10 -24
  327. package/dist/webpack/configs/output-config.js.map +1 -1
  328. package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts +3 -8
  329. package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts.map +1 -1
  330. package/dist/webpack/configs/plugins/assets-manifest-plugin.js +10 -47
  331. package/dist/webpack/configs/plugins/assets-manifest-plugin.js.map +1 -1
  332. package/dist/webpack/configs/plugins/bundle-analyser-plugin.d.ts +3 -2
  333. package/dist/webpack/configs/plugins/bundle-analyser-plugin.d.ts.map +1 -1
  334. package/dist/webpack/configs/plugins/bundle-analyser-plugin.js +6 -6
  335. package/dist/webpack/configs/plugins/bundle-analyser-plugin.js.map +1 -1
  336. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.d.ts +3 -2
  337. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.d.ts.map +1 -1
  338. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js +4 -13
  339. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js.map +1 -1
  340. package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.d.ts +3 -2
  341. package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.d.ts.map +1 -1
  342. package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.js +4 -12
  343. package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.js.map +1 -1
  344. package/dist/webpack/configs/plugins/define-web-component-name-plugin.d.ts +3 -2
  345. package/dist/webpack/configs/plugins/define-web-component-name-plugin.d.ts.map +1 -1
  346. package/dist/webpack/configs/plugins/define-web-component-name-plugin.js +4 -6
  347. package/dist/webpack/configs/plugins/define-web-component-name-plugin.js.map +1 -1
  348. package/dist/webpack/configs/plugins/filter-warnings-plugin.d.ts +3 -2
  349. package/dist/webpack/configs/plugins/filter-warnings-plugin.d.ts.map +1 -1
  350. package/dist/webpack/configs/plugins/filter-warnings-plugin.js +2 -2
  351. package/dist/webpack/configs/plugins/filter-warnings-plugin.js.map +1 -1
  352. package/dist/webpack/configs/plugins/html-plugin.d.ts +3 -2
  353. package/dist/webpack/configs/plugins/html-plugin.d.ts.map +1 -1
  354. package/dist/webpack/configs/plugins/html-plugin.js +4 -2
  355. package/dist/webpack/configs/plugins/html-plugin.js.map +1 -1
  356. package/dist/webpack/configs/plugins/html-tags-plugin.d.ts +3 -2
  357. package/dist/webpack/configs/plugins/html-tags-plugin.d.ts.map +1 -1
  358. package/dist/webpack/configs/plugins/html-tags-plugin.js +8 -19
  359. package/dist/webpack/configs/plugins/html-tags-plugin.js.map +1 -1
  360. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.d.ts +15 -3
  361. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.d.ts.map +1 -1
  362. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js +41 -6
  363. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js.map +1 -1
  364. package/dist/webpack/configs/plugins/mini-css-extract-plugin.d.ts +2 -2
  365. package/dist/webpack/configs/plugins/mini-css-extract-plugin.d.ts.map +1 -1
  366. package/dist/webpack/configs/plugins/mini-css-extract-plugin.js +4 -2
  367. package/dist/webpack/configs/plugins/mini-css-extract-plugin.js.map +1 -1
  368. package/dist/webpack/configs/plugins/moment-locales-plugin.d.ts +3 -2
  369. package/dist/webpack/configs/plugins/moment-locales-plugin.d.ts.map +1 -1
  370. package/dist/webpack/configs/plugins/moment-locales-plugin.js.map +1 -1
  371. package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.d.ts +3 -2
  372. package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.d.ts.map +1 -1
  373. package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.js +1 -1
  374. package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.js.map +1 -1
  375. package/dist/webpack/configs/plugins/virtual-modules-plugin.d.ts +3 -3
  376. package/dist/webpack/configs/plugins/virtual-modules-plugin.d.ts.map +1 -1
  377. package/dist/webpack/configs/plugins/virtual-modules-plugin.js +13 -56
  378. package/dist/webpack/configs/plugins/virtual-modules-plugin.js.map +1 -1
  379. package/dist/webpack/configs/plugins/watch-run-plugin.d.ts +3 -2
  380. package/dist/webpack/configs/plugins/watch-run-plugin.d.ts.map +1 -1
  381. package/dist/webpack/configs/plugins/watch-run-plugin.js.map +1 -1
  382. package/dist/webpack/configs/plugins-config.d.ts +3 -2
  383. package/dist/webpack/configs/plugins-config.d.ts.map +1 -1
  384. package/dist/webpack/configs/plugins-config.js.map +1 -1
  385. package/dist/webpack/configs/resolve-config.d.ts +3 -2
  386. package/dist/webpack/configs/resolve-config.d.ts.map +1 -1
  387. package/dist/webpack/configs/resolve-config.js.map +1 -1
  388. package/dist/webpack/configs/rules/css-rules.d.ts +2 -2
  389. package/dist/webpack/configs/rules/css-rules.d.ts.map +1 -1
  390. package/dist/webpack/configs/rules/css-rules.js +2 -1
  391. package/dist/webpack/configs/rules/css-rules.js.map +1 -1
  392. package/dist/webpack/configs/rules/font-rules.d.ts +2 -2
  393. package/dist/webpack/configs/rules/font-rules.d.ts.map +1 -1
  394. package/dist/webpack/configs/rules/font-rules.js.map +1 -1
  395. package/dist/webpack/configs/rules/image-rules.d.ts +2 -2
  396. package/dist/webpack/configs/rules/image-rules.d.ts.map +1 -1
  397. package/dist/webpack/configs/rules/image-rules.js.map +1 -1
  398. package/dist/webpack/configs/rules/js-rules.d.ts +2 -2
  399. package/dist/webpack/configs/rules/js-rules.d.ts.map +1 -1
  400. package/dist/webpack/configs/rules/js-rules.js +3 -1
  401. package/dist/webpack/configs/rules/js-rules.js.map +1 -1
  402. package/dist/webpack/configs/rules/less-rules.d.ts +2 -2
  403. package/dist/webpack/configs/rules/less-rules.d.ts.map +1 -1
  404. package/dist/webpack/configs/rules/less-rules.js.map +1 -1
  405. package/dist/webpack/configs/rules/scss-rules.d.ts +2 -2
  406. package/dist/webpack/configs/rules/scss-rules.d.ts.map +1 -1
  407. package/dist/webpack/configs/rules/scss-rules.js.map +1 -1
  408. package/dist/webpack/configs/rules/svg-rules.d.ts +2 -2
  409. package/dist/webpack/configs/rules/svg-rules.d.ts.map +1 -1
  410. package/dist/webpack/configs/rules/svg-rules.js.map +1 -1
  411. package/dist/webpack/configs/rules-config.d.ts +2 -2
  412. package/dist/webpack/configs/rules-config.d.ts.map +1 -1
  413. package/dist/webpack/configs/rules-config.js +2 -2
  414. package/dist/webpack/configs/rules-config.js.map +1 -1
  415. package/dist/webpack/configs/stats-config.d.ts +3 -2
  416. package/dist/webpack/configs/stats-config.d.ts.map +1 -1
  417. package/dist/webpack/configs/stats-config.js.map +1 -1
  418. package/dist/webpack/configs/watch-options-config.d.ts +2 -2
  419. package/dist/webpack/configs/watch-options-config.d.ts.map +1 -1
  420. package/dist/webpack/configs/watch-options-config.js +2 -2
  421. package/dist/webpack/configs/watch-options-config.js.map +1 -1
  422. package/dist/webpack/create-webpack-config.d.ts +2 -0
  423. package/dist/webpack/create-webpack-config.d.ts.map +1 -1
  424. package/dist/webpack/create-webpack-config.js +36 -46
  425. package/dist/webpack/create-webpack-config.js.map +1 -1
  426. package/dist/webpack/create-webpack-configs.d.ts +16 -0
  427. package/dist/webpack/create-webpack-configs.d.ts.map +1 -0
  428. package/dist/webpack/create-webpack-configs.js +82 -0
  429. package/dist/webpack/create-webpack-configs.js.map +1 -0
  430. package/dist/webpack/index.d.ts +2 -0
  431. package/dist/webpack/index.d.ts.map +1 -1
  432. package/dist/webpack/index.js +2 -0
  433. package/dist/webpack/index.js.map +1 -1
  434. package/dist/webpack/types.d.ts +4 -11
  435. package/dist/webpack/types.d.ts.map +1 -1
  436. package/dist/webpack/utils/create-webpack-build-context.d.ts +4 -0
  437. package/dist/webpack/utils/create-webpack-build-context.d.ts.map +1 -0
  438. package/dist/webpack/utils/create-webpack-build-context.js +21 -0
  439. package/dist/webpack/utils/create-webpack-build-context.js.map +1 -0
  440. package/dist/webpack/utils/index.d.ts +1 -1
  441. package/dist/webpack/utils/index.d.ts.map +1 -1
  442. package/dist/webpack/utils/index.js +1 -1
  443. package/dist/webpack/utils/index.js.map +1 -1
  444. package/jest/babel-plugin-import-meta-env.js +18 -0
  445. package/jest/jest-preset.js +4 -1
  446. package/package.json +24 -17
  447. package/patches/vite-plugin-css-injected-by-js+3.5.2.patch +63 -0
  448. package/src/cli/commands/__tests__/build.test.ts +2 -2
  449. package/src/cli/commands/__tests__/bundle-vite.test.ts +228 -0
  450. package/src/cli/commands/__tests__/{bundle-package.test.ts → bundle-webpack.test.ts} +26 -17
  451. package/src/cli/commands/__tests__/install.test.ts +6 -2
  452. package/src/cli/commands/__tests__/mfe-generate-metadata.test.ts +13 -10
  453. package/src/cli/commands/__tests__/mfe-publish.test.ts +4 -4
  454. package/src/cli/commands/__tests__/start.test.ts +1 -1
  455. package/src/cli/commands/build.ts +14 -11
  456. package/src/cli/commands/bundle-vite.ts +82 -0
  457. package/src/cli/commands/{bundle-package.ts → bundle-webpack.ts} +9 -6
  458. package/src/cli/commands/install.ts +2 -1
  459. package/src/cli/commands/mfe-check.ts +1 -2
  460. package/src/cli/commands/mfe-generate-metadata.ts +1 -1
  461. package/src/cli/commands/mfe-list.ts +1 -1
  462. package/src/cli/commands/mfe-package-publish.ts +1 -1
  463. package/src/cli/commands/mfe-publish.ts +1 -1
  464. package/src/cli/commands/registry/__tests__/command-registry.test.ts +1 -0
  465. package/src/cli/commands/registry/build.ts +2 -0
  466. package/src/cli/commands/registry/bundle-vite.ts +14 -0
  467. package/src/cli/commands/registry/command-registry.ts +5 -2
  468. package/src/cli/commands/registry/start.ts +1 -0
  469. package/src/cli/commands/start.ts +13 -11
  470. package/src/cli/index.ts +2 -1
  471. package/src/cli/tasks/tsc-compile/tsc-compile.ts +1 -1
  472. package/src/cli/utils/copy-files.ts +1 -1
  473. package/src/cli/utils/index.ts +0 -1
  474. package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/__tests__/check-resource.test.ts +18 -5
  475. package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/__tests__/get-package-json.test.ts +1 -1
  476. package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/check-resource.ts +4 -4
  477. package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/get-package-json.ts +6 -1
  478. package/src/core/check-resource/index.ts +1 -0
  479. package/src/core/constants.ts +16 -0
  480. package/src/core/create-build-context.ts +57 -0
  481. package/src/core/defines/define-exposed-dependencies.ts +21 -0
  482. package/src/core/defines/define-exposed-instance-dependencies.ts +19 -0
  483. package/src/core/defines/define-web-component-name.ts +15 -0
  484. package/src/core/defines/index.ts +3 -0
  485. package/src/core/externals.ts +22 -0
  486. package/src/core/get-build-name.ts +11 -0
  487. package/src/core/get-bundle-type.ts +19 -0
  488. package/src/core/get-output-path.ts +18 -0
  489. package/src/core/get-shared-entry-points.ts +37 -0
  490. package/src/{webpack/configs/utils → core/get-version}/get-launchdarkly-sdk-version.ts +1 -1
  491. package/src/core/get-version/get-startup-version.ts +6 -0
  492. package/src/{webpack/configs/utils → core/get-version}/get-web-components-version.ts +1 -1
  493. package/src/core/get-version/index.ts +3 -0
  494. package/src/core/index.ts +15 -0
  495. package/src/{webpack/configs/utils → core/metadata}/__tests__/build-metadata.test.ts +10 -6
  496. package/src/{webpack/configs/utils → core/metadata}/__tests__/generate-metadata.test.ts +27 -13
  497. package/src/{webpack/configs/utils → core/metadata}/build-metadata.ts +6 -3
  498. package/src/core/metadata/generate-exposed-dependencies-metadata.ts +20 -0
  499. package/src/{webpack/configs/utils → core/metadata}/generate-metadata.ts +7 -6
  500. package/src/core/metadata/index.ts +3 -0
  501. package/src/core/types.ts +50 -0
  502. package/src/core/virtual-modules.ts +74 -0
  503. package/src/cypress/config/__tests__/webpack-config.test.ts +12 -2
  504. package/src/cypress/config/webpack-config.ts +23 -9
  505. package/src/index.ts +1 -0
  506. package/src/storybook-config/__tests__/webpack-final.test.ts +5 -2
  507. package/src/storybook-config/webpack-final.ts +22 -10
  508. package/src/utils/__tests__/get-configuration.test.ts +28 -7
  509. package/src/utils/__tests__/get-package-data.test.ts +35 -1
  510. package/src/utils/__tests__/get-packages.test.ts +3 -3
  511. package/src/utils/__tests__/validate-shared-dependencies.test.ts +55 -0
  512. package/src/utils/get-configuration.ts +48 -6
  513. package/src/utils/get-package-data.ts +3 -1
  514. package/src/utils/get-packages.ts +2 -2
  515. package/src/utils/index.ts +1 -1
  516. package/src/utils/validate-shared-dependencies.ts +32 -0
  517. package/src/vite/__tests__/build-shared-dependencies.test.ts +165 -0
  518. package/src/vite/__tests__/validate-shared-dependencies.test.ts +34 -0
  519. package/src/vite/build-shared-dependencies.ts +47 -0
  520. package/src/vite/config/__tests__/base-config.test.ts +291 -0
  521. package/src/vite/config/__tests__/create-vite-build-context.test.ts +86 -0
  522. package/src/vite/config/__tests__/create-vite-config.test.ts +141 -0
  523. package/src/vite/config/__tests__/define-config.test.ts +23 -0
  524. package/src/vite/config/__tests__/load-config-file.test.ts +191 -0
  525. package/src/vite/config/__tests__/merge-vite-configs.test.ts +84 -0
  526. package/src/vite/config/base-config.ts +127 -0
  527. package/src/vite/config/create-vite-build-context.ts +45 -0
  528. package/src/vite/config/create-vite-config.ts +33 -0
  529. package/src/vite/config/define-config.ts +18 -0
  530. package/src/vite/config/index.ts +5 -0
  531. package/src/vite/config/load-config-file.ts +52 -0
  532. package/src/vite/config/merge-vite-configs.ts +15 -0
  533. package/src/vite/index.html +36 -0
  534. package/src/vite/index.ts +1 -0
  535. package/src/vite/plugins/__tests__/css-injector-plugin.test.ts +61 -0
  536. package/src/vite/plugins/__tests__/dev-server-routing-plugin.test.ts +255 -0
  537. package/src/vite/plugins/__tests__/externals-plugin.test.ts +138 -0
  538. package/src/vite/plugins/__tests__/html-plugin.test.ts +308 -0
  539. package/src/vite/plugins/__tests__/ignore-modules-plugin.test.ts +80 -0
  540. package/src/vite/plugins/__tests__/metadata-plugin.test.ts +163 -0
  541. package/src/vite/plugins/__tests__/shared-dependencies-plugin.test.ts +427 -0
  542. package/src/vite/plugins/__tests__/style-urls-plugin.test.ts +76 -0
  543. package/src/vite/plugins/__tests__/svgr-plugin.test.ts +67 -0
  544. package/src/vite/plugins/__tests__/virtual-modules-plugin.test.ts +120 -0
  545. package/src/vite/plugins/css-injector-plugin.ts +60 -0
  546. package/src/vite/plugins/dev-server-routing-plugin.ts +96 -0
  547. package/src/vite/plugins/externals-plugin.ts +81 -0
  548. package/src/vite/plugins/html-plugin.ts +94 -0
  549. package/src/vite/plugins/ignore-modules-plugin.ts +22 -0
  550. package/src/vite/plugins/index.ts +9 -0
  551. package/src/vite/plugins/metadata-plugin.ts +66 -0
  552. package/src/vite/plugins/shared-dependencies-plugin.ts +273 -0
  553. package/src/vite/plugins/style-urls-plugin.ts +28 -0
  554. package/src/vite/plugins/svgr-plugin.ts +17 -0
  555. package/src/vite/plugins/virtual-modules-plugin.ts +59 -0
  556. package/src/vite/types.ts +6 -0
  557. package/src/vite/validate-shared-dependencies.ts +27 -0
  558. package/src/{cli/utils/__tests__/bundle.test.ts → webpack/__tests__/bundle-webpack.test.ts} +26 -19
  559. package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +23 -9
  560. package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +17 -16
  561. package/src/webpack/__tests__/create-webpack-config.test.ts +10 -8
  562. package/src/webpack/bundle-webpack.ts +107 -0
  563. package/src/webpack/configs/amd-config.ts +3 -2
  564. package/src/webpack/configs/cache-config.ts +4 -3
  565. package/src/webpack/configs/dev-server-config.ts +16 -17
  566. package/src/webpack/configs/devtool-config.ts +4 -3
  567. package/src/webpack/configs/entry.config.ts +8 -7
  568. package/src/webpack/configs/externals-config.ts +5 -21
  569. package/src/webpack/configs/index.ts +0 -1
  570. package/src/webpack/configs/loaders/css-loader.ts +3 -2
  571. package/src/webpack/configs/loaders/style-loader.ts +4 -5
  572. package/src/webpack/configs/module-config.ts +2 -2
  573. package/src/webpack/configs/optimization-config.ts +17 -11
  574. package/src/webpack/configs/output-config.ts +11 -22
  575. package/src/webpack/configs/plugins/assets-manifest-plugin.ts +9 -36
  576. package/src/webpack/configs/plugins/bundle-analyser-plugin.ts +8 -8
  577. package/src/webpack/configs/plugins/define-exposed-dependencies-plugin.ts +7 -15
  578. package/src/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.ts +7 -13
  579. package/src/webpack/configs/plugins/define-web-component-name-plugin.ts +7 -8
  580. package/src/webpack/configs/plugins/filter-warnings-plugin.ts +4 -3
  581. package/src/webpack/configs/plugins/html-plugin.ts +6 -6
  582. package/src/webpack/configs/plugins/html-tags-plugin.ts +7 -16
  583. package/src/webpack/configs/plugins/ignore-plugin/__tests__/ignore-plugin.test.ts +92 -0
  584. package/src/webpack/configs/plugins/ignore-plugin/empty-module.js +6 -0
  585. package/src/webpack/configs/plugins/ignore-plugin/ignore-plugin.ts +44 -6
  586. package/src/webpack/configs/plugins/mini-css-extract-plugin.ts +9 -5
  587. package/src/webpack/configs/plugins/moment-locales-plugin.ts +3 -2
  588. package/src/webpack/configs/plugins/remove-empty-scripts-plugin.ts +4 -3
  589. package/src/webpack/configs/plugins/virtual-modules-plugin.ts +11 -65
  590. package/src/webpack/configs/plugins/watch-run-plugin.ts +3 -2
  591. package/src/webpack/configs/plugins-config.ts +3 -2
  592. package/src/webpack/configs/resolve-config.ts +3 -2
  593. package/src/webpack/configs/rules/css-rules.ts +4 -3
  594. package/src/webpack/configs/rules/font-rules.ts +2 -2
  595. package/src/webpack/configs/rules/image-rules.ts +2 -2
  596. package/src/webpack/configs/rules/js-rules.ts +4 -2
  597. package/src/webpack/configs/rules/less-rules.ts +2 -2
  598. package/src/webpack/configs/rules/scss-rules.ts +2 -2
  599. package/src/webpack/configs/rules/svg-rules.ts +2 -2
  600. package/src/webpack/configs/rules-config.ts +6 -5
  601. package/src/webpack/configs/stats-config.ts +3 -2
  602. package/src/webpack/configs/watch-options-config.ts +3 -3
  603. package/src/webpack/create-webpack-config.ts +18 -49
  604. package/src/webpack/create-webpack-configs.ts +77 -0
  605. package/src/webpack/index.ts +2 -0
  606. package/src/webpack/types.ts +8 -11
  607. package/src/webpack/utils/__tests__/split-by-entry.test.ts +33 -0
  608. package/src/webpack/utils/create-webpack-build-context.ts +12 -0
  609. package/src/webpack/utils/index.ts +1 -1
  610. package/dist/cli/commands/bundle-package.d.ts +0 -6
  611. package/dist/cli/commands/bundle-package.d.ts.map +0 -1
  612. package/dist/cli/commands/bundle-package.js.map +0 -1
  613. package/dist/cli/commands/registry/bundle-package.d.ts.map +0 -1
  614. package/dist/cli/utils/bundle.d.ts +0 -14
  615. package/dist/cli/utils/bundle.d.ts.map +0 -1
  616. package/dist/cli/utils/bundle.js +0 -187
  617. package/dist/cli/utils/bundle.js.map +0 -1
  618. package/dist/utils/get-startup-version.d.ts.map +0 -1
  619. package/dist/utils/get-startup-version.js.map +0 -1
  620. package/dist/webpack/configs/plugins/ignore-plugin/check-resource.d.ts +0 -3
  621. package/dist/webpack/configs/plugins/ignore-plugin/check-resource.d.ts.map +0 -1
  622. package/dist/webpack/configs/plugins/ignore-plugin/check-resource.js.map +0 -1
  623. package/dist/webpack/configs/plugins/ignore-plugin/get-package-json.d.ts +0 -2
  624. package/dist/webpack/configs/plugins/ignore-plugin/get-package-json.d.ts.map +0 -1
  625. package/dist/webpack/configs/plugins/ignore-plugin/get-package-json.js.map +0 -1
  626. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.d.ts.map +0 -1
  627. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.js.map +0 -1
  628. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.d.ts.map +0 -1
  629. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.js.map +0 -1
  630. package/dist/webpack/configs/types.d.ts +0 -35
  631. package/dist/webpack/configs/types.d.ts.map +0 -1
  632. package/dist/webpack/configs/types.js.map +0 -1
  633. package/dist/webpack/configs/utils/build-metadata.d.ts.map +0 -1
  634. package/dist/webpack/configs/utils/build-metadata.js.map +0 -1
  635. package/dist/webpack/configs/utils/generate-metadata.d.ts +0 -3
  636. package/dist/webpack/configs/utils/generate-metadata.d.ts.map +0 -1
  637. package/dist/webpack/configs/utils/generate-metadata.js.map +0 -1
  638. package/dist/webpack/configs/utils/get-bundle-type.d.ts +0 -3
  639. package/dist/webpack/configs/utils/get-bundle-type.d.ts.map +0 -1
  640. package/dist/webpack/configs/utils/get-bundle-type.js.map +0 -1
  641. package/dist/webpack/configs/utils/get-exposed-dependencies.d.ts.map +0 -1
  642. package/dist/webpack/configs/utils/get-exposed-dependencies.js.map +0 -1
  643. package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.d.ts.map +0 -1
  644. package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.js.map +0 -1
  645. package/dist/webpack/configs/utils/get-web-components-version.d.ts.map +0 -1
  646. package/dist/webpack/configs/utils/get-web-components-version.js.map +0 -1
  647. package/dist/webpack/configs/utils/index.d.ts +0 -4
  648. package/dist/webpack/configs/utils/index.d.ts.map +0 -1
  649. package/dist/webpack/configs/utils/index.js.map +0 -1
  650. package/dist/webpack/utils/stringify-config.d.ts.map +0 -1
  651. package/dist/webpack/utils/stringify-config.js.map +0 -1
  652. package/src/cli/utils/bundle.ts +0 -191
  653. package/src/utils/get-startup-version.ts +0 -6
  654. package/src/webpack/configs/types.ts +0 -38
  655. package/src/webpack/configs/utils/get-bundle-type.ts +0 -22
  656. package/src/webpack/configs/utils/index.ts +0 -3
  657. /package/dist/{webpack/configs/plugins/ignore-plugin → core/check-resource}/is-optional-peer-dependency.d.ts +0 -0
  658. /package/dist/{webpack/configs/plugins/ignore-plugin → core/check-resource}/is-optional-peer-dependency.js +0 -0
  659. /package/dist/{webpack/configs/plugins/ignore-plugin → core/check-resource}/is-optional-react-dom-peer-dependency.d.ts +0 -0
  660. /package/dist/{webpack/configs/plugins/ignore-plugin → core/check-resource}/is-optional-react-dom-peer-dependency.js +0 -0
  661. /package/dist/{webpack/configs/utils → core}/get-exposed-dependencies.d.ts +0 -0
  662. /package/dist/{webpack/configs/utils → core}/get-exposed-dependencies.js +0 -0
  663. /package/dist/{webpack/configs/utils → core/get-version}/get-launchdarkly-sdk-version.d.ts +0 -0
  664. /package/dist/{utils → core/get-version}/get-startup-version.d.ts +0 -0
  665. /package/dist/{webpack/configs/utils → core/get-version}/get-web-components-version.d.ts +0 -0
  666. /package/dist/{webpack/configs/utils → core/metadata}/build-metadata.d.ts +0 -0
  667. /package/dist/{webpack/utils → core}/stringify-config.d.ts +0 -0
  668. /package/dist/{webpack/utils → core}/stringify-config.js +0 -0
  669. /package/dist/{webpack/configs → core}/types.js +0 -0
  670. /package/src/cli/commands/registry/{bundle-package.ts → bundle-webpack.ts} +0 -0
  671. /package/src/{webpack/configs/utils → core}/__tests__/get-exposed-dependencies.test.ts +0 -0
  672. /package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/__tests__/is-optional-peer-dependency.test.ts +0 -0
  673. /package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/__tests__/is-optional-react-dom-peer-dependency.test.ts +0 -0
  674. /package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/is-optional-peer-dependency.ts +0 -0
  675. /package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/is-optional-react-dom-peer-dependency.ts +0 -0
  676. /package/src/{webpack/configs/utils → core}/get-exposed-dependencies.ts +0 -0
  677. /package/src/{webpack/configs/utils → core/get-version}/__tests__/get-launchdarkly-sdk-version.test.ts +0 -0
  678. /package/src/{utils → core/get-version}/__tests__/get-startup-version.test.ts +0 -0
  679. /package/src/{webpack/configs/utils → core/get-version}/__tests__/get-web-components-version.test.ts +0 -0
  680. /package/src/{webpack/utils → core}/stringify-config.ts +0 -0
@@ -0,0 +1,76 @@
1
+ import type { BuildContext } from '../../../core';
2
+ import { styleUrlsPlugin } from '../style-urls-plugin';
3
+
4
+ describe(styleUrlsPlugin.name, () => {
5
+ let context: BuildContext;
6
+
7
+ beforeEach(() => {
8
+ context = {
9
+ build: { name: 'test', isProduction: true },
10
+ package: { isWebComponent: true },
11
+ } as BuildContext;
12
+ });
13
+
14
+ const subject = () => styleUrlsPlugin(context);
15
+
16
+ const itReturnsUndefined = () => {
17
+ test('returns undefined', () => {
18
+ expect(subject()).toBeUndefined();
19
+ });
20
+ };
21
+
22
+ test('returns plugin with correct name', () => {
23
+ expect(subject()!.name).toBe('style-urls');
24
+ });
25
+
26
+ describe('when package is not a web component', () => {
27
+ beforeEach(() => (context.package.isWebComponent = false));
28
+
29
+ itReturnsUndefined();
30
+ });
31
+
32
+ describe('when build is not production', () => {
33
+ beforeEach(() => (context.build.isProduction = false));
34
+
35
+ itReturnsUndefined();
36
+ });
37
+
38
+ describe('transformIndexHtml', () => {
39
+ const styleUrlsHtml = (urls: string[]) =>
40
+ `<web-component style-urls="${encodeURIComponent(JSON.stringify(urls))}">`;
41
+
42
+ let bundle: Record<string, { type: string; fileName: string }>;
43
+
44
+ beforeEach(() => {
45
+ bundle = {};
46
+ });
47
+
48
+ const subject = () => {
49
+ const plugin = styleUrlsPlugin(context)!;
50
+ const transform = (plugin.transformIndexHtml as any).handler;
51
+ return transform(styleUrlsHtml([]), { bundle });
52
+ };
53
+
54
+ test('returns html with empty style-urls', () => {
55
+ expect(subject()).toBe(styleUrlsHtml([]));
56
+ });
57
+
58
+ describe('when bundle has CSS and non-CSS assets', () => {
59
+ beforeEach(() => {
60
+ bundle = {
61
+ 'style.css': { type: 'asset', fileName: 'assets/style-abc123.css' },
62
+ 'main.js': { type: 'chunk', fileName: 'assets/main-def456.js' },
63
+ 'other.css': { type: 'asset', fileName: 'assets/other-789.css' },
64
+ };
65
+ });
66
+
67
+ test('replaces placeholder with CSS file names', () => {
68
+ const cssFileNames = Object.values(bundle)
69
+ .filter(b => b.type === 'asset' && b.fileName.endsWith('.css'))
70
+ .map(b => b.fileName);
71
+
72
+ expect(subject()).toBe(styleUrlsHtml(cssFileNames));
73
+ });
74
+ });
75
+ });
76
+ });
@@ -0,0 +1,67 @@
1
+ import svgr from 'vite-plugin-svgr';
2
+ import type { ViteBuildContext } from '../../types';
3
+ import { svgrPlugin } from '../svgr-plugin';
4
+
5
+ jest.mock('vite-plugin-svgr', () => jest.fn(() => ({ name: 'vite-plugin-svgr' })));
6
+
7
+ describe(svgrPlugin.name, () => {
8
+ let context: ViteBuildContext;
9
+
10
+ beforeEach(() => {
11
+ context = {
12
+ bundlerConfig: { pluginOverrides: {} },
13
+ } as ViteBuildContext;
14
+ });
15
+
16
+ const subject = () => svgrPlugin(context);
17
+
18
+ test('calls svgr with default include patterns', () => {
19
+ subject();
20
+
21
+ expect(svgr).toHaveBeenCalledWith({
22
+ include: ['**/*.svg?component', '**/@servicetitan/anvil2/**/*.svg'],
23
+ });
24
+ });
25
+
26
+ describe('when include is overridden', () => {
27
+ const include = ['**/*.svg'];
28
+
29
+ beforeEach(() => {
30
+ context.bundlerConfig.pluginOverrides.svgr = { include };
31
+ });
32
+
33
+ test('passes include to svgr', () => {
34
+ subject();
35
+
36
+ expect(svgr).toHaveBeenCalledWith(expect.objectContaining({ include }));
37
+ });
38
+ });
39
+
40
+ describe('when exclude is overridden', () => {
41
+ const exclude = ['**/icons/**'];
42
+
43
+ beforeEach(() => {
44
+ context.bundlerConfig.pluginOverrides.svgr = { exclude };
45
+ });
46
+
47
+ test('passes exclude to svgr', () => {
48
+ subject();
49
+
50
+ expect(svgr).toHaveBeenCalledWith(expect.objectContaining({ exclude }));
51
+ });
52
+ });
53
+
54
+ describe('when svgrOptions is overridden', () => {
55
+ const svgrOptions = { icon: true };
56
+
57
+ beforeEach(() => {
58
+ context.bundlerConfig.pluginOverrides.svgr = { svgrOptions };
59
+ });
60
+
61
+ test('passes svgrOptions to svgr', () => {
62
+ subject();
63
+
64
+ expect(svgr).toHaveBeenCalledWith(expect.objectContaining({ svgrOptions }));
65
+ });
66
+ });
67
+ });
@@ -0,0 +1,120 @@
1
+ import path from 'path';
2
+ import { virtualModules } from '../../../core';
3
+ import { virtualModulesPlugin } from '../virtual-modules-plugin';
4
+
5
+ jest.mock('../../../core', () => ({
6
+ virtualModules: jest.fn(),
7
+ }));
8
+
9
+ describe(virtualModulesPlugin.name, () => {
10
+ const VIRTUAL_PREFIX = '\0VIRTUAL';
11
+ const indexCode = "import App from './app';\nregister(App, 'my-component');";
12
+ const designSystemCss = '@import "design-system";';
13
+
14
+ let context: any;
15
+ let modules: { index?: string; designSystem?: string };
16
+
17
+ beforeEach(() => {
18
+ context = {
19
+ build: { isProduction: true },
20
+ package: { destination: '/dist', isWebComponent: false },
21
+ };
22
+ modules = {};
23
+ jest.mocked(virtualModules).mockReturnValue(modules);
24
+ });
25
+
26
+ const subject = () => virtualModulesPlugin(context);
27
+
28
+ test('returns undefined when no virtual modules exist', () => {
29
+ expect(subject()).toBeUndefined();
30
+ });
31
+
32
+ describe('when index module exists', () => {
33
+ beforeEach(() => (modules.index = indexCode));
34
+
35
+ test('returns plugin with correct name', () => {
36
+ expect(subject()!.name).toBe('virtual-modules');
37
+ });
38
+
39
+ describe('resolveId', () => {
40
+ const subject = () => {
41
+ const plugin = virtualModulesPlugin(context)!;
42
+ return (source: string, importer?: string) =>
43
+ (plugin.resolveId as Function).call(plugin, source, importer);
44
+ };
45
+
46
+ test('resolves known module to virtual id', () => {
47
+ expect(subject()('./index')).toBe(`${VIRTUAL_PREFIX}./index`);
48
+ });
49
+
50
+ test('returns undefined for unknown module', () => {
51
+ expect(subject()('./unknown')).toBeUndefined();
52
+ });
53
+
54
+ test('resolves relative import from virtual module to destination', () => {
55
+ const result = subject()('./app', `${VIRTUAL_PREFIX}./index`);
56
+
57
+ expect(result).toBe(path.resolve('/dist', './app.js'));
58
+ });
59
+
60
+ test('returns undefined for relative import from non-virtual module', () => {
61
+ expect(subject()('./app', '/src/index.ts')).toBeUndefined();
62
+ });
63
+ });
64
+
65
+ describe('load', () => {
66
+ const subject = () => {
67
+ const plugin = virtualModulesPlugin(context)!;
68
+ return (id: string) => (plugin.load as Function).call(plugin, id);
69
+ };
70
+
71
+ test('returns module code for virtual id', () => {
72
+ expect(subject()(`${VIRTUAL_PREFIX}./index`)).toBe(indexCode);
73
+ });
74
+
75
+ test('returns undefined for non-virtual id', () => {
76
+ expect(subject()('./index')).toBeUndefined();
77
+ });
78
+ });
79
+ });
80
+
81
+ describe('when index module exists for dev web component', () => {
82
+ beforeEach(() => {
83
+ modules.index = indexCode;
84
+ context.build.isProduction = false;
85
+ context.package.isWebComponent = true;
86
+ });
87
+
88
+ test('wraps App with withCssInjector', () => {
89
+ const plugin = subject()!;
90
+ const code = (plugin.load as Function).call(plugin, `${VIRTUAL_PREFIX}./index`);
91
+
92
+ expect(code).toContain(
93
+ "import { withCssInjector } from '@servicetitan/web-components'"
94
+ );
95
+ expect(code).toContain('const WrappedApp = withCssInjector(App)');
96
+ expect(code).toContain('register(WrappedApp');
97
+ });
98
+ });
99
+
100
+ describe('when design system module exists', () => {
101
+ beforeEach(() => (modules.designSystem = designSystemCss));
102
+
103
+ test('resolves design-system.css to virtual id', () => {
104
+ const plugin = subject()!;
105
+ const result = (plugin.resolveId as Function).call(plugin, './design-system.css');
106
+
107
+ expect(result).toBe(`${VIRTUAL_PREFIX}./design-system.css`);
108
+ });
109
+
110
+ test('loads design system code', () => {
111
+ const plugin = subject()!;
112
+ const result = (plugin.load as Function).call(
113
+ plugin,
114
+ `${VIRTUAL_PREFIX}./design-system.css`
115
+ );
116
+
117
+ expect(result).toBe(designSystemCss);
118
+ });
119
+ });
120
+ });
@@ -0,0 +1,60 @@
1
+ import type { Plugin } from 'vite';
2
+ import cssInjectedByJsPlugin from 'vite-plugin-css-injected-by-js';
3
+ import type { BuildContext } from '../../core';
4
+
5
+ /*
6
+ * injectCodeFunction is serialized to a string and runs in the browser —
7
+ * it cannot reference outer scope or imports.
8
+ * It communicates with with-css-injector.tsx via window.__mfeStyles__.
9
+ *
10
+ * The plugin creates CSSStyleSheet objects and stores them in emitter.sheets.
11
+ * HMR updates call replaceSync() on existing sheets — all shadow roots that
12
+ * adopted the sheet see the update automatically (shared reference).
13
+ * Events are only dispatched for new sheets so the injector can adopt them.
14
+ *
15
+ * removeStyleCodeFunction is not needed: CSS HMR calls inject with updated CSS,
16
+ * and replaceSync() overwrites the existing CSSStyleSheet in place.
17
+ * If JS HMR is ever added, removeStyleCodeFunction would be needed to clean up
18
+ * styles when a source file drops a CSS import (e.g. removing `import './button.css'`).
19
+ * Without JS HMR, that change triggers a full page reload, so cleanup is automatic.
20
+ */
21
+ export function cssInjectorPlugin(context: BuildContext): Plugin[] {
22
+ const { name, isProduction } = context.build;
23
+ const { isWebComponent } = context.package;
24
+ if (isWebComponent && !isProduction) {
25
+ return cssInjectedByJsPlugin({
26
+ dev: { enableDev: true },
27
+ styleId: name,
28
+ /*
29
+ * Serialized to a string and executed in the browser at runtime — uses
30
+ * constructable CSSStyleSheet which jsdom does not support, and .toString()
31
+ * serialization means a Node.js unit test wouldn't catch closure or scope issues.
32
+ */
33
+ injectCodeFunction: /* istanbul ignore next */ function injectWebComponentStyles(
34
+ css,
35
+ { styleId, attributes }
36
+ ) {
37
+ const componentName = styleId as string;
38
+ const sheetId = attributes!['data-vite-dev-id'];
39
+ window.__mfeStyles__ ??= {};
40
+ const mfeStyles = window.__mfeStyles__;
41
+ mfeStyles[componentName] ??= Object.assign(new EventTarget(), {
42
+ sheets: new Map(),
43
+ });
44
+ const emitter = mfeStyles[componentName];
45
+ let sheet = emitter.sheets.get(sheetId);
46
+ if (sheet) {
47
+ sheet.replaceSync(css);
48
+ } else {
49
+ sheet = new CSSStyleSheet();
50
+ sheet.replaceSync(css);
51
+ emitter.sheets.set(sheetId, sheet);
52
+ emitter.dispatchEvent(
53
+ new CustomEvent<string>('new-sheet', { detail: sheetId })
54
+ );
55
+ }
56
+ },
57
+ });
58
+ }
59
+ return [];
60
+ }
@@ -0,0 +1,96 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import type { Plugin } from 'vite';
4
+ import { getBundleType, type BuildContext } from '../../core';
5
+ import { log } from '../../utils';
6
+
7
+ /**
8
+ * URL rewrites for dev and preview servers.
9
+ *
10
+ * Dev serves from the project root, preview serves from outDir. Production builds output to
11
+ * dist/bundle/. Paths that work in prod (relative to index.html in outDir) break in dev and
12
+ * preview because the server root differs.
13
+ *
14
+ * - Host dev (root: project root): template uses ./shared/... which resolves to /shared/...
15
+ * but files are at dist/bundle/shared/. Rewrites to /dist/bundle/shared/... so Vite serves them.
16
+ *
17
+ * - MFE dev (root: project root): Loader reads entrypoints.json and requests assets at
18
+ * production output paths (e.g. /dist/bundle/full/index.js). Strips the outDir prefix
19
+ * so files resolve from root.
20
+ *
21
+ * - Host preview (root: dist/bundle/): shared/ is inside outDir, no rewrites needed.
22
+ *
23
+ * - MFE preview (root: dist/bundle/full/): host requests metadata.json from the parent
24
+ * dist/bundle/ and sibling bundle assets (light/, headless/). Serves the entire destination
25
+ * directory as static files.
26
+ */
27
+ export function devServerRoutingPlugin(context: BuildContext): Plugin {
28
+ const { isWebComponent, destination } = context.package;
29
+ let outDir = '';
30
+
31
+ const sharedDepsDirname = getBundleType({
32
+ ...context,
33
+ build: { ...context.build, emitExposedDependencies: true },
34
+ });
35
+
36
+ const logRequest = (req: import('http').IncomingMessage) => {
37
+ log.info(`[${log.timestamp}]: ${req.method} ${req.url}`);
38
+ };
39
+
40
+ return {
41
+ name: 'dev-server-routing',
42
+
43
+ configResolved(config) {
44
+ outDir = config.build.outDir;
45
+ },
46
+
47
+ configureServer(server) {
48
+ const outDirRelative = `/${path.relative(process.cwd(), outDir)}/`;
49
+
50
+ server.middlewares.use((req, _res, next) => {
51
+ logRequest(req);
52
+ const url = req.url ?? '';
53
+ if (isWebComponent) {
54
+ if (url.startsWith(outDirRelative)) {
55
+ req.url = url.slice(outDirRelative.length - 1);
56
+ }
57
+ } else if (url.startsWith(`/${sharedDepsDirname}/`)) {
58
+ req.url = `${outDirRelative}${url.slice(1)}`;
59
+ }
60
+ next();
61
+ });
62
+ },
63
+
64
+ configurePreviewServer(server) {
65
+ server.middlewares.use((req, _res, next) => {
66
+ logRequest(req);
67
+ next();
68
+ });
69
+
70
+ if (!isWebComponent) {
71
+ return;
72
+ }
73
+
74
+ const destDir = path.resolve(destination);
75
+ const mountPath = '/' + path.relative(process.cwd(), destDir);
76
+
77
+ const contentTypes: Record<string, string> = {
78
+ '.js': 'application/javascript',
79
+ '.css': 'text/css',
80
+ '.json': 'application/json',
81
+ };
82
+
83
+ server.middlewares.use(mountPath, (req, res, next) => {
84
+ const filePath = path.join(destDir, req.url ?? '');
85
+ if (!filePath.startsWith(destDir + path.sep) || !fs.existsSync(filePath)) {
86
+ return next();
87
+ }
88
+ const contentType = contentTypes[path.extname(filePath)];
89
+ if (contentType) {
90
+ res.setHeader('Content-Type', contentType);
91
+ }
92
+ fs.createReadStream(filePath).pipe(res);
93
+ });
94
+ },
95
+ };
96
+ }
@@ -0,0 +1,81 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import type { Plugin } from 'vite';
4
+ import { BuildContext, getExternals } from '../../core';
5
+
6
+ /*
7
+ * Externalizes shared dependencies by redirecting imports to CJS proxy modules
8
+ * that read from the host's global shared deps registry at runtime.
9
+ *
10
+ * Each shared dep gets a fake package on disk (node_modules/.startup/externals/)
11
+ * with `module.exports = SharedDependencies.Foo['scope']`.
12
+ *
13
+ * Three mechanisms work together, each handling a different mode:
14
+ *
15
+ * - resolve.alias (dev) — exact-match regex redirects `react` to the proxy package.
16
+ * Subpath imports (react/jsx-runtime) are NOT matched and resolve normally.
17
+ *
18
+ * - optimizeDeps.include (dev) — forces Vite to pre-bundle the proxy packages.
19
+ * This triggers Vite's CJS-to-ESM interop: the pre-bundled output has `export default`,
20
+ * and Vite's import-analysis plugin rewrites consumers' named imports to property access
21
+ * on the default export (e.g. `import { useState } from 'react'` becomes
22
+ * `const useState = __default["useState"]`). Without optimizeDeps, the raw CJS proxy
23
+ * would be served to the browser and fail on named imports.
24
+ *
25
+ * - resolveId (prod) — resolve.alias doesn't run during Rolldown bundling, so resolveId
26
+ * with enforce:'pre' intercepts shared dep imports before Vite's default resolver.
27
+ * Rolldown handles CJS-to-ESM interop natively via __commonJSMin/__toESM helpers.
28
+ * Only exact matches — subpath imports must NOT be redirected because they export
29
+ * different things than the barrel.
30
+ *
31
+ * The disk-based proxy + optimizeDeps complexity exists because Vite's dev server serves
32
+ * modules as native ESM without bundling — CJS virtual modules can't be served to the browser.
33
+ * When Vite's "full bundle" dev mode ships (Rolldown bundles in dev, like prod), this can be
34
+ * simplified to a single resolveId + load with a virtual CJS module for both modes (see 9ffd1815).
35
+ */
36
+ export function externalsPlugin(context: BuildContext): Plugin | undefined {
37
+ const entries = getExternals(context);
38
+ if (!entries) {
39
+ return;
40
+ }
41
+
42
+ const proxyModulesDir = path.resolve('node_modules', '.startup', 'externals');
43
+ for (const [dep, proxy] of Object.entries(entries)) {
44
+ const pkgDir = path.join(proxyModulesDir, 'node_modules', dep);
45
+ fs.mkdirSync(pkgDir, { recursive: true });
46
+ fs.writeFileSync(path.join(pkgDir, 'index.cjs'), `module.exports = ${proxy};`);
47
+ fs.writeFileSync(
48
+ path.join(pkgDir, 'package.json'),
49
+ JSON.stringify({ name: dep, main: './index.cjs' })
50
+ );
51
+ }
52
+
53
+ const proxyNodeModules = path.join(proxyModulesDir, 'node_modules');
54
+
55
+ const { isProduction } = context.build;
56
+
57
+ return {
58
+ name: 'externals',
59
+ enforce: 'pre',
60
+ config: isProduction
61
+ ? undefined
62
+ : () => ({
63
+ resolve: {
64
+ alias: Object.keys(entries).map(dep => ({
65
+ find: new RegExp(`^${dep.replace('/', '\\/')}$`),
66
+ replacement: path.join(proxyNodeModules, dep),
67
+ })),
68
+ },
69
+ optimizeDeps: {
70
+ include: Object.keys(entries),
71
+ },
72
+ }),
73
+ resolveId: isProduction
74
+ ? (source: string) => {
75
+ if (source in entries) {
76
+ return path.join(proxyNodeModules, source, 'index.cjs');
77
+ }
78
+ }
79
+ : undefined,
80
+ };
81
+ }
@@ -0,0 +1,94 @@
1
+ import { Eta } from 'eta';
2
+ import fs from 'fs';
3
+ import path from 'path';
4
+ import type { Plugin } from 'vite';
5
+ import { getSharedEntryPoints } from '../../core';
6
+ import { ViteBuildContext } from '../types';
7
+
8
+ export function htmlPlugin(context: ViteBuildContext): Plugin {
9
+ const { name, isProduction } = context.build;
10
+ const { isWebComponent } = context.package;
11
+ const { css, js } = getSharedEntryPoints(context);
12
+ const { pluginOverrides } = context.bundlerConfig;
13
+
14
+ const htmlTemplatePath = pluginOverrides.html?.template
15
+ ? path.resolve(pluginOverrides.html.template)
16
+ : path.resolve(__dirname, '../index.html');
17
+
18
+ const eta = new Eta({ views: path.dirname(htmlTemplatePath) });
19
+
20
+ let detectedFavicon: string | undefined;
21
+
22
+ function renderHtml() {
23
+ return eta.render(path.basename(htmlTemplatePath), {
24
+ title: pluginOverrides.html?.title ?? 'ServiceTitan',
25
+ favicon: pluginOverrides.html?.favicon ?? detectedFavicon,
26
+ css,
27
+ js,
28
+ isProduction,
29
+ isWebComponent,
30
+ name,
31
+ });
32
+ }
33
+
34
+ /*
35
+ * Virtual entry point for the HTML module. The file doesn't exist on disk —
36
+ * resolveId claims this path and load returns Eta-rendered HTML.
37
+ *
38
+ * Uses an absolute path (e.g., /path/to/project/index.html) instead of a
39
+ * synthetic prefix because Vite resolves asset references in HTML (favicon,
40
+ * CSS links) relative to the HTML file's directory. A non-filesystem path
41
+ * would break those references.
42
+ */
43
+ const INDEX_HTML = 'index.html';
44
+ const VIRTUAL_HTML_PATH = path.resolve(INDEX_HTML);
45
+
46
+ return {
47
+ name: 'html',
48
+ /*
49
+ * Auto-detect favicon.ico in vite's publicDir so projects following
50
+ * the convention get a working favicon link without explicit config.
51
+ */
52
+ configResolved(config) {
53
+ if (config.publicDir && fs.existsSync(path.join(config.publicDir, 'favicon.ico'))) {
54
+ detectedFavicon = '/favicon.ico';
55
+ }
56
+ },
57
+ /*
58
+ * Dev server serves HTML via middleware (load is not called in dev mode).
59
+ * Returns a callback so middleware registers after Vite's built-in middleware.
60
+ */
61
+ configureServer(server) {
62
+ return () => {
63
+ server.middlewares.use(async (req, res, next) => {
64
+ if (!req.url?.endsWith(INDEX_HTML)) {
65
+ return next();
66
+ }
67
+ let html = renderHtml();
68
+ html = await server.transformIndexHtml(req.url, html);
69
+ res.end(html);
70
+ });
71
+ };
72
+ },
73
+ resolveId(source: string, importer: string | undefined) {
74
+ /*
75
+ * Claim the HTML entry so Vite doesn't look for it on disk (it's virtual, rendered by Eta).
76
+ * Only needed for production builds — dev mode serves HTML via configureServer middleware.
77
+ */
78
+ if (source === VIRTUAL_HTML_PATH) {
79
+ return VIRTUAL_HTML_PATH;
80
+ }
81
+ if (importer?.includes(INDEX_HTML) && source.startsWith('.')) {
82
+ const resolved = path.resolve(source + '.js');
83
+ if (fs.existsSync(resolved)) {
84
+ return resolved;
85
+ }
86
+ }
87
+ },
88
+ load(id: string) {
89
+ if (id === VIRTUAL_HTML_PATH) {
90
+ return renderHtml();
91
+ }
92
+ },
93
+ };
94
+ }
@@ -0,0 +1,22 @@
1
+ import type { Plugin } from 'vite';
2
+ import { BuildContext, checkResource } from '../../core';
3
+
4
+ export function ignoreModulesPlugin(context: BuildContext): Plugin {
5
+ const VIRTUAL_PREFIX = '\0IGNORE';
6
+
7
+ const checker = checkResource(context);
8
+
9
+ return {
10
+ name: 'ignore-modules',
11
+ resolveId(source, importer) {
12
+ if (importer && checker(source, importer)) {
13
+ return `${VIRTUAL_PREFIX}${source}`;
14
+ }
15
+ },
16
+ load(id) {
17
+ if (id.startsWith(VIRTUAL_PREFIX)) {
18
+ return 'export default {}';
19
+ }
20
+ },
21
+ };
22
+ }
@@ -0,0 +1,9 @@
1
+ export * from './css-injector-plugin';
2
+ export * from './dev-server-routing-plugin';
3
+ export * from './externals-plugin';
4
+ export * from './html-plugin';
5
+ export * from './ignore-modules-plugin';
6
+ export * from './metadata-plugin';
7
+ export * from './style-urls-plugin';
8
+ export * from './svgr-plugin';
9
+ export * from './virtual-modules-plugin';