@storybook/cli 7.0.0-alpha.3 → 7.0.0-alpha.30

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 (387) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/add.js +0 -2
  3. package/dist/cjs/automigrate/fixes/angular12.js +2 -4
  4. package/dist/cjs/automigrate/fixes/builder-vite.js +3 -7
  5. package/dist/cjs/automigrate/fixes/cra5.js +2 -4
  6. package/dist/cjs/automigrate/fixes/eslint-plugin.js +4 -7
  7. package/dist/cjs/automigrate/fixes/index.js +7 -1
  8. package/dist/cjs/automigrate/fixes/mainjsFramework.js +5 -6
  9. package/dist/cjs/automigrate/fixes/new-frameworks.js +258 -0
  10. package/dist/cjs/automigrate/fixes/npm7.js +57 -0
  11. package/dist/cjs/automigrate/fixes/sb-scripts.js +140 -0
  12. package/dist/cjs/automigrate/fixes/vue3.js +2 -4
  13. package/dist/cjs/automigrate/fixes/webpack5.js +5 -7
  14. package/dist/cjs/automigrate/index.js +1 -3
  15. package/dist/cjs/babel-config.js +0 -2
  16. package/dist/cjs/build.js +0 -2
  17. package/dist/cjs/detect.js +2 -18
  18. package/dist/cjs/dev.js +3 -7
  19. package/dist/cjs/dirs.js +12 -0
  20. package/dist/cjs/extract.js +0 -2
  21. package/dist/cjs/generate.js +21 -7
  22. package/dist/cjs/generators/ANGULAR/angular-helpers.js +0 -2
  23. package/dist/cjs/generators/ANGULAR/index.js +0 -2
  24. package/dist/cjs/generators/ANGULAR/template-csf/.storybook/tsconfig.json +5 -16
  25. package/dist/cjs/generators/AURELIA/index.js +0 -2
  26. package/dist/cjs/generators/AURELIA/template-csf/.storybook/tsconfig.json +5 -16
  27. package/dist/cjs/generators/EMBER/index.js +0 -2
  28. package/dist/cjs/generators/HTML/index.js +0 -2
  29. package/dist/cjs/generators/MARIONETTE/index.js +0 -2
  30. package/dist/cjs/generators/MARKO/index.js +0 -2
  31. package/dist/cjs/generators/MITHRIL/index.js +0 -2
  32. package/dist/cjs/generators/PREACT/index.js +1 -5
  33. package/dist/cjs/generators/RAX/index.js +1 -5
  34. package/dist/cjs/generators/REACT/index.js +0 -2
  35. package/dist/cjs/generators/REACT_NATIVE/index.js +0 -2
  36. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/addons.js +7 -3
  37. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/index.js +21 -15
  38. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/rn-addons.js +5 -2
  39. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Button/Button.stories.js +23 -20
  40. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Button/index.js +25 -10
  41. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/CenterView/index.js +25 -10
  42. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/CenterView/style.js +10 -3
  43. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Welcome/Welcome.stories.js +14 -5
  44. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Welcome/index.js +60 -49
  45. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/index.js +5 -2
  46. package/dist/cjs/generators/REACT_SCRIPTS/index.js +4 -6
  47. package/dist/cjs/generators/RIOT/index.js +0 -2
  48. package/dist/cjs/generators/SERVER/index.js +0 -2
  49. package/dist/cjs/generators/SERVER/template-csf/.storybook/preview.js +10 -3
  50. package/dist/cjs/generators/SFC_VUE/index.js +0 -2
  51. package/dist/cjs/generators/SVELTE/index.js +2 -6
  52. package/dist/cjs/generators/VUE/index.js +0 -2
  53. package/dist/cjs/generators/VUE3/index.js +0 -2
  54. package/dist/cjs/generators/WEB-COMPONENTS/index.js +0 -2
  55. package/dist/cjs/generators/WEBPACK_REACT/index.js +0 -2
  56. package/dist/cjs/generators/baseGenerator.js +30 -26
  57. package/dist/cjs/generators/configure.js +4 -6
  58. package/dist/cjs/helpers.js +39 -18
  59. package/dist/cjs/initiate.js +10 -7
  60. package/dist/cjs/js-package-manager/JsPackageManager.js +104 -21
  61. package/dist/cjs/js-package-manager/JsPackageManagerFactory.js +25 -11
  62. package/dist/cjs/js-package-manager/NPMProxy.js +38 -2
  63. package/dist/cjs/js-package-manager/Yarn1Proxy.js +11 -0
  64. package/dist/cjs/js-package-manager/Yarn2Proxy.js +11 -0
  65. package/dist/cjs/js-package-manager/index.js +0 -13
  66. package/dist/cjs/link.js +8 -7
  67. package/dist/cjs/migrate.js +0 -2
  68. package/dist/cjs/repro-generators/scripts.js +31 -10
  69. package/dist/cjs/repro-next.js +182 -0
  70. package/dist/cjs/repro-templates.js +103 -0
  71. package/dist/cjs/repro.js +5 -7
  72. package/dist/cjs/upgrade.js +0 -4
  73. package/dist/cjs/versions.js +79 -73
  74. package/dist/esm/NpmOptions.js +0 -1
  75. package/dist/esm/add.js +24 -54
  76. package/dist/esm/automigrate/fixes/angular12.js +14 -32
  77. package/dist/esm/automigrate/fixes/builder-vite.js +15 -34
  78. package/dist/esm/automigrate/fixes/cra5.js +15 -33
  79. package/dist/esm/automigrate/fixes/eslint-plugin.js +16 -34
  80. package/dist/esm/automigrate/fixes/index.js +12 -39
  81. package/dist/esm/automigrate/fixes/mainjsFramework.js +18 -37
  82. package/dist/esm/automigrate/fixes/new-frameworks.js +234 -0
  83. package/dist/esm/automigrate/fixes/npm7.js +45 -0
  84. package/dist/esm/automigrate/fixes/sb-scripts.js +119 -0
  85. package/dist/esm/automigrate/fixes/vue3.js +15 -34
  86. package/dist/esm/automigrate/fixes/webpack5.js +25 -47
  87. package/dist/esm/automigrate/helpers/getEslintInfo.js +6 -20
  88. package/dist/esm/automigrate/index.js +19 -39
  89. package/dist/esm/automigrate/types.js +1 -5
  90. package/dist/esm/babel-config.js +14 -39
  91. package/dist/esm/build.js +10 -26
  92. package/dist/esm/detect-nextjs.js +2 -11
  93. package/dist/esm/detect-webpack.js +2 -11
  94. package/dist/esm/detect.js +30 -73
  95. package/dist/esm/dev.js +20 -43
  96. package/dist/esm/dirs.js +4 -0
  97. package/dist/esm/extract.js +17 -35
  98. package/dist/esm/generate.js +72 -111
  99. package/dist/esm/generators/ANGULAR/angular-helpers.js +17 -43
  100. package/dist/esm/generators/ANGULAR/index.js +17 -38
  101. package/dist/esm/generators/ANGULAR/template-csf/.storybook/tsconfig.json +5 -16
  102. package/dist/esm/generators/AURELIA/index.js +7 -18
  103. package/dist/esm/generators/AURELIA/template-csf/.storybook/tsconfig.json +5 -16
  104. package/dist/esm/generators/EMBER/index.js +3 -13
  105. package/dist/esm/generators/HTML/index.js +3 -13
  106. package/dist/esm/generators/MARIONETTE/index.js +3 -13
  107. package/dist/esm/generators/MARKO/index.js +3 -13
  108. package/dist/esm/generators/MITHRIL/index.js +3 -13
  109. package/dist/esm/generators/PREACT/index.js +3 -15
  110. package/dist/esm/generators/RAX/index.js +4 -16
  111. package/dist/esm/generators/REACT/index.js +3 -13
  112. package/dist/esm/generators/REACT_NATIVE/index.js +9 -24
  113. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/addons.js +1 -1
  114. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/index.js +6 -13
  115. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/rn-addons.js +2 -2
  116. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/Button/Button.stories.js +5 -13
  117. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/Button/index.js +10 -8
  118. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/CenterView/index.js +9 -8
  119. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/CenterView/style.js +3 -3
  120. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/Welcome/Welcome.stories.js +3 -2
  121. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/Welcome/index.js +41 -44
  122. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/index.js +1 -1
  123. package/dist/esm/generators/REACT_SCRIPTS/index.js +16 -37
  124. package/dist/esm/generators/RIOT/index.js +3 -13
  125. package/dist/esm/generators/SERVER/index.js +5 -16
  126. package/dist/esm/generators/SERVER/template-csf/.storybook/preview.js +3 -3
  127. package/dist/esm/generators/SFC_VUE/index.js +3 -13
  128. package/dist/esm/generators/SVELTE/index.js +12 -31
  129. package/dist/esm/generators/VUE/index.js +3 -13
  130. package/dist/esm/generators/VUE3/index.js +3 -13
  131. package/dist/esm/generators/WEB-COMPONENTS/index.js +3 -13
  132. package/dist/esm/generators/WEBPACK_REACT/index.js +3 -13
  133. package/dist/esm/generators/baseGenerator.js +49 -62
  134. package/dist/esm/generators/configure.js +10 -26
  135. package/dist/esm/generators/types.js +1 -5
  136. package/dist/esm/helpers.js +69 -99
  137. package/dist/esm/initiate.js +113 -151
  138. package/dist/esm/js-package-manager/JsPackageManager.js +119 -60
  139. package/dist/esm/js-package-manager/JsPackageManagerFactory.js +31 -31
  140. package/dist/esm/js-package-manager/NPMProxy.js +42 -19
  141. package/dist/esm/js-package-manager/PackageJson.js +1 -5
  142. package/dist/esm/js-package-manager/Yarn1Proxy.js +14 -13
  143. package/dist/esm/js-package-manager/Yarn2Proxy.js +14 -13
  144. package/dist/esm/js-package-manager/index.js +3 -57
  145. package/dist/esm/link.js +35 -64
  146. package/dist/esm/migrate.js +4 -14
  147. package/dist/esm/project_types.js +13 -28
  148. package/dist/esm/repro-generators/configs.js +21 -48
  149. package/dist/esm/repro-generators/scripts.js +62 -72
  150. package/dist/esm/repro-next.js +163 -0
  151. package/dist/esm/repro-templates.js +94 -0
  152. package/dist/esm/repro.js +29 -55
  153. package/dist/esm/upgrade.js +33 -75
  154. package/dist/esm/utils.js +2 -11
  155. package/dist/esm/versions.js +81 -82
  156. package/dist/esm/warn.js +9 -25
  157. package/dist/esm/window.d.js +1 -5
  158. package/dist/types/automigrate/fixes/new-frameworks.d.ts +31 -0
  159. package/dist/types/automigrate/fixes/npm7.d.ts +9 -0
  160. package/dist/types/automigrate/fixes/sb-scripts.d.ts +23 -0
  161. package/dist/types/detect.d.ts +2 -2
  162. package/dist/types/dirs.d.ts +1 -0
  163. package/dist/types/generators/baseGenerator.d.ts +1 -1
  164. package/dist/types/generators/types.d.ts +2 -0
  165. package/dist/types/helpers.d.ts +2 -1
  166. package/dist/types/js-package-manager/JsPackageManager.d.ts +29 -0
  167. package/dist/types/js-package-manager/JsPackageManagerFactory.d.ts +1 -1
  168. package/dist/types/js-package-manager/NPMProxy.d.ts +11 -0
  169. package/dist/types/js-package-manager/Yarn1Proxy.d.ts +7 -0
  170. package/dist/types/js-package-manager/Yarn2Proxy.d.ts +7 -0
  171. package/dist/types/js-package-manager/index.d.ts +0 -1
  172. package/dist/types/link.d.ts +2 -1
  173. package/dist/types/repro-generators/scripts.d.ts +4 -2
  174. package/dist/types/repro-next.d.ts +8 -0
  175. package/dist/types/repro-templates.d.ts +73 -0
  176. package/dist/types/repro.d.ts +2 -1
  177. package/dist/types/versions.d.ts +7 -1
  178. package/package.json +16 -17
  179. package/rendererAssets/.eslintrc.json +11 -0
  180. package/{dist/cjs/frameworks → rendererAssets}/angular/Button.stories.ts +2 -3
  181. package/{dist/esm/frameworks → rendererAssets}/angular/Header.stories.ts +2 -2
  182. package/{dist/esm/frameworks → rendererAssets}/angular/Page.stories.ts +3 -3
  183. package/{dist/cjs/frameworks → rendererAssets}/angular/User.ts +0 -0
  184. package/{dist/cjs/frameworks → rendererAssets}/angular/button.component.ts +0 -0
  185. package/{dist/cjs/frameworks → rendererAssets}/angular/header.component.ts +0 -0
  186. package/{dist/cjs/frameworks → rendererAssets}/angular/page.component.ts +0 -0
  187. package/{dist/cjs/frameworks → rendererAssets}/aurelia/1-Button.stories.ts +0 -0
  188. package/{dist/cjs/frameworks → rendererAssets}/aurelia/button.ts +0 -0
  189. package/{dist/cjs/frameworks → rendererAssets}/common/Introduction.stories.mdx +0 -0
  190. package/{dist/cjs/frameworks → rendererAssets}/common/assets/code-brackets.svg +0 -0
  191. package/{dist/cjs/frameworks → rendererAssets}/common/assets/colors.svg +0 -0
  192. package/{dist/cjs/frameworks → rendererAssets}/common/assets/comments.svg +0 -0
  193. package/{dist/cjs/frameworks → rendererAssets}/common/assets/direction.svg +0 -0
  194. package/{dist/cjs/frameworks → rendererAssets}/common/assets/flow.svg +0 -0
  195. package/{dist/cjs/frameworks → rendererAssets}/common/assets/plugin.svg +0 -0
  196. package/{dist/cjs/frameworks → rendererAssets}/common/assets/repo.svg +0 -0
  197. package/{dist/cjs/frameworks → rendererAssets}/common/assets/stackalt.svg +0 -0
  198. package/{dist/cjs/frameworks → rendererAssets}/common/button.css +0 -0
  199. package/{dist/cjs/frameworks → rendererAssets}/common/header.css +0 -0
  200. package/{dist/cjs/frameworks → rendererAssets}/common/page.css +0 -0
  201. package/{dist/cjs/frameworks → rendererAssets}/ember/1-Button.stories.js +0 -0
  202. package/{dist/cjs/frameworks → rendererAssets}/html/js/Button.js +0 -0
  203. package/{dist/cjs/frameworks → rendererAssets}/html/js/Button.stories.js +0 -0
  204. package/{dist/cjs/frameworks → rendererAssets}/html/js/Header.js +0 -0
  205. package/{dist/cjs/frameworks → rendererAssets}/html/js/Header.stories.js +0 -0
  206. package/{dist/cjs/frameworks → rendererAssets}/html/js/Page.js +0 -0
  207. package/{dist/cjs/frameworks → rendererAssets}/html/js/Page.stories.js +0 -0
  208. package/{dist/esm/frameworks → rendererAssets}/html/ts/Button.stories.ts +3 -3
  209. package/{dist/cjs/frameworks → rendererAssets}/html/ts/Button.ts +6 -2
  210. package/{dist/esm/frameworks → rendererAssets}/html/ts/Header.stories.ts +3 -3
  211. package/{dist/cjs/frameworks → rendererAssets}/html/ts/Header.ts +0 -0
  212. package/{dist/cjs/frameworks → rendererAssets}/html/ts/Page.stories.ts +2 -2
  213. package/{dist/esm/frameworks → rendererAssets}/html/ts/Page.ts +4 -4
  214. package/{dist/cjs/frameworks → rendererAssets}/marionette/index.stories.js +0 -0
  215. package/{dist/cjs/frameworks → rendererAssets}/marko/1-Button.stories.js +0 -0
  216. package/{dist/cjs/frameworks → rendererAssets}/marko/Button.marko +0 -0
  217. package/{dist/cjs/frameworks → rendererAssets}/mithril/Button.js +0 -0
  218. package/{dist/cjs/frameworks → rendererAssets}/mithril/Button.stories.js +0 -0
  219. package/{dist/cjs/frameworks → rendererAssets}/mithril/Header.js +0 -0
  220. package/{dist/cjs/frameworks → rendererAssets}/mithril/Header.stories.js +0 -0
  221. package/{dist/cjs/frameworks → rendererAssets}/mithril/Page.js +0 -0
  222. package/{dist/cjs/frameworks → rendererAssets}/mithril/Page.stories.js +0 -0
  223. package/{dist/cjs/frameworks → rendererAssets}/preact/Button.jsx +0 -0
  224. package/{dist/cjs/frameworks → rendererAssets}/preact/Button.stories.jsx +0 -0
  225. package/{dist/cjs/frameworks → rendererAssets}/preact/Header.jsx +0 -0
  226. package/{dist/cjs/frameworks → rendererAssets}/preact/Header.stories.jsx +0 -0
  227. package/{dist/cjs/frameworks → rendererAssets}/preact/Page.jsx +0 -0
  228. package/{dist/cjs/frameworks → rendererAssets}/preact/Page.stories.jsx +0 -0
  229. package/{dist/cjs/frameworks → rendererAssets}/rax/Button.js +0 -0
  230. package/{dist/cjs/frameworks → rendererAssets}/rax/Button.stories.js +0 -0
  231. package/{dist/cjs/frameworks → rendererAssets}/rax/Header.js +0 -0
  232. package/{dist/cjs/frameworks → rendererAssets}/rax/Header.stories.js +0 -0
  233. package/{dist/cjs/frameworks → rendererAssets}/rax/Page.js +0 -0
  234. package/{dist/cjs/frameworks → rendererAssets}/rax/Page.stories.js +0 -0
  235. package/{dist/cjs/frameworks → rendererAssets}/react/js/Button.jsx +0 -0
  236. package/{dist/cjs/frameworks → rendererAssets}/react/js/Button.stories.jsx +0 -0
  237. package/{dist/cjs/frameworks → rendererAssets}/react/js/Header.jsx +0 -0
  238. package/{dist/cjs/frameworks → rendererAssets}/react/js/Header.stories.jsx +0 -0
  239. package/{dist/cjs/frameworks → rendererAssets}/react/js/Page.jsx +0 -0
  240. package/{dist/cjs/frameworks → rendererAssets}/react/js/Page.stories.jsx +0 -0
  241. package/{dist/cjs/frameworks → rendererAssets}/react/ts/Button.stories.tsx +2 -2
  242. package/{dist/cjs/frameworks → rendererAssets}/react/ts/Button.tsx +0 -0
  243. package/{dist/cjs/frameworks → rendererAssets}/react/ts/Header.stories.tsx +2 -2
  244. package/{dist/cjs/frameworks → rendererAssets}/react/ts/Header.tsx +0 -0
  245. package/{dist/cjs/frameworks → rendererAssets}/react/ts/Page.stories.tsx +2 -2
  246. package/{dist/cjs/frameworks → rendererAssets}/react/ts/Page.tsx +0 -0
  247. package/{dist/cjs/frameworks → rendererAssets}/riot/1-Button.stories.js +0 -0
  248. package/{dist/cjs/frameworks → rendererAssets}/riot/MyButton.tag +0 -0
  249. package/{dist/cjs/frameworks → rendererAssets}/server/button.stories.json +1 -1
  250. package/{dist/cjs/frameworks → rendererAssets}/server/header.stories.json +0 -0
  251. package/{dist/cjs/frameworks → rendererAssets}/server/page.stories.json +0 -0
  252. package/{dist/cjs/frameworks → rendererAssets}/svelte/Button.stories.js +0 -0
  253. package/{dist/cjs/frameworks → rendererAssets}/svelte/Button.svelte +0 -0
  254. package/{dist/cjs/frameworks → rendererAssets}/svelte/Header.stories.js +0 -0
  255. package/{dist/cjs/frameworks → rendererAssets}/svelte/Header.svelte +0 -0
  256. package/{dist/cjs/frameworks → rendererAssets}/svelte/Page.stories.js +0 -0
  257. package/{dist/cjs/frameworks → rendererAssets}/svelte/Page.svelte +0 -0
  258. package/{dist/cjs/frameworks → rendererAssets}/vue/Button.stories.js +0 -0
  259. package/{dist/cjs/frameworks → rendererAssets}/vue/Button.vue +0 -0
  260. package/{dist/cjs/frameworks → rendererAssets}/vue/Header.stories.js +0 -0
  261. package/{dist/cjs/frameworks → rendererAssets}/vue/Header.vue +0 -0
  262. package/{dist/cjs/frameworks → rendererAssets}/vue/Page.stories.js +0 -0
  263. package/{dist/cjs/frameworks → rendererAssets}/vue/Page.vue +0 -0
  264. package/{dist/cjs/frameworks → rendererAssets}/vue3/Button.stories.js +0 -0
  265. package/{dist/cjs/frameworks → rendererAssets}/vue3/Button.vue +0 -0
  266. package/{dist/cjs/frameworks → rendererAssets}/vue3/Header.stories.js +0 -0
  267. package/{dist/cjs/frameworks → rendererAssets}/vue3/Header.vue +0 -0
  268. package/{dist/cjs/frameworks → rendererAssets}/vue3/Page.stories.js +0 -0
  269. package/{dist/cjs/frameworks → rendererAssets}/vue3/Page.vue +0 -0
  270. package/{dist/cjs/frameworks → rendererAssets}/web-components/js/Button.js +0 -0
  271. package/{dist/cjs/frameworks → rendererAssets}/web-components/js/Button.stories.js +0 -0
  272. package/{dist/cjs/frameworks → rendererAssets}/web-components/js/Header.js +0 -0
  273. package/{dist/cjs/frameworks → rendererAssets}/web-components/js/Header.stories.js +0 -0
  274. package/{dist/cjs/frameworks → rendererAssets}/web-components/js/Page.js +0 -0
  275. package/{dist/cjs/frameworks → rendererAssets}/web-components/js/Page.stories.js +0 -0
  276. package/{dist/esm/frameworks → rendererAssets}/web-components/ts/Button.stories.ts +2 -2
  277. package/{dist/cjs/frameworks → rendererAssets}/web-components/ts/Button.ts +0 -0
  278. package/{dist/cjs/frameworks → rendererAssets}/web-components/ts/Header.stories.ts +2 -2
  279. package/{dist/cjs/frameworks → rendererAssets}/web-components/ts/Header.ts +0 -0
  280. package/{dist/cjs/frameworks → rendererAssets}/web-components/ts/Page.stories.ts +2 -2
  281. package/{dist/cjs/frameworks → rendererAssets}/web-components/ts/Page.ts +0 -0
  282. package/LICENSE +0 -21
  283. package/dist/cjs/frameworks/angular/Header.stories.ts +0 -35
  284. package/dist/cjs/frameworks/angular/Page.stories.ts +0 -36
  285. package/dist/cjs/frameworks/html/ts/Button.stories.ts +0 -49
  286. package/dist/cjs/frameworks/html/ts/Header.stories.ts +0 -26
  287. package/dist/cjs/frameworks/html/ts/Page.ts +0 -98
  288. package/dist/cjs/frameworks/web-components/ts/Button.stories.ts +0 -43
  289. package/dist/cjs/js-package-manager/PackageJsonHelper.js +0 -33
  290. package/dist/esm/frameworks/angular/Button.stories.ts +0 -44
  291. package/dist/esm/frameworks/angular/User.ts +0 -2
  292. package/dist/esm/frameworks/angular/button.component.ts +0 -53
  293. package/dist/esm/frameworks/angular/header.component.ts +0 -75
  294. package/dist/esm/frameworks/angular/page.component.ts +0 -77
  295. package/dist/esm/frameworks/aurelia/1-Button.stories.ts +0 -49
  296. package/dist/esm/frameworks/aurelia/button.ts +0 -28
  297. package/dist/esm/frameworks/common/Introduction.stories.mdx +0 -211
  298. package/dist/esm/frameworks/common/assets/code-brackets.svg +0 -1
  299. package/dist/esm/frameworks/common/assets/colors.svg +0 -1
  300. package/dist/esm/frameworks/common/assets/comments.svg +0 -1
  301. package/dist/esm/frameworks/common/assets/direction.svg +0 -1
  302. package/dist/esm/frameworks/common/assets/flow.svg +0 -1
  303. package/dist/esm/frameworks/common/assets/plugin.svg +0 -1
  304. package/dist/esm/frameworks/common/assets/repo.svg +0 -1
  305. package/dist/esm/frameworks/common/assets/stackalt.svg +0 -1
  306. package/dist/esm/frameworks/common/button.css +0 -30
  307. package/dist/esm/frameworks/common/header.css +0 -32
  308. package/dist/esm/frameworks/common/page.css +0 -69
  309. package/dist/esm/frameworks/ember/1-Button.stories.js +0 -57
  310. package/dist/esm/frameworks/html/js/Button.js +0 -21
  311. package/dist/esm/frameworks/html/js/Button.stories.js +0 -48
  312. package/dist/esm/frameworks/html/js/Header.js +0 -47
  313. package/dist/esm/frameworks/html/js/Header.stories.js +0 -27
  314. package/dist/esm/frameworks/html/js/Page.js +0 -94
  315. package/dist/esm/frameworks/html/js/Page.stories.js +0 -23
  316. package/dist/esm/frameworks/html/ts/Button.ts +0 -47
  317. package/dist/esm/frameworks/html/ts/Header.ts +0 -54
  318. package/dist/esm/frameworks/html/ts/Page.stories.ts +0 -24
  319. package/dist/esm/frameworks/marionette/index.stories.js +0 -20
  320. package/dist/esm/frameworks/marko/1-Button.stories.js +0 -24
  321. package/dist/esm/frameworks/marko/Button.marko +0 -13
  322. package/dist/esm/frameworks/mithril/Button.js +0 -22
  323. package/dist/esm/frameworks/mithril/Button.stories.js +0 -43
  324. package/dist/esm/frameworks/mithril/Header.js +0 -51
  325. package/dist/esm/frameworks/mithril/Header.stories.js +0 -20
  326. package/dist/esm/frameworks/mithril/Page.js +0 -70
  327. package/dist/esm/frameworks/mithril/Page.stories.js +0 -24
  328. package/dist/esm/frameworks/preact/Button.jsx +0 -51
  329. package/dist/esm/frameworks/preact/Button.stories.jsx +0 -41
  330. package/dist/esm/frameworks/preact/Header.jsx +0 -58
  331. package/dist/esm/frameworks/preact/Header.stories.jsx +0 -29
  332. package/dist/esm/frameworks/preact/Page.jsx +0 -71
  333. package/dist/esm/frameworks/preact/Page.stories.jsx +0 -26
  334. package/dist/esm/frameworks/rax/Button.js +0 -26
  335. package/dist/esm/frameworks/rax/Button.stories.js +0 -40
  336. package/dist/esm/frameworks/rax/Header.js +0 -44
  337. package/dist/esm/frameworks/rax/Header.stories.js +0 -17
  338. package/dist/esm/frameworks/rax/Page.js +0 -64
  339. package/dist/esm/frameworks/rax/Page.stories.js +0 -21
  340. package/dist/esm/frameworks/react/js/Button.jsx +0 -50
  341. package/dist/esm/frameworks/react/js/Button.stories.jsx +0 -40
  342. package/dist/esm/frameworks/react/js/Header.jsx +0 -57
  343. package/dist/esm/frameworks/react/js/Header.stories.jsx +0 -24
  344. package/dist/esm/frameworks/react/js/Page.jsx +0 -69
  345. package/dist/esm/frameworks/react/js/Page.stories.jsx +0 -25
  346. package/dist/esm/frameworks/react/ts/Button.stories.tsx +0 -41
  347. package/dist/esm/frameworks/react/ts/Button.tsx +0 -48
  348. package/dist/esm/frameworks/react/ts/Header.stories.tsx +0 -25
  349. package/dist/esm/frameworks/react/ts/Header.tsx +0 -56
  350. package/dist/esm/frameworks/react/ts/Page.stories.tsx +0 -26
  351. package/dist/esm/frameworks/react/ts/Page.tsx +0 -73
  352. package/dist/esm/frameworks/riot/1-Button.stories.js +0 -52
  353. package/dist/esm/frameworks/riot/MyButton.tag +0 -24
  354. package/dist/esm/frameworks/server/button.stories.json +0 -32
  355. package/dist/esm/frameworks/server/header.stories.json +0 -15
  356. package/dist/esm/frameworks/server/page.stories.json +0 -15
  357. package/dist/esm/frameworks/svelte/Button.stories.js +0 -51
  358. package/dist/esm/frameworks/svelte/Button.svelte +0 -42
  359. package/dist/esm/frameworks/svelte/Header.stories.js +0 -35
  360. package/dist/esm/frameworks/svelte/Header.svelte +0 -51
  361. package/dist/esm/frameworks/svelte/Page.stories.js +0 -27
  362. package/dist/esm/frameworks/svelte/Page.svelte +0 -63
  363. package/dist/esm/frameworks/vue/Button.stories.js +0 -46
  364. package/dist/esm/frameworks/vue/Button.vue +0 -54
  365. package/dist/esm/frameworks/vue/Header.stories.js +0 -27
  366. package/dist/esm/frameworks/vue/Header.vue +0 -60
  367. package/dist/esm/frameworks/vue/Page.stories.js +0 -27
  368. package/dist/esm/frameworks/vue/Page.vue +0 -88
  369. package/dist/esm/frameworks/vue3/Button.stories.js +0 -52
  370. package/dist/esm/frameworks/vue3/Button.vue +0 -52
  371. package/dist/esm/frameworks/vue3/Header.stories.js +0 -34
  372. package/dist/esm/frameworks/vue3/Header.vue +0 -50
  373. package/dist/esm/frameworks/vue3/Page.stories.js +0 -29
  374. package/dist/esm/frameworks/vue3/Page.vue +0 -88
  375. package/dist/esm/frameworks/web-components/js/Button.js +0 -21
  376. package/dist/esm/frameworks/web-components/js/Button.stories.js +0 -42
  377. package/dist/esm/frameworks/web-components/js/Header.js +0 -45
  378. package/dist/esm/frameworks/web-components/js/Header.stories.js +0 -15
  379. package/dist/esm/frameworks/web-components/js/Page.js +0 -61
  380. package/dist/esm/frameworks/web-components/js/Page.stories.js +0 -19
  381. package/dist/esm/frameworks/web-components/ts/Button.ts +0 -43
  382. package/dist/esm/frameworks/web-components/ts/Header.stories.ts +0 -16
  383. package/dist/esm/frameworks/web-components/ts/Header.ts +0 -52
  384. package/dist/esm/frameworks/web-components/ts/Page.stories.ts +0 -20
  385. package/dist/esm/frameworks/web-components/ts/Page.ts +0 -68
  386. package/dist/esm/js-package-manager/PackageJsonHelper.js +0 -33
  387. package/dist/types/js-package-manager/PackageJsonHelper.d.ts +0 -3
@@ -1,27 +1,10 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.JsPackageManager = void 0;
7
- exports.getPackageDetails = getPackageDetails;
8
-
9
- require("core-js/modules/es.promise.js");
10
-
11
- var _chalk = _interopRequireDefault(require("chalk"));
12
-
13
- var _semver = require("@storybook/semver");
14
-
15
- var _crossSpawn = require("cross-spawn");
16
-
17
- var _helpers = require("../helpers");
18
-
19
- var _PackageJsonHelper = require("./PackageJsonHelper");
20
-
21
- var _versions = _interopRequireDefault(require("../versions"));
22
-
23
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
-
1
+ import chalk from 'chalk';
2
+ import { gt, satisfies } from '@storybook/semver';
3
+ import { sync as spawnSync } from 'cross-spawn';
4
+ import path from 'path';
5
+ import fs from 'fs';
6
+ import { commandLog } from '../helpers';
7
+ import storybookPackagesVersions from '../versions';
25
8
  const logger = console;
26
9
  /**
27
10
  * Extract package name and version from input
@@ -30,7 +13,7 @@ const logger = console;
30
13
  * @return A tuple of 2 elements: [packageName, packageVersion]
31
14
  */
32
15
 
33
- function getPackageDetails(pkg) {
16
+ export function getPackageDetails(pkg) {
34
17
  const idx = pkg.lastIndexOf('@'); // If the only `@` is the first character, it is a scoped package
35
18
  // If it isn't in the string, it will be -1
36
19
 
@@ -42,21 +25,38 @@ function getPackageDetails(pkg) {
42
25
  const packageVersion = pkg.slice(idx + 1);
43
26
  return [packageName, packageVersion];
44
27
  }
28
+ export class JsPackageManager {
29
+ // NOTE: for some reason yarn prefers the npm registry in
30
+ // local development, so always use npm
31
+ setRegistryURL(url) {
32
+ if (url) {
33
+ this.executeCommand('npm', ['config', 'set', 'registry', url]);
34
+ } else {
35
+ this.executeCommand('npm', ['config', 'delete', 'registry']);
36
+ }
37
+ }
45
38
 
46
- class JsPackageManager {
47
- constructor() {
48
- this.type = void 0;
39
+ getRegistryURL() {
40
+ const url = this.executeCommand('npm', ['config', 'get', 'registry']).trim();
41
+ return url === 'undefined' ? undefined : url;
49
42
  }
50
43
 
44
+ constructor(options) {
45
+ this.type = void 0;
46
+ this.cwd = void 0;
47
+ this.cwd = options?.cwd;
48
+ }
51
49
  /**
52
50
  * Install dependencies listed in `package.json`
53
51
  */
52
+
53
+
54
54
  installDependencies() {
55
- let done = (0, _helpers.commandLog)('Preparing to install dependencies');
55
+ let done = commandLog('Preparing to install dependencies');
56
56
  done();
57
57
  logger.log();
58
58
  logger.log();
59
- done = (0, _helpers.commandLog)('Installing dependencies');
59
+ done = commandLog('Installing dependencies');
60
60
 
61
61
  try {
62
62
  this.runInstall();
@@ -67,6 +67,26 @@ class JsPackageManager {
67
67
 
68
68
  done();
69
69
  }
70
+
71
+ packageJsonPath() {
72
+ return this.cwd ? path.resolve(this.cwd, 'package.json') : path.resolve('package.json');
73
+ }
74
+
75
+ readPackageJson() {
76
+ const packageJsonPath = this.packageJsonPath();
77
+
78
+ if (!fs.existsSync(packageJsonPath)) {
79
+ throw new Error(`Could not read package.json file at ${packageJsonPath}`);
80
+ }
81
+
82
+ const jsonContent = fs.readFileSync(packageJsonPath, 'utf8');
83
+ return JSON.parse(jsonContent);
84
+ }
85
+
86
+ writePackageJson(packageJson) {
87
+ const content = `${JSON.stringify(packageJson, null, 2)}\n`;
88
+ fs.writeFileSync(this.packageJsonPath(), content, 'utf8');
89
+ }
70
90
  /**
71
91
  * Read the `package.json` file available in the directory the command was call from
72
92
  * If there is no `package.json` it will create one.
@@ -77,10 +97,10 @@ class JsPackageManager {
77
97
  let packageJson;
78
98
 
79
99
  try {
80
- packageJson = (0, _PackageJsonHelper.readPackageJson)();
100
+ packageJson = this.readPackageJson();
81
101
  } catch (err) {
82
102
  this.initPackageJson();
83
- packageJson = (0, _PackageJsonHelper.readPackageJson)();
103
+ packageJson = this.readPackageJson();
84
104
  }
85
105
 
86
106
  return Object.assign({}, packageJson, {
@@ -125,7 +145,7 @@ class JsPackageManager {
125
145
  packageJson.dependencies = Object.assign({}, packageJson.dependencies, dependenciesMap);
126
146
  }
127
147
 
128
- (0, _PackageJsonHelper.writePackageJson)(packageJson);
148
+ this.writePackageJson(packageJson);
129
149
  } else {
130
150
  try {
131
151
  this.runAddDeps(dependencies, options.installAsDevDependencies);
@@ -136,6 +156,48 @@ class JsPackageManager {
136
156
  }
137
157
  }
138
158
  }
159
+ /**
160
+ * Remove dependencies from a project using `yarn remove` or `npm uninstall`.
161
+ *
162
+ * @param {Object} options contains `skipInstall`, `packageJson` and `installAsDevDependencies` which we use to determine how we install packages.
163
+ * @param {Array} dependencies contains a list of packages to remove.
164
+ * @example
165
+ * removeDependencies(options, [
166
+ * `@storybook/react`,
167
+ * `@storybook/addon-actions`,
168
+ * ]);
169
+ */
170
+
171
+
172
+ removeDependencies(options, dependencies) {
173
+ const {
174
+ skipInstall
175
+ } = options;
176
+
177
+ if (skipInstall) {
178
+ const {
179
+ packageJson
180
+ } = options;
181
+ dependencies.forEach(dep => {
182
+ if (packageJson.devDependencies) {
183
+ delete packageJson.devDependencies[dep];
184
+ }
185
+
186
+ if (packageJson.dependencies) {
187
+ delete packageJson.dependencies[dep];
188
+ }
189
+ });
190
+ this.writePackageJson(packageJson);
191
+ } else {
192
+ try {
193
+ this.runRemoveDeps(dependencies);
194
+ } catch (e) {
195
+ logger.error('An error occurred while removing dependencies.');
196
+ logger.log(e.message);
197
+ process.exit(1);
198
+ }
199
+ }
200
+ }
139
201
  /**
140
202
  * Return an array of strings matching following format: `<package_name>@<package_latest_version>`
141
203
  *
@@ -178,7 +240,7 @@ class JsPackageManager {
178
240
 
179
241
  if (/(@storybook|^sb$|^storybook$)/.test(packageName)) {
180
242
  // @ts-ignore
181
- current = _versions.default[packageName];
243
+ current = storybookPackagesVersions[packageName];
182
244
  }
183
245
 
184
246
  let latest;
@@ -187,15 +249,15 @@ class JsPackageManager {
187
249
  latest = await this.latestVersion(packageName, constraint);
188
250
  } catch (e) {
189
251
  if (current) {
190
- logger.warn(`\n ${_chalk.default.yellow(e.message)}`);
252
+ logger.warn(`\n ${chalk.yellow(e.message)}`);
191
253
  return current;
192
254
  }
193
255
 
194
- logger.error(`\n ${_chalk.default.red(e.message)}`);
256
+ logger.error(`\n ${chalk.red(e.message)}`);
195
257
  process.exit(1);
196
258
  }
197
259
 
198
- const versionToUse = current && (!constraint || (0, _semver.satisfies)(current, constraint)) && (0, _semver.gt)(current, latest) ? current : latest;
260
+ const versionToUse = current && (!constraint || satisfies(current, constraint)) && gt(current, latest) ? current : latest;
199
261
  return `^${versionToUse}`;
200
262
  }
201
263
  /**
@@ -214,16 +276,14 @@ class JsPackageManager {
214
276
 
215
277
  const versions = await this.runGetVersions(packageName, true); // Get the latest version satisfying the constraint
216
278
 
217
- return versions.reverse().find(version => (0, _semver.satisfies)(version, constraint));
279
+ return versions.reverse().find(version => satisfies(version, constraint));
218
280
  }
219
281
 
220
282
  addStorybookCommandInScripts(options) {
221
- var _options$port;
222
-
223
- const sbPort = (_options$port = options === null || options === void 0 ? void 0 : options.port) !== null && _options$port !== void 0 ? _options$port : 6006;
224
- const storybookCmd = options !== null && options !== void 0 && options.staticFolder ? `npx storybook dev -p ${sbPort} -s ${options.staticFolder}` : `npx storybook dev -p ${sbPort}`;
225
- const buildStorybookCmd = options !== null && options !== void 0 && options.staticFolder ? `npx storybook build -s ${options.staticFolder}` : `npx storybook build`;
226
- const preCommand = options !== null && options !== void 0 && options.preCommand ? this.getRunCommand(options.preCommand) : undefined;
283
+ const sbPort = options?.port ?? 6006;
284
+ const storybookCmd = options?.staticFolder ? `npx storybook dev -p ${sbPort} -s ${options.staticFolder}` : `npx storybook dev -p ${sbPort}`;
285
+ const buildStorybookCmd = options?.staticFolder ? `npx storybook build -s ${options.staticFolder}` : `npx storybook build`;
286
+ const preCommand = options?.preCommand ? this.getRunCommand(options.preCommand) : undefined;
227
287
  this.addScripts({
228
288
  storybook: [preCommand, storybookCmd].filter(Boolean).join(' && '),
229
289
  'build-storybook': [preCommand, buildStorybookCmd].filter(Boolean).join(' && ')
@@ -231,12 +291,10 @@ class JsPackageManager {
231
291
  }
232
292
 
233
293
  addESLintConfig() {
234
- var _packageJson$eslintCo;
235
-
236
294
  const packageJson = this.retrievePackageJson();
237
- (0, _PackageJsonHelper.writePackageJson)(Object.assign({}, packageJson, {
295
+ this.writePackageJson(Object.assign({}, packageJson, {
238
296
  eslintConfig: Object.assign({}, packageJson.eslintConfig, {
239
- overrides: [...(((_packageJson$eslintCo = packageJson.eslintConfig) === null || _packageJson$eslintCo === void 0 ? void 0 : _packageJson$eslintCo.overrides) || []), {
297
+ overrides: [...(packageJson.eslintConfig?.overrides || []), {
240
298
  files: ['**/*.stories.*'],
241
299
  rules: {
242
300
  'import/no-anonymous-default-export': 'off'
@@ -248,28 +306,29 @@ class JsPackageManager {
248
306
 
249
307
  addScripts(scripts) {
250
308
  const packageJson = this.retrievePackageJson();
251
- (0, _PackageJsonHelper.writePackageJson)(Object.assign({}, packageJson, {
309
+ this.writePackageJson(Object.assign({}, packageJson, {
252
310
  scripts: Object.assign({}, packageJson.scripts, scripts)
253
311
  }));
254
312
  }
255
313
 
256
- executeCommand(command, args, stdio) {
257
- var _commandResult$stdout;
314
+ addPackageResolutions(versions) {
315
+ const packageJson = this.retrievePackageJson();
316
+ const resolutions = this.getResolutions(packageJson, versions);
317
+ this.writePackageJson(Object.assign({}, packageJson, resolutions));
318
+ }
258
319
 
259
- const commandResult = (0, _crossSpawn.sync)(command, args, {
260
- stdio: stdio !== null && stdio !== void 0 ? stdio : 'pipe',
320
+ executeCommand(command, args, stdio) {
321
+ const commandResult = spawnSync(command, args, {
322
+ cwd: this.cwd,
323
+ stdio: stdio ?? 'pipe',
261
324
  encoding: 'utf-8'
262
325
  });
263
326
 
264
327
  if (commandResult.status !== 0) {
265
- var _commandResult$stderr;
266
-
267
- throw new Error((_commandResult$stderr = commandResult.stderr) !== null && _commandResult$stderr !== void 0 ? _commandResult$stderr : '');
328
+ throw new Error(commandResult.stderr ?? '');
268
329
  }
269
330
 
270
- return (_commandResult$stdout = commandResult.stdout) !== null && _commandResult$stdout !== void 0 ? _commandResult$stdout : '';
331
+ return commandResult.stdout ?? '';
271
332
  }
272
333
 
273
- }
274
-
275
- exports.JsPackageManager = JsPackageManager;
334
+ }
@@ -1,36 +1,34 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.JsPackageManagerFactory = void 0;
7
-
8
- var _crossSpawn = require("cross-spawn");
9
-
10
- var _findUp = require("find-up");
11
-
12
- var _NPMProxy = require("./NPMProxy");
13
-
14
- var _Yarn2Proxy = require("./Yarn2Proxy");
15
-
16
- var _Yarn1Proxy = require("./Yarn1Proxy");
17
-
18
- class JsPackageManagerFactory {
19
- static getPackageManager(forceNpmUsage = false) {
1
+ import { sync as spawnSync } from 'cross-spawn';
2
+ import { sync as findUpSync } from 'find-up';
3
+ import { NPMProxy } from './NPMProxy';
4
+ import { Yarn2Proxy } from './Yarn2Proxy';
5
+ import { Yarn1Proxy } from './Yarn1Proxy';
6
+ export class JsPackageManagerFactory {
7
+ static getPackageManager(forceNpmUsage = false, cwd) {
20
8
  if (forceNpmUsage) {
21
- return new _NPMProxy.NPMProxy();
9
+ return new NPMProxy({
10
+ cwd
11
+ });
22
12
  }
23
13
 
24
- const yarnVersion = getYarnVersion();
25
- const hasYarnLockFile = (0, _findUp.sync)('yarn.lock');
26
- const hasNPMCommand = hasNPM();
14
+ const yarnVersion = getYarnVersion(cwd);
15
+ const hasYarnLockFile = findUpSync('yarn.lock', {
16
+ cwd
17
+ });
18
+ const hasNPMCommand = hasNPM(cwd);
27
19
 
28
20
  if (yarnVersion && (hasYarnLockFile || !hasNPMCommand)) {
29
- return yarnVersion === 1 ? new _Yarn1Proxy.Yarn1Proxy() : new _Yarn2Proxy.Yarn2Proxy();
21
+ return yarnVersion === 1 ? new Yarn1Proxy({
22
+ cwd
23
+ }) : new Yarn2Proxy({
24
+ cwd
25
+ });
30
26
  }
31
27
 
32
28
  if (hasNPMCommand) {
33
- return new _NPMProxy.NPMProxy();
29
+ return new NPMProxy({
30
+ cwd
31
+ });
34
32
  }
35
33
 
36
34
  throw new Error('Unable to find a usable package manager within NPM, Yarn and Yarn 2');
@@ -38,15 +36,17 @@ class JsPackageManagerFactory {
38
36
 
39
37
  }
40
38
 
41
- exports.JsPackageManagerFactory = JsPackageManagerFactory;
42
-
43
- function hasNPM() {
44
- const npmVersionCommand = (0, _crossSpawn.sync)('npm', ['--version']);
39
+ function hasNPM(cwd) {
40
+ const npmVersionCommand = spawnSync('npm', ['--version'], {
41
+ cwd
42
+ });
45
43
  return npmVersionCommand.status === 0;
46
44
  }
47
45
 
48
- function getYarnVersion() {
49
- const yarnVersionCommand = (0, _crossSpawn.sync)('yarn', ['--version']);
46
+ function getYarnVersion(cwd) {
47
+ const yarnVersionCommand = spawnSync('yarn', ['--version'], {
48
+ cwd
49
+ });
50
50
 
51
51
  if (yarnVersionCommand.status !== 0) {
52
52
  return undefined;
@@ -1,21 +1,11 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.NPMProxy = void 0;
7
-
8
- var _semver = _interopRequireDefault(require("@storybook/semver"));
9
-
10
- var _JsPackageManager = require("./JsPackageManager");
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- class NPMProxy extends _JsPackageManager.JsPackageManager {
1
+ import semver from '@storybook/semver';
2
+ import { JsPackageManager } from './JsPackageManager';
3
+ export class NPMProxy extends JsPackageManager {
15
4
  constructor(...args) {
16
5
  super(...args);
17
6
  this.type = 'npm';
18
7
  this.installArgs = void 0;
8
+ this.uninstallArgs = void 0;
19
9
  }
20
10
 
21
11
  initPackageJson() {
@@ -30,15 +20,45 @@ class NPMProxy extends _JsPackageManager.JsPackageManager {
30
20
  return `npm run ${command}`;
31
21
  }
32
22
 
23
+ getNpmVersion() {
24
+ return this.executeCommand('npm', ['--version']);
25
+ }
26
+
27
+ hasLegacyPeerDeps() {
28
+ const result = this.executeCommand('npm', ['config', 'get', 'legacy-peer-deps', '--location=project']);
29
+ return result.trim() === 'true';
30
+ }
31
+
32
+ setLegacyPeerDeps() {
33
+ this.executeCommand('npm', ['config', 'set', 'legacy-peer-deps=true', '--location=project']);
34
+ }
35
+
36
+ needsLegacyPeerDeps(version) {
37
+ return semver.gte(version, '7.0.0') && !this.hasLegacyPeerDeps();
38
+ }
39
+
33
40
  getInstallArgs() {
34
41
  if (!this.installArgs) {
35
- const version = this.executeCommand('npm', ['--version']);
36
- this.installArgs = _semver.default.gte(version, '7.0.0') ? ['install', '--legacy-peer-deps'] : ['install'];
42
+ this.installArgs = this.needsLegacyPeerDeps(this.getNpmVersion()) ? ['install', '--legacy-peer-deps'] : ['install'];
37
43
  }
38
44
 
39
45
  return this.installArgs;
40
46
  }
41
47
 
48
+ getUninstallArgs() {
49
+ if (!this.uninstallArgs) {
50
+ this.uninstallArgs = this.needsLegacyPeerDeps(this.getNpmVersion()) ? ['uninstall', '--legacy-peer-deps'] : ['uninstall'];
51
+ }
52
+
53
+ return this.uninstallArgs;
54
+ }
55
+
56
+ getResolutions(packageJson, versions) {
57
+ return {
58
+ overrides: Object.assign({}, packageJson.overrides, versions)
59
+ };
60
+ }
61
+
42
62
  runInstall() {
43
63
  this.executeCommand('npm', this.getInstallArgs(), 'inherit');
44
64
  }
@@ -53,6 +73,11 @@ class NPMProxy extends _JsPackageManager.JsPackageManager {
53
73
  this.executeCommand('npm', [...this.getInstallArgs(), ...args], 'inherit');
54
74
  }
55
75
 
76
+ runRemoveDeps(dependencies) {
77
+ const args = [...dependencies];
78
+ this.executeCommand('npm', [...this.getUninstallArgs(), ...args], 'inherit');
79
+ }
80
+
56
81
  runGetVersions(packageName, fetchAllVersions) {
57
82
  const args = [fetchAllVersions ? 'versions' : 'version', '--json'];
58
83
  const commandResult = this.executeCommand('npm', ['info', packageName, ...args]);
@@ -71,6 +96,4 @@ class NPMProxy extends _JsPackageManager.JsPackageManager {
71
96
  }
72
97
  }
73
98
 
74
- }
75
-
76
- exports.NPMProxy = NPMProxy;
99
+ }
@@ -1,5 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
1
+ export {};
@@ -1,13 +1,5 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.Yarn1Proxy = void 0;
7
-
8
- var _JsPackageManager = require("./JsPackageManager");
9
-
10
- class Yarn1Proxy extends _JsPackageManager.JsPackageManager {
1
+ import { JsPackageManager } from './JsPackageManager';
2
+ export class Yarn1Proxy extends JsPackageManager {
11
3
  constructor(...args) {
12
4
  super(...args);
13
5
  this.type = 'yarn1';
@@ -25,6 +17,12 @@ class Yarn1Proxy extends _JsPackageManager.JsPackageManager {
25
17
  return `yarn ${command}`;
26
18
  }
27
19
 
20
+ getResolutions(packageJson, versions) {
21
+ return {
22
+ resolutions: Object.assign({}, packageJson.resolutions, versions)
23
+ };
24
+ }
25
+
28
26
  runInstall() {
29
27
  this.executeCommand('yarn', [], 'inherit');
30
28
  }
@@ -39,6 +37,11 @@ class Yarn1Proxy extends _JsPackageManager.JsPackageManager {
39
37
  this.executeCommand('yarn', ['add', ...args], 'inherit');
40
38
  }
41
39
 
40
+ runRemoveDeps(dependencies) {
41
+ const args = ['--ignore-workspace-root-check', ...dependencies];
42
+ this.executeCommand('yarn', ['remove', ...args], 'inherit');
43
+ }
44
+
42
45
  runGetVersions(packageName, fetchAllVersions) {
43
46
  const args = [fetchAllVersions ? 'versions' : 'version', '--json'];
44
47
  const commandResult = this.executeCommand('yarn', ['info', packageName, ...args]);
@@ -56,6 +59,4 @@ class Yarn1Proxy extends _JsPackageManager.JsPackageManager {
56
59
  }
57
60
  }
58
61
 
59
- }
60
-
61
- exports.Yarn1Proxy = Yarn1Proxy;
62
+ }
@@ -1,13 +1,5 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.Yarn2Proxy = void 0;
7
-
8
- var _JsPackageManager = require("./JsPackageManager");
9
-
10
- class Yarn2Proxy extends _JsPackageManager.JsPackageManager {
1
+ import { JsPackageManager } from './JsPackageManager';
2
+ export class Yarn2Proxy extends JsPackageManager {
11
3
  constructor(...args) {
12
4
  super(...args);
13
5
  this.type = 'yarn2';
@@ -25,6 +17,12 @@ class Yarn2Proxy extends _JsPackageManager.JsPackageManager {
25
17
  return `yarn ${command}`;
26
18
  }
27
19
 
20
+ getResolutions(packageJson, versions) {
21
+ return {
22
+ resolutions: Object.assign({}, packageJson.resolutions, versions)
23
+ };
24
+ }
25
+
28
26
  runInstall() {
29
27
  this.executeCommand('yarn', [], 'inherit');
30
28
  }
@@ -39,6 +37,11 @@ class Yarn2Proxy extends _JsPackageManager.JsPackageManager {
39
37
  this.executeCommand('yarn', ['add', ...args], 'inherit');
40
38
  }
41
39
 
40
+ runRemoveDeps(dependencies) {
41
+ const args = [...dependencies];
42
+ this.executeCommand('yarn', ['remove', ...args], 'inherit');
43
+ }
44
+
42
45
  runGetVersions(packageName, fetchAllVersions) {
43
46
  const field = fetchAllVersions ? 'versions' : 'version';
44
47
  const args = ['--fields', field, '--json'];
@@ -52,6 +55,4 @@ class Yarn2Proxy extends _JsPackageManager.JsPackageManager {
52
55
  }
53
56
  }
54
57
 
55
- }
56
-
57
- exports.Yarn2Proxy = Yarn2Proxy;
58
+ }
@@ -1,57 +1,3 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _JsPackageManagerFactory = require("./JsPackageManagerFactory");
8
-
9
- Object.keys(_JsPackageManagerFactory).forEach(function (key) {
10
- if (key === "default" || key === "__esModule") return;
11
- if (key in exports && exports[key] === _JsPackageManagerFactory[key]) return;
12
- Object.defineProperty(exports, key, {
13
- enumerable: true,
14
- get: function () {
15
- return _JsPackageManagerFactory[key];
16
- }
17
- });
18
- });
19
-
20
- var _JsPackageManager = require("./JsPackageManager");
21
-
22
- Object.keys(_JsPackageManager).forEach(function (key) {
23
- if (key === "default" || key === "__esModule") return;
24
- if (key in exports && exports[key] === _JsPackageManager[key]) return;
25
- Object.defineProperty(exports, key, {
26
- enumerable: true,
27
- get: function () {
28
- return _JsPackageManager[key];
29
- }
30
- });
31
- });
32
-
33
- var _PackageJson = require("./PackageJson");
34
-
35
- Object.keys(_PackageJson).forEach(function (key) {
36
- if (key === "default" || key === "__esModule") return;
37
- if (key in exports && exports[key] === _PackageJson[key]) return;
38
- Object.defineProperty(exports, key, {
39
- enumerable: true,
40
- get: function () {
41
- return _PackageJson[key];
42
- }
43
- });
44
- });
45
-
46
- var _PackageJsonHelper = require("./PackageJsonHelper");
47
-
48
- Object.keys(_PackageJsonHelper).forEach(function (key) {
49
- if (key === "default" || key === "__esModule") return;
50
- if (key in exports && exports[key] === _PackageJsonHelper[key]) return;
51
- Object.defineProperty(exports, key, {
52
- enumerable: true,
53
- get: function () {
54
- return _PackageJsonHelper[key];
55
- }
56
- });
57
- });
1
+ export * from './JsPackageManagerFactory';
2
+ export * from './JsPackageManager';
3
+ export * from './PackageJson';