@servicetitan/startup 34.2.1 → 34.3.0-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 (514) hide show
  1. package/dist/cli/commands/build.d.ts +16 -0
  2. package/dist/cli/commands/build.d.ts.map +1 -1
  3. package/dist/cli/commands/build.js +15 -2
  4. package/dist/cli/commands/build.js.map +1 -1
  5. package/dist/cli/commands/bundle-vite.d.ts +66 -0
  6. package/dist/cli/commands/bundle-vite.d.ts.map +1 -0
  7. package/dist/cli/commands/bundle-vite.js +184 -0
  8. package/dist/cli/commands/bundle-vite.js.map +1 -0
  9. package/dist/cli/commands/get-command.d.ts.map +1 -1
  10. package/dist/cli/commands/get-command.js +2 -0
  11. package/dist/cli/commands/get-command.js.map +1 -1
  12. package/dist/cli/commands/mfe-check.d.ts.map +1 -1
  13. package/dist/cli/commands/mfe-check.js +2 -2
  14. package/dist/cli/commands/mfe-check.js.map +1 -1
  15. package/dist/cli/commands/mfe-generate-metadata.js +2 -2
  16. package/dist/cli/commands/mfe-generate-metadata.js.map +1 -1
  17. package/dist/cli/commands/mfe-package-publish.js.map +1 -1
  18. package/dist/cli/commands/start.d.ts +8 -0
  19. package/dist/cli/commands/start.d.ts.map +1 -1
  20. package/dist/cli/commands/start.js +8 -2
  21. package/dist/cli/commands/start.js.map +1 -1
  22. package/dist/cli/tasks/swc-compile-package.js +127 -0
  23. package/dist/cli/tasks/swc-compile-package.js.map +1 -0
  24. package/dist/cli/tasks/tsc-compile-package.js +46 -0
  25. package/dist/cli/tasks/tsc-compile-package.js.map +1 -0
  26. package/dist/cli/tasks/tsc-compile.js +68 -0
  27. package/dist/cli/tasks/tsc-compile.js.map +1 -0
  28. package/dist/cli/utils/bundle.d.ts +2 -5
  29. package/dist/cli/utils/bundle.d.ts.map +1 -1
  30. package/dist/cli/utils/bundle.js +18 -98
  31. package/dist/cli/utils/bundle.js.map +1 -1
  32. package/dist/core/check-resource/check-resource.d.ts +3 -0
  33. package/dist/core/check-resource/check-resource.d.ts.map +1 -0
  34. package/dist/core/check-resource/check-resource.js +40 -0
  35. package/dist/core/check-resource/check-resource.js.map +1 -0
  36. package/dist/core/check-resource/get-package-json.d.ts.map +1 -0
  37. package/dist/core/check-resource/get-package-json.js +37 -0
  38. package/dist/core/check-resource/get-package-json.js.map +1 -0
  39. package/dist/core/check-resource/index.d.ts +2 -0
  40. package/dist/core/check-resource/index.d.ts.map +1 -0
  41. package/dist/core/check-resource/index.js +13 -0
  42. package/dist/core/check-resource/index.js.map +1 -0
  43. package/dist/core/check-resource/is-optional-peer-dependency.d.ts.map +1 -0
  44. package/dist/core/check-resource/is-optional-peer-dependency.js +27 -0
  45. package/dist/core/check-resource/is-optional-peer-dependency.js.map +1 -0
  46. package/dist/core/check-resource/is-optional-react-dom-peer-dependency.d.ts.map +1 -0
  47. package/dist/core/check-resource/is-optional-react-dom-peer-dependency.js +15 -0
  48. package/dist/core/check-resource/is-optional-react-dom-peer-dependency.js.map +1 -0
  49. package/dist/core/context.d.ts +14 -0
  50. package/dist/core/context.d.ts.map +1 -0
  51. package/dist/core/context.js +62 -0
  52. package/dist/core/context.js.map +1 -0
  53. package/dist/core/defines/exposed-dependencies.d.ts +5 -0
  54. package/dist/core/defines/exposed-dependencies.d.ts.map +1 -0
  55. package/dist/core/defines/exposed-dependencies.js +26 -0
  56. package/dist/core/defines/exposed-dependencies.js.map +1 -0
  57. package/dist/core/defines/exposed-instance-dependencies.d.ts +5 -0
  58. package/dist/core/defines/exposed-instance-dependencies.d.ts.map +1 -0
  59. package/dist/core/defines/exposed-instance-dependencies.js +29 -0
  60. package/dist/core/defines/exposed-instance-dependencies.js.map +1 -0
  61. package/dist/core/defines/index.d.ts +4 -0
  62. package/dist/core/defines/index.d.ts.map +1 -0
  63. package/dist/core/defines/index.js +26 -0
  64. package/dist/core/defines/index.js.map +1 -0
  65. package/dist/core/defines/web-component-name.d.ts +5 -0
  66. package/dist/core/defines/web-component-name.d.ts.map +1 -0
  67. package/dist/core/defines/web-component-name.js +23 -0
  68. package/dist/core/defines/web-component-name.js.map +1 -0
  69. package/dist/core/externals.d.ts +3 -0
  70. package/dist/core/externals.d.ts.map +1 -0
  71. package/dist/core/externals.js +29 -0
  72. package/dist/core/externals.js.map +1 -0
  73. package/dist/core/get-exposed-dependencies-entry-points.d.ts +11 -0
  74. package/dist/core/get-exposed-dependencies-entry-points.d.ts.map +1 -0
  75. package/dist/core/get-exposed-dependencies-entry-points.js +82 -0
  76. package/dist/core/get-exposed-dependencies-entry-points.js.map +1 -0
  77. package/dist/core/index.d.ts +9 -0
  78. package/dist/core/index.d.ts.map +1 -0
  79. package/dist/core/index.js +26 -0
  80. package/dist/core/index.js.map +1 -0
  81. package/dist/core/types.d.ts +55 -0
  82. package/dist/core/types.d.ts.map +1 -0
  83. package/dist/core/types.js +6 -0
  84. package/dist/core/types.js.map +1 -0
  85. package/dist/core/utils/build-metadata.d.ts.map +1 -0
  86. package/dist/core/utils/build-metadata.js +50 -0
  87. package/dist/core/utils/build-metadata.js.map +1 -0
  88. package/dist/core/utils/generate-metadata.d.ts +3 -0
  89. package/dist/core/utils/generate-metadata.d.ts.map +1 -0
  90. package/dist/core/utils/generate-metadata.js +40 -0
  91. package/dist/core/utils/generate-metadata.js.map +1 -0
  92. package/dist/core/utils/get-bundle-type.d.ts +3 -0
  93. package/dist/core/utils/get-bundle-type.d.ts.map +1 -0
  94. package/dist/core/utils/get-bundle-type.js +27 -0
  95. package/dist/core/utils/get-bundle-type.js.map +1 -0
  96. package/dist/core/utils/get-exposed-dependencies.d.ts.map +1 -0
  97. package/dist/core/utils/get-exposed-dependencies.js +21 -0
  98. package/dist/core/utils/get-exposed-dependencies.js.map +1 -0
  99. package/dist/core/utils/get-launchdarkly-sdk-version.d.ts.map +1 -0
  100. package/dist/core/utils/get-launchdarkly-sdk-version.js +26 -0
  101. package/dist/core/utils/get-launchdarkly-sdk-version.js.map +1 -0
  102. package/dist/core/utils/get-output-path.d.ts +3 -0
  103. package/dist/core/utils/get-output-path.d.ts.map +1 -0
  104. package/dist/core/utils/get-output-path.js +32 -0
  105. package/dist/core/utils/get-output-path.js.map +1 -0
  106. package/dist/core/utils/get-web-components-version.d.ts.map +1 -0
  107. package/dist/core/utils/get-web-components-version.js +22 -0
  108. package/dist/core/utils/get-web-components-version.js.map +1 -0
  109. package/dist/core/utils/index.d.ts +9 -0
  110. package/dist/core/utils/index.d.ts.map +1 -0
  111. package/dist/core/utils/index.js +27 -0
  112. package/dist/core/utils/index.js.map +1 -0
  113. package/dist/core/utils/stringify-config.d.ts +2 -0
  114. package/dist/core/utils/stringify-config.d.ts.map +1 -0
  115. package/dist/core/utils/stringify-config.js +35 -0
  116. package/dist/core/utils/stringify-config.js.map +1 -0
  117. package/dist/core/virtual-modules.d.ts +9 -0
  118. package/dist/core/virtual-modules.d.ts.map +1 -0
  119. package/dist/core/virtual-modules.js +84 -0
  120. package/dist/core/virtual-modules.js.map +1 -0
  121. package/dist/index.d.ts +1 -0
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +1 -0
  124. package/dist/index.js.map +1 -1
  125. package/dist/storybook-config/webpack-final.d.ts +1 -1
  126. package/dist/storybook-config/webpack-final.d.ts.map +1 -1
  127. package/dist/storybook-config/webpack-final.js +18 -6
  128. package/dist/storybook-config/webpack-final.js.map +1 -1
  129. package/dist/utils/get-configuration.d.ts +28 -0
  130. package/dist/utils/get-configuration.d.ts.map +1 -1
  131. package/dist/utils/get-configuration.js +42 -1
  132. package/dist/utils/get-configuration.js.map +1 -1
  133. package/dist/utils/get-package-data.d.ts.map +1 -1
  134. package/dist/utils/get-package-data.js +3 -2
  135. package/dist/utils/get-package-data.js.map +1 -1
  136. package/dist/vite/base-config.d.ts +4 -0
  137. package/dist/vite/base-config.d.ts.map +1 -0
  138. package/dist/vite/base-config.js +76 -0
  139. package/dist/vite/base-config.js.map +1 -0
  140. package/dist/vite/build-shared-deps.d.ts +3 -0
  141. package/dist/vite/build-shared-deps.d.ts.map +1 -0
  142. package/dist/vite/build-shared-deps.js +310 -0
  143. package/dist/vite/build-shared-deps.js.map +1 -0
  144. package/dist/vite/create-vite-config.d.ts +3 -0
  145. package/dist/vite/create-vite-config.d.ts.map +1 -0
  146. package/dist/vite/create-vite-config.js +52 -0
  147. package/dist/vite/create-vite-config.js.map +1 -0
  148. package/dist/vite/define-config.d.ts +12 -0
  149. package/dist/vite/define-config.d.ts.map +1 -0
  150. package/dist/vite/define-config.js +15 -0
  151. package/dist/vite/define-config.js.map +1 -0
  152. package/dist/vite/load-config-file.d.ts +6 -0
  153. package/dist/vite/load-config-file.d.ts.map +1 -0
  154. package/dist/vite/load-config-file.js +107 -0
  155. package/dist/vite/load-config-file.js.map +1 -0
  156. package/dist/vite/merge-config.d.ts +6 -0
  157. package/dist/vite/merge-config.d.ts.map +1 -0
  158. package/dist/vite/merge-config.js +106 -0
  159. package/dist/vite/merge-config.js.map +1 -0
  160. package/dist/vite/plugins/css-injector-plugin.d.ts +15 -0
  161. package/dist/vite/plugins/css-injector-plugin.d.ts.map +1 -0
  162. package/dist/vite/plugins/css-injector-plugin.js +76 -0
  163. package/dist/vite/plugins/css-injector-plugin.js.map +1 -0
  164. package/dist/vite/plugins/dev-bundle-routing-plugin.d.ts +7 -0
  165. package/dist/vite/plugins/dev-bundle-routing-plugin.d.ts.map +1 -0
  166. package/dist/vite/plugins/dev-bundle-routing-plugin.js +48 -0
  167. package/dist/vite/plugins/dev-bundle-routing-plugin.js.map +1 -0
  168. package/dist/vite/plugins/dev-server-routing-plugin.d.ts +12 -0
  169. package/dist/vite/plugins/dev-server-routing-plugin.d.ts.map +1 -0
  170. package/dist/vite/plugins/dev-server-routing-plugin.js +85 -0
  171. package/dist/vite/plugins/dev-server-routing-plugin.js.map +1 -0
  172. package/dist/vite/plugins/externals-plugin.d.ts +4 -0
  173. package/dist/vite/plugins/externals-plugin.d.ts.map +1 -0
  174. package/dist/vite/plugins/externals-plugin.js +39 -0
  175. package/dist/vite/plugins/externals-plugin.js.map +1 -0
  176. package/dist/vite/plugins/full-bundle-proxy-plugin.d.ts +14 -0
  177. package/dist/vite/plugins/full-bundle-proxy-plugin.d.ts.map +1 -0
  178. package/dist/vite/plugins/full-bundle-proxy-plugin.js +48 -0
  179. package/dist/vite/plugins/full-bundle-proxy-plugin.js.map +1 -0
  180. package/dist/vite/plugins/html-plugin.d.ts +5 -0
  181. package/dist/vite/plugins/html-plugin.d.ts.map +1 -0
  182. package/dist/vite/plugins/html-plugin.js +74 -0
  183. package/dist/vite/plugins/html-plugin.js.map +1 -0
  184. package/dist/vite/plugins/ignore-modules-plugin.d.ts +4 -0
  185. package/dist/vite/plugins/ignore-modules-plugin.d.ts.map +1 -0
  186. package/dist/vite/plugins/ignore-modules-plugin.js +30 -0
  187. package/dist/vite/plugins/ignore-modules-plugin.js.map +1 -0
  188. package/dist/vite/plugins/index.d.ts +10 -0
  189. package/dist/vite/plugins/index.d.ts.map +1 -0
  190. package/dist/vite/plugins/index.js +28 -0
  191. package/dist/vite/plugins/index.js.map +1 -0
  192. package/dist/vite/plugins/metadata-plugin.d.ts +4 -0
  193. package/dist/vite/plugins/metadata-plugin.d.ts.map +1 -0
  194. package/dist/vite/plugins/metadata-plugin.js +86 -0
  195. package/dist/vite/plugins/metadata-plugin.js.map +1 -0
  196. package/dist/vite/plugins/outdir-rewrite-plugin.d.ts +9 -0
  197. package/dist/vite/plugins/outdir-rewrite-plugin.d.ts.map +1 -0
  198. package/dist/vite/plugins/preview-static-files-plugin.d.ts +9 -0
  199. package/dist/vite/plugins/preview-static-files-plugin.d.ts.map +1 -0
  200. package/dist/vite/plugins/preview-static-files-plugin.js +50 -0
  201. package/dist/vite/plugins/preview-static-files-plugin.js.map +1 -0
  202. package/dist/vite/plugins/shared-deps-dev-server-plugin.d.ts +11 -0
  203. package/dist/vite/plugins/shared-deps-dev-server-plugin.d.ts.map +1 -0
  204. package/dist/vite/plugins/shared-deps-rewrite-plugin.d.ts +10 -0
  205. package/dist/vite/plugins/shared-deps-rewrite-plugin.d.ts.map +1 -0
  206. package/dist/vite/plugins/shared-deps-rewrite-plugin.js +51 -0
  207. package/dist/vite/plugins/shared-deps-rewrite-plugin.js.map +1 -0
  208. package/dist/vite/plugins/style-urls-plugin.d.ts +4 -0
  209. package/dist/vite/plugins/style-urls-plugin.d.ts.map +1 -0
  210. package/dist/vite/plugins/style-urls-plugin.js +29 -0
  211. package/dist/vite/plugins/style-urls-plugin.js.map +1 -0
  212. package/dist/vite/plugins/svgr-plugin.d.ts +4 -0
  213. package/dist/vite/plugins/svgr-plugin.d.ts.map +1 -0
  214. package/dist/vite/plugins/svgr-plugin.js +31 -0
  215. package/dist/vite/plugins/svgr-plugin.js.map +1 -0
  216. package/dist/vite/plugins/virtual-modules-plugin.d.ts +4 -0
  217. package/dist/vite/plugins/virtual-modules-plugin.d.ts.map +1 -0
  218. package/dist/vite/plugins/virtual-modules-plugin.js +71 -0
  219. package/dist/vite/plugins/virtual-modules-plugin.js.map +1 -0
  220. package/dist/webpack/configs/amd-config.d.ts +3 -2
  221. package/dist/webpack/configs/amd-config.d.ts.map +1 -1
  222. package/dist/webpack/configs/amd-config.js.map +1 -1
  223. package/dist/webpack/configs/cache-config.d.ts +3 -2
  224. package/dist/webpack/configs/cache-config.d.ts.map +1 -1
  225. package/dist/webpack/configs/cache-config.js +1 -1
  226. package/dist/webpack/configs/cache-config.js.map +1 -1
  227. package/dist/webpack/configs/dev-server-config.d.ts +3 -2
  228. package/dist/webpack/configs/dev-server-config.d.ts.map +1 -1
  229. package/dist/webpack/configs/dev-server-config.js +1 -1
  230. package/dist/webpack/configs/dev-server-config.js.map +1 -1
  231. package/dist/webpack/configs/devtool-config.d.ts +3 -2
  232. package/dist/webpack/configs/devtool-config.d.ts.map +1 -1
  233. package/dist/webpack/configs/devtool-config.js +1 -1
  234. package/dist/webpack/configs/devtool-config.js.map +1 -1
  235. package/dist/webpack/configs/entry.config.d.ts +3 -2
  236. package/dist/webpack/configs/entry.config.d.ts.map +1 -1
  237. package/dist/webpack/configs/entry.config.js +6 -5
  238. package/dist/webpack/configs/entry.config.js.map +1 -1
  239. package/dist/webpack/configs/externals-config.d.ts +3 -2
  240. package/dist/webpack/configs/externals-config.d.ts.map +1 -1
  241. package/dist/webpack/configs/externals-config.js +4 -14
  242. package/dist/webpack/configs/externals-config.js.map +1 -1
  243. package/dist/webpack/configs/index.d.ts +0 -1
  244. package/dist/webpack/configs/index.d.ts.map +1 -1
  245. package/dist/webpack/configs/index.js.map +1 -1
  246. package/dist/webpack/configs/loaders/css-loader.d.ts +2 -2
  247. package/dist/webpack/configs/loaders/css-loader.d.ts.map +1 -1
  248. package/dist/webpack/configs/loaders/css-loader.js +2 -1
  249. package/dist/webpack/configs/loaders/css-loader.js.map +1 -1
  250. package/dist/webpack/configs/loaders/style-loader.d.ts +2 -2
  251. package/dist/webpack/configs/loaders/style-loader.d.ts.map +1 -1
  252. package/dist/webpack/configs/loaders/style-loader.js +4 -1
  253. package/dist/webpack/configs/loaders/style-loader.js.map +1 -1
  254. package/dist/webpack/configs/module-config.d.ts +3 -2
  255. package/dist/webpack/configs/module-config.d.ts.map +1 -1
  256. package/dist/webpack/configs/module-config.js.map +1 -1
  257. package/dist/webpack/configs/optimization-config.d.ts +3 -2
  258. package/dist/webpack/configs/optimization-config.d.ts.map +1 -1
  259. package/dist/webpack/configs/optimization-config.js +10 -7
  260. package/dist/webpack/configs/optimization-config.js.map +1 -1
  261. package/dist/webpack/configs/output-config.d.ts +3 -2
  262. package/dist/webpack/configs/output-config.d.ts.map +1 -1
  263. package/dist/webpack/configs/output-config.js +15 -24
  264. package/dist/webpack/configs/output-config.js.map +1 -1
  265. package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts +3 -8
  266. package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts.map +1 -1
  267. package/dist/webpack/configs/plugins/assets-manifest-plugin.js +10 -47
  268. package/dist/webpack/configs/plugins/assets-manifest-plugin.js.map +1 -1
  269. package/dist/webpack/configs/plugins/bundle-analyser-plugin.d.ts +3 -2
  270. package/dist/webpack/configs/plugins/bundle-analyser-plugin.d.ts.map +1 -1
  271. package/dist/webpack/configs/plugins/bundle-analyser-plugin.js +6 -6
  272. package/dist/webpack/configs/plugins/bundle-analyser-plugin.js.map +1 -1
  273. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.d.ts +3 -2
  274. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.d.ts.map +1 -1
  275. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js +4 -13
  276. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js.map +1 -1
  277. package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.d.ts +3 -2
  278. package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.d.ts.map +1 -1
  279. package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.js +4 -12
  280. package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.js.map +1 -1
  281. package/dist/webpack/configs/plugins/define-web-component-name-plugin.d.ts +3 -2
  282. package/dist/webpack/configs/plugins/define-web-component-name-plugin.d.ts.map +1 -1
  283. package/dist/webpack/configs/plugins/define-web-component-name-plugin.js +4 -6
  284. package/dist/webpack/configs/plugins/define-web-component-name-plugin.js.map +1 -1
  285. package/dist/webpack/configs/plugins/filter-warnings-plugin.d.ts +3 -2
  286. package/dist/webpack/configs/plugins/filter-warnings-plugin.d.ts.map +1 -1
  287. package/dist/webpack/configs/plugins/filter-warnings-plugin.js +2 -2
  288. package/dist/webpack/configs/plugins/filter-warnings-plugin.js.map +1 -1
  289. package/dist/webpack/configs/plugins/html-plugin.d.ts +3 -2
  290. package/dist/webpack/configs/plugins/html-plugin.d.ts.map +1 -1
  291. package/dist/webpack/configs/plugins/html-plugin.js +5 -2
  292. package/dist/webpack/configs/plugins/html-plugin.js.map +1 -1
  293. package/dist/webpack/configs/plugins/html-tags-plugin.d.ts +3 -2
  294. package/dist/webpack/configs/plugins/html-tags-plugin.d.ts.map +1 -1
  295. package/dist/webpack/configs/plugins/html-tags-plugin.js +8 -19
  296. package/dist/webpack/configs/plugins/html-tags-plugin.js.map +1 -1
  297. package/dist/webpack/configs/plugins/ignore-plugin/get-package-json.js +1 -1
  298. package/dist/webpack/configs/plugins/ignore-plugin/get-package-json.js.map +1 -1
  299. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.d.ts +17 -3
  300. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.d.ts.map +1 -1
  301. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js +45 -6
  302. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js.map +1 -1
  303. package/dist/webpack/configs/plugins/mini-css-extract-plugin.d.ts +3 -2
  304. package/dist/webpack/configs/plugins/mini-css-extract-plugin.d.ts.map +1 -1
  305. package/dist/webpack/configs/plugins/mini-css-extract-plugin.js +4 -2
  306. package/dist/webpack/configs/plugins/mini-css-extract-plugin.js.map +1 -1
  307. package/dist/webpack/configs/plugins/moment-locales-plugin.d.ts +3 -2
  308. package/dist/webpack/configs/plugins/moment-locales-plugin.d.ts.map +1 -1
  309. package/dist/webpack/configs/plugins/moment-locales-plugin.js.map +1 -1
  310. package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.d.ts +3 -2
  311. package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.d.ts.map +1 -1
  312. package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.js +1 -1
  313. package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.js.map +1 -1
  314. package/dist/webpack/configs/plugins/virtual-modules-plugin.d.ts +3 -3
  315. package/dist/webpack/configs/plugins/virtual-modules-plugin.d.ts.map +1 -1
  316. package/dist/webpack/configs/plugins/virtual-modules-plugin.js +13 -56
  317. package/dist/webpack/configs/plugins/virtual-modules-plugin.js.map +1 -1
  318. package/dist/webpack/configs/plugins/watch-run-plugin.d.ts +3 -2
  319. package/dist/webpack/configs/plugins/watch-run-plugin.d.ts.map +1 -1
  320. package/dist/webpack/configs/plugins/watch-run-plugin.js.map +1 -1
  321. package/dist/webpack/configs/plugins-config.d.ts +3 -2
  322. package/dist/webpack/configs/plugins-config.d.ts.map +1 -1
  323. package/dist/webpack/configs/plugins-config.js.map +1 -1
  324. package/dist/webpack/configs/resolve-config.d.ts +3 -2
  325. package/dist/webpack/configs/resolve-config.d.ts.map +1 -1
  326. package/dist/webpack/configs/resolve-config.js.map +1 -1
  327. package/dist/webpack/configs/rules/css-rules.d.ts +2 -2
  328. package/dist/webpack/configs/rules/css-rules.d.ts.map +1 -1
  329. package/dist/webpack/configs/rules/css-rules.js +2 -1
  330. package/dist/webpack/configs/rules/css-rules.js.map +1 -1
  331. package/dist/webpack/configs/rules/font-rules.d.ts +2 -2
  332. package/dist/webpack/configs/rules/font-rules.d.ts.map +1 -1
  333. package/dist/webpack/configs/rules/font-rules.js.map +1 -1
  334. package/dist/webpack/configs/rules/image-rules.d.ts +2 -2
  335. package/dist/webpack/configs/rules/image-rules.d.ts.map +1 -1
  336. package/dist/webpack/configs/rules/image-rules.js.map +1 -1
  337. package/dist/webpack/configs/rules/js-rules.d.ts +2 -2
  338. package/dist/webpack/configs/rules/js-rules.d.ts.map +1 -1
  339. package/dist/webpack/configs/rules/js-rules.js +3 -1
  340. package/dist/webpack/configs/rules/js-rules.js.map +1 -1
  341. package/dist/webpack/configs/rules/less-rules.d.ts +2 -2
  342. package/dist/webpack/configs/rules/less-rules.d.ts.map +1 -1
  343. package/dist/webpack/configs/rules/less-rules.js.map +1 -1
  344. package/dist/webpack/configs/rules/scss-rules.d.ts +2 -2
  345. package/dist/webpack/configs/rules/scss-rules.d.ts.map +1 -1
  346. package/dist/webpack/configs/rules/scss-rules.js.map +1 -1
  347. package/dist/webpack/configs/rules/svg-rules.d.ts +2 -2
  348. package/dist/webpack/configs/rules/svg-rules.d.ts.map +1 -1
  349. package/dist/webpack/configs/rules/svg-rules.js.map +1 -1
  350. package/dist/webpack/configs/rules-config.d.ts +3 -2
  351. package/dist/webpack/configs/rules-config.d.ts.map +1 -1
  352. package/dist/webpack/configs/rules-config.js +2 -2
  353. package/dist/webpack/configs/rules-config.js.map +1 -1
  354. package/dist/webpack/configs/stats-config.d.ts +3 -2
  355. package/dist/webpack/configs/stats-config.d.ts.map +1 -1
  356. package/dist/webpack/configs/stats-config.js.map +1 -1
  357. package/dist/webpack/configs/watch-options-config.d.ts +2 -2
  358. package/dist/webpack/configs/watch-options-config.d.ts.map +1 -1
  359. package/dist/webpack/configs/watch-options-config.js +2 -2
  360. package/dist/webpack/configs/watch-options-config.js.map +1 -1
  361. package/dist/webpack/create-webpack-config.d.ts +10 -0
  362. package/dist/webpack/create-webpack-config.d.ts.map +1 -1
  363. package/dist/webpack/create-webpack-config.js +109 -41
  364. package/dist/webpack/create-webpack-config.js.map +1 -1
  365. package/dist/webpack/types.d.ts +4 -11
  366. package/dist/webpack/types.d.ts.map +1 -1
  367. package/dist/webpack/utils/index.d.ts +0 -1
  368. package/dist/webpack/utils/index.d.ts.map +1 -1
  369. package/dist/webpack/utils/index.js +0 -1
  370. package/dist/webpack/utils/index.js.map +1 -1
  371. package/package.json +9 -6
  372. package/patches/vite-plugin-css-injected-by-js+3.5.2.patch +63 -0
  373. package/src/cli/commands/__tests__/mfe-generate-metadata.test.ts +3 -4
  374. package/src/cli/commands/build.ts +7 -2
  375. package/src/cli/commands/bundle-vite.ts +112 -0
  376. package/src/cli/commands/get-command.ts +2 -0
  377. package/src/cli/commands/mfe-check.ts +1 -2
  378. package/src/cli/commands/mfe-generate-metadata.ts +1 -1
  379. package/src/cli/commands/mfe-package-publish.ts +1 -1
  380. package/src/cli/commands/start.ts +5 -2
  381. package/src/cli/utils/__tests__/bundle.test.ts +19 -10
  382. package/src/cli/utils/bundle.ts +20 -101
  383. package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/__tests__/check-resource.test.ts +18 -5
  384. package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/check-resource.ts +4 -4
  385. package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/get-package-json.ts +2 -2
  386. package/src/core/check-resource/index.ts +1 -0
  387. package/src/core/context.ts +65 -0
  388. package/src/core/defines/exposed-dependencies.ts +21 -0
  389. package/src/core/defines/exposed-instance-dependencies.ts +19 -0
  390. package/src/core/defines/index.ts +3 -0
  391. package/src/core/defines/web-component-name.ts +15 -0
  392. package/src/core/externals.ts +23 -0
  393. package/src/core/get-exposed-dependencies-entry-points.ts +59 -0
  394. package/src/core/index.ts +8 -0
  395. package/src/core/types.ts +59 -0
  396. package/src/{webpack/configs → core}/utils/__tests__/build-metadata.test.ts +2 -2
  397. package/src/{webpack/configs → core}/utils/__tests__/generate-metadata.test.ts +27 -13
  398. package/src/{webpack/configs → core}/utils/build-metadata.ts +1 -1
  399. package/src/{webpack/configs → core}/utils/generate-metadata.ts +7 -6
  400. package/src/core/utils/get-bundle-type.ts +20 -0
  401. package/src/{webpack/configs → core}/utils/get-launchdarkly-sdk-version.ts +1 -1
  402. package/src/core/utils/get-output-path.ts +18 -0
  403. package/src/{webpack/configs → core}/utils/get-web-components-version.ts +1 -1
  404. package/src/core/utils/index.ts +8 -0
  405. package/src/core/virtual-modules.ts +76 -0
  406. package/src/index.ts +1 -0
  407. package/src/storybook-config/__tests__/webpack-final.test.ts +5 -2
  408. package/src/storybook-config/webpack-final.ts +24 -10
  409. package/src/utils/__tests__/get-configuration.test.ts +99 -1
  410. package/src/utils/__tests__/get-package-data.test.ts +35 -1
  411. package/src/utils/get-configuration.ts +92 -1
  412. package/src/utils/get-package-data.ts +3 -1
  413. package/src/vite/__tests__/define-config.test.ts +13 -0
  414. package/src/vite/__tests__/load-config-file.test.ts +115 -0
  415. package/src/vite/__tests__/merge-config.test.ts +173 -0
  416. package/src/vite/base-config.ts +79 -0
  417. package/src/vite/build-shared-deps.ts +320 -0
  418. package/src/vite/create-vite-config.ts +50 -0
  419. package/src/vite/define-config.ts +20 -0
  420. package/src/vite/index.html +29 -0
  421. package/src/vite/load-config-file.ts +54 -0
  422. package/src/vite/merge-config.ts +93 -0
  423. package/src/vite/plugins/css-injector-plugin.ts +85 -0
  424. package/src/vite/plugins/dev-server-routing-plugin.ts +89 -0
  425. package/src/vite/plugins/externals-plugin.ts +27 -0
  426. package/src/vite/plugins/html-plugin.ts +65 -0
  427. package/src/vite/plugins/ignore-modules-plugin.ts +22 -0
  428. package/src/vite/plugins/index.ts +9 -0
  429. package/src/vite/plugins/metadata-plugin.ts +78 -0
  430. package/src/vite/plugins/style-urls-plugin.ts +34 -0
  431. package/src/vite/plugins/svgr-plugin.ts +11 -0
  432. package/src/vite/plugins/virtual-modules-plugin.ts +74 -0
  433. package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +2 -2
  434. package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +11 -11
  435. package/src/webpack/__tests__/create-webpack-config.test.ts +3 -2
  436. package/src/webpack/configs/amd-config.ts +3 -2
  437. package/src/webpack/configs/cache-config.ts +4 -3
  438. package/src/webpack/configs/dev-server-config.ts +8 -3
  439. package/src/webpack/configs/devtool-config.ts +4 -3
  440. package/src/webpack/configs/entry.config.ts +8 -7
  441. package/src/webpack/configs/externals-config.ts +5 -21
  442. package/src/webpack/configs/index.ts +0 -1
  443. package/src/webpack/configs/loaders/css-loader.ts +3 -2
  444. package/src/webpack/configs/loaders/style-loader.ts +5 -5
  445. package/src/webpack/configs/module-config.ts +3 -2
  446. package/src/webpack/configs/optimization-config.ts +16 -11
  447. package/src/webpack/configs/output-config.ts +16 -22
  448. package/src/webpack/configs/plugins/assets-manifest-plugin.ts +9 -36
  449. package/src/webpack/configs/plugins/bundle-analyser-plugin.ts +8 -8
  450. package/src/webpack/configs/plugins/define-exposed-dependencies-plugin.ts +7 -15
  451. package/src/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.ts +7 -13
  452. package/src/webpack/configs/plugins/define-web-component-name-plugin.ts +7 -8
  453. package/src/webpack/configs/plugins/filter-warnings-plugin.ts +4 -3
  454. package/src/webpack/configs/plugins/html-plugin.ts +7 -6
  455. package/src/webpack/configs/plugins/html-tags-plugin.ts +7 -16
  456. package/src/webpack/configs/plugins/ignore-plugin/empty-module.js +1 -0
  457. package/src/webpack/configs/plugins/ignore-plugin/ignore-plugin.ts +48 -6
  458. package/src/webpack/configs/plugins/mini-css-extract-plugin.ts +10 -5
  459. package/src/webpack/configs/plugins/moment-locales-plugin.ts +3 -2
  460. package/src/webpack/configs/plugins/remove-empty-scripts-plugin.ts +4 -3
  461. package/src/webpack/configs/plugins/virtual-modules-plugin.ts +13 -65
  462. package/src/webpack/configs/plugins/watch-run-plugin.ts +3 -2
  463. package/src/webpack/configs/plugins-config.ts +3 -2
  464. package/src/webpack/configs/resolve-config.ts +3 -2
  465. package/src/webpack/configs/rules/css-rules.ts +4 -3
  466. package/src/webpack/configs/rules/font-rules.ts +2 -2
  467. package/src/webpack/configs/rules/image-rules.ts +2 -2
  468. package/src/webpack/configs/rules/js-rules.ts +4 -2
  469. package/src/webpack/configs/rules/less-rules.ts +2 -2
  470. package/src/webpack/configs/rules/scss-rules.ts +2 -2
  471. package/src/webpack/configs/rules/svg-rules.ts +2 -2
  472. package/src/webpack/configs/rules-config.ts +9 -5
  473. package/src/webpack/configs/stats-config.ts +3 -2
  474. package/src/webpack/configs/watch-options-config.ts +3 -3
  475. package/src/webpack/create-webpack-config.ts +88 -43
  476. package/src/webpack/types.ts +7 -11
  477. package/src/webpack/utils/index.ts +0 -1
  478. package/dist/webpack/configs/plugins/ignore-plugin/check-resource.d.ts +0 -3
  479. package/dist/webpack/configs/plugins/ignore-plugin/check-resource.d.ts.map +0 -1
  480. package/dist/webpack/configs/plugins/ignore-plugin/get-package-json.d.ts.map +0 -1
  481. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.d.ts.map +0 -1
  482. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.d.ts.map +0 -1
  483. package/dist/webpack/configs/types.d.ts +0 -35
  484. package/dist/webpack/configs/types.d.ts.map +0 -1
  485. package/dist/webpack/configs/utils/build-metadata.d.ts.map +0 -1
  486. package/dist/webpack/configs/utils/generate-metadata.d.ts +0 -3
  487. package/dist/webpack/configs/utils/generate-metadata.d.ts.map +0 -1
  488. package/dist/webpack/configs/utils/get-bundle-type.d.ts +0 -3
  489. package/dist/webpack/configs/utils/get-bundle-type.d.ts.map +0 -1
  490. package/dist/webpack/configs/utils/get-exposed-dependencies.d.ts.map +0 -1
  491. package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.d.ts.map +0 -1
  492. package/dist/webpack/configs/utils/get-web-components-version.d.ts.map +0 -1
  493. package/dist/webpack/configs/utils/index.d.ts +0 -4
  494. package/dist/webpack/configs/utils/index.d.ts.map +0 -1
  495. package/src/webpack/configs/types.ts +0 -38
  496. package/src/webpack/configs/utils/get-bundle-type.ts +0 -22
  497. package/src/webpack/configs/utils/index.ts +0 -3
  498. /package/dist/{webpack/configs/plugins/ignore-plugin → core/check-resource}/get-package-json.d.ts +0 -0
  499. /package/dist/{webpack/configs/plugins/ignore-plugin → core/check-resource}/is-optional-peer-dependency.d.ts +0 -0
  500. /package/dist/{webpack/configs/plugins/ignore-plugin → core/check-resource}/is-optional-react-dom-peer-dependency.d.ts +0 -0
  501. /package/dist/{webpack/configs → core}/utils/build-metadata.d.ts +0 -0
  502. /package/dist/{webpack/configs → core}/utils/get-exposed-dependencies.d.ts +0 -0
  503. /package/dist/{webpack/configs → core}/utils/get-launchdarkly-sdk-version.d.ts +0 -0
  504. /package/dist/{webpack/configs → core}/utils/get-web-components-version.d.ts +0 -0
  505. /package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/__tests__/get-package-json.test.ts +0 -0
  506. /package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/__tests__/is-optional-peer-dependency.test.ts +0 -0
  507. /package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/__tests__/is-optional-react-dom-peer-dependency.test.ts +0 -0
  508. /package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/is-optional-peer-dependency.ts +0 -0
  509. /package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/is-optional-react-dom-peer-dependency.ts +0 -0
  510. /package/src/{webpack/configs → core}/utils/__tests__/get-exposed-dependencies.test.ts +0 -0
  511. /package/src/{webpack/configs → core}/utils/__tests__/get-launchdarkly-sdk-version.test.ts +0 -0
  512. /package/src/{webpack/configs → core}/utils/__tests__/get-web-components-version.test.ts +0 -0
  513. /package/src/{webpack/configs → core}/utils/get-exposed-dependencies.ts +0 -0
  514. /package/src/{webpack → core}/utils/stringify-config.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/mfe-package-publish.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport {\n getBranchesConfigs,\n getFolders,\n isWebComponent,\n log,\n logErrors,\n readJson,\n} from '../../utils';\nimport { EntryPoint, EntryPoints, Metadata } from '../../webpack/configs';\nimport {\n DRY_RUN_PREFIX,\n getDefaultBuildVersion,\n gitGetBranch,\n gitGetCommitHash,\n npmGetPackageVersions,\n npmPackageSet,\n npmPublish,\n npmTagVersion,\n npmView,\n runCommand,\n} from '../utils';\nimport { Command, CommandOptions } from './types';\nimport { buildRollbackTag, DEFAULT_MFE_REGISTRY } from './utils';\n\nexport const mfePackagePublishOptions = {\n branch: {\n string: true,\n description: 'Branch name to associate with published version',\n defaultDescription: 'current git branch',\n },\n build: {\n string: true,\n description: 'Package version',\n defaultDescription: '<branch_name>.<commit_hash>',\n },\n dry: {\n boolean: true,\n description: 'Take no action and only log what would be published',\n },\n force: {\n boolean: true,\n description: 'Force publishing from an unrecognized branch',\n },\n registry: { string: true, hidden: true, description: 'Registry url' },\n trackHistory: {\n boolean: true,\n description: `Tag the previous release, to support rollbacks`,\n defaultDescription: 'true',\n hidden: true,\n },\n tag: {\n string: true,\n description: 'Tag to assign to published version',\n },\n uploadSourcemaps: {\n boolean: true,\n description: 'Upload source maps to Datadog?',\n defaultDescription: 'true',\n },\n} satisfies CommandOptions;\n\ninterface PublishData {\n buildVersion: string;\n dry: boolean;\n force: boolean;\n isBranchConfigured: boolean;\n registry: string;\n tag: string;\n uploadSourcemaps: boolean;\n version: string;\n trackHistory: boolean;\n publishedTags: Record<string, string>;\n}\n\ninterface PackageJson {\n name: string;\n private?: boolean;\n files?: string[];\n}\n\nexport class MFEPackagePublish extends Command<typeof mfePackagePublishOptions> {\n static readonly options = mfePackagePublishOptions;\n\n @logErrors\n async execute() {\n if (this.args.dry) {\n log.warning('DRY-RUN MODE ENABLED, WILL NOT PUBLISH PACKAGES');\n }\n\n const packageJson = readJson<PackageJson>('package.json');\n\n const data = this.getPublishData(packageJson.name);\n if (!this.checkPackage(packageJson, data)) {\n return;\n }\n\n await this.maybeApplyRollbackTag(packageJson.name, data);\n\n await this.maybePublishPackage(packageJson, data);\n\n if (data.uploadSourcemaps) {\n this.uploadSourcemaps(data);\n }\n }\n\n private get dryRunPrefix() {\n return this.args.dry ? DRY_RUN_PREFIX : '';\n }\n\n private checkPackage(packageJson: PackageJson, { force, isBranchConfigured }: PublishData) {\n if (!isWebComponent()) {\n throw new Error('only web-components can be published');\n }\n\n if (packageJson.private) {\n log.warning('package is private, skipping publish');\n return false;\n }\n\n if (!isBranchConfigured && !force) {\n log.warning(\n 'branch is not configured for publishing, use --force flag to publish if needed'\n );\n return false;\n }\n\n return true;\n }\n\n private async maybePublishPackage(packageJson: PackageJson, data: PublishData) {\n try {\n const { dry, registry, tag, version } = data;\n\n const versions = npmGetPackageVersions(registry, packageJson.name);\n if (versions.includes(version)) {\n log.warning(\n `${this.dryRunPrefix}${packageJson.name} version ${version} is already published, skipping publish`\n );\n\n log.info(`${this.dryRunPrefix}Tagging version ${version} with tag \"${tag}\"`);\n\n if (!dry) {\n await npmTagVersion({\n packageName: packageJson.name,\n packageVersion: version,\n registry,\n tag,\n });\n }\n\n return;\n }\n\n this.validateMetadata(version);\n\n await npmPackageSet('version', version);\n await npmPackageSet('publishConfig.registry', registry);\n await this.setPackageFiles(packageJson);\n\n log.info(`${this.dryRunPrefix}Publishing ${packageJson.name} version ${version}`);\n await npmPublish({ dry, tag });\n } catch (error) {\n log.error(`Failed to publish package ${packageJson.name}`);\n\n const versionOriginallyTaggedWithRollback =\n data.publishedTags[buildRollbackTag(data.tag)];\n\n if (versionOriginallyTaggedWithRollback) {\n await this.restoreRollbackTag(\n packageJson.name,\n data,\n versionOriginallyTaggedWithRollback\n );\n }\n throw error;\n }\n }\n\n private uploadSourcemaps({ dry, version }: PublishData) {\n const options = [...[dry && '--dry'], `--releaseVersion=${version}`].filter(\n option => !!option\n ) as string[];\n\n runCommand(`npx startup upload-sourcemaps ${options.join(' ')}`);\n }\n\n private getPublishData(packageName: string): PublishData {\n const cli = this.args;\n const branch = cli.branch ?? gitGetBranch();\n const branchConfig = getBranchesConfigs()[branch];\n\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const buildVersion = cli.build || getDefaultBuildVersion(branch, gitGetCommitHash());\n const registry = cli.registry ?? DEFAULT_MFE_REGISTRY;\n const tag = cli.tag ?? branchConfig?.publishTag ?? '';\n const uploadSourcemaps = cli.uploadSourcemaps ?? branchConfig?.uploadSourcemaps ?? true;\n const version = '0.0.0-' + buildVersion;\n const publishedTags = npmView({ packageName, registry })?.['dist-tags'] ?? {};\n\n return {\n buildVersion,\n dry: !!cli.dry,\n force: !!cli.force,\n isBranchConfigured: !!branchConfig,\n publishedTags,\n registry,\n tag: tag || 'latest',\n trackHistory: cli.trackHistory ?? true,\n uploadSourcemaps,\n version,\n };\n }\n\n private async setPackageFiles({ files: inputFiles }: PackageJson) {\n let outputFiles = ['dist/bundle', 'dist/metadata.json', 'package.json'];\n\n if (inputFiles?.length) {\n const index = inputFiles.findIndex(file => file === 'dist');\n if (index < 0) {\n return;\n }\n outputFiles = [\n ...inputFiles.slice(0, index),\n ...outputFiles.filter(file => file.startsWith('dist')),\n ...inputFiles.slice(index + 1),\n ];\n }\n\n for (let i = 0, n = outputFiles.length; i < n; i++) {\n // eslint-disable-next-line no-await-in-loop\n await npmPackageSet(`files[${i}]`, outputFiles[i]);\n }\n }\n\n private validateMetadata(version: string) {\n const { destination: outDir } = getFolders();\n\n const metadataJson = path.join(outDir, 'metadata.json');\n if (!fs.existsSync(metadataJson)) {\n throw new Error(`${metadataJson} is not present`);\n }\n\n const metadata = readJson<Metadata>(metadataJson);\n this.validateEntryPoints(outDir, metadata);\n\n fs.writeFileSync(metadataJson, JSON.stringify({ ...metadata, version }, null, 2), 'utf-8');\n }\n\n private validateEntryPoints(outDir: string, { entrypoints = {} }: Metadata) {\n const keys: (keyof EntryPoints)[] = ['full', 'light'];\n keys.forEach(name =>\n this.validateEntryPoint({ entryPoint: entrypoints[name], name, outDir })\n );\n }\n\n private validateEntryPoint({\n entryPoint = {},\n name,\n outDir,\n }: {\n entryPoint?: EntryPoint;\n name: keyof EntryPoints;\n outDir: string;\n }) {\n const keys: (keyof EntryPoint)[] = ['css', 'js'];\n keys.forEach(key => {\n if (!entryPoint[key]) {\n throw new Error(`${name}.${key} not found in metadata.json`);\n }\n entryPoint[key].forEach(filename => {\n if (!fs.existsSync(path.join(outDir, 'bundle', name, filename))) {\n throw new Error(`referenced bundle ${filename} was not found`);\n }\n });\n });\n }\n\n private async maybeApplyRollbackTag(packageName: string, data: PublishData) {\n const { dry, registry, tag, trackHistory, version, publishedTags } = data;\n\n if (!trackHistory) {\n log.info('Track history is turned off, skipping rollback tag');\n return;\n }\n\n const previousVersion = publishedTags[tag];\n\n if (!previousVersion) {\n log.info(`No previous version published with tag \"${tag}\", skipping rollback tag`);\n return;\n }\n\n if (previousVersion === version) {\n log.info(`Version \"${version}\" is already tagged \"${tag}\", skipping rollback tag`);\n return;\n }\n\n const prevTag = buildRollbackTag(tag);\n\n log.info(\n `${this.dryRunPrefix}Tagging previous version ${previousVersion} with tag \"${prevTag}\"`\n );\n\n if (!dry) {\n await npmTagVersion({\n packageName,\n packageVersion: previousVersion,\n registry,\n tag: prevTag,\n });\n }\n }\n\n private async restoreRollbackTag(\n packageName: string,\n { registry, tag }: PublishData,\n version: string\n ) {\n const rollbackTag = buildRollbackTag(tag);\n\n log.info(`Restoring rollback tag ${rollbackTag} back to version ${version}`);\n\n await npmTagVersion({\n packageName,\n packageVersion: version,\n registry,\n tag: rollbackTag,\n });\n }\n}\n"],"names":["MFEPackagePublish","mfePackagePublishOptions","branch","string","description","defaultDescription","build","dry","boolean","force","registry","hidden","trackHistory","tag","uploadSourcemaps","Command","execute","args","log","warning","packageJson","readJson","data","getPublishData","name","checkPackage","maybeApplyRollbackTag","maybePublishPackage","dryRunPrefix","DRY_RUN_PREFIX","isBranchConfigured","isWebComponent","Error","private","version","versions","npmGetPackageVersions","includes","info","npmTagVersion","packageName","packageVersion","validateMetadata","npmPackageSet","setPackageFiles","npmPublish","error","versionOriginallyTaggedWithRollback","publishedTags","buildRollbackTag","restoreRollbackTag","options","filter","option","runCommand","join","cli","npmView","gitGetBranch","branchConfig","getBranchesConfigs","buildVersion","getDefaultBuildVersion","gitGetCommitHash","DEFAULT_MFE_REGISTRY","publishTag","files","inputFiles","outputFiles","length","index","findIndex","file","slice","startsWith","i","n","destination","outDir","getFolders","metadataJson","path","fs","existsSync","metadata","validateEntryPoints","writeFileSync","JSON","stringify","entrypoints","keys","forEach","validateEntryPoint","entryPoint","key","filename","previousVersion","prevTag","rollbackTag"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/cli/commands/mfe-package-publish.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { EntryPoint, EntryPoints, Metadata } from '../../core';\nimport {\n getBranchesConfigs,\n getFolders,\n isWebComponent,\n log,\n logErrors,\n readJson,\n} from '../../utils';\nimport {\n DRY_RUN_PREFIX,\n getDefaultBuildVersion,\n gitGetBranch,\n gitGetCommitHash,\n npmGetPackageVersions,\n npmPackageSet,\n npmPublish,\n npmTagVersion,\n npmView,\n runCommand,\n} from '../utils';\nimport { Command, CommandOptions } from './types';\nimport { buildRollbackTag, DEFAULT_MFE_REGISTRY } from './utils';\n\nexport const mfePackagePublishOptions = {\n branch: {\n string: true,\n description: 'Branch name to associate with published version',\n defaultDescription: 'current git branch',\n },\n build: {\n string: true,\n description: 'Package version',\n defaultDescription: '<branch_name>.<commit_hash>',\n },\n dry: {\n boolean: true,\n description: 'Take no action and only log what would be published',\n },\n force: {\n boolean: true,\n description: 'Force publishing from an unrecognized branch',\n },\n registry: { string: true, hidden: true, description: 'Registry url' },\n trackHistory: {\n boolean: true,\n description: `Tag the previous release, to support rollbacks`,\n defaultDescription: 'true',\n hidden: true,\n },\n tag: {\n string: true,\n description: 'Tag to assign to published version',\n },\n uploadSourcemaps: {\n boolean: true,\n description: 'Upload source maps to Datadog?',\n defaultDescription: 'true',\n },\n} satisfies CommandOptions;\n\ninterface PublishData {\n buildVersion: string;\n dry: boolean;\n force: boolean;\n isBranchConfigured: boolean;\n registry: string;\n tag: string;\n uploadSourcemaps: boolean;\n version: string;\n trackHistory: boolean;\n publishedTags: Record<string, string>;\n}\n\ninterface PackageJson {\n name: string;\n private?: boolean;\n files?: string[];\n}\n\nexport class MFEPackagePublish extends Command<typeof mfePackagePublishOptions> {\n static readonly options = mfePackagePublishOptions;\n\n @logErrors\n async execute() {\n if (this.args.dry) {\n log.warning('DRY-RUN MODE ENABLED, WILL NOT PUBLISH PACKAGES');\n }\n\n const packageJson = readJson<PackageJson>('package.json');\n\n const data = this.getPublishData(packageJson.name);\n if (!this.checkPackage(packageJson, data)) {\n return;\n }\n\n await this.maybeApplyRollbackTag(packageJson.name, data);\n\n await this.maybePublishPackage(packageJson, data);\n\n if (data.uploadSourcemaps) {\n this.uploadSourcemaps(data);\n }\n }\n\n private get dryRunPrefix() {\n return this.args.dry ? DRY_RUN_PREFIX : '';\n }\n\n private checkPackage(packageJson: PackageJson, { force, isBranchConfigured }: PublishData) {\n if (!isWebComponent()) {\n throw new Error('only web-components can be published');\n }\n\n if (packageJson.private) {\n log.warning('package is private, skipping publish');\n return false;\n }\n\n if (!isBranchConfigured && !force) {\n log.warning(\n 'branch is not configured for publishing, use --force flag to publish if needed'\n );\n return false;\n }\n\n return true;\n }\n\n private async maybePublishPackage(packageJson: PackageJson, data: PublishData) {\n try {\n const { dry, registry, tag, version } = data;\n\n const versions = npmGetPackageVersions(registry, packageJson.name);\n if (versions.includes(version)) {\n log.warning(\n `${this.dryRunPrefix}${packageJson.name} version ${version} is already published, skipping publish`\n );\n\n log.info(`${this.dryRunPrefix}Tagging version ${version} with tag \"${tag}\"`);\n\n if (!dry) {\n await npmTagVersion({\n packageName: packageJson.name,\n packageVersion: version,\n registry,\n tag,\n });\n }\n\n return;\n }\n\n this.validateMetadata(version);\n\n await npmPackageSet('version', version);\n await npmPackageSet('publishConfig.registry', registry);\n await this.setPackageFiles(packageJson);\n\n log.info(`${this.dryRunPrefix}Publishing ${packageJson.name} version ${version}`);\n await npmPublish({ dry, tag });\n } catch (error) {\n log.error(`Failed to publish package ${packageJson.name}`);\n\n const versionOriginallyTaggedWithRollback =\n data.publishedTags[buildRollbackTag(data.tag)];\n\n if (versionOriginallyTaggedWithRollback) {\n await this.restoreRollbackTag(\n packageJson.name,\n data,\n versionOriginallyTaggedWithRollback\n );\n }\n throw error;\n }\n }\n\n private uploadSourcemaps({ dry, version }: PublishData) {\n const options = [...[dry && '--dry'], `--releaseVersion=${version}`].filter(\n option => !!option\n ) as string[];\n\n runCommand(`npx startup upload-sourcemaps ${options.join(' ')}`);\n }\n\n private getPublishData(packageName: string): PublishData {\n const cli = this.args;\n const branch = cli.branch ?? gitGetBranch();\n const branchConfig = getBranchesConfigs()[branch];\n\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const buildVersion = cli.build || getDefaultBuildVersion(branch, gitGetCommitHash());\n const registry = cli.registry ?? DEFAULT_MFE_REGISTRY;\n const tag = cli.tag ?? branchConfig?.publishTag ?? '';\n const uploadSourcemaps = cli.uploadSourcemaps ?? branchConfig?.uploadSourcemaps ?? true;\n const version = '0.0.0-' + buildVersion;\n const publishedTags = npmView({ packageName, registry })?.['dist-tags'] ?? {};\n\n return {\n buildVersion,\n dry: !!cli.dry,\n force: !!cli.force,\n isBranchConfigured: !!branchConfig,\n publishedTags,\n registry,\n tag: tag || 'latest',\n trackHistory: cli.trackHistory ?? true,\n uploadSourcemaps,\n version,\n };\n }\n\n private async setPackageFiles({ files: inputFiles }: PackageJson) {\n let outputFiles = ['dist/bundle', 'dist/metadata.json', 'package.json'];\n\n if (inputFiles?.length) {\n const index = inputFiles.findIndex(file => file === 'dist');\n if (index < 0) {\n return;\n }\n outputFiles = [\n ...inputFiles.slice(0, index),\n ...outputFiles.filter(file => file.startsWith('dist')),\n ...inputFiles.slice(index + 1),\n ];\n }\n\n for (let i = 0, n = outputFiles.length; i < n; i++) {\n // eslint-disable-next-line no-await-in-loop\n await npmPackageSet(`files[${i}]`, outputFiles[i]);\n }\n }\n\n private validateMetadata(version: string) {\n const { destination: outDir } = getFolders();\n\n const metadataJson = path.join(outDir, 'metadata.json');\n if (!fs.existsSync(metadataJson)) {\n throw new Error(`${metadataJson} is not present`);\n }\n\n const metadata = readJson<Metadata>(metadataJson);\n this.validateEntryPoints(outDir, metadata);\n\n fs.writeFileSync(metadataJson, JSON.stringify({ ...metadata, version }, null, 2), 'utf-8');\n }\n\n private validateEntryPoints(outDir: string, { entrypoints = {} }: Metadata) {\n const keys: (keyof EntryPoints)[] = ['full', 'light'];\n keys.forEach(name =>\n this.validateEntryPoint({ entryPoint: entrypoints[name], name, outDir })\n );\n }\n\n private validateEntryPoint({\n entryPoint = {},\n name,\n outDir,\n }: {\n entryPoint?: EntryPoint;\n name: keyof EntryPoints;\n outDir: string;\n }) {\n const keys: (keyof EntryPoint)[] = ['css', 'js'];\n keys.forEach(key => {\n if (!entryPoint[key]) {\n throw new Error(`${name}.${key} not found in metadata.json`);\n }\n entryPoint[key].forEach(filename => {\n if (!fs.existsSync(path.join(outDir, 'bundle', name, filename))) {\n throw new Error(`referenced bundle ${filename} was not found`);\n }\n });\n });\n }\n\n private async maybeApplyRollbackTag(packageName: string, data: PublishData) {\n const { dry, registry, tag, trackHistory, version, publishedTags } = data;\n\n if (!trackHistory) {\n log.info('Track history is turned off, skipping rollback tag');\n return;\n }\n\n const previousVersion = publishedTags[tag];\n\n if (!previousVersion) {\n log.info(`No previous version published with tag \"${tag}\", skipping rollback tag`);\n return;\n }\n\n if (previousVersion === version) {\n log.info(`Version \"${version}\" is already tagged \"${tag}\", skipping rollback tag`);\n return;\n }\n\n const prevTag = buildRollbackTag(tag);\n\n log.info(\n `${this.dryRunPrefix}Tagging previous version ${previousVersion} with tag \"${prevTag}\"`\n );\n\n if (!dry) {\n await npmTagVersion({\n packageName,\n packageVersion: previousVersion,\n registry,\n tag: prevTag,\n });\n }\n }\n\n private async restoreRollbackTag(\n packageName: string,\n { registry, tag }: PublishData,\n version: string\n ) {\n const rollbackTag = buildRollbackTag(tag);\n\n log.info(`Restoring rollback tag ${rollbackTag} back to version ${version}`);\n\n await npmTagVersion({\n packageName,\n packageVersion: version,\n registry,\n tag: rollbackTag,\n });\n }\n}\n"],"names":["MFEPackagePublish","mfePackagePublishOptions","branch","string","description","defaultDescription","build","dry","boolean","force","registry","hidden","trackHistory","tag","uploadSourcemaps","Command","execute","args","log","warning","packageJson","readJson","data","getPublishData","name","checkPackage","maybeApplyRollbackTag","maybePublishPackage","dryRunPrefix","DRY_RUN_PREFIX","isBranchConfigured","isWebComponent","Error","private","version","versions","npmGetPackageVersions","includes","info","npmTagVersion","packageName","packageVersion","validateMetadata","npmPackageSet","setPackageFiles","npmPublish","error","versionOriginallyTaggedWithRollback","publishedTags","buildRollbackTag","restoreRollbackTag","options","filter","option","runCommand","join","cli","npmView","gitGetBranch","branchConfig","getBranchesConfigs","buildVersion","getDefaultBuildVersion","gitGetCommitHash","DEFAULT_MFE_REGISTRY","publishTag","files","inputFiles","outputFiles","length","index","findIndex","file","slice","startsWith","i","n","destination","outDir","getFolders","metadataJson","path","fs","existsSync","metadata","validateEntryPoints","writeFileSync","JSON","stringify","entrypoints","keys","forEach","validateEntryPoint","entryPoint","key","filename","previousVersion","prevTag","rollbackTag"],"mappings":";;;;;;;;;;;QAkFaA;eAAAA;;QAxDAC;eAAAA;;;2DA1BE;6DACE;uBASV;wBAYA;uBACiC;wBACe;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhD,MAAMA,2BAA2B;IACpCC,QAAQ;QACJC,QAAQ;QACRC,aAAa;QACbC,oBAAoB;IACxB;IACAC,OAAO;QACHH,QAAQ;QACRC,aAAa;QACbC,oBAAoB;IACxB;IACAE,KAAK;QACDC,SAAS;QACTJ,aAAa;IACjB;IACAK,OAAO;QACHD,SAAS;QACTJ,aAAa;IACjB;IACAM,UAAU;QAAEP,QAAQ;QAAMQ,QAAQ;QAAMP,aAAa;IAAe;IACpEQ,cAAc;QACVJ,SAAS;QACTJ,aAAa,CAAC,8CAA8C,CAAC;QAC7DC,oBAAoB;QACpBM,QAAQ;IACZ;IACAE,KAAK;QACDV,QAAQ;QACRC,aAAa;IACjB;IACAU,kBAAkB;QACdN,SAAS;QACTJ,aAAa;QACbC,oBAAoB;IACxB;AACJ;AAqBO,MAAML,0BAA0Be,cAAO;IAG1C,MACMC,UAAU;QACZ,IAAI,IAAI,CAACC,IAAI,CAACV,GAAG,EAAE;YACfW,UAAG,CAACC,OAAO,CAAC;QAChB;QAEA,MAAMC,cAAcC,IAAAA,eAAQ,EAAc;QAE1C,MAAMC,OAAO,IAAI,CAACC,cAAc,CAACH,YAAYI,IAAI;QACjD,IAAI,CAAC,IAAI,CAACC,YAAY,CAACL,aAAaE,OAAO;YACvC;QACJ;QAEA,MAAM,IAAI,CAACI,qBAAqB,CAACN,YAAYI,IAAI,EAAEF;QAEnD,MAAM,IAAI,CAACK,mBAAmB,CAACP,aAAaE;QAE5C,IAAIA,KAAKR,gBAAgB,EAAE;YACvB,IAAI,CAACA,gBAAgB,CAACQ;QAC1B;IACJ;IAEA,IAAYM,eAAe;QACvB,OAAO,IAAI,CAACX,IAAI,CAACV,GAAG,GAAGsB,sBAAc,GAAG;IAC5C;IAEQJ,aAAaL,WAAwB,EAAE,EAAEX,KAAK,EAAEqB,kBAAkB,EAAe,EAAE;QACvF,IAAI,CAACC,IAAAA,qBAAc,KAAI;YACnB,MAAM,IAAIC,MAAM;QACpB;QAEA,IAAIZ,YAAYa,OAAO,EAAE;YACrBf,UAAG,CAACC,OAAO,CAAC;YACZ,OAAO;QACX;QAEA,IAAI,CAACW,sBAAsB,CAACrB,OAAO;YAC/BS,UAAG,CAACC,OAAO,CACP;YAEJ,OAAO;QACX;QAEA,OAAO;IACX;IAEA,MAAcQ,oBAAoBP,WAAwB,EAAEE,IAAiB,EAAE;QAC3E,IAAI;YACA,MAAM,EAAEf,GAAG,EAAEG,QAAQ,EAAEG,GAAG,EAAEqB,OAAO,EAAE,GAAGZ;YAExC,MAAMa,WAAWC,IAAAA,6BAAqB,EAAC1B,UAAUU,YAAYI,IAAI;YACjE,IAAIW,SAASE,QAAQ,CAACH,UAAU;gBAC5BhB,UAAG,CAACC,OAAO,CACP,GAAG,IAAI,CAACS,YAAY,GAAGR,YAAYI,IAAI,CAAC,SAAS,EAAEU,QAAQ,uCAAuC,CAAC;gBAGvGhB,UAAG,CAACoB,IAAI,CAAC,GAAG,IAAI,CAACV,YAAY,CAAC,gBAAgB,EAAEM,QAAQ,WAAW,EAAErB,IAAI,CAAC,CAAC;gBAE3E,IAAI,CAACN,KAAK;oBACN,MAAMgC,IAAAA,qBAAa,EAAC;wBAChBC,aAAapB,YAAYI,IAAI;wBAC7BiB,gBAAgBP;wBAChBxB;wBACAG;oBACJ;gBACJ;gBAEA;YACJ;YAEA,IAAI,CAAC6B,gBAAgB,CAACR;YAEtB,MAAMS,IAAAA,qBAAa,EAAC,WAAWT;YAC/B,MAAMS,IAAAA,qBAAa,EAAC,0BAA0BjC;YAC9C,MAAM,IAAI,CAACkC,eAAe,CAACxB;YAE3BF,UAAG,CAACoB,IAAI,CAAC,GAAG,IAAI,CAACV,YAAY,CAAC,WAAW,EAAER,YAAYI,IAAI,CAAC,SAAS,EAAEU,SAAS;YAChF,MAAMW,IAAAA,kBAAU,EAAC;gBAAEtC;gBAAKM;YAAI;QAChC,EAAE,OAAOiC,OAAO;YACZ5B,UAAG,CAAC4B,KAAK,CAAC,CAAC,0BAA0B,EAAE1B,YAAYI,IAAI,EAAE;YAEzD,MAAMuB,sCACFzB,KAAK0B,aAAa,CAACC,IAAAA,wBAAgB,EAAC3B,KAAKT,GAAG,EAAE;YAElD,IAAIkC,qCAAqC;gBACrC,MAAM,IAAI,CAACG,kBAAkB,CACzB9B,YAAYI,IAAI,EAChBF,MACAyB;YAER;YACA,MAAMD;QACV;IACJ;IAEQhC,iBAAiB,EAAEP,GAAG,EAAE2B,OAAO,EAAe,EAAE;QACpD,MAAMiB,UAAU;eAAI;gBAAC5C,OAAO;aAAQ;YAAE,CAAC,iBAAiB,EAAE2B,SAAS;SAAC,CAACkB,MAAM,CACvEC,CAAAA,SAAU,CAAC,CAACA;QAGhBC,IAAAA,kBAAU,EAAC,CAAC,8BAA8B,EAAEH,QAAQI,IAAI,CAAC,MAAM;IACnE;IAEQhC,eAAeiB,WAAmB,EAAe;YAEtCgB,aAKEA,eACLA,MAAAA,UACaA,OAAAA,8BAYPA;YAVIC;QAVtB,MAAMD,MAAM,IAAI,CAACvC,IAAI;QACrB,MAAMf,UAASsD,cAAAA,IAAItD,MAAM,cAAVsD,yBAAAA,cAAcE,IAAAA,oBAAY;QACzC,MAAMC,eAAeC,IAAAA,yBAAkB,GAAE,CAAC1D,OAAO;QAEjD,wEAAwE;QACxE,MAAM2D,eAAeL,IAAIlD,KAAK,IAAIwD,IAAAA,8BAAsB,EAAC5D,QAAQ6D,IAAAA,wBAAgB;QACjF,MAAMrD,YAAW8C,gBAAAA,IAAI9C,QAAQ,cAAZ8C,2BAAAA,gBAAgBQ,4BAAoB;QACrD,MAAMnD,OAAM2C,QAAAA,WAAAA,IAAI3C,GAAG,cAAP2C,sBAAAA,WAAWG,yBAAAA,mCAAAA,aAAcM,UAAU,cAAnCT,kBAAAA,OAAuC;QACnD,MAAM1C,oBAAmB0C,SAAAA,wBAAAA,IAAI1C,gBAAgB,cAApB0C,mCAAAA,wBAAwBG,yBAAAA,mCAAAA,aAAc7C,gBAAgB,cAAtD0C,mBAAAA,QAA0D;QACnF,MAAMtB,UAAU,WAAW2B;QAC3B,MAAMb,0BAAgBS,WAAAA,IAAAA,eAAO,EAAC;YAAEjB;YAAa9B;QAAS,gBAAhC+C,+BAAAA,QAAoC,CAAC,YAAY,yCAAI,CAAC;QAE5E,OAAO;YACHI;YACAtD,KAAK,CAAC,CAACiD,IAAIjD,GAAG;YACdE,OAAO,CAAC,CAAC+C,IAAI/C,KAAK;YAClBqB,oBAAoB,CAAC,CAAC6B;YACtBX;YACAtC;YACAG,KAAKA,OAAO;YACZD,YAAY,GAAE4C,oBAAAA,IAAI5C,YAAY,cAAhB4C,+BAAAA,oBAAoB;YAClC1C;YACAoB;QACJ;IACJ;IAEA,MAAcU,gBAAgB,EAAEsB,OAAOC,UAAU,EAAe,EAAE;QAC9D,IAAIC,cAAc;YAAC;YAAe;YAAsB;SAAe;QAEvE,IAAID,uBAAAA,iCAAAA,WAAYE,MAAM,EAAE;YACpB,MAAMC,QAAQH,WAAWI,SAAS,CAACC,CAAAA,OAAQA,SAAS;YACpD,IAAIF,QAAQ,GAAG;gBACX;YACJ;YACAF,cAAc;mBACPD,WAAWM,KAAK,CAAC,GAAGH;mBACpBF,YAAYhB,MAAM,CAACoB,CAAAA,OAAQA,KAAKE,UAAU,CAAC;mBAC3CP,WAAWM,KAAK,CAACH,QAAQ;aAC/B;QACL;QAEA,IAAK,IAAIK,IAAI,GAAGC,IAAIR,YAAYC,MAAM,EAAEM,IAAIC,GAAGD,IAAK;YAChD,4CAA4C;YAC5C,MAAMhC,IAAAA,qBAAa,EAAC,CAAC,MAAM,EAAEgC,EAAE,CAAC,CAAC,EAAEP,WAAW,CAACO,EAAE;QACrD;IACJ;IAEQjC,iBAAiBR,OAAe,EAAE;QACtC,MAAM,EAAE2C,aAAaC,MAAM,EAAE,GAAGC,IAAAA,iBAAU;QAE1C,MAAMC,eAAeC,aAAI,CAAC1B,IAAI,CAACuB,QAAQ;QACvC,IAAI,CAACI,WAAE,CAACC,UAAU,CAACH,eAAe;YAC9B,MAAM,IAAIhD,MAAM,GAAGgD,aAAa,eAAe,CAAC;QACpD;QAEA,MAAMI,WAAW/D,IAAAA,eAAQ,EAAW2D;QACpC,IAAI,CAACK,mBAAmB,CAACP,QAAQM;QAEjCF,WAAE,CAACI,aAAa,CAACN,cAAcO,KAAKC,SAAS,CAAC;YAAE,GAAGJ,QAAQ;YAAElD;QAAQ,GAAG,MAAM,IAAI;IACtF;IAEQmD,oBAAoBP,MAAc,EAAE,EAAEW,cAAc,CAAC,CAAC,EAAY,EAAE;QACxE,MAAMC,OAA8B;YAAC;YAAQ;SAAQ;QACrDA,KAAKC,OAAO,CAACnE,CAAAA,OACT,IAAI,CAACoE,kBAAkB,CAAC;gBAAEC,YAAYJ,WAAW,CAACjE,KAAK;gBAAEA;gBAAMsD;YAAO;IAE9E;IAEQc,mBAAmB,EACvBC,aAAa,CAAC,CAAC,EACfrE,IAAI,EACJsD,MAAM,EAKT,EAAE;QACC,MAAMY,OAA6B;YAAC;YAAO;SAAK;QAChDA,KAAKC,OAAO,CAACG,CAAAA;YACT,IAAI,CAACD,UAAU,CAACC,IAAI,EAAE;gBAClB,MAAM,IAAI9D,MAAM,GAAGR,KAAK,CAAC,EAAEsE,IAAI,2BAA2B,CAAC;YAC/D;YACAD,UAAU,CAACC,IAAI,CAACH,OAAO,CAACI,CAAAA;gBACpB,IAAI,CAACb,WAAE,CAACC,UAAU,CAACF,aAAI,CAAC1B,IAAI,CAACuB,QAAQ,UAAUtD,MAAMuE,YAAY;oBAC7D,MAAM,IAAI/D,MAAM,CAAC,kBAAkB,EAAE+D,SAAS,cAAc,CAAC;gBACjE;YACJ;QACJ;IACJ;IAEA,MAAcrE,sBAAsBc,WAAmB,EAAElB,IAAiB,EAAE;QACxE,MAAM,EAAEf,GAAG,EAAEG,QAAQ,EAAEG,GAAG,EAAED,YAAY,EAAEsB,OAAO,EAAEc,aAAa,EAAE,GAAG1B;QAErE,IAAI,CAACV,cAAc;YACfM,UAAG,CAACoB,IAAI,CAAC;YACT;QACJ;QAEA,MAAM0D,kBAAkBhD,aAAa,CAACnC,IAAI;QAE1C,IAAI,CAACmF,iBAAiB;YAClB9E,UAAG,CAACoB,IAAI,CAAC,CAAC,wCAAwC,EAAEzB,IAAI,wBAAwB,CAAC;YACjF;QACJ;QAEA,IAAImF,oBAAoB9D,SAAS;YAC7BhB,UAAG,CAACoB,IAAI,CAAC,CAAC,SAAS,EAAEJ,QAAQ,qBAAqB,EAAErB,IAAI,wBAAwB,CAAC;YACjF;QACJ;QAEA,MAAMoF,UAAUhD,IAAAA,wBAAgB,EAACpC;QAEjCK,UAAG,CAACoB,IAAI,CACJ,GAAG,IAAI,CAACV,YAAY,CAAC,yBAAyB,EAAEoE,gBAAgB,WAAW,EAAEC,QAAQ,CAAC,CAAC;QAG3F,IAAI,CAAC1F,KAAK;YACN,MAAMgC,IAAAA,qBAAa,EAAC;gBAChBC;gBACAC,gBAAgBuD;gBAChBtF;gBACAG,KAAKoF;YACT;QACJ;IACJ;IAEA,MAAc/C,mBACVV,WAAmB,EACnB,EAAE9B,QAAQ,EAAEG,GAAG,EAAe,EAC9BqB,OAAe,EACjB;QACE,MAAMgE,cAAcjD,IAAAA,wBAAgB,EAACpC;QAErCK,UAAG,CAACoB,IAAI,CAAC,CAAC,uBAAuB,EAAE4D,YAAY,iBAAiB,EAAEhE,SAAS;QAE3E,MAAMK,IAAAA,qBAAa,EAAC;YAChBC;YACAC,gBAAgBP;YAChBxB;YACAG,KAAKqF;QACT;IACJ;AACJ;AAxPI,iBADSlG,mBACOmD,WAAUlD"}
@@ -23,6 +23,10 @@ declare const options: {
23
23
  boolean: true;
24
24
  description: string;
25
25
  };
26
+ useVite: {
27
+ boolean: true;
28
+ description: string;
29
+ };
26
30
  };
27
31
  export declare class Start extends Command<typeof options> {
28
32
  static readonly description = "Run project in development mode";
@@ -51,6 +55,10 @@ export declare class Start extends Command<typeof options> {
51
55
  boolean: true;
52
56
  description: string;
53
57
  };
58
+ useVite: {
59
+ boolean: true;
60
+ description: string;
61
+ };
54
62
  };
55
63
  execute(): Promise<void>;
56
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAElD,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;CAMa,CAAC;AAa3B,qBAAa,KAAM,SAAQ,OAAO,CAAC,OAAO,OAAO,CAAC;IAC9C,MAAM,CAAC,QAAQ,CAAC,WAAW,qCAAqC;IAChE,MAAM,CAAC,QAAQ,CAAC,MAAM,QAAQ;IAC9B,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;MAAW;IAG5B,OAAO;CAoJhB"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAElD,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOa,CAAC;AAa3B,qBAAa,KAAM,SAAQ,OAAO,CAAC,OAAO,OAAO,CAAC;IAC9C,MAAM,CAAC,QAAQ,CAAC,WAAW,qCAAqC;IAChE,MAAM,CAAC,QAAQ,CAAC,MAAM,QAAQ;IAC9B,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAW;IAG5B,OAAO;CAsJhB"}
@@ -56,6 +56,10 @@ const options = {
56
56
  useTsc: {
57
57
  boolean: true,
58
58
  description: 'Use tsc to compile packages?'
59
+ },
60
+ useVite: {
61
+ boolean: true,
62
+ description: 'Use Vite to bundle packages?'
59
63
  }
60
64
  };
61
65
  var StartProcesses = /*#__PURE__*/ function(StartProcesses) {
@@ -78,6 +82,8 @@ class Start extends _types.Command {
78
82
  ]
79
83
  });
80
84
  const useTsc = this.args.useTsc;
85
+ const useVite = this.args.useVite;
86
+ const cmd = useVite ? 'startup bundle-vite' : 'startup bundle-package';
81
87
  const packages = (0, _utils.getPackages)({
82
88
  scope: this.args.scope,
83
89
  ignore: this.args.ignore,
@@ -172,7 +178,7 @@ class Start extends _types.Command {
172
178
  return Promise.resolve();
173
179
  }
174
180
  return (0, _utils1.lernaExec)({
175
- 'cmd': 'startup bundle-package',
181
+ cmd,
176
182
  'scope': webpackScope,
177
183
  'parallel': true,
178
184
  'stream': true,
@@ -192,7 +198,7 @@ class Start extends _types.Command {
192
198
  return Promise.resolve();
193
199
  }
194
200
  return (0, _utils1.lernaExec)({
195
- 'cmd': 'startup bundle-package',
201
+ cmd,
196
202
  'scope': webpackScope,
197
203
  'parallel': true,
198
204
  'stream': true,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/start.ts"],"sourcesContent":["import { getPackages, log, logErrors, PackageType } from '../../utils';\nimport {\n checkArgs,\n compile,\n lernaExec,\n pipeStdout,\n ProcessTree,\n typeCheck,\n watchStdout,\n} from '../utils';\nimport { Command, CommandOptions } from './types';\n\nconst options = {\n codeCoverage: { boolean: true, description: 'Instrument code for coverage analysis?' },\n config: { string: true, hidden: true, description: 'Use specified configuration' },\n ignore: { array: true, string: true, description: 'Packages to skip' },\n scope: { array: true, string: true, description: 'Packages to run and watch' },\n useTsc: { boolean: true, description: 'Use tsc to compile packages?' },\n} satisfies CommandOptions;\n\nenum StartProcesses {\n Precompile,\n Compile,\n KendoUILicense,\n PreparePackage,\n PreparePackageWatch,\n TypeCheck,\n BundleExposedDependencies,\n BundlePackage,\n}\n\nexport class Start extends Command<typeof options> {\n static readonly description = 'Run project in development mode';\n static readonly greedy = true;\n static readonly options = options;\n\n @logErrors\n async execute() {\n checkArgs(this.args, { obsolete: ['--esbuild', '--experimental-bundlers'] });\n\n const useTsc = this.args.useTsc;\n\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n if (packages.length === 0) {\n return;\n }\n\n const scope = packages.map(({ name }) => name);\n const webpackScope = packages\n .filter(({ type }) => type === PackageType.Webpack)\n .map(({ name }) => name);\n const precompileScope = packages\n .filter(({ scripts }) => !!scripts?.precompile)\n .map(({ name }) => name);\n\n const processTree = new ProcessTree<typeof StartProcesses>();\n\n processTree.add(StartProcesses.Precompile, () => {\n if (precompileScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n cmd: 'npm run precompile',\n scope: precompileScope,\n parallel: true,\n stream: true,\n });\n });\n\n processTree.add(\n StartProcesses.Compile,\n () => {\n const process = compile({\n packages: scope,\n watch: true,\n useTsc,\n });\n\n pipeStdout(process);\n\n const onComplete = new Promise<void>(resolve => {\n let counter = 0;\n let timeout: NodeJS.Timeout;\n\n if (!useTsc) {\n /*\n * Running the timer as a fallback\n * In case there are no files in the package swc will not print out completion indicator\n */\n timeout = setTimeout(() => {\n log.warning(\n 'Compilation timeout exceeded. Proceeding without waiting.'\n );\n resolve();\n unwatch();\n }, 30000);\n }\n\n const unwatch = watchStdout(\n process,\n useTsc\n ? 'Initial tsc-compile-package task completed'\n : 'Initial swc-compile-package task completed',\n count => {\n counter += count;\n\n if (counter === scope.length) {\n resolve();\n clearTimeout(timeout);\n }\n }\n );\n });\n\n return { process, onComplete };\n },\n { dependsOn: [StartProcesses.Precompile] }\n );\n processTree.add(StartProcesses.PreparePackage, () =>\n lernaExec({\n cmd: 'startup prepare-package',\n scope,\n stream: true,\n })\n );\n processTree.add(\n StartProcesses.PreparePackageWatch,\n () =>\n lernaExec({\n 'cmd': 'startup prepare-package',\n scope,\n 'parallel': true,\n 'stream': true,\n '--': ['--watch'],\n }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.TypeCheck,\n () => typeCheck({ packages: scope, watch: true }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundleExposedDependencies,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': ['--exposed-dependencies', '--use-watch-config'],\n });\n },\n { dependsOn: [StartProcesses.Compile, StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundlePackage,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': [\n '--watch',\n this.args.config ? `--config \"${this.args.config}\"` : undefined,\n this.args.codeCoverage ? '--code-coverage' : undefined,\n ].filter(item => !!item) as string[],\n });\n },\n { dependsOn: [StartProcesses.BundleExposedDependencies] }\n );\n\n await processTree.run();\n }\n}\n"],"names":["Start","options","codeCoverage","boolean","description","config","string","hidden","ignore","array","scope","useTsc","StartProcesses","Command","execute","checkArgs","args","obsolete","packages","getPackages","type","PackageType","TSC","Webpack","length","map","name","webpackScope","filter","precompileScope","scripts","precompile","processTree","ProcessTree","add","Promise","resolve","lernaExec","cmd","parallel","stream","process","compile","watch","pipeStdout","onComplete","counter","timeout","setTimeout","log","warning","unwatch","watchStdout","count","clearTimeout","dependsOn","typeCheck","undefined","item","run","greedy"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/cli/commands/start.ts"],"sourcesContent":["import { getPackages, log, logErrors, PackageType } from '../../utils';\nimport {\n checkArgs,\n compile,\n lernaExec,\n pipeStdout,\n ProcessTree,\n typeCheck,\n watchStdout,\n} from '../utils';\nimport { Command, CommandOptions } from './types';\n\nconst options = {\n codeCoverage: { boolean: true, description: 'Instrument code for coverage analysis?' },\n config: { string: true, hidden: true, description: 'Use specified configuration' },\n ignore: { array: true, string: true, description: 'Packages to skip' },\n scope: { array: true, string: true, description: 'Packages to run and watch' },\n useTsc: { boolean: true, description: 'Use tsc to compile packages?' },\n useVite: { boolean: true, description: 'Use Vite to bundle packages?' },\n} satisfies CommandOptions;\n\nenum StartProcesses {\n Precompile,\n Compile,\n KendoUILicense,\n PreparePackage,\n PreparePackageWatch,\n TypeCheck,\n BundleExposedDependencies,\n BundlePackage,\n}\n\nexport class Start extends Command<typeof options> {\n static readonly description = 'Run project in development mode';\n static readonly greedy = true;\n static readonly options = options;\n\n @logErrors\n async execute() {\n checkArgs(this.args, { obsolete: ['--esbuild', '--experimental-bundlers'] });\n\n const useTsc = this.args.useTsc;\n const useVite = this.args.useVite;\n const cmd = useVite ? 'startup bundle-vite' : 'startup bundle-package';\n\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n if (packages.length === 0) {\n return;\n }\n\n const scope = packages.map(({ name }) => name);\n const webpackScope = packages\n .filter(({ type }) => type === PackageType.Webpack)\n .map(({ name }) => name);\n const precompileScope = packages\n .filter(({ scripts }) => !!scripts?.precompile)\n .map(({ name }) => name);\n\n const processTree = new ProcessTree<typeof StartProcesses>();\n\n processTree.add(StartProcesses.Precompile, () => {\n if (precompileScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n cmd: 'npm run precompile',\n scope: precompileScope,\n parallel: true,\n stream: true,\n });\n });\n\n processTree.add(\n StartProcesses.Compile,\n () => {\n const process = compile({\n packages: scope,\n watch: true,\n useTsc,\n });\n\n pipeStdout(process);\n\n const onComplete = new Promise<void>(resolve => {\n let counter = 0;\n let timeout: NodeJS.Timeout;\n\n if (!useTsc) {\n /*\n * Running the timer as a fallback\n * In case there are no files in the package swc will not print out completion indicator\n */\n timeout = setTimeout(() => {\n log.warning(\n 'Compilation timeout exceeded. Proceeding without waiting.'\n );\n resolve();\n unwatch();\n }, 30000);\n }\n\n const unwatch = watchStdout(\n process,\n useTsc\n ? 'Initial tsc-compile-package task completed'\n : 'Initial swc-compile-package task completed',\n count => {\n counter += count;\n\n if (counter === scope.length) {\n resolve();\n clearTimeout(timeout);\n }\n }\n );\n });\n\n return { process, onComplete };\n },\n { dependsOn: [StartProcesses.Precompile] }\n );\n processTree.add(StartProcesses.PreparePackage, () =>\n lernaExec({\n cmd: 'startup prepare-package',\n scope,\n stream: true,\n })\n );\n processTree.add(\n StartProcesses.PreparePackageWatch,\n () =>\n lernaExec({\n 'cmd': 'startup prepare-package',\n scope,\n 'parallel': true,\n 'stream': true,\n '--': ['--watch'],\n }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.TypeCheck,\n () => typeCheck({ packages: scope, watch: true }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundleExposedDependencies,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n cmd,\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': ['--exposed-dependencies', '--use-watch-config'],\n });\n },\n { dependsOn: [StartProcesses.Compile, StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundlePackage,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n cmd,\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': [\n '--watch',\n this.args.config ? `--config \"${this.args.config}\"` : undefined,\n this.args.codeCoverage ? '--code-coverage' : undefined,\n ].filter(item => !!item) as string[],\n });\n },\n { dependsOn: [StartProcesses.BundleExposedDependencies] }\n );\n\n await processTree.run();\n }\n}\n"],"names":["Start","options","codeCoverage","boolean","description","config","string","hidden","ignore","array","scope","useTsc","useVite","StartProcesses","Command","execute","checkArgs","args","obsolete","cmd","packages","getPackages","type","PackageType","TSC","Webpack","length","map","name","webpackScope","filter","precompileScope","scripts","precompile","processTree","ProcessTree","add","Promise","resolve","lernaExec","parallel","stream","process","compile","watch","pipeStdout","onComplete","counter","timeout","setTimeout","log","warning","unwatch","watchStdout","count","clearTimeout","dependsOn","typeCheck","undefined","item","run","greedy"],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "SwcCompilePackage", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return SwcCompilePackage;
9
+ }
10
+ });
11
+ const _cli = require("@swc/cli");
12
+ const _debounce = /*#__PURE__*/ _interop_require_default(require("debounce"));
13
+ const _deepmerge = /*#__PURE__*/ _interop_require_default(require("deepmerge"));
14
+ const _utils = require("../../utils");
15
+ const _utils1 = require("../utils");
16
+ const _task = require("./task");
17
+ function _interop_require_default(obj) {
18
+ return obj && obj.__esModule ? obj : {
19
+ default: obj
20
+ };
21
+ }
22
+ function overwriteMerge(_destinationArray, sourceArray) {
23
+ return sourceArray;
24
+ }
25
+ const typedefsPattern = '**/*.d.ts';
26
+ class SwcCompilePackage extends _task.Task {
27
+ async execute() {
28
+ const config = this.getConfig();
29
+ /* istanbul ignore next: debug only */ _utils.log.debug('swc-compile-package:config', ()=>JSON.stringify(config, null, 2));
30
+ /*
31
+ * @swc/cli@0.5.0 doesn't implement "ignore" in watch mode so debounce
32
+ * noisy output. See https://servicetitan.atlassian.net/browse/FAR-1592
33
+ * and DEVELOPER_NOTES in file://./../../../package.json
34
+ */ const logSuccessResults = this.watch ? (0, _debounce.default)(this.logCompletionResults.bind(this), 200) : this.logCompletionResults.bind(this);
35
+ return new Promise((resolve, reject)=>{
36
+ (0, _cli.swcDir)({
37
+ ...config,
38
+ callbacks: {
39
+ onSuccess: (e)=>{
40
+ logSuccessResults(this.taskTimer.add(e.duration));
41
+ if (!this.watch) {
42
+ resolve();
43
+ }
44
+ },
45
+ onFail: (e)=>{
46
+ _utils.log.text([
47
+ ...e.reasons.values()
48
+ ][0]);
49
+ this.logCompletionResults(this.taskTimer.add(e.duration));
50
+ if (!this.watch) {
51
+ reject(new Error('Compilation failed'));
52
+ }
53
+ }
54
+ }
55
+ });
56
+ });
57
+ }
58
+ getConfig() {
59
+ var _tsConfig_getValue;
60
+ const { source, destination } = (0, _utils.getFolders)();
61
+ const packageConfig = (0, _utils.getSwcCompilePackageConfiguration)();
62
+ const tsConfig = new _utils1.TSConfig((0, _utils.getTsConfig)());
63
+ const target = tsConfig.getValue('compilerOptions.target');
64
+ const legacyDecorator = tsConfig.getValue('compilerOptions.experimentalDecorators');
65
+ const decoratorMetadata = tsConfig.getValue('compilerOptions.emitDecoratorMetadata');
66
+ const sourceMaps = tsConfig.getValue('compilerOptions.sourceMap');
67
+ const module = (_tsConfig_getValue = tsConfig.getValue('compilerOptions.module')) === null || _tsConfig_getValue === void 0 ? void 0 : _tsConfig_getValue.toLowerCase();
68
+ const ignore = tsConfig.getValue('exclude', [
69
+ '**/*.d.ts',
70
+ '**/__tests__/*',
71
+ '**/*.test.*',
72
+ '**/__mocks__/*',
73
+ '**/*.stories.*'
74
+ ]);
75
+ if (!ignore.includes(typedefsPattern)) {
76
+ ignore.push(typedefsPattern);
77
+ }
78
+ return (0, _deepmerge.default)({
79
+ cliOptions: {
80
+ watch: this.watch,
81
+ outDir: destination,
82
+ stripLeadingPaths: true,
83
+ extensions: [
84
+ '.ts',
85
+ '.tsx'
86
+ ],
87
+ filenames: [
88
+ source
89
+ ],
90
+ ignore
91
+ },
92
+ swcOptions: {
93
+ jsc: {
94
+ parser: {
95
+ syntax: 'typescript',
96
+ tsx: true,
97
+ decorators: true
98
+ },
99
+ target,
100
+ transform: {
101
+ legacyDecorator,
102
+ decoratorMetadata,
103
+ react: {
104
+ runtime: 'automatic'
105
+ }
106
+ }
107
+ },
108
+ sourceMaps,
109
+ module: {
110
+ type: module === 'commonjs' || module === 'nodenext' ? 'commonjs' : 'es6'
111
+ }
112
+ }
113
+ }, packageConfig, {
114
+ arrayMerge: overwriteMerge,
115
+ clone: false
116
+ });
117
+ }
118
+ constructor({ watch }){
119
+ super({
120
+ name: 'swc-compile-package',
121
+ global: false,
122
+ watch
123
+ });
124
+ }
125
+ }
126
+
127
+ //# sourceMappingURL=swc-compile-package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/cli/tasks/swc-compile-package.ts"],"sourcesContent":["import { Options, swcDir } from '@swc/cli';\nimport debounce from 'debounce';\nimport deepmerge from 'deepmerge';\nimport { getFolders, getSwcCompilePackageConfiguration, getTsConfig, log } from '../../utils';\nimport { TSConfig } from '../utils';\nimport { Task } from './task';\n\ninterface Args {\n watch?: boolean;\n}\n\nfunction overwriteMerge(_destinationArray: unknown[], sourceArray: unknown[]) {\n return sourceArray;\n}\n\nconst typedefsPattern = '**/*.d.ts';\n\nexport class SwcCompilePackage extends Task {\n constructor({ watch }: Args) {\n super({ name: 'swc-compile-package', global: false, watch });\n }\n\n async execute(): Promise<void> {\n const config = this.getConfig();\n\n /* istanbul ignore next: debug only */\n log.debug('swc-compile-package:config', () => JSON.stringify(config, null, 2));\n\n /*\n * @swc/cli@0.5.0 doesn't implement \"ignore\" in watch mode so debounce\n * noisy output. See https://servicetitan.atlassian.net/browse/FAR-1592\n * and DEVELOPER_NOTES in file://./../../../package.json\n */\n const logSuccessResults = this.watch\n ? debounce(this.logCompletionResults.bind(this), 200)\n : this.logCompletionResults.bind(this);\n\n return new Promise((resolve, reject) => {\n swcDir({\n ...config,\n callbacks: {\n onSuccess: (e: { duration: number }) => {\n logSuccessResults(this.taskTimer.add(e.duration));\n if (!this.watch) {\n resolve();\n }\n },\n onFail: (e: { duration: number; reasons: Map<string, string> }) => {\n log.text([...e.reasons.values()][0]);\n this.logCompletionResults(this.taskTimer.add(e.duration));\n if (!this.watch) {\n reject(new Error('Compilation failed'));\n }\n },\n },\n });\n });\n }\n\n private getConfig(): Options {\n const { source, destination } = getFolders();\n const packageConfig = getSwcCompilePackageConfiguration();\n const tsConfig = new TSConfig(getTsConfig());\n const target = tsConfig.getValue('compilerOptions.target');\n const legacyDecorator = tsConfig.getValue('compilerOptions.experimentalDecorators');\n const decoratorMetadata = tsConfig.getValue('compilerOptions.emitDecoratorMetadata');\n const sourceMaps = tsConfig.getValue('compilerOptions.sourceMap');\n const module = tsConfig.getValue<string>('compilerOptions.module')?.toLowerCase();\n const ignore = tsConfig.getValue('exclude', [\n '**/*.d.ts',\n '**/__tests__/*',\n '**/*.test.*',\n '**/__mocks__/*',\n '**/*.stories.*',\n ]);\n\n if (!ignore.includes(typedefsPattern)) {\n ignore.push(typedefsPattern);\n }\n\n return deepmerge(\n {\n cliOptions: {\n watch: this.watch,\n outDir: destination,\n stripLeadingPaths: true,\n extensions: ['.ts', '.tsx'],\n filenames: [source],\n ignore,\n },\n swcOptions: {\n jsc: {\n parser: {\n syntax: 'typescript',\n tsx: true,\n decorators: true,\n },\n target,\n transform: {\n legacyDecorator,\n decoratorMetadata,\n react: {\n runtime: 'automatic',\n },\n },\n },\n sourceMaps,\n module: {\n type: module === 'commonjs' || module === 'nodenext' ? 'commonjs' : 'es6',\n },\n },\n },\n packageConfig,\n { arrayMerge: overwriteMerge, clone: false }\n );\n }\n}\n"],"names":["SwcCompilePackage","overwriteMerge","_destinationArray","sourceArray","typedefsPattern","Task","execute","config","getConfig","log","debug","JSON","stringify","logSuccessResults","watch","debounce","logCompletionResults","bind","Promise","resolve","reject","swcDir","callbacks","onSuccess","e","taskTimer","add","duration","onFail","text","reasons","values","Error","tsConfig","source","destination","getFolders","packageConfig","getSwcCompilePackageConfiguration","TSConfig","getTsConfig","target","getValue","legacyDecorator","decoratorMetadata","sourceMaps","module","toLowerCase","ignore","includes","push","deepmerge","cliOptions","outDir","stripLeadingPaths","extensions","filenames","swcOptions","jsc","parser","syntax","tsx","decorators","transform","react","runtime","type","arrayMerge","clone","name","global"],"mappings":";;;;+BAiBaA;;;eAAAA;;;qBAjBmB;iEACX;kEACC;uBAC0D;wBACvD;sBACJ;;;;;;AAMrB,SAASC,eAAeC,iBAA4B,EAAEC,WAAsB;IACxE,OAAOA;AACX;AAEA,MAAMC,kBAAkB;AAEjB,MAAMJ,0BAA0BK,UAAI;IAKvC,MAAMC,UAAyB;QAC3B,MAAMC,SAAS,IAAI,CAACC,SAAS;QAE7B,oCAAoC,GACpCC,UAAG,CAACC,KAAK,CAAC,8BAA8B,IAAMC,KAAKC,SAAS,CAACL,QAAQ,MAAM;QAE3E;;;;SAIC,GACD,MAAMM,oBAAoB,IAAI,CAACC,KAAK,GAC9BC,IAAAA,iBAAQ,EAAC,IAAI,CAACC,oBAAoB,CAACC,IAAI,CAAC,IAAI,GAAG,OAC/C,IAAI,CAACD,oBAAoB,CAACC,IAAI,CAAC,IAAI;QAEzC,OAAO,IAAIC,QAAQ,CAACC,SAASC;YACzBC,IAAAA,WAAM,EAAC;gBACH,GAAGd,MAAM;gBACTe,WAAW;oBACPC,WAAW,CAACC;wBACRX,kBAAkB,IAAI,CAACY,SAAS,CAACC,GAAG,CAACF,EAAEG,QAAQ;wBAC/C,IAAI,CAAC,IAAI,CAACb,KAAK,EAAE;4BACbK;wBACJ;oBACJ;oBACAS,QAAQ,CAACJ;wBACLf,UAAG,CAACoB,IAAI,CAAC;+BAAIL,EAAEM,OAAO,CAACC,MAAM;yBAAG,CAAC,EAAE;wBACnC,IAAI,CAACf,oBAAoB,CAAC,IAAI,CAACS,SAAS,CAACC,GAAG,CAACF,EAAEG,QAAQ;wBACvD,IAAI,CAAC,IAAI,CAACb,KAAK,EAAE;4BACbM,OAAO,IAAIY,MAAM;wBACrB;oBACJ;gBACJ;YACJ;QACJ;IACJ;IAEQxB,YAAqB;YAQVyB;QAPf,MAAM,EAAEC,MAAM,EAAEC,WAAW,EAAE,GAAGC,IAAAA,iBAAU;QAC1C,MAAMC,gBAAgBC,IAAAA,wCAAiC;QACvD,MAAML,WAAW,IAAIM,gBAAQ,CAACC,IAAAA,kBAAW;QACzC,MAAMC,SAASR,SAASS,QAAQ,CAAC;QACjC,MAAMC,kBAAkBV,SAASS,QAAQ,CAAC;QAC1C,MAAME,oBAAoBX,SAASS,QAAQ,CAAC;QAC5C,MAAMG,aAAaZ,SAASS,QAAQ,CAAC;QACrC,MAAMI,UAASb,qBAAAA,SAASS,QAAQ,CAAS,uCAA1BT,yCAAAA,mBAAqDc,WAAW;QAC/E,MAAMC,SAASf,SAASS,QAAQ,CAAC,WAAW;YACxC;YACA;YACA;YACA;YACA;SACH;QAED,IAAI,CAACM,OAAOC,QAAQ,CAAC7C,kBAAkB;YACnC4C,OAAOE,IAAI,CAAC9C;QAChB;QAEA,OAAO+C,IAAAA,kBAAS,EACZ;YACIC,YAAY;gBACRtC,OAAO,IAAI,CAACA,KAAK;gBACjBuC,QAAQlB;gBACRmB,mBAAmB;gBACnBC,YAAY;oBAAC;oBAAO;iBAAO;gBAC3BC,WAAW;oBAACtB;iBAAO;gBACnBc;YACJ;YACAS,YAAY;gBACRC,KAAK;oBACDC,QAAQ;wBACJC,QAAQ;wBACRC,KAAK;wBACLC,YAAY;oBAChB;oBACArB;oBACAsB,WAAW;wBACPpB;wBACAC;wBACAoB,OAAO;4BACHC,SAAS;wBACb;oBACJ;gBACJ;gBACApB;gBACAC,QAAQ;oBACJoB,MAAMpB,WAAW,cAAcA,WAAW,aAAa,aAAa;gBACxE;YACJ;QACJ,GACAT,eACA;YAAE8B,YAAYlE;YAAgBmE,OAAO;QAAM;IAEnD;IAjGA,YAAY,EAAEtD,KAAK,EAAQ,CAAE;QACzB,KAAK,CAAC;YAAEuD,MAAM;YAAuBC,QAAQ;YAAOxD;QAAM;IAC9D;AAgGJ"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "TscCompilePackage", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return TscCompilePackage;
9
+ }
10
+ });
11
+ const _utils = require("../../utils");
12
+ const _clitask = require("./cli-task");
13
+ class TscCompilePackage extends _clitask.CliTask {
14
+ async execute() {
15
+ const tsConfig = (0, _utils.getTsConfig)();
16
+ await this.runChildProcess('tsc', [
17
+ this.watch ? '-w' : undefined,
18
+ '--pretty',
19
+ '--preserveWatchOutput',
20
+ '--noCheck',
21
+ '--composite',
22
+ 'false',
23
+ '--declaration',
24
+ 'false',
25
+ '--declarationMap',
26
+ 'false',
27
+ '--tsBuildInfoFile',
28
+ 'tsconfig.compile.tsbuildinfo',
29
+ '--project',
30
+ tsConfig
31
+ ].filter((i)=>i !== undefined));
32
+ }
33
+ constructor({ watch }){
34
+ super({
35
+ name: 'tsc-compile-package',
36
+ global: false,
37
+ indicators: {
38
+ end: 'Watching for file changes.',
39
+ watchStart: 'Starting incremental compilation.'
40
+ },
41
+ watch
42
+ });
43
+ }
44
+ }
45
+
46
+ //# sourceMappingURL=tsc-compile-package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/cli/tasks/tsc-compile-package.ts"],"sourcesContent":["import { getTsConfig } from '../../utils';\nimport { CliTask } from './cli-task';\n\ninterface Args {\n watch?: boolean;\n}\n\nexport class TscCompilePackage extends CliTask {\n constructor({ watch }: Args) {\n super({\n name: 'tsc-compile-package',\n global: false,\n indicators: {\n end: 'Watching for file changes.',\n watchStart: 'Starting incremental compilation.',\n },\n watch,\n });\n }\n\n async execute() {\n const tsConfig = getTsConfig();\n await this.runChildProcess(\n 'tsc',\n [\n this.watch ? '-w' : undefined,\n '--pretty',\n '--preserveWatchOutput',\n '--noCheck',\n '--composite',\n 'false',\n '--declaration',\n 'false',\n '--declarationMap',\n 'false',\n '--tsBuildInfoFile',\n 'tsconfig.compile.tsbuildinfo',\n '--project',\n tsConfig,\n ].filter(i => i !== undefined)\n );\n }\n}\n"],"names":["TscCompilePackage","CliTask","execute","tsConfig","getTsConfig","runChildProcess","watch","undefined","filter","i","name","global","indicators","end","watchStart"],"mappings":";;;;+BAOaA;;;eAAAA;;;uBAPe;yBACJ;AAMjB,MAAMA,0BAA0BC,gBAAO;IAa1C,MAAMC,UAAU;QACZ,MAAMC,WAAWC,IAAAA,kBAAW;QAC5B,MAAM,IAAI,CAACC,eAAe,CACtB,OACA;YACI,IAAI,CAACC,KAAK,GAAG,OAAOC;YACpB;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACAJ;SACH,CAACK,MAAM,CAACC,CAAAA,IAAKA,MAAMF;IAE5B;IAjCA,YAAY,EAAED,KAAK,EAAQ,CAAE;QACzB,KAAK,CAAC;YACFI,MAAM;YACNC,QAAQ;YACRC,YAAY;gBACRC,KAAK;gBACLC,YAAY;YAChB;YACAR;QACJ;IACJ;AAwBJ"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "TscCompile", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return TscCompile;
9
+ }
10
+ });
11
+ const _utils = require("../../utils");
12
+ const _clitask = require("./cli-task");
13
+ function _define_property(obj, key, value) {
14
+ if (key in obj) {
15
+ Object.defineProperty(obj, key, {
16
+ value: value,
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true
20
+ });
21
+ } else {
22
+ obj[key] = value;
23
+ }
24
+ return obj;
25
+ }
26
+ class TscCompile extends _clitask.CliTask {
27
+ async execute() {
28
+ const packages = (0, _utils.getPackages)({
29
+ scope: this.args.scope,
30
+ ignore: this.args.ignore,
31
+ type: [
32
+ _utils.PackageType.TSC,
33
+ _utils.PackageType.Webpack
34
+ ]
35
+ });
36
+ const tsConfigs = collapsePackages(packages).map(({ location })=>(0, _utils.getTsConfig)(location));
37
+ _utils.log.debug('tsc-compile', `${this.args.watch ? 'watching' : 'compiling'} ${tsConfigs.join(' ')}`);
38
+ await this.runChildProcess('tsc', [
39
+ '-b',
40
+ this.watch ? '-w' : undefined,
41
+ '--pretty',
42
+ '--preserveWatchOutput',
43
+ '--emitDeclarationOnly',
44
+ ...tsConfigs
45
+ ].filter((i)=>i !== undefined));
46
+ }
47
+ constructor(args){
48
+ super({
49
+ name: 'tsc-compile',
50
+ watch: args.watch,
51
+ global: true,
52
+ indicators: {
53
+ end: 'Watching for file changes.',
54
+ watchStart: 'Starting incremental compilation.'
55
+ }
56
+ }), _define_property(this, "args", void 0), this.args = args;
57
+ }
58
+ }
59
+ /**
60
+ * Exclude dependant packages as they will be built through project references
61
+ */ function collapsePackages(packages) {
62
+ const dependencies = new Set(Object.values((0, _utils.getPackagesGraph)({
63
+ scope: packages.map(({ name })=>name)
64
+ })).flat());
65
+ return packages.filter(({ name })=>!dependencies.has(name));
66
+ }
67
+
68
+ //# sourceMappingURL=tsc-compile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/cli/tasks/tsc-compile.ts"],"sourcesContent":["import { getPackages, getPackagesGraph, getTsConfig, log, Package, PackageType } from '../../utils';\nimport { CliTask } from './cli-task';\n\ninterface Args {\n ignore?: string | string[];\n scope?: string | string[];\n watch?: boolean;\n}\n\nexport class TscCompile extends CliTask {\n constructor(private readonly args: Args) {\n super({\n name: 'tsc-compile',\n watch: args.watch,\n global: true,\n indicators: {\n end: 'Watching for file changes.',\n watchStart: 'Starting incremental compilation.',\n },\n });\n }\n\n async execute() {\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n\n const tsConfigs = collapsePackages(packages).map(({ location }) => getTsConfig(location));\n\n log.debug(\n 'tsc-compile',\n `${this.args.watch ? 'watching' : 'compiling'} ${tsConfigs.join(' ')}`\n );\n\n await this.runChildProcess(\n 'tsc',\n [\n '-b',\n this.watch ? '-w' : undefined,\n '--pretty',\n '--preserveWatchOutput',\n '--emitDeclarationOnly',\n ...tsConfigs,\n ].filter(i => i !== undefined)\n );\n }\n}\n\n/**\n * Exclude dependant packages as they will be built through project references\n */\nfunction collapsePackages(packages: Package[]) {\n const dependencies = new Set(\n Object.values(getPackagesGraph({ scope: packages.map(({ name }) => name) })).flat()\n );\n\n return packages.filter(({ name }) => !dependencies.has(name));\n}\n"],"names":["TscCompile","CliTask","execute","packages","getPackages","scope","args","ignore","type","PackageType","TSC","Webpack","tsConfigs","collapsePackages","map","location","getTsConfig","log","debug","watch","join","runChildProcess","undefined","filter","i","name","global","indicators","end","watchStart","dependencies","Set","Object","values","getPackagesGraph","flat","has"],"mappings":";;;;+BASaA;;;eAAAA;;;uBATyE;yBAC9D;;;;;;;;;;;;;;AAQjB,MAAMA,mBAAmBC,gBAAO;IAanC,MAAMC,UAAU;QACZ,MAAMC,WAAWC,IAAAA,kBAAW,EAAC;YACzBC,OAAO,IAAI,CAACC,IAAI,CAACD,KAAK;YACtBE,QAAQ,IAAI,CAACD,IAAI,CAACC,MAAM;YACxBC,MAAM;gBAACC,kBAAW,CAACC,GAAG;gBAAED,kBAAW,CAACE,OAAO;aAAC;QAChD;QAEA,MAAMC,YAAYC,iBAAiBV,UAAUW,GAAG,CAAC,CAAC,EAAEC,QAAQ,EAAE,GAAKC,IAAAA,kBAAW,EAACD;QAE/EE,UAAG,CAACC,KAAK,CACL,eACA,GAAG,IAAI,CAACZ,IAAI,CAACa,KAAK,GAAG,aAAa,YAAY,CAAC,EAAEP,UAAUQ,IAAI,CAAC,MAAM;QAG1E,MAAM,IAAI,CAACC,eAAe,CACtB,OACA;YACI;YACA,IAAI,CAACF,KAAK,GAAG,OAAOG;YACpB;YACA;YACA;eACGV;SACN,CAACW,MAAM,CAACC,CAAAA,IAAKA,MAAMF;IAE5B;IArCA,YAAY,AAAiBhB,IAAU,CAAE;QACrC,KAAK,CAAC;YACFmB,MAAM;YACNN,OAAOb,KAAKa,KAAK;YACjBO,QAAQ;YACRC,YAAY;gBACRC,KAAK;gBACLC,YAAY;YAChB;QACJ,iDATyBvB,OAAAA;IAU7B;AA4BJ;AAEA;;CAEC,GACD,SAASO,iBAAiBV,QAAmB;IACzC,MAAM2B,eAAe,IAAIC,IACrBC,OAAOC,MAAM,CAACC,IAAAA,uBAAgB,EAAC;QAAE7B,OAAOF,SAASW,GAAG,CAAC,CAAC,EAAEW,IAAI,EAAE,GAAKA;IAAM,IAAIU,IAAI;IAGrF,OAAOhC,SAASoB,MAAM,CAAC,CAAC,EAAEE,IAAI,EAAE,GAAK,CAACK,aAAaM,GAAG,CAACX;AAC3D"}
@@ -1,14 +1,11 @@
1
- import { Configuration } from 'webpack';
2
1
  interface Options {
3
2
  buildStat?: boolean;
4
3
  codeCoverage?: boolean;
5
4
  config?: string;
6
- emitExposedDependencies?: boolean | Pick<Configuration, 'output'>;
5
+ emitExposedDependencies?: boolean;
7
6
  useWatchConfig?: boolean;
8
7
  watch?: boolean;
9
8
  }
10
- export declare const webpackDevConfigFileName = "webpack.dev.config.js";
11
- export declare const webpackProdConfigFileName = "webpack.prod.config.js";
12
- export declare function bundle(options?: Options): Promise<void | void[]>;
9
+ export declare function bundle(options?: Options): Promise<void | [void, void, void]>;
13
10
  export {};
14
11
  //# sourceMappingURL=bundle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":"AAIA,OAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAcjD,UAAU,OAAO;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAChE,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAElE,wBAAsB,MAAM,CAAC,OAAO,GAAE,OAAY,0BAmCjD"}
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":"AAMA,UAAU,OAAO;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,MAAM,CAAC,OAAO,GAAE,OAAY,sCAqCjD"}