@servicetitan/startup 33.1.0 → 34.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (449) hide show
  1. package/dist/cli/commands/build.d.ts +48 -22
  2. package/dist/cli/commands/build.d.ts.map +1 -1
  3. package/dist/cli/commands/build.js +72 -52
  4. package/dist/cli/commands/build.js.map +1 -1
  5. package/dist/cli/commands/bundle-package.d.ts +54 -10
  6. package/dist/cli/commands/bundle-package.d.ts.map +1 -1
  7. package/dist/cli/commands/bundle-package.js +40 -0
  8. package/dist/cli/commands/bundle-package.js.map +1 -1
  9. package/dist/cli/commands/clean.d.ts +4 -0
  10. package/dist/cli/commands/clean.d.ts.map +1 -1
  11. package/dist/cli/commands/clean.js +50 -16
  12. package/dist/cli/commands/clean.js.map +1 -1
  13. package/dist/cli/commands/convert-eslint-config.d.ts +1 -1
  14. package/dist/cli/commands/convert-eslint-config.d.ts.map +1 -1
  15. package/dist/cli/commands/convert-eslint-config.js +2 -15
  16. package/dist/cli/commands/convert-eslint-config.js.map +1 -1
  17. package/dist/cli/commands/eslint.d.ts +29 -7
  18. package/dist/cli/commands/eslint.d.ts.map +1 -1
  19. package/dist/cli/commands/eslint.js +18 -6
  20. package/dist/cli/commands/eslint.js.map +1 -1
  21. package/dist/cli/commands/get-command.d.ts.map +1 -1
  22. package/dist/cli/commands/get-command.js +6 -0
  23. package/dist/cli/commands/get-command.js.map +1 -1
  24. package/dist/cli/commands/index.d.ts +2 -2
  25. package/dist/cli/commands/index.d.ts.map +1 -1
  26. package/dist/cli/commands/index.js +2 -2
  27. package/dist/cli/commands/index.js.map +1 -1
  28. package/dist/cli/commands/init.d.ts +10 -6
  29. package/dist/cli/commands/init.d.ts.map +1 -1
  30. package/dist/cli/commands/init.js +8 -6
  31. package/dist/cli/commands/init.js.map +1 -1
  32. package/dist/cli/commands/install.d.ts +27 -15
  33. package/dist/cli/commands/install.d.ts.map +1 -1
  34. package/dist/cli/commands/install.js +18 -16
  35. package/dist/cli/commands/install.js.map +1 -1
  36. package/dist/cli/commands/kendo-ui-license.d.ts +1 -0
  37. package/dist/cli/commands/kendo-ui-license.d.ts.map +1 -1
  38. package/dist/cli/commands/kendo-ui-license.js +1 -0
  39. package/dist/cli/commands/kendo-ui-license.js.map +1 -1
  40. package/dist/cli/commands/lint.d.ts +51 -17
  41. package/dist/cli/commands/lint.d.ts.map +1 -1
  42. package/dist/cli/commands/lint.js +36 -26
  43. package/dist/cli/commands/lint.js.map +1 -1
  44. package/dist/cli/commands/mfe-check.d.ts +52 -0
  45. package/dist/cli/commands/mfe-check.d.ts.map +1 -0
  46. package/dist/cli/commands/mfe-check.js +145 -0
  47. package/dist/cli/commands/mfe-check.js.map +1 -0
  48. package/dist/cli/commands/mfe-generate-metadata.d.ts +20 -0
  49. package/dist/cli/commands/mfe-generate-metadata.d.ts.map +1 -0
  50. package/dist/cli/commands/mfe-generate-metadata.js +93 -0
  51. package/dist/cli/commands/mfe-generate-metadata.js.map +1 -0
  52. package/dist/cli/commands/mfe-list.d.ts +52 -15
  53. package/dist/cli/commands/mfe-list.d.ts.map +1 -1
  54. package/dist/cli/commands/mfe-list.js +42 -29
  55. package/dist/cli/commands/mfe-list.js.map +1 -1
  56. package/dist/cli/commands/mfe-package-clean.d.ts +34 -15
  57. package/dist/cli/commands/mfe-package-clean.d.ts.map +1 -1
  58. package/dist/cli/commands/mfe-package-clean.js +43 -34
  59. package/dist/cli/commands/mfe-package-clean.js.map +1 -1
  60. package/dist/cli/commands/mfe-package-publish.d.ts +60 -22
  61. package/dist/cli/commands/mfe-package-publish.d.ts.map +1 -1
  62. package/dist/cli/commands/mfe-package-publish.js +137 -78
  63. package/dist/cli/commands/mfe-package-publish.js.map +1 -1
  64. package/dist/cli/commands/mfe-package-rollback.d.ts +40 -0
  65. package/dist/cli/commands/mfe-package-rollback.d.ts.map +1 -0
  66. package/dist/cli/commands/mfe-package-rollback.js +119 -0
  67. package/dist/cli/commands/mfe-package-rollback.js.map +1 -0
  68. package/dist/cli/commands/mfe-publish.d.ts +36 -11
  69. package/dist/cli/commands/mfe-publish.d.ts.map +1 -1
  70. package/dist/cli/commands/mfe-publish.js +72 -22
  71. package/dist/cli/commands/mfe-publish.js.map +1 -1
  72. package/dist/cli/commands/prepare-package.d.ts +14 -5
  73. package/dist/cli/commands/prepare-package.d.ts.map +1 -1
  74. package/dist/cli/commands/prepare-package.js +20 -0
  75. package/dist/cli/commands/prepare-package.js.map +1 -1
  76. package/dist/cli/commands/review/review.d.ts +17 -8
  77. package/dist/cli/commands/review/review.d.ts.map +1 -1
  78. package/dist/cli/commands/review/review.js +16 -21
  79. package/dist/cli/commands/review/review.js.map +1 -1
  80. package/dist/cli/commands/review/rules/index.d.ts.map +1 -1
  81. package/dist/cli/commands/review/rules/index.js +3 -1
  82. package/dist/cli/commands/review/rules/index.js.map +1 -1
  83. package/dist/cli/commands/review/rules/no-deprecated-content-base.js.map +1 -1
  84. package/dist/cli/commands/review/rules/prefer-open-ended-peer-dependencies.js.map +1 -1
  85. package/dist/cli/commands/review/rules/require-compatible-launch-darkly-sdk.js +4 -4
  86. package/dist/cli/commands/review/rules/require-compatible-launch-darkly-sdk.js.map +1 -1
  87. package/dist/cli/commands/review/rules/require-one-collection-version.js +1 -2
  88. package/dist/cli/commands/review/rules/require-one-collection-version.js.map +1 -1
  89. package/dist/cli/commands/review/rules/require-one-uikit-version.d.ts.map +1 -1
  90. package/dist/cli/commands/review/rules/require-one-uikit-version.js +1 -0
  91. package/dist/cli/commands/review/rules/require-one-uikit-version.js.map +1 -1
  92. package/dist/cli/commands/review/rules/require-project-version-in-root-node-modules.d.ts.map +1 -1
  93. package/dist/cli/commands/review/rules/require-project-version-in-root-node-modules.js +8 -8
  94. package/dist/cli/commands/review/rules/require-project-version-in-root-node-modules.js.map +1 -1
  95. package/dist/cli/commands/review/rules/require-tsconfig-references.d.ts +24 -0
  96. package/dist/cli/commands/review/rules/require-tsconfig-references.d.ts.map +1 -0
  97. package/dist/cli/commands/review/rules/require-tsconfig-references.js +146 -0
  98. package/dist/cli/commands/review/rules/require-tsconfig-references.js.map +1 -0
  99. package/dist/cli/commands/review/utils/collate-dependencies.js +1 -3
  100. package/dist/cli/commands/review/utils/collate-dependencies.js.map +1 -1
  101. package/dist/cli/commands/review/utils/compare-version.js +2 -2
  102. package/dist/cli/commands/review/utils/compare-version.js.map +1 -1
  103. package/dist/cli/commands/review/utils/set-version.js +1 -1
  104. package/dist/cli/commands/review/utils/set-version.js.map +1 -1
  105. package/dist/cli/commands/run-task.d.ts +29 -7
  106. package/dist/cli/commands/run-task.d.ts.map +1 -1
  107. package/dist/cli/commands/run-task.js +21 -8
  108. package/dist/cli/commands/run-task.js.map +1 -1
  109. package/dist/cli/commands/run-task.test.js +14 -2
  110. package/dist/cli/commands/run-task.test.js.map +1 -1
  111. package/dist/cli/commands/start.d.ts +38 -18
  112. package/dist/cli/commands/start.d.ts.map +1 -1
  113. package/dist/cli/commands/start.js +65 -45
  114. package/dist/cli/commands/start.js.map +1 -1
  115. package/dist/cli/commands/stylelint.d.ts +29 -7
  116. package/dist/cli/commands/stylelint.d.ts.map +1 -1
  117. package/dist/cli/commands/stylelint.js +18 -6
  118. package/dist/cli/commands/stylelint.js.map +1 -1
  119. package/dist/cli/commands/test/runners/vitest.js +1 -1
  120. package/dist/cli/commands/test/runners/vitest.js.map +1 -1
  121. package/dist/cli/commands/test/tests.d.ts +25 -5
  122. package/dist/cli/commands/test/tests.d.ts.map +1 -1
  123. package/dist/cli/commands/test/tests.js +22 -14
  124. package/dist/cli/commands/test/tests.js.map +1 -1
  125. package/dist/cli/commands/types.d.ts +51 -10
  126. package/dist/cli/commands/types.d.ts.map +1 -1
  127. package/dist/cli/commands/types.js +1 -0
  128. package/dist/cli/commands/types.js.map +1 -1
  129. package/dist/cli/commands/upload-sourcemaps.d.ts +26 -6
  130. package/dist/cli/commands/upload-sourcemaps.d.ts.map +1 -1
  131. package/dist/cli/commands/upload-sourcemaps.js +27 -4
  132. package/dist/cli/commands/upload-sourcemaps.js.map +1 -1
  133. package/dist/cli/commands/utils.d.ts +4 -0
  134. package/dist/cli/commands/utils.d.ts.map +1 -0
  135. package/dist/cli/commands/utils.js +28 -0
  136. package/dist/cli/commands/utils.js.map +1 -0
  137. package/dist/cli/index.js +8 -5
  138. package/dist/cli/index.js.map +1 -1
  139. package/dist/cli/tasks/cli-task.d.ts.map +1 -1
  140. package/dist/cli/tasks/cli-task.js +1 -1
  141. package/dist/cli/tasks/cli-task.js.map +1 -1
  142. package/dist/cli/tasks/swc-compile-package.d.ts +1 -2
  143. package/dist/cli/tasks/swc-compile-package.d.ts.map +1 -1
  144. package/dist/cli/tasks/swc-compile-package.js.map +1 -1
  145. package/dist/cli/tasks/tsc-compile-package.d.ts +1 -2
  146. package/dist/cli/tasks/tsc-compile-package.d.ts.map +1 -1
  147. package/dist/cli/tasks/tsc-compile-package.js.map +1 -1
  148. package/dist/cli/tasks/tsc-compile.d.ts +1 -2
  149. package/dist/cli/tasks/tsc-compile.d.ts.map +1 -1
  150. package/dist/cli/tasks/tsc-compile.js.map +1 -1
  151. package/dist/cli/utils/bundle.d.ts.map +1 -1
  152. package/dist/cli/utils/bundle.js +2 -2
  153. package/dist/cli/utils/bundle.js.map +1 -1
  154. package/dist/cli/utils/check-startup-location.d.ts +4 -0
  155. package/dist/cli/utils/check-startup-location.d.ts.map +1 -0
  156. package/dist/cli/utils/check-startup-location.js +27 -0
  157. package/dist/cli/utils/check-startup-location.js.map +1 -0
  158. package/dist/cli/utils/cli-npm.d.ts +6 -0
  159. package/dist/cli/utils/cli-npm.d.ts.map +1 -1
  160. package/dist/cli/utils/cli-npm.js +25 -3
  161. package/dist/cli/utils/cli-npm.js.map +1 -1
  162. package/dist/cli/utils/compile-less.js +1 -1
  163. package/dist/cli/utils/compile-less.js.map +1 -1
  164. package/dist/cli/utils/constants.d.ts +2 -0
  165. package/dist/cli/utils/constants.d.ts.map +1 -0
  166. package/dist/cli/utils/constants.js +13 -0
  167. package/dist/cli/utils/constants.js.map +1 -0
  168. package/dist/cli/utils/copy-files.d.ts.map +1 -1
  169. package/dist/cli/utils/copy-files.js.map +1 -1
  170. package/dist/cli/utils/eslint.d.ts +1 -2
  171. package/dist/cli/utils/eslint.d.ts.map +1 -1
  172. package/dist/cli/utils/eslint.js.map +1 -1
  173. package/dist/cli/utils/index.d.ts +2 -0
  174. package/dist/cli/utils/index.d.ts.map +1 -1
  175. package/dist/cli/utils/index.js +2 -0
  176. package/dist/cli/utils/index.js.map +1 -1
  177. package/dist/cli/utils/is-module-installed.js +1 -1
  178. package/dist/cli/utils/is-module-installed.js.map +1 -1
  179. package/dist/cli/utils/lerna-exec.d.ts.map +1 -1
  180. package/dist/cli/utils/lerna-exec.js +1 -3
  181. package/dist/cli/utils/lerna-exec.js.map +1 -1
  182. package/dist/cli/utils/process-tree.js.map +1 -1
  183. package/dist/cli/utils/set-node-options.js +2 -4
  184. package/dist/cli/utils/set-node-options.js.map +1 -1
  185. package/dist/cli/utils/stylelint.d.ts +1 -2
  186. package/dist/cli/utils/stylelint.d.ts.map +1 -1
  187. package/dist/cli/utils/stylelint.js.map +1 -1
  188. package/dist/index.d.ts +1 -1
  189. package/dist/index.d.ts.map +1 -1
  190. package/dist/index.js +1 -1
  191. package/dist/index.js.map +1 -1
  192. package/dist/jest/resolver.js +2 -2
  193. package/dist/jest/resolver.js.map +1 -1
  194. package/dist/jest/svg-transformer.d.ts.map +1 -1
  195. package/dist/jest/svg-transformer.js.map +1 -1
  196. package/dist/utils/find-packages.js +1 -1
  197. package/dist/utils/find-packages.js.map +1 -1
  198. package/dist/utils/format-relative-date.js +1 -1
  199. package/dist/utils/format-relative-date.js.map +1 -1
  200. package/dist/utils/get-configuration.d.ts +3 -0
  201. package/dist/utils/get-configuration.d.ts.map +1 -1
  202. package/dist/utils/get-configuration.js +14 -11
  203. package/dist/utils/get-configuration.js.map +1 -1
  204. package/dist/utils/get-destination-folders.d.ts.map +1 -1
  205. package/dist/utils/get-destination-folders.js.map +1 -1
  206. package/dist/utils/get-folders.d.ts.map +1 -1
  207. package/dist/utils/get-folders.js.map +1 -1
  208. package/dist/utils/get-jest-config.js +1 -1
  209. package/dist/utils/get-jest-config.js.map +1 -1
  210. package/dist/utils/get-package-data.js +1 -1
  211. package/dist/utils/get-package-data.js.map +1 -1
  212. package/dist/utils/get-packages.js.map +1 -1
  213. package/dist/utils/index.d.ts +1 -0
  214. package/dist/utils/index.d.ts.map +1 -1
  215. package/dist/utils/index.js +1 -0
  216. package/dist/utils/index.js.map +1 -1
  217. package/dist/utils/load-shared-dependencies.js.map +1 -1
  218. package/dist/utils/prettify.d.ts +13 -0
  219. package/dist/utils/prettify.d.ts.map +1 -0
  220. package/dist/utils/prettify.js +48 -0
  221. package/dist/utils/prettify.js.map +1 -0
  222. package/dist/utils/read-json.js +1 -1
  223. package/dist/utils/read-json.js.map +1 -1
  224. package/dist/utils/transform-svg.js +2 -2
  225. package/dist/utils/transform-svg.js.map +1 -1
  226. package/dist/webpack/configs/cache-config.js +1 -1
  227. package/dist/webpack/configs/cache-config.js.map +1 -1
  228. package/dist/webpack/configs/optimization-config.js +3 -4
  229. package/dist/webpack/configs/optimization-config.js.map +1 -1
  230. package/dist/webpack/configs/output-config.js +1 -1
  231. package/dist/webpack/configs/output-config.js.map +1 -1
  232. package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts.map +1 -1
  233. package/dist/webpack/configs/plugins/assets-manifest-plugin.js +5 -5
  234. package/dist/webpack/configs/plugins/assets-manifest-plugin.js.map +1 -1
  235. package/dist/webpack/configs/plugins/bundle-analyser-plugin.d.ts.map +1 -1
  236. package/dist/webpack/configs/plugins/bundle-analyser-plugin.js +1 -1
  237. package/dist/webpack/configs/plugins/bundle-analyser-plugin.js.map +1 -1
  238. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.d.ts.map +1 -1
  239. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js +6 -9
  240. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js.map +1 -1
  241. package/dist/webpack/configs/plugins/html-tags-plugin.js +1 -1
  242. package/dist/webpack/configs/plugins/html-tags-plugin.js.map +1 -1
  243. package/dist/webpack/configs/plugins/ignore-plugin/check-resource.js +1 -1
  244. package/dist/webpack/configs/plugins/ignore-plugin/check-resource.js.map +1 -1
  245. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.d.ts.map +1 -1
  246. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js.map +1 -1
  247. package/dist/webpack/configs/plugins/moment-locales-plugin.js +1 -1
  248. package/dist/webpack/configs/plugins/moment-locales-plugin.js.map +1 -1
  249. package/dist/webpack/configs/plugins/watch-run-plugin.d.ts.map +1 -1
  250. package/dist/webpack/configs/plugins/watch-run-plugin.js.map +1 -1
  251. package/dist/webpack/configs/types.d.ts +1 -0
  252. package/dist/webpack/configs/types.d.ts.map +1 -1
  253. package/dist/webpack/configs/utils/build-metadata.d.ts +10 -0
  254. package/dist/webpack/configs/utils/build-metadata.d.ts.map +1 -0
  255. package/dist/webpack/configs/utils/build-metadata.js +50 -0
  256. package/dist/webpack/configs/utils/build-metadata.js.map +1 -0
  257. package/dist/webpack/configs/utils/generate-metadata.d.ts.map +1 -1
  258. package/dist/webpack/configs/utils/generate-metadata.js +5 -24
  259. package/dist/webpack/configs/utils/generate-metadata.js.map +1 -1
  260. package/dist/webpack/configs/utils/get-exposed-dependencies.d.ts +3 -0
  261. package/dist/webpack/configs/utils/get-exposed-dependencies.d.ts.map +1 -0
  262. package/dist/webpack/configs/utils/get-exposed-dependencies.js +21 -0
  263. package/dist/webpack/configs/utils/get-exposed-dependencies.js.map +1 -0
  264. package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.js +1 -1
  265. package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.js.map +1 -1
  266. package/dist/webpack/configs/utils/index.d.ts +1 -0
  267. package/dist/webpack/configs/utils/index.d.ts.map +1 -1
  268. package/dist/webpack/configs/utils/index.js +1 -0
  269. package/dist/webpack/configs/utils/index.js.map +1 -1
  270. package/dist/webpack/create-webpack-config.js +10 -4
  271. package/dist/webpack/create-webpack-config.js.map +1 -1
  272. package/dist/webpack/loaders/expose-loader/index.d.ts.map +1 -1
  273. package/dist/webpack/loaders/expose-loader/index.js.map +1 -1
  274. package/dist/webpack/loaders/expose-loader/runtime/get-global-this.js +1 -1
  275. package/dist/webpack/loaders/expose-loader/runtime/get-global-this.js.map +1 -1
  276. package/dist/webpack/loaders/expose-loader/utils/get-new-user-request.js +2 -2
  277. package/dist/webpack/loaders/expose-loader/utils/get-new-user-request.js.map +1 -1
  278. package/dist/webpack/utils/stringify-config.js +2 -2
  279. package/dist/webpack/utils/stringify-config.js.map +1 -1
  280. package/dist/webpack/utils/testing/get-compiler.d.ts.map +1 -1
  281. package/dist/webpack/utils/testing/get-compiler.js +1 -1
  282. package/dist/webpack/utils/testing/get-compiler.js.map +1 -1
  283. package/dist/webpack/utils/testing/get-errors.d.ts.map +1 -1
  284. package/dist/webpack/utils/testing/get-errors.js.map +1 -1
  285. package/dist/webpack/utils/testing/get-warnings.d.ts.map +1 -1
  286. package/dist/webpack/utils/testing/get-warnings.js.map +1 -1
  287. package/dist/webpack/utils/testing/read-asset.d.ts.map +1 -1
  288. package/dist/webpack/utils/testing/read-asset.js +1 -1
  289. package/dist/webpack/utils/testing/read-asset.js.map +1 -1
  290. package/dist/webpack/utils/testing/read-assets.d.ts.map +1 -1
  291. package/dist/webpack/utils/testing/read-assets.js.map +1 -1
  292. package/package.json +35 -41
  293. package/src/cli/commands/__tests__/build.test.ts +32 -9
  294. package/src/cli/commands/__tests__/bundle-package.test.ts +2 -1
  295. package/src/cli/commands/__tests__/clean.test.ts +99 -8
  296. package/src/cli/commands/__tests__/convert-eslint-config.test.ts +14 -9
  297. package/src/cli/commands/__tests__/eslint.test.ts +1 -1
  298. package/src/cli/commands/__tests__/get-command.test.ts +3 -1
  299. package/src/cli/commands/__tests__/init.test.ts +14 -1
  300. package/src/cli/commands/__tests__/install.test.ts +6 -2
  301. package/src/cli/commands/__tests__/kendo-ui-license.test.ts +7 -2
  302. package/src/cli/commands/__tests__/lint.test.ts +4 -2
  303. package/src/cli/commands/__tests__/mfe-check.test.ts +346 -0
  304. package/src/cli/commands/__tests__/mfe-generate-metadata.test.ts +160 -0
  305. package/src/cli/commands/__tests__/mfe-list.test.ts +8 -1
  306. package/src/cli/commands/__tests__/mfe-package-clean.test.ts +0 -1
  307. package/src/cli/commands/__tests__/mfe-package-publish.test.ts +322 -93
  308. package/src/cli/commands/__tests__/mfe-package-rollback.test.ts +196 -0
  309. package/src/cli/commands/__tests__/mfe-publish.test.ts +65 -5
  310. package/src/cli/commands/__tests__/prepare-package.test.ts +3 -0
  311. package/src/cli/commands/__tests__/start.test.ts +30 -7
  312. package/src/cli/commands/__tests__/stylelint.test.ts +1 -1
  313. package/src/cli/commands/__tests__/styles-check.test.ts +1 -2
  314. package/src/cli/commands/__tests__/upload-sourcemaps.test.ts +3 -6
  315. package/src/cli/commands/build.ts +35 -26
  316. package/src/cli/commands/bundle-package.ts +11 -10
  317. package/src/cli/commands/clean.ts +51 -5
  318. package/src/cli/commands/convert-eslint-config.ts +3 -12
  319. package/src/cli/commands/eslint.ts +9 -11
  320. package/src/cli/commands/get-command.ts +6 -1
  321. package/src/cli/commands/index.ts +2 -2
  322. package/src/cli/commands/init.ts +7 -9
  323. package/src/cli/commands/install.ts +11 -13
  324. package/src/cli/commands/kendo-ui-license.ts +1 -1
  325. package/src/cli/commands/lint.ts +12 -18
  326. package/src/cli/commands/mfe-check.ts +166 -0
  327. package/src/cli/commands/mfe-generate-metadata.ts +69 -0
  328. package/src/cli/commands/mfe-list.ts +28 -30
  329. package/src/cli/commands/mfe-package-clean.ts +29 -34
  330. package/src/cli/commands/mfe-package-publish.ts +153 -87
  331. package/src/cli/commands/mfe-package-rollback.ts +100 -0
  332. package/src/cli/commands/mfe-publish.ts +80 -27
  333. package/src/cli/commands/prepare-package.ts +6 -5
  334. package/src/cli/commands/review/__tests__/review.test.ts +18 -19
  335. package/src/cli/commands/review/review.ts +11 -20
  336. package/src/cli/commands/review/rules/__tests__/no-deprecated-content-base.test.ts +1 -1
  337. package/src/cli/commands/review/rules/__tests__/no-deprecated-startup-install.test.ts +0 -1
  338. package/src/cli/commands/review/rules/__tests__/no-direct-peer-dependencies.test.ts +1 -1
  339. package/src/cli/commands/review/rules/__tests__/no-typescript-entry-point.test.ts +0 -1
  340. package/src/cli/commands/review/rules/__tests__/require-all-react-dependencies.test.ts +0 -1
  341. package/src/cli/commands/review/rules/__tests__/require-compatible-launch-darkly-sdk.test.ts +2 -2
  342. package/src/cli/commands/review/rules/__tests__/require-explicit-side-effects.test.ts +0 -1
  343. package/src/cli/commands/review/rules/__tests__/require-npmrc.test.ts +0 -1
  344. package/src/cli/commands/review/rules/__tests__/require-one-anvil-uikit-contrib-version.test.ts +1 -2
  345. package/src/cli/commands/review/rules/__tests__/require-one-collection-version.test.ts +0 -1
  346. package/src/cli/commands/review/rules/__tests__/require-one-package-version.test.ts +0 -1
  347. package/src/cli/commands/review/rules/__tests__/require-one-react-version.test.ts +0 -1
  348. package/src/cli/commands/review/rules/__tests__/require-one-uikit-version.test.ts +1 -1
  349. package/src/cli/commands/review/rules/__tests__/require-project-version-in-root-node-modules.test.ts +2 -3
  350. package/src/cli/commands/review/rules/__tests__/require-servicetitan-scope.test.ts +0 -1
  351. package/src/cli/commands/review/rules/__tests__/require-tsconfig-references.test.ts +315 -0
  352. package/src/cli/commands/review/rules/index.ts +2 -0
  353. package/src/cli/commands/review/rules/require-compatible-launch-darkly-sdk.ts +1 -1
  354. package/src/cli/commands/review/rules/require-one-uikit-version.ts +1 -0
  355. package/src/cli/commands/review/rules/require-project-version-in-root-node-modules.ts +3 -3
  356. package/src/cli/commands/review/rules/require-tsconfig-references.ts +157 -0
  357. package/src/cli/commands/review/utils/__tests__/set-version.test.ts +0 -1
  358. package/src/cli/commands/run-task.test.ts +15 -3
  359. package/src/cli/commands/run-task.ts +12 -14
  360. package/src/cli/commands/start.ts +75 -59
  361. package/src/cli/commands/stylelint.ts +9 -11
  362. package/src/cli/commands/test/runners/__tests__/jest.test.ts +1 -2
  363. package/src/cli/commands/test/runners/vitest.ts +1 -1
  364. package/src/cli/commands/test/tests.ts +13 -15
  365. package/src/cli/commands/types.ts +53 -7
  366. package/src/cli/commands/upload-sourcemaps.ts +14 -12
  367. package/src/cli/commands/utils.ts +6 -0
  368. package/src/cli/index.ts +11 -7
  369. package/src/cli/tasks/__tests__/cli-task.test.ts +1 -1
  370. package/src/cli/tasks/__tests__/swc-compile-package.test.ts +3 -1
  371. package/src/cli/tasks/__tests__/tsc-compile-package.test.ts +2 -0
  372. package/src/cli/tasks/__tests__/tsc-compile.test.ts +3 -13
  373. package/src/cli/tasks/cli-task.ts +1 -1
  374. package/src/cli/tasks/swc-compile-package.ts +1 -3
  375. package/src/cli/tasks/tsc-compile-package.ts +1 -2
  376. package/src/cli/tasks/tsc-compile.ts +1 -2
  377. package/src/cli/utils/__tests__/bundle.test.ts +1 -2
  378. package/src/cli/utils/__tests__/check-args.test.ts +1 -1
  379. package/src/cli/utils/__tests__/check-startup-location.test.ts +88 -0
  380. package/src/cli/utils/__tests__/cli-git.test.ts +1 -2
  381. package/src/cli/utils/__tests__/cli-npm.test.ts +51 -2
  382. package/src/cli/utils/__tests__/cli-os.test.ts +1 -2
  383. package/src/cli/utils/__tests__/compile.test.ts +1 -1
  384. package/src/cli/utils/__tests__/copy-files.test.ts +0 -1
  385. package/src/cli/utils/__tests__/eslint.test.ts +1 -1
  386. package/src/cli/utils/__tests__/lerna-exec.test.ts +1 -2
  387. package/src/cli/utils/__tests__/maybe-create-git-folder.test.ts +0 -1
  388. package/src/cli/utils/__tests__/set-node-options.test.ts +0 -1
  389. package/src/cli/utils/__tests__/stylelint.test.ts +1 -1
  390. package/src/cli/utils/bundle.ts +1 -3
  391. package/src/cli/utils/check-startup-location.ts +21 -0
  392. package/src/cli/utils/cli-npm.ts +22 -0
  393. package/src/cli/utils/compile-less.ts +1 -1
  394. package/src/cli/utils/constants.ts +1 -0
  395. package/src/cli/utils/copy-files.ts +0 -1
  396. package/src/cli/utils/eslint.ts +1 -3
  397. package/src/cli/utils/index.ts +2 -0
  398. package/src/cli/utils/lerna-exec.ts +0 -1
  399. package/src/cli/utils/stylelint.ts +1 -2
  400. package/src/index.ts +1 -1
  401. package/src/jest/svg-transformer.ts +0 -1
  402. package/src/utils/__tests__/get-branch-configs.test.ts +0 -1
  403. package/src/utils/__tests__/get-configuration.test.ts +0 -1
  404. package/src/utils/__tests__/get-destination-folders.test.ts +1 -2
  405. package/src/utils/__tests__/get-folders.test.ts +0 -1
  406. package/src/utils/__tests__/get-jest-config.test.ts +1 -2
  407. package/src/utils/__tests__/get-package-data.test.ts +1 -2
  408. package/src/utils/__tests__/get-packages.test.ts +1 -1
  409. package/src/utils/__tests__/get-startup-version.test.ts +0 -1
  410. package/src/utils/__tests__/get-tsconfig.test.ts +0 -1
  411. package/src/utils/__tests__/load-shared-dependencies.test.ts +1 -1
  412. package/src/utils/__tests__/log.test.ts +1 -1
  413. package/src/utils/__tests__/prettify.test.ts +80 -0
  414. package/src/utils/__tests__/read-json.test.ts +0 -1
  415. package/src/utils/find-packages.ts +1 -1
  416. package/src/utils/get-configuration.ts +8 -7
  417. package/src/utils/get-destination-folders.ts +0 -1
  418. package/src/utils/get-folders.ts +0 -1
  419. package/src/utils/get-jest-config.ts +1 -1
  420. package/src/utils/index.ts +1 -0
  421. package/src/utils/prettify.ts +36 -0
  422. package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +6 -2
  423. package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +7 -4
  424. package/src/webpack/__tests__/create-webpack-config.test.ts +8 -4
  425. package/src/webpack/configs/cache-config.ts +1 -1
  426. package/src/webpack/configs/plugins/assets-manifest-plugin.ts +1 -1
  427. package/src/webpack/configs/plugins/bundle-analyser-plugin.ts +2 -2
  428. package/src/webpack/configs/plugins/define-exposed-dependencies-plugin.ts +6 -15
  429. package/src/webpack/configs/plugins/ignore-plugin/__tests__/get-package-json.test.ts +1 -1
  430. package/src/webpack/configs/plugins/ignore-plugin/__tests__/is-optional-peer-dependency.test.ts +1 -1
  431. package/src/webpack/configs/plugins/ignore-plugin/ignore-plugin.ts +0 -1
  432. package/src/webpack/configs/plugins/watch-run-plugin.ts +0 -1
  433. package/src/webpack/configs/types.ts +1 -0
  434. package/src/webpack/configs/utils/__tests__/build-metadata.test.ts +71 -0
  435. package/src/webpack/configs/utils/__tests__/generate-metadata.test.ts +42 -46
  436. package/src/webpack/configs/utils/__tests__/get-exposed-dependencies.test.ts +39 -0
  437. package/src/webpack/configs/utils/__tests__/get-web-components-version.test.ts +0 -1
  438. package/src/webpack/configs/utils/build-metadata.ts +40 -0
  439. package/src/webpack/configs/utils/generate-metadata.ts +7 -21
  440. package/src/webpack/configs/utils/get-exposed-dependencies.ts +17 -0
  441. package/src/webpack/configs/utils/index.ts +1 -0
  442. package/src/webpack/create-webpack-config.ts +3 -3
  443. package/src/webpack/loaders/expose-loader/__tests__/index.test.ts +0 -2
  444. package/src/webpack/loaders/expose-loader/index.ts +0 -1
  445. package/src/webpack/utils/testing/get-compiler.ts +1 -3
  446. package/src/webpack/utils/testing/get-errors.ts +0 -1
  447. package/src/webpack/utils/testing/get-warnings.ts +0 -1
  448. package/src/webpack/utils/testing/read-asset.ts +1 -2
  449. package/src/webpack/utils/testing/read-assets.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mfe-list.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-list.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG/C,UAAU,IAAK,SAAQ,WAAW;IAC9B,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAMD,qBAAa,OAAQ,SAAQ,OAAO,CAAC,IAAI,CAAC;IACtC,MAAM,CAAC,QAAQ,CAAC,WAAW,iCAAiC;IAC5D,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;MAYrB;IAGI,OAAO;IAmBb,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,QAAQ;IAgChB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,cAAc;YAWR,GAAG;YAOH,KAAK;IAoBnB,OAAO,KAAK,KAAK,GAKhB;IAED,OAAO,KAAK,YAAY,GAUvB;IAED,OAAO,KAAK,QAAQ,GAEnB;CACJ"}
1
+ {"version":3,"file":"mfe-list.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-list.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAGlD,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAea,CAAC;AAI3B,qBAAa,OAAQ,SAAQ,OAAO,CAAC,OAAO,OAAO,CAAC;IAChD,MAAM,CAAC,QAAQ,CAAC,kBAAkB,QAAQ;IAC1C,MAAM,CAAC,QAAQ,CAAC,WAAW,iCAAiC;IAC5D,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAW;IAG5B,OAAO;IAmBb,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,QAAQ;IAgChB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,cAAc;YAWR,GAAG;YAOH,KAAK;IAuBnB,OAAO,KAAK,KAAK,GAKhB;IAED,OAAO,KAAK,YAAY,GAUvB;IAED,OAAO,KAAK,QAAQ,GAEnB;CACJ"}
@@ -13,8 +13,9 @@ const _chalk = /*#__PURE__*/ _interop_require_default(require("chalk"));
13
13
  const _clitable3 = /*#__PURE__*/ _interop_require_default(require("cli-table3"));
14
14
  const _promises = /*#__PURE__*/ _interop_require_default(require("readline/promises"));
15
15
  const _utils = require("../../utils");
16
- const _types = require("./types");
17
16
  const _utils1 = require("../utils");
17
+ const _types = require("./types");
18
+ const _utils2 = require("./utils");
18
19
  function _define_property(obj, key, value) {
19
20
  if (key in obj) {
20
21
  Object.defineProperty(obj, key, {
@@ -42,8 +43,40 @@ function _ts_decorate(decorators, target, key, desc) {
42
43
  function _ts_metadata(k, v) {
43
44
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
44
45
  }
46
+ const options = {
47
+ _: {
48
+ description: '[packageNames...]',
49
+ array: true,
50
+ string: true
51
+ },
52
+ all: {
53
+ boolean: true,
54
+ description: 'List all published versions '
55
+ },
56
+ ignore: {
57
+ array: true,
58
+ string: true,
59
+ description: 'Exclude MFEs with names matching specified glob pattern '
60
+ },
61
+ limit: {
62
+ number: true,
63
+ description: 'List only the specified number of published versions'
64
+ },
65
+ packageNames: {
66
+ array: true,
67
+ string: true,
68
+ hidden: true
69
+ },
70
+ registry: {
71
+ string: true,
72
+ hidden: true
73
+ },
74
+ tagged: {
75
+ boolean: true,
76
+ description: 'List only tagged versions'
77
+ }
78
+ };
45
79
  const collator = new Intl.Collator();
46
- const VERDACCIO = 'https://verdaccio.servicetitan.com';
47
80
  class MFEList extends _types.Command {
48
81
  async execute() {
49
82
  await this.login();
@@ -94,8 +127,8 @@ class MFEList extends _types.Command {
94
127
  }
95
128
  });
96
129
  versions.forEach(([version, timestamp])=>{
97
- const when = (0, _utils.formatRelativeDate)(new Date(timestamp));
98
130
  var _versionTags_version;
131
+ const when = (0, _utils.formatRelativeDate)(new Date(timestamp));
99
132
  const tag = ((_versionTags_version = versionTags[version]) !== null && _versionTags_version !== void 0 ? _versionTags_version : []).join(', ');
100
133
  table.push([
101
134
  version,
@@ -111,8 +144,7 @@ class MFEList extends _types.Command {
111
144
  }
112
145
  getVersionTags({ 'dist-tags': distTags = {} }) {
113
146
  return Object.entries(distTags).reduce((result, [name, version])=>{
114
- var _result, _version;
115
- var _;
147
+ var _result, _version, _;
116
148
  (_ = (_result = result)[_version = version]) !== null && _ !== void 0 ? _ : _result[_version] = [];
117
149
  result[version].push(name);
118
150
  return result;
@@ -128,7 +160,7 @@ class MFEList extends _types.Command {
128
160
  return answer.trim().toLowerCase();
129
161
  }
130
162
  async login() {
131
- if (this.registry !== VERDACCIO || (0, _install.npmWhoAmI)({
163
+ if (this.registry !== _utils2.DEFAULT_MFE_REGISTRY || (0, _install.npmWhoAmI)({
132
164
  registry: this.registry
133
165
  }) !== undefined) {
134
166
  return;
@@ -152,7 +184,7 @@ class MFEList extends _types.Command {
152
184
  return this.args.limit && this.args.limit > 0 ? this.args.limit : 20;
153
185
  }
154
186
  get packageNames() {
155
- const { _, packageNames = [] } = this.args;
187
+ const { _ = [], packageNames = [] } = this.args;
156
188
  if (_.length || packageNames.length) {
157
189
  return [
158
190
  ..._,
@@ -166,31 +198,12 @@ class MFEList extends _types.Command {
166
198
  }
167
199
  get registry() {
168
200
  var _this_args_registry;
169
- return (_this_args_registry = this.args.registry) !== null && _this_args_registry !== void 0 ? _this_args_registry : VERDACCIO;
201
+ return (_this_args_registry = this.args.registry) !== null && _this_args_registry !== void 0 ? _this_args_registry : _utils2.DEFAULT_MFE_REGISTRY;
170
202
  }
171
203
  }
204
+ _define_property(MFEList, "allowRunFromGlobal", true);
172
205
  _define_property(MFEList, "description", 'List published MFE packages');
173
- _define_property(MFEList, "options", {
174
- _: {
175
- description: '[packageNames...]'
176
- },
177
- all: {
178
- boolean: true,
179
- description: 'List all published versions '
180
- },
181
- ignore: {
182
- array: true,
183
- description: 'Exclude MFEs with names matching specified glob pattern '
184
- },
185
- limit: {
186
- number: true,
187
- description: 'List only the specified number of published versions'
188
- },
189
- tagged: {
190
- boolean: true,
191
- description: 'List only tagged versions'
192
- }
193
- });
206
+ _define_property(MFEList, "options", options);
194
207
  _ts_decorate([
195
208
  _utils.logErrors,
196
209
  _ts_metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/mfe-list.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { npmWhoAmI } from '@servicetitan/install';\nimport chalk from 'chalk';\nimport Table from 'cli-table3';\nimport readline from 'readline/promises';\nimport {\n formatRelativeDate,\n getPackages,\n isWebComponent,\n log,\n logErrors,\n PackageType,\n} from '../../utils';\nimport { Command, CommandArgs } from './types';\nimport { isTTY, NPMPackageInfo, npmView, runCommand } from '../utils';\n\ninterface Args extends CommandArgs {\n _: string[];\n all?: boolean;\n ignore?: string | string[];\n limit?: number;\n packageNames?: string[];\n registry?: string;\n tagged?: boolean;\n}\n\nconst collator = new Intl.Collator();\n\nconst VERDACCIO = 'https://verdaccio.servicetitan.com';\n\nexport class MFEList extends Command<Args> {\n static readonly description = 'List published MFE packages';\n static readonly options = {\n _: { description: '[packageNames...]' },\n all: { boolean: true, description: 'List all published versions ' },\n ignore: {\n array: true,\n description: 'Exclude MFEs with names matching specified glob pattern ',\n },\n limit: {\n number: true,\n description: 'List only the specified number of published versions',\n },\n tagged: { boolean: true, description: 'List only tagged versions' },\n };\n\n @logErrors\n async execute() {\n await this.login();\n\n this.packageNames.forEach((name, index) => {\n const info = npmView({ packageName: name, registry: this.registry });\n if (info) {\n if (index > 0) {\n process.stdout.write('\\n');\n }\n\n process.stdout.write(this.getCaption(info) + '\\n');\n const table = this.getTable(info);\n if (table) {\n process.stdout.write(table + '\\n');\n }\n }\n });\n }\n\n private getCaption(info: NPMPackageInfo) {\n return [\n chalk.bold.cyan(info.name),\n info.version && `version: ${info.version}`,\n `versions: ${Object.keys(this.getTime(info)).length}`,\n ]\n .filter(el => !!el)\n .join(' | ');\n }\n\n private getTable(info: NPMPackageInfo) {\n const times = Object.entries(this.getTime(info)).sort(\n ([, a], [, b]) => -1 * collator.compare(a, b)\n );\n const versionTags = this.getVersionTags(info);\n const versions = this.args.tagged\n ? times.filter(([version]) => !!versionTags[version])\n : times.slice(0, this.limit);\n\n /* istanbul ignore next: debug only */\n log.debug('mfe-list', () =>\n JSON.stringify({ name: info.name, versionTags, versions }, null, 2)\n );\n\n if (versions.length === 0) {\n return '';\n }\n\n const table = new Table({\n head: ['Version', 'Tag', 'When'].map(title => chalk.bold.cyan(title)),\n style: { head: [] },\n });\n\n versions.forEach(([version, timestamp]) => {\n const when = formatRelativeDate(new Date(timestamp));\n const tag = (versionTags[version] ?? []).join(', ');\n table.push([version, chalk.bold.cyan(tag), when]);\n });\n\n return table.toString();\n }\n\n private getTime(info: NPMPackageInfo) {\n const { time: { created, modified, ...time } = {} } = info;\n return time;\n }\n\n private getVersionTags({ 'dist-tags': distTags = {} }: NPMPackageInfo) {\n return Object.entries(distTags).reduce<Record<string, string[]>>(\n (result, [name, version]) => {\n result[version] ??= [];\n result[version].push(name);\n return result;\n },\n {}\n );\n }\n\n private async ask(question: string) {\n const rl = readline.createInterface({ input: process.stdin, output: process.stdout });\n const answer = await rl.question(question);\n rl.close();\n return answer.trim().toLowerCase();\n }\n\n private async login() {\n if (this.registry !== VERDACCIO || npmWhoAmI({ registry: this.registry }) !== undefined) {\n return;\n }\n\n const message = `This machine is not authorized to access ${this.registry}.`;\n if (!isTTY()) {\n throw new Error(message);\n }\n\n const answer = await this.ask(chalk.bold.cyan(`${message} Authorize? [Y/n] `));\n if (answer && answer !== 'y') {\n throw new Error('Not authorized');\n }\n\n await runCommand(`npx --yes verdaccio-okta-oauth@latest --registry=${this.registry}`, {\n quiet: true,\n });\n }\n\n private get limit() {\n if (this.args.all) {\n return Number.MAX_SAFE_INTEGER;\n }\n return this.args.limit && this.args.limit > 0 ? this.args.limit : 20;\n }\n\n private get packageNames() {\n const { _, packageNames = [] } = this.args;\n if (_.length || packageNames.length) {\n return [..._, ...packageNames];\n }\n\n return getPackages({ ignore: this.args.ignore, type: PackageType.Webpack })\n .filter(isWebComponent)\n .map(({ name }) => name)\n .sort((a, b) => collator.compare(a, b));\n }\n\n private get registry() {\n return this.args.registry ?? VERDACCIO;\n }\n}\n"],"names":["MFEList","collator","Intl","Collator","VERDACCIO","Command","execute","login","packageNames","forEach","name","index","info","npmView","packageName","registry","process","stdout","write","getCaption","table","getTable","chalk","bold","cyan","version","Object","keys","getTime","length","filter","el","join","times","entries","sort","a","b","compare","versionTags","getVersionTags","versions","args","tagged","slice","limit","log","debug","JSON","stringify","Table","head","map","title","style","timestamp","when","formatRelativeDate","Date","tag","push","toString","time","created","modified","distTags","reduce","result","ask","question","rl","readline","createInterface","input","stdin","output","answer","close","trim","toLowerCase","npmWhoAmI","undefined","message","isTTY","Error","runCommand","quiet","all","Number","MAX_SAFE_INTEGER","_","getPackages","ignore","type","PackageType","Webpack","isWebComponent","description","options","boolean","array","number"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/cli/commands/mfe-list.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { npmWhoAmI } from '@servicetitan/install';\nimport chalk from 'chalk';\nimport Table from 'cli-table3';\nimport readline from 'readline/promises';\nimport {\n formatRelativeDate,\n getPackages,\n isWebComponent,\n log,\n logErrors,\n PackageType,\n} from '../../utils';\nimport { isTTY, NPMPackageInfo, npmView, runCommand } from '../utils';\nimport { Command, CommandOptions } from './types';\nimport { DEFAULT_MFE_REGISTRY } from './utils';\n\nconst options = {\n _: { description: '[packageNames...]', array: true, string: true },\n all: { boolean: true, description: 'List all published versions ' },\n ignore: {\n array: true,\n string: true,\n description: 'Exclude MFEs with names matching specified glob pattern ',\n },\n limit: {\n number: true,\n description: 'List only the specified number of published versions',\n },\n packageNames: { array: true, string: true, hidden: true },\n registry: { string: true, hidden: true },\n tagged: { boolean: true, description: 'List only tagged versions' },\n} satisfies CommandOptions;\n\nconst collator = new Intl.Collator();\n\nexport class MFEList extends Command<typeof options> {\n static readonly allowRunFromGlobal = true;\n static readonly description = 'List published MFE packages';\n static readonly options = options;\n\n @logErrors\n async execute() {\n await this.login();\n\n this.packageNames.forEach((name, index) => {\n const info = npmView({ packageName: name, registry: this.registry });\n if (info) {\n if (index > 0) {\n process.stdout.write('\\n');\n }\n\n process.stdout.write(this.getCaption(info) + '\\n');\n const table = this.getTable(info);\n if (table) {\n process.stdout.write(table + '\\n');\n }\n }\n });\n }\n\n private getCaption(info: NPMPackageInfo) {\n return [\n chalk.bold.cyan(info.name),\n info.version && `version: ${info.version}`,\n `versions: ${Object.keys(this.getTime(info)).length}`,\n ]\n .filter(el => !!el)\n .join(' | ');\n }\n\n private getTable(info: NPMPackageInfo) {\n const times = Object.entries(this.getTime(info)).sort(\n ([, a], [, b]) => -1 * collator.compare(a, b)\n );\n const versionTags = this.getVersionTags(info);\n const versions = this.args.tagged\n ? times.filter(([version]) => !!versionTags[version])\n : times.slice(0, this.limit);\n\n /* istanbul ignore next: debug only */\n log.debug('mfe-list', () =>\n JSON.stringify({ name: info.name, versionTags, versions }, null, 2)\n );\n\n if (versions.length === 0) {\n return '';\n }\n\n const table = new Table({\n head: ['Version', 'Tag', 'When'].map(title => chalk.bold.cyan(title)),\n style: { head: [] },\n });\n\n versions.forEach(([version, timestamp]) => {\n const when = formatRelativeDate(new Date(timestamp));\n const tag = (versionTags[version] ?? []).join(', ');\n table.push([version, chalk.bold.cyan(tag), when]);\n });\n\n return table.toString();\n }\n\n private getTime(info: NPMPackageInfo) {\n const { time: { created, modified, ...time } = {} } = info;\n return time;\n }\n\n private getVersionTags({ 'dist-tags': distTags = {} }: NPMPackageInfo) {\n return Object.entries(distTags).reduce<Record<string, string[]>>(\n (result, [name, version]) => {\n result[version] ??= [];\n result[version].push(name);\n return result;\n },\n {}\n );\n }\n\n private async ask(question: string) {\n const rl = readline.createInterface({ input: process.stdin, output: process.stdout });\n const answer = await rl.question(question);\n rl.close();\n return answer.trim().toLowerCase();\n }\n\n private async login() {\n if (\n this.registry !== DEFAULT_MFE_REGISTRY ||\n npmWhoAmI({ registry: this.registry }) !== undefined\n ) {\n return;\n }\n\n const message = `This machine is not authorized to access ${this.registry}.`;\n if (!isTTY()) {\n throw new Error(message);\n }\n\n const answer = await this.ask(chalk.bold.cyan(`${message} Authorize? [Y/n] `));\n if (answer && answer !== 'y') {\n throw new Error('Not authorized');\n }\n\n await runCommand(`npx --yes verdaccio-okta-oauth@latest --registry=${this.registry}`, {\n quiet: true,\n });\n }\n\n private get limit() {\n if (this.args.all) {\n return Number.MAX_SAFE_INTEGER;\n }\n return this.args.limit && this.args.limit > 0 ? this.args.limit : 20;\n }\n\n private get packageNames() {\n const { _ = [], packageNames = [] } = this.args;\n if (_.length || packageNames.length) {\n return [..._, ...packageNames];\n }\n\n return getPackages({ ignore: this.args.ignore, type: PackageType.Webpack })\n .filter(isWebComponent)\n .map(({ name }) => name)\n .sort((a, b) => collator.compare(a, b));\n }\n\n private get registry() {\n return this.args.registry ?? DEFAULT_MFE_REGISTRY;\n }\n}\n"],"names":["MFEList","options","_","description","array","string","all","boolean","ignore","limit","number","packageNames","hidden","registry","tagged","collator","Intl","Collator","Command","execute","login","forEach","name","index","info","npmView","packageName","process","stdout","write","getCaption","table","getTable","chalk","bold","cyan","version","Object","keys","getTime","length","filter","el","join","times","entries","sort","a","b","compare","versionTags","getVersionTags","versions","args","slice","log","debug","JSON","stringify","Table","head","map","title","style","timestamp","when","formatRelativeDate","Date","tag","push","toString","time","created","modified","distTags","reduce","result","ask","question","rl","readline","createInterface","input","stdin","output","answer","close","trim","toLowerCase","DEFAULT_MFE_REGISTRY","npmWhoAmI","undefined","message","isTTY","Error","runCommand","quiet","Number","MAX_SAFE_INTEGER","getPackages","type","PackageType","Webpack","isWebComponent","allowRunFromGlobal"],"mappings":"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"}
@@ -1,35 +1,54 @@
1
- import { Command, CommandArgs } from './types';
2
- export interface Args extends CommandArgs {
3
- all?: true;
4
- branch?: string;
5
- count?: number;
6
- dry?: boolean;
7
- registry?: string;
8
- }
9
- export declare class MFEPackageClean extends Command<Args> {
1
+ import { Command } from './types';
2
+ export declare const mfePackageCleanOptions: {
3
+ all: {
4
+ boolean: true;
5
+ description: string;
6
+ defaultDescription: string;
7
+ };
8
+ branch: {
9
+ string: true;
10
+ description: string;
11
+ defaultDescription: string;
12
+ };
13
+ count: {
14
+ number: true;
15
+ description: string;
16
+ defaultDescription: string;
17
+ };
18
+ dry: {
19
+ boolean: true;
20
+ description: string;
21
+ };
22
+ registry: {
23
+ string: true;
24
+ hidden: true;
25
+ description: string;
26
+ };
27
+ };
28
+ export declare class MFEPackageClean extends Command<typeof mfePackageCleanOptions> {
10
29
  static readonly options: {
11
30
  all: {
12
- boolean: boolean;
31
+ boolean: true;
13
32
  description: string;
14
33
  defaultDescription: string;
15
34
  };
16
35
  branch: {
17
- string: boolean;
36
+ string: true;
18
37
  description: string;
19
38
  defaultDescription: string;
20
39
  };
21
40
  count: {
22
- number: boolean;
41
+ number: true;
23
42
  description: string;
24
43
  defaultDescription: string;
25
44
  };
26
45
  dry: {
27
- boolean: boolean;
46
+ boolean: true;
28
47
  description: string;
29
48
  };
30
49
  registry: {
31
- string: boolean;
32
- hidden: boolean;
50
+ string: true;
51
+ hidden: true;
33
52
  description: string;
34
53
  };
35
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mfe-package-clean.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-clean.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,WAAW,IAAK,SAAQ,WAAW;IACrC,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,eAAgB,SAAQ,OAAO,CAAC,IAAI,CAAC;IAC9C,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;MAqBrB;IAGI,OAAO;IA4Cb,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,mBAAmB;CA0C9B"}
1
+ {"version":3,"file":"mfe-package-clean.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-clean.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAGlD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;CAqBT,CAAC;AAE3B,qBAAa,eAAgB,SAAQ,OAAO,CAAC,OAAO,sBAAsB,CAAC;IACvE,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;MAA0B;IAG3C,OAAO;IA4Cb,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,mBAAmB;CA0C9B"}
@@ -2,15 +2,24 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "MFEPackageClean", {
6
- enumerable: true,
7
- get: function() {
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get MFEPackageClean () {
8
13
  return MFEPackageClean;
14
+ },
15
+ get mfePackageCleanOptions () {
16
+ return mfePackageCleanOptions;
9
17
  }
10
18
  });
11
19
  const _utils = require("../../utils");
12
20
  const _utils1 = require("../utils");
13
21
  const _types = require("./types");
22
+ const _utils2 = require("./utils");
14
23
  function _define_property(obj, key, value) {
15
24
  if (key in obj) {
16
25
  Object.defineProperty(obj, key, {
@@ -33,6 +42,32 @@ function _ts_decorate(decorators, target, key, desc) {
33
42
  function _ts_metadata(k, v) {
34
43
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
35
44
  }
45
+ const mfePackageCleanOptions = {
46
+ all: {
47
+ boolean: true,
48
+ description: 'Unpublish old versions from all branches',
49
+ defaultDescription: 'false'
50
+ },
51
+ branch: {
52
+ string: true,
53
+ description: 'Branch name of versions to unpublish',
54
+ defaultDescription: 'current git branch'
55
+ },
56
+ count: {
57
+ number: true,
58
+ description: 'Keep the specified number of old versions',
59
+ defaultDescription: '5'
60
+ },
61
+ dry: {
62
+ boolean: true,
63
+ description: 'Take no action and only log what would be unpublished'
64
+ },
65
+ registry: {
66
+ string: true,
67
+ hidden: true,
68
+ description: 'Registry url'
69
+ }
70
+ };
36
71
  class MFEPackageClean extends _types.Command {
37
72
  async execute() {
38
73
  if (!(0, _utils.isWebComponent)()) {
@@ -63,7 +98,7 @@ class MFEPackageClean extends _types.Command {
63
98
  try {
64
99
  // eslint-disable-next-line no-await-in-loop
65
100
  await (0, _utils1.npmUnpublish)(data.registry, packageName, version);
66
- } catch (e) {
101
+ } catch (unused) {
67
102
  _utils.log.error(`error while removing ${packageName} version ${version}`);
68
103
  }
69
104
  }
@@ -78,6 +113,7 @@ class MFEPackageClean extends _types.Command {
78
113
  });
79
114
  }
80
115
  getCleanData() {
116
+ var _this_args_registry;
81
117
  let count = this.args.count;
82
118
  if (!count || count < 0) {
83
119
  count = 5;
@@ -94,8 +130,7 @@ class MFEPackageClean extends _types.Command {
94
130
  (0, _utils1.gitGetBranch)()
95
131
  ];
96
132
  }
97
- var _this_args_registry;
98
- const registry = (_this_args_registry = this.args.registry) !== null && _this_args_registry !== void 0 ? _this_args_registry : 'https://verdaccio.servicetitan.com';
133
+ const registry = (_this_args_registry = this.args.registry) !== null && _this_args_registry !== void 0 ? _this_args_registry : _utils2.DEFAULT_MFE_REGISTRY;
99
134
  return {
100
135
  count,
101
136
  registry,
@@ -106,8 +141,7 @@ class MFEPackageClean extends _types.Command {
106
141
  const versions = (0, _utils1.npmGetPackageVersionsDetails)(registry, packageName);
107
142
  const branchedVersions = {};
108
143
  function addVersion(branch, version) {
109
- var _branchedVersions, _branch;
110
- var _;
144
+ var _branchedVersions, _branch, _;
111
145
  (_ = (_branchedVersions = branchedVersions)[_branch = branch]) !== null && _ !== void 0 ? _ : _branchedVersions[_branch] = [];
112
146
  branchedVersions[branch].push(version);
113
147
  }
@@ -139,32 +173,7 @@ class MFEPackageClean extends _types.Command {
139
173
  return branchedVersions;
140
174
  }
141
175
  }
142
- _define_property(MFEPackageClean, "options", {
143
- all: {
144
- boolean: true,
145
- description: 'Unpublish old versions from all branches',
146
- defaultDescription: 'false'
147
- },
148
- branch: {
149
- string: true,
150
- description: 'Branch name of versions to unpublish',
151
- defaultDescription: 'current git branch'
152
- },
153
- count: {
154
- number: true,
155
- description: 'Keep the specified number of old versions',
156
- defaultDescription: '5'
157
- },
158
- dry: {
159
- boolean: true,
160
- description: 'Take no action and only log what would be unpublished'
161
- },
162
- registry: {
163
- string: true,
164
- hidden: true,
165
- description: 'Registry url'
166
- }
167
- });
176
+ _define_property(MFEPackageClean, "options", mfePackageCleanOptions);
168
177
  _ts_decorate([
169
178
  _utils.logErrors,
170
179
  _ts_metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/mfe-package-clean.ts"],"sourcesContent":["import { getBranchesConfigs, isWebComponent, log, logErrors, readJson } from '../../utils';\nimport { gitGetBranch, npmGetPackageVersionsDetails, npmUnpublish, Version } from '../utils';\nimport { Command, CommandArgs } from './types';\n\nexport interface Args extends CommandArgs {\n all?: true;\n branch?: string;\n count?: number;\n dry?: boolean;\n registry?: string;\n}\n\nexport class MFEPackageClean extends Command<Args> {\n static readonly options = {\n all: {\n boolean: true,\n description: 'Unpublish old versions from all branches',\n defaultDescription: 'false',\n },\n branch: {\n string: true,\n description: 'Branch name of versions to unpublish',\n defaultDescription: 'current git branch',\n },\n count: {\n number: true,\n description: 'Keep the specified number of old versions',\n defaultDescription: '5',\n },\n dry: {\n boolean: true,\n description: 'Take no action and only log what would be unpublished',\n },\n registry: { string: true, hidden: true, description: 'Registry url' },\n };\n\n @logErrors\n async execute() {\n if (!isWebComponent()) {\n throw new Error('only web-components can be cleaned');\n }\n\n const data = this.getCleanData();\n const packageName = readJson('package.json').name;\n const branchedVersions = this.getBranchedVersions(packageName, data.registry);\n\n log.info(`branched versions (${data.count}):`, JSON.stringify(branchedVersions, null, 2));\n\n const branchedVersionsToClean: Record<string, Version[]> = {};\n for (const [branch, versions] of Object.entries(branchedVersions)) {\n // Limit branches for now\n if (!data.branches.includes(branch)) {\n log.info(`ignoring unrecognized branch \"${branch}\"`);\n continue;\n }\n\n branchedVersionsToClean[branch] = this.excludeTagged(versions)\n .sort(({ date: adt }, { date: bdt }) => (adt > bdt ? -1 : 1))\n .slice(data.count);\n }\n\n log.info('found versions for unpublish:', JSON.stringify(branchedVersionsToClean, null, 2));\n const unVersions = Object.keys(branchedVersionsToClean).reduce(\n (out, br) => [...out, ...branchedVersionsToClean[br].map(({ name }) => name)],\n []\n );\n\n if (this.args.dry) {\n return;\n }\n\n for (const version of unVersions) {\n try {\n // eslint-disable-next-line no-await-in-loop\n await npmUnpublish(data.registry, packageName, version);\n } catch {\n log.error(`error while removing ${packageName} version ${version}`);\n }\n }\n }\n\n private excludeTagged(versions: Version[]) {\n return versions.filter(({ name, tag }) => {\n if (tag) {\n log.info(`ignoring version ${name} tagged \"${tag}\"`);\n return false;\n }\n return true;\n });\n }\n\n private getCleanData(): {\n count: number;\n registry: string;\n branches: string[];\n } {\n let count = this.args.count;\n if (!count || count < 0) {\n count = 5;\n }\n\n let branches: string[];\n\n if (this.args.all === true) {\n branches = Object.keys(getBranchesConfigs());\n } else if (typeof this.args.branch === 'string') {\n branches = [this.args.branch];\n } else {\n branches = [gitGetBranch()];\n }\n\n const registry = this.args.registry ?? 'https://verdaccio.servicetitan.com';\n\n return { count, registry, branches };\n }\n\n private getBranchedVersions(packageName: string, registry: string) {\n const versions = npmGetPackageVersionsDetails(registry, packageName);\n const branchedVersions: Record<string, Version[]> = {};\n\n function addVersion(branch: string, version: Version) {\n branchedVersions[branch] ??= [];\n branchedVersions[branch].push(version);\n }\n\n for (const version of versions) {\n const { name } = version;\n if (!name.startsWith('0.0.0-')) {\n continue;\n }\n\n const buildVersion = name.replace('0.0.0-', '');\n\n // master version generated by nerdbank versioning\n if (/^(\\d+)\\.(\\d+)\\.(\\d+)$/.test(buildVersion)) {\n addVersion('master', version);\n continue;\n }\n\n // branch version generated by nerdbank versioning\n const match1 = buildVersion.match(/^(\\d+)\\.(\\d+)\\.(\\d+)-([\\dA-Za-z-]+).([\\dA-Za-z]+)$/);\n if (match1?.length) {\n addVersion(match1[4], version);\n continue;\n }\n\n // branch version generated by mfe-publisher versioning\n const match2 = buildVersion.match(/^([\\dA-Za-z-]+).([\\dA-Za-z]+)$/);\n if (match2?.length) {\n addVersion(match2[1], version);\n continue;\n }\n\n log.info(`skipping unrecognized version: ${name}`);\n }\n\n return branchedVersions;\n }\n}\n"],"names":["MFEPackageClean","Command","execute","isWebComponent","Error","data","getCleanData","packageName","readJson","name","branchedVersions","getBranchedVersions","registry","log","info","count","JSON","stringify","branchedVersionsToClean","branch","versions","Object","entries","branches","includes","excludeTagged","sort","date","adt","bdt","slice","unVersions","keys","reduce","out","br","map","args","dry","version","npmUnpublish","error","filter","tag","all","getBranchesConfigs","gitGetBranch","npmGetPackageVersionsDetails","addVersion","push","startsWith","buildVersion","replace","test","match1","match","length","match2","options","boolean","description","defaultDescription","string","number","hidden"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/cli/commands/mfe-package-clean.ts"],"sourcesContent":["import { getBranchesConfigs, isWebComponent, log, logErrors, readJson } from '../../utils';\nimport { gitGetBranch, npmGetPackageVersionsDetails, npmUnpublish, Version } from '../utils';\nimport { Command, CommandOptions } from './types';\nimport { DEFAULT_MFE_REGISTRY } from './utils';\n\nexport const mfePackageCleanOptions = {\n all: {\n boolean: true,\n description: 'Unpublish old versions from all branches',\n defaultDescription: 'false',\n },\n branch: {\n string: true,\n description: 'Branch name of versions to unpublish',\n defaultDescription: 'current git branch',\n },\n count: {\n number: true,\n description: 'Keep the specified number of old versions',\n defaultDescription: '5',\n },\n dry: {\n boolean: true,\n description: 'Take no action and only log what would be unpublished',\n },\n registry: { string: true, hidden: true, description: 'Registry url' },\n} satisfies CommandOptions;\n\nexport class MFEPackageClean extends Command<typeof mfePackageCleanOptions> {\n static readonly options = mfePackageCleanOptions;\n\n @logErrors\n async execute() {\n if (!isWebComponent()) {\n throw new Error('only web-components can be cleaned');\n }\n\n const data = this.getCleanData();\n const packageName = readJson('package.json').name;\n const branchedVersions = this.getBranchedVersions(packageName, data.registry);\n\n log.info(`branched versions (${data.count}):`, JSON.stringify(branchedVersions, null, 2));\n\n const branchedVersionsToClean: Record<string, Version[]> = {};\n for (const [branch, versions] of Object.entries(branchedVersions)) {\n // Limit branches for now\n if (!data.branches.includes(branch)) {\n log.info(`ignoring unrecognized branch \"${branch}\"`);\n continue;\n }\n\n branchedVersionsToClean[branch] = this.excludeTagged(versions)\n .sort(({ date: adt }, { date: bdt }) => (adt > bdt ? -1 : 1))\n .slice(data.count);\n }\n\n log.info('found versions for unpublish:', JSON.stringify(branchedVersionsToClean, null, 2));\n const unVersions = Object.keys(branchedVersionsToClean).reduce(\n (out, br) => [...out, ...branchedVersionsToClean[br].map(({ name }) => name)],\n []\n );\n\n if (this.args.dry) {\n return;\n }\n\n for (const version of unVersions) {\n try {\n // eslint-disable-next-line no-await-in-loop\n await npmUnpublish(data.registry, packageName, version);\n } catch {\n log.error(`error while removing ${packageName} version ${version}`);\n }\n }\n }\n\n private excludeTagged(versions: Version[]) {\n return versions.filter(({ name, tag }) => {\n if (tag) {\n log.info(`ignoring version ${name} tagged \"${tag}\"`);\n return false;\n }\n return true;\n });\n }\n\n private getCleanData(): {\n count: number;\n registry: string;\n branches: string[];\n } {\n let count = this.args.count;\n if (!count || count < 0) {\n count = 5;\n }\n\n let branches: string[];\n\n if (this.args.all === true) {\n branches = Object.keys(getBranchesConfigs());\n } else if (typeof this.args.branch === 'string') {\n branches = [this.args.branch];\n } else {\n branches = [gitGetBranch()];\n }\n\n const registry = this.args.registry ?? DEFAULT_MFE_REGISTRY;\n\n return { count, registry, branches };\n }\n\n private getBranchedVersions(packageName: string, registry: string) {\n const versions = npmGetPackageVersionsDetails(registry, packageName);\n const branchedVersions: Record<string, Version[]> = {};\n\n function addVersion(branch: string, version: Version) {\n branchedVersions[branch] ??= [];\n branchedVersions[branch].push(version);\n }\n\n for (const version of versions) {\n const { name } = version;\n if (!name.startsWith('0.0.0-')) {\n continue;\n }\n\n const buildVersion = name.replace('0.0.0-', '');\n\n // master version generated by nerdbank versioning\n if (/^(\\d+)\\.(\\d+)\\.(\\d+)$/.test(buildVersion)) {\n addVersion('master', version);\n continue;\n }\n\n // branch version generated by nerdbank versioning\n const match1 = buildVersion.match(/^(\\d+)\\.(\\d+)\\.(\\d+)-([\\dA-Za-z-]+).([\\dA-Za-z]+)$/);\n if (match1?.length) {\n addVersion(match1[4], version);\n continue;\n }\n\n // branch version generated by mfe-publisher versioning\n const match2 = buildVersion.match(/^([\\dA-Za-z-]+).([\\dA-Za-z]+)$/);\n if (match2?.length) {\n addVersion(match2[1], version);\n continue;\n }\n\n log.info(`skipping unrecognized version: ${name}`);\n }\n\n return branchedVersions;\n }\n}\n"],"names":["MFEPackageClean","mfePackageCleanOptions","all","boolean","description","defaultDescription","branch","string","count","number","dry","registry","hidden","Command","execute","isWebComponent","Error","data","getCleanData","packageName","readJson","name","branchedVersions","getBranchedVersions","log","info","JSON","stringify","branchedVersionsToClean","versions","Object","entries","branches","includes","excludeTagged","sort","date","adt","bdt","slice","unVersions","keys","reduce","out","br","map","args","version","npmUnpublish","error","filter","tag","getBranchesConfigs","gitGetBranch","DEFAULT_MFE_REGISTRY","npmGetPackageVersionsDetails","addVersion","push","startsWith","buildVersion","replace","test","match1","match","length","match2","options"],"mappings":"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"}
@@ -1,44 +1,81 @@
1
- import { Command, CommandArgs } from './types';
2
- export interface Args extends CommandArgs {
3
- branch?: string;
4
- build?: string;
5
- dry?: boolean;
6
- force?: boolean;
7
- registry?: string;
8
- tag?: string;
9
- uploadSourcemaps?: boolean;
10
- }
11
- export declare class MFEPackagePublish extends Command<Args> {
1
+ import { Command } from './types';
2
+ export declare const mfePackagePublishOptions: {
3
+ branch: {
4
+ string: true;
5
+ description: string;
6
+ defaultDescription: string;
7
+ };
8
+ build: {
9
+ string: true;
10
+ description: string;
11
+ defaultDescription: string;
12
+ };
13
+ dry: {
14
+ boolean: true;
15
+ description: string;
16
+ };
17
+ force: {
18
+ boolean: true;
19
+ description: string;
20
+ };
21
+ registry: {
22
+ string: true;
23
+ hidden: true;
24
+ description: string;
25
+ };
26
+ trackHistory: {
27
+ boolean: true;
28
+ description: string;
29
+ defaultDescription: string;
30
+ hidden: true;
31
+ };
32
+ tag: {
33
+ string: true;
34
+ description: string;
35
+ };
36
+ uploadSourcemaps: {
37
+ boolean: true;
38
+ description: string;
39
+ defaultDescription: string;
40
+ };
41
+ };
42
+ export declare class MFEPackagePublish extends Command<typeof mfePackagePublishOptions> {
12
43
  static readonly options: {
13
44
  branch: {
14
- string: boolean;
45
+ string: true;
15
46
  description: string;
16
47
  defaultDescription: string;
17
48
  };
18
49
  build: {
19
- string: boolean;
50
+ string: true;
20
51
  description: string;
21
52
  defaultDescription: string;
22
53
  };
23
54
  dry: {
24
- boolean: boolean;
55
+ boolean: true;
25
56
  description: string;
26
57
  };
27
58
  force: {
28
- boolean: boolean;
59
+ boolean: true;
29
60
  description: string;
30
61
  };
31
62
  registry: {
32
- string: boolean;
33
- hidden: boolean;
63
+ string: true;
64
+ hidden: true;
34
65
  description: string;
35
66
  };
67
+ trackHistory: {
68
+ boolean: true;
69
+ description: string;
70
+ defaultDescription: string;
71
+ hidden: true;
72
+ };
36
73
  tag: {
37
- string: boolean;
74
+ string: true;
38
75
  description: string;
39
76
  };
40
- 'upload-source-maps': {
41
- boolean: boolean;
77
+ uploadSourcemaps: {
78
+ boolean: true;
42
79
  description: string;
43
80
  defaultDescription: string;
44
81
  };
@@ -46,13 +83,14 @@ export declare class MFEPackagePublish extends Command<Args> {
46
83
  execute(): Promise<void>;
47
84
  private get dryRunPrefix();
48
85
  private checkPackage;
49
- private tryTagExistingVersion;
50
- private publishPackage;
86
+ private maybePublishPackage;
51
87
  private uploadSourcemaps;
52
88
  private getPublishData;
53
89
  private setPackageFiles;
54
90
  private validateMetadata;
55
91
  private validateEntryPoints;
56
92
  private validateEntryPoint;
93
+ private maybeApplyRollbackTag;
94
+ private restoreRollbackTag;
57
95
  }
58
96
  //# sourceMappingURL=mfe-package-publish.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mfe-package-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-publish.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,WAAW,IAAK,SAAQ,WAAW;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAoBD,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,IAAI,CAAC;IAChD,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6BrB;IAGI,OAAO;IAoBb,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,CAAC,YAAY;YAoBN,qBAAqB;YA2BrB,cAAc;IAc5B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,cAAc;YAyBR,eAAe;IAqB7B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,kBAAkB;CAqB7B"}
1
+ {"version":3,"file":"mfe-package-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-publish.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAGlD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCX,CAAC;AAqB3B,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,OAAO,wBAAwB,CAAC;IAC3E,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAA4B;IAG7C,OAAO;IAqBb,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,CAAC,YAAY;YAoBN,mBAAmB;IAiDjC,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,cAAc;YA2BR,eAAe;IAqB7B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,kBAAkB;YAsBZ,qBAAqB;YAoCrB,kBAAkB;CAgBnC"}