@storybook/cli 7.0.0-alpha.2 → 7.0.0-alpha.23

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 (386) 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 +3 -5
  7. package/dist/cjs/automigrate/fixes/index.js +7 -1
  8. package/dist/cjs/automigrate/fixes/mainjsFramework.js +3 -5
  9. package/dist/cjs/automigrate/fixes/new-frameworks.js +249 -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 +0 -2
  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 +11 -11
  57. package/dist/cjs/generators/configure.js +4 -6
  58. package/dist/cjs/helpers.js +28 -5
  59. package/dist/cjs/initiate.js +9 -6
  60. package/dist/cjs/js-package-manager/JsPackageManager.js +91 -23
  61. package/dist/cjs/js-package-manager/JsPackageManagerFactory.js +25 -11
  62. package/dist/cjs/js-package-manager/NPMProxy.js +51 -2
  63. package/dist/cjs/js-package-manager/Yarn1Proxy.js +24 -0
  64. package/dist/cjs/js-package-manager/Yarn2Proxy.js +24 -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 +30 -9
  69. package/dist/cjs/repro-next.js +182 -0
  70. package/dist/cjs/repro-templates.js +41 -0
  71. package/dist/cjs/repro.js +5 -7
  72. package/dist/cjs/upgrade.js +0 -4
  73. package/dist/cjs/versions.js +75 -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 -33
  80. package/dist/esm/automigrate/fixes/index.js +12 -39
  81. package/dist/esm/automigrate/fixes/mainjsFramework.js +17 -37
  82. package/dist/esm/automigrate/fixes/new-frameworks.js +225 -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 -13
  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 +32 -49
  134. package/dist/esm/generators/configure.js +10 -26
  135. package/dist/esm/generators/types.js +1 -5
  136. package/dist/esm/helpers.js +65 -94
  137. package/dist/esm/initiate.js +112 -150
  138. package/dist/esm/js-package-manager/JsPackageManager.js +105 -61
  139. package/dist/esm/js-package-manager/JsPackageManagerFactory.js +31 -31
  140. package/dist/esm/js-package-manager/NPMProxy.js +55 -19
  141. package/dist/esm/js-package-manager/PackageJson.js +1 -5
  142. package/dist/esm/js-package-manager/Yarn1Proxy.js +27 -13
  143. package/dist/esm/js-package-manager/Yarn2Proxy.js +27 -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 +61 -71
  150. package/dist/esm/repro-next.js +163 -0
  151. package/dist/esm/repro-templates.js +34 -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 +77 -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 +1 -0
  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 +13 -0
  169. package/dist/types/js-package-manager/Yarn1Proxy.d.ts +9 -0
  170. package/dist/types/js-package-manager/Yarn2Proxy.d.ts +9 -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 +23 -0
  176. package/dist/types/repro.d.ts +2 -1
  177. package/dist/types/versions.d.ts +3 -1
  178. package/package.json +15 -10
  179. package/LICENSE +0 -21
  180. package/dist/cjs/frameworks/angular/Button.stories.ts +0 -44
  181. package/dist/cjs/frameworks/angular/Header.stories.ts +0 -35
  182. package/dist/cjs/frameworks/angular/Page.stories.ts +0 -36
  183. package/dist/cjs/frameworks/angular/User.ts +0 -2
  184. package/dist/cjs/frameworks/angular/button.component.ts +0 -53
  185. package/dist/cjs/frameworks/angular/header.component.ts +0 -75
  186. package/dist/cjs/frameworks/angular/page.component.ts +0 -77
  187. package/dist/cjs/frameworks/aurelia/1-Button.stories.ts +0 -49
  188. package/dist/cjs/frameworks/aurelia/button.ts +0 -28
  189. package/dist/cjs/frameworks/common/Introduction.stories.mdx +0 -211
  190. package/dist/cjs/frameworks/common/assets/code-brackets.svg +0 -1
  191. package/dist/cjs/frameworks/common/assets/colors.svg +0 -1
  192. package/dist/cjs/frameworks/common/assets/comments.svg +0 -1
  193. package/dist/cjs/frameworks/common/assets/direction.svg +0 -1
  194. package/dist/cjs/frameworks/common/assets/flow.svg +0 -1
  195. package/dist/cjs/frameworks/common/assets/plugin.svg +0 -1
  196. package/dist/cjs/frameworks/common/assets/repo.svg +0 -1
  197. package/dist/cjs/frameworks/common/assets/stackalt.svg +0 -1
  198. package/dist/cjs/frameworks/common/button.css +0 -30
  199. package/dist/cjs/frameworks/common/header.css +0 -32
  200. package/dist/cjs/frameworks/common/page.css +0 -69
  201. package/dist/cjs/frameworks/ember/1-Button.stories.js +0 -57
  202. package/dist/cjs/frameworks/html/js/Button.js +0 -21
  203. package/dist/cjs/frameworks/html/js/Button.stories.js +0 -48
  204. package/dist/cjs/frameworks/html/js/Header.js +0 -47
  205. package/dist/cjs/frameworks/html/js/Header.stories.js +0 -27
  206. package/dist/cjs/frameworks/html/js/Page.js +0 -94
  207. package/dist/cjs/frameworks/html/js/Page.stories.js +0 -23
  208. package/dist/cjs/frameworks/html/ts/Button.stories.ts +0 -49
  209. package/dist/cjs/frameworks/html/ts/Button.ts +0 -47
  210. package/dist/cjs/frameworks/html/ts/Header.stories.ts +0 -26
  211. package/dist/cjs/frameworks/html/ts/Header.ts +0 -54
  212. package/dist/cjs/frameworks/html/ts/Page.stories.ts +0 -24
  213. package/dist/cjs/frameworks/html/ts/Page.ts +0 -98
  214. package/dist/cjs/frameworks/marionette/index.stories.js +0 -20
  215. package/dist/cjs/frameworks/marko/1-Button.stories.js +0 -24
  216. package/dist/cjs/frameworks/marko/Button.marko +0 -13
  217. package/dist/cjs/frameworks/mithril/Button.js +0 -22
  218. package/dist/cjs/frameworks/mithril/Button.stories.js +0 -43
  219. package/dist/cjs/frameworks/mithril/Header.js +0 -51
  220. package/dist/cjs/frameworks/mithril/Header.stories.js +0 -20
  221. package/dist/cjs/frameworks/mithril/Page.js +0 -70
  222. package/dist/cjs/frameworks/mithril/Page.stories.js +0 -24
  223. package/dist/cjs/frameworks/preact/Button.jsx +0 -51
  224. package/dist/cjs/frameworks/preact/Button.stories.jsx +0 -41
  225. package/dist/cjs/frameworks/preact/Header.jsx +0 -58
  226. package/dist/cjs/frameworks/preact/Header.stories.jsx +0 -29
  227. package/dist/cjs/frameworks/preact/Page.jsx +0 -71
  228. package/dist/cjs/frameworks/preact/Page.stories.jsx +0 -26
  229. package/dist/cjs/frameworks/rax/Button.js +0 -26
  230. package/dist/cjs/frameworks/rax/Button.stories.js +0 -40
  231. package/dist/cjs/frameworks/rax/Header.js +0 -44
  232. package/dist/cjs/frameworks/rax/Header.stories.js +0 -17
  233. package/dist/cjs/frameworks/rax/Page.js +0 -64
  234. package/dist/cjs/frameworks/rax/Page.stories.js +0 -21
  235. package/dist/cjs/frameworks/react/js/Button.jsx +0 -50
  236. package/dist/cjs/frameworks/react/js/Button.stories.jsx +0 -40
  237. package/dist/cjs/frameworks/react/js/Header.jsx +0 -57
  238. package/dist/cjs/frameworks/react/js/Header.stories.jsx +0 -24
  239. package/dist/cjs/frameworks/react/js/Page.jsx +0 -69
  240. package/dist/cjs/frameworks/react/js/Page.stories.jsx +0 -25
  241. package/dist/cjs/frameworks/react/ts/Button.stories.tsx +0 -41
  242. package/dist/cjs/frameworks/react/ts/Button.tsx +0 -48
  243. package/dist/cjs/frameworks/react/ts/Header.stories.tsx +0 -25
  244. package/dist/cjs/frameworks/react/ts/Header.tsx +0 -56
  245. package/dist/cjs/frameworks/react/ts/Page.stories.tsx +0 -26
  246. package/dist/cjs/frameworks/react/ts/Page.tsx +0 -73
  247. package/dist/cjs/frameworks/riot/1-Button.stories.js +0 -52
  248. package/dist/cjs/frameworks/riot/MyButton.tag +0 -24
  249. package/dist/cjs/frameworks/server/button.stories.json +0 -32
  250. package/dist/cjs/frameworks/server/header.stories.json +0 -15
  251. package/dist/cjs/frameworks/server/page.stories.json +0 -15
  252. package/dist/cjs/frameworks/svelte/Button.stories.js +0 -51
  253. package/dist/cjs/frameworks/svelte/Button.svelte +0 -42
  254. package/dist/cjs/frameworks/svelte/Header.stories.js +0 -35
  255. package/dist/cjs/frameworks/svelte/Header.svelte +0 -51
  256. package/dist/cjs/frameworks/svelte/Page.stories.js +0 -27
  257. package/dist/cjs/frameworks/svelte/Page.svelte +0 -63
  258. package/dist/cjs/frameworks/vue/Button.stories.js +0 -46
  259. package/dist/cjs/frameworks/vue/Button.vue +0 -54
  260. package/dist/cjs/frameworks/vue/Header.stories.js +0 -27
  261. package/dist/cjs/frameworks/vue/Header.vue +0 -60
  262. package/dist/cjs/frameworks/vue/Page.stories.js +0 -27
  263. package/dist/cjs/frameworks/vue/Page.vue +0 -88
  264. package/dist/cjs/frameworks/vue3/Button.stories.js +0 -52
  265. package/dist/cjs/frameworks/vue3/Button.vue +0 -52
  266. package/dist/cjs/frameworks/vue3/Header.stories.js +0 -34
  267. package/dist/cjs/frameworks/vue3/Header.vue +0 -50
  268. package/dist/cjs/frameworks/vue3/Page.stories.js +0 -29
  269. package/dist/cjs/frameworks/vue3/Page.vue +0 -88
  270. package/dist/cjs/frameworks/web-components/js/Button.js +0 -21
  271. package/dist/cjs/frameworks/web-components/js/Button.stories.js +0 -42
  272. package/dist/cjs/frameworks/web-components/js/Header.js +0 -45
  273. package/dist/cjs/frameworks/web-components/js/Header.stories.js +0 -15
  274. package/dist/cjs/frameworks/web-components/js/Page.js +0 -61
  275. package/dist/cjs/frameworks/web-components/js/Page.stories.js +0 -19
  276. package/dist/cjs/frameworks/web-components/ts/Button.stories.ts +0 -43
  277. package/dist/cjs/frameworks/web-components/ts/Button.ts +0 -43
  278. package/dist/cjs/frameworks/web-components/ts/Header.stories.ts +0 -16
  279. package/dist/cjs/frameworks/web-components/ts/Header.ts +0 -52
  280. package/dist/cjs/frameworks/web-components/ts/Page.stories.ts +0 -20
  281. package/dist/cjs/frameworks/web-components/ts/Page.ts +0 -68
  282. package/dist/cjs/js-package-manager/PackageJsonHelper.js +0 -33
  283. package/dist/esm/frameworks/angular/Button.stories.ts +0 -44
  284. package/dist/esm/frameworks/angular/Header.stories.ts +0 -35
  285. package/dist/esm/frameworks/angular/Page.stories.ts +0 -36
  286. package/dist/esm/frameworks/angular/User.ts +0 -2
  287. package/dist/esm/frameworks/angular/button.component.ts +0 -53
  288. package/dist/esm/frameworks/angular/header.component.ts +0 -75
  289. package/dist/esm/frameworks/angular/page.component.ts +0 -77
  290. package/dist/esm/frameworks/aurelia/1-Button.stories.ts +0 -49
  291. package/dist/esm/frameworks/aurelia/button.ts +0 -28
  292. package/dist/esm/frameworks/common/Introduction.stories.mdx +0 -211
  293. package/dist/esm/frameworks/common/assets/code-brackets.svg +0 -1
  294. package/dist/esm/frameworks/common/assets/colors.svg +0 -1
  295. package/dist/esm/frameworks/common/assets/comments.svg +0 -1
  296. package/dist/esm/frameworks/common/assets/direction.svg +0 -1
  297. package/dist/esm/frameworks/common/assets/flow.svg +0 -1
  298. package/dist/esm/frameworks/common/assets/plugin.svg +0 -1
  299. package/dist/esm/frameworks/common/assets/repo.svg +0 -1
  300. package/dist/esm/frameworks/common/assets/stackalt.svg +0 -1
  301. package/dist/esm/frameworks/common/button.css +0 -30
  302. package/dist/esm/frameworks/common/header.css +0 -32
  303. package/dist/esm/frameworks/common/page.css +0 -69
  304. package/dist/esm/frameworks/ember/1-Button.stories.js +0 -57
  305. package/dist/esm/frameworks/html/js/Button.js +0 -21
  306. package/dist/esm/frameworks/html/js/Button.stories.js +0 -48
  307. package/dist/esm/frameworks/html/js/Header.js +0 -47
  308. package/dist/esm/frameworks/html/js/Header.stories.js +0 -27
  309. package/dist/esm/frameworks/html/js/Page.js +0 -94
  310. package/dist/esm/frameworks/html/js/Page.stories.js +0 -23
  311. package/dist/esm/frameworks/html/ts/Button.stories.ts +0 -49
  312. package/dist/esm/frameworks/html/ts/Button.ts +0 -47
  313. package/dist/esm/frameworks/html/ts/Header.stories.ts +0 -26
  314. package/dist/esm/frameworks/html/ts/Header.ts +0 -54
  315. package/dist/esm/frameworks/html/ts/Page.stories.ts +0 -24
  316. package/dist/esm/frameworks/html/ts/Page.ts +0 -98
  317. package/dist/esm/frameworks/marionette/index.stories.js +0 -20
  318. package/dist/esm/frameworks/marko/1-Button.stories.js +0 -24
  319. package/dist/esm/frameworks/marko/Button.marko +0 -13
  320. package/dist/esm/frameworks/mithril/Button.js +0 -22
  321. package/dist/esm/frameworks/mithril/Button.stories.js +0 -43
  322. package/dist/esm/frameworks/mithril/Header.js +0 -51
  323. package/dist/esm/frameworks/mithril/Header.stories.js +0 -20
  324. package/dist/esm/frameworks/mithril/Page.js +0 -70
  325. package/dist/esm/frameworks/mithril/Page.stories.js +0 -24
  326. package/dist/esm/frameworks/preact/Button.jsx +0 -51
  327. package/dist/esm/frameworks/preact/Button.stories.jsx +0 -41
  328. package/dist/esm/frameworks/preact/Header.jsx +0 -58
  329. package/dist/esm/frameworks/preact/Header.stories.jsx +0 -29
  330. package/dist/esm/frameworks/preact/Page.jsx +0 -71
  331. package/dist/esm/frameworks/preact/Page.stories.jsx +0 -26
  332. package/dist/esm/frameworks/rax/Button.js +0 -26
  333. package/dist/esm/frameworks/rax/Button.stories.js +0 -40
  334. package/dist/esm/frameworks/rax/Header.js +0 -44
  335. package/dist/esm/frameworks/rax/Header.stories.js +0 -17
  336. package/dist/esm/frameworks/rax/Page.js +0 -64
  337. package/dist/esm/frameworks/rax/Page.stories.js +0 -21
  338. package/dist/esm/frameworks/react/js/Button.jsx +0 -50
  339. package/dist/esm/frameworks/react/js/Button.stories.jsx +0 -40
  340. package/dist/esm/frameworks/react/js/Header.jsx +0 -57
  341. package/dist/esm/frameworks/react/js/Header.stories.jsx +0 -24
  342. package/dist/esm/frameworks/react/js/Page.jsx +0 -69
  343. package/dist/esm/frameworks/react/js/Page.stories.jsx +0 -25
  344. package/dist/esm/frameworks/react/ts/Button.stories.tsx +0 -41
  345. package/dist/esm/frameworks/react/ts/Button.tsx +0 -48
  346. package/dist/esm/frameworks/react/ts/Header.stories.tsx +0 -25
  347. package/dist/esm/frameworks/react/ts/Header.tsx +0 -56
  348. package/dist/esm/frameworks/react/ts/Page.stories.tsx +0 -26
  349. package/dist/esm/frameworks/react/ts/Page.tsx +0 -73
  350. package/dist/esm/frameworks/riot/1-Button.stories.js +0 -52
  351. package/dist/esm/frameworks/riot/MyButton.tag +0 -24
  352. package/dist/esm/frameworks/server/button.stories.json +0 -32
  353. package/dist/esm/frameworks/server/header.stories.json +0 -15
  354. package/dist/esm/frameworks/server/page.stories.json +0 -15
  355. package/dist/esm/frameworks/svelte/Button.stories.js +0 -51
  356. package/dist/esm/frameworks/svelte/Button.svelte +0 -42
  357. package/dist/esm/frameworks/svelte/Header.stories.js +0 -35
  358. package/dist/esm/frameworks/svelte/Header.svelte +0 -51
  359. package/dist/esm/frameworks/svelte/Page.stories.js +0 -27
  360. package/dist/esm/frameworks/svelte/Page.svelte +0 -63
  361. package/dist/esm/frameworks/vue/Button.stories.js +0 -46
  362. package/dist/esm/frameworks/vue/Button.vue +0 -54
  363. package/dist/esm/frameworks/vue/Header.stories.js +0 -27
  364. package/dist/esm/frameworks/vue/Header.vue +0 -60
  365. package/dist/esm/frameworks/vue/Page.stories.js +0 -27
  366. package/dist/esm/frameworks/vue/Page.vue +0 -88
  367. package/dist/esm/frameworks/vue3/Button.stories.js +0 -52
  368. package/dist/esm/frameworks/vue3/Button.vue +0 -52
  369. package/dist/esm/frameworks/vue3/Header.stories.js +0 -34
  370. package/dist/esm/frameworks/vue3/Header.vue +0 -50
  371. package/dist/esm/frameworks/vue3/Page.stories.js +0 -29
  372. package/dist/esm/frameworks/vue3/Page.vue +0 -88
  373. package/dist/esm/frameworks/web-components/js/Button.js +0 -21
  374. package/dist/esm/frameworks/web-components/js/Button.stories.js +0 -42
  375. package/dist/esm/frameworks/web-components/js/Header.js +0 -45
  376. package/dist/esm/frameworks/web-components/js/Header.stories.js +0 -15
  377. package/dist/esm/frameworks/web-components/js/Page.js +0 -61
  378. package/dist/esm/frameworks/web-components/js/Page.stories.js +0 -19
  379. package/dist/esm/frameworks/web-components/ts/Button.stories.ts +0 -43
  380. package/dist/esm/frameworks/web-components/ts/Button.ts +0 -43
  381. package/dist/esm/frameworks/web-components/ts/Header.stories.ts +0 -16
  382. package/dist/esm/frameworks/web-components/ts/Header.ts +0 -52
  383. package/dist/esm/frameworks/web-components/ts/Page.stories.ts +0 -20
  384. package/dist/esm/frameworks/web-components/ts/Page.ts +0 -68
  385. package/dist/esm/js-package-manager/PackageJsonHelper.js +0 -33
  386. package/dist/types/js-package-manager/PackageJsonHelper.d.ts +0 -3
package/README.md CHANGED
@@ -53,4 +53,4 @@ If the CLI cannot detect your project type, it will ask you. You can also force
53
53
  npx sb init --type <type>
54
54
  ```
55
55
 
56
- Where type is one of the project types defined in [project_types.js](https://github.com/storybookjs/storybook/blob/next/lib/cli/src/project_types.ts)
56
+ Where type is one of the project types defined in [project_types.ts](https://github.com/storybookjs/storybook/blob/next/code/lib/cli/src/project_types.ts)
package/dist/cjs/add.js CHANGED
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.add = add;
7
7
  exports.storybookAddonScope = exports.getPackageName = exports.getPackageArg = exports.getInstalledStorybookVersion = exports.addStorybookAddonToFile = void 0;
8
8
 
9
- require("core-js/modules/es.promise.js");
10
-
11
9
  var _path = _interopRequireDefault(require("path"));
12
10
 
13
11
  var _fs = _interopRequireDefault(require("fs"));
@@ -5,11 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.angular12 = void 0;
7
7
 
8
- require("core-js/modules/es.promise.js");
9
-
10
8
  var _chalk = _interopRequireDefault(require("chalk"));
11
9
 
12
- var _tsDedent = _interopRequireDefault(require("ts-dedent"));
10
+ var _tsDedent = require("ts-dedent");
13
11
 
14
12
  var _semver = _interopRequireDefault(require("@storybook/semver"));
15
13
 
@@ -54,7 +52,7 @@ const angular12 = {
54
52
  }) {
55
53
  const angularFormatted = _chalk.default.cyan(`Angular ${angularVersion}`);
56
54
 
57
- return (0, _tsDedent.default)`
55
+ return (0, _tsDedent.dedent)`
58
56
  We've detected you are running ${angularFormatted} which is powered by webpack5.
59
57
  Your Storybook's main.js files specifies webpack4, which is incompatible.
60
58
 
@@ -5,18 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.builderVite = void 0;
7
7
 
8
- require("core-js/modules/es.promise.js");
9
-
10
8
  var _chalk = _interopRequireDefault(require("chalk"));
11
9
 
12
- var _tsDedent = _interopRequireDefault(require("ts-dedent"));
10
+ var _tsDedent = require("ts-dedent");
13
11
 
14
12
  var _csfTools = require("@storybook/csf-tools");
15
13
 
16
14
  var _coreCommon = require("@storybook/core-common");
17
15
 
18
- var _jsPackageManager = require("../../js-package-manager");
19
-
20
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
17
 
22
18
  const logger = console;
@@ -66,7 +62,7 @@ const builderVite = {
66
62
  }) {
67
63
  const builderFormatted = _chalk.default.cyan(JSON.stringify(builder, null, 2));
68
64
 
69
- return (0, _tsDedent.default)`
65
+ return (0, _tsDedent.dedent)`
70
66
  We've detected you're using the community vite builder: ${builderFormatted}
71
67
 
72
68
  'storybook-builder-vite' is deprecated and now located at ${_chalk.default.cyan('@storybook/builder-vite')}.
@@ -95,7 +91,7 @@ const builderVite = {
95
91
  if (!dryRun) {
96
92
  delete dependencies['storybook-builder-vite'];
97
93
  delete devDependencies['storybook-builder-vite'];
98
- (0, _jsPackageManager.writePackageJson)(packageJson);
94
+ packageManager.writePackageJson(packageJson);
99
95
  }
100
96
 
101
97
  logger.info(`Adding '@storybook/builder-vite' as dev dependency`);
@@ -5,11 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.cra5 = void 0;
7
7
 
8
- require("core-js/modules/es.promise.js");
9
-
10
8
  var _chalk = _interopRequireDefault(require("chalk"));
11
9
 
12
- var _tsDedent = _interopRequireDefault(require("ts-dedent"));
10
+ var _tsDedent = require("ts-dedent");
13
11
 
14
12
  var _semver = _interopRequireDefault(require("@storybook/semver"));
15
13
 
@@ -62,7 +60,7 @@ const cra5 = {
62
60
  const craFormatted = _chalk.default.cyan(`Create React App (CRA) ${craVersion}`);
63
61
 
64
62
  console.log(Object.assign({}, rest));
65
- return (0, _tsDedent.default)`
63
+ return (0, _tsDedent.dedent)`
66
64
  We've detected you are running ${craFormatted} which is powered by webpack5.
67
65
  Your Storybook's main.js files specifies webpack4, which is incompatible.
68
66
 
@@ -5,11 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.eslintPlugin = void 0;
7
7
 
8
- require("core-js/modules/es.promise.js");
9
-
10
8
  var _chalk = _interopRequireDefault(require("chalk"));
11
9
 
12
- var _tsDedent = _interopRequireDefault(require("ts-dedent"));
10
+ var _tsDedent = require("ts-dedent");
13
11
 
14
12
  var _csfTools = require("@storybook/csf-tools");
15
13
 
@@ -79,7 +77,7 @@ const eslintPlugin = {
79
77
  },
80
78
 
81
79
  prompt() {
82
- return (0, _tsDedent.default)`
80
+ return (0, _tsDedent.dedent)`
83
81
  We've detected you are not using our eslint-plugin.
84
82
 
85
83
  In order to have the best experience with Storybook and follow best practices, we advise you to install eslint-plugin-storybook.
@@ -103,7 +101,7 @@ const eslintPlugin = {
103
101
  }, deps);
104
102
 
105
103
  if (!dryRun && unsupportedExtension) {
106
- throw new Error((0, _tsDedent.default)`
104
+ throw new Error((0, _tsDedent.dedent)`
107
105
  ⚠️ The plugin was successfuly installed but failed to configure.
108
106
 
109
107
  Found an .eslintrc config file with an unsupported automigration format: ${unsupportedExtension}.
@@ -22,6 +22,12 @@ var _eslintPlugin = require("./eslint-plugin");
22
22
 
23
23
  var _builderVite = require("./builder-vite");
24
24
 
25
+ var _npm = require("./npm7");
26
+
27
+ var _sbScripts = require("./sb-scripts");
28
+
29
+ var _newFrameworks = require("./new-frameworks");
30
+
25
31
  var _types = require("../types");
26
32
 
27
33
  Object.keys(_types).forEach(function (key) {
@@ -35,5 +41,5 @@ Object.keys(_types).forEach(function (key) {
35
41
  }
36
42
  });
37
43
  });
38
- const fixes = [_cra.cra5, _webpack.webpack5, _angular.angular12, _vue.vue3, _mainjsFramework.mainjsFramework, _eslintPlugin.eslintPlugin, _builderVite.builderVite];
44
+ const fixes = [_cra.cra5, _webpack.webpack5, _angular.angular12, _vue.vue3, _mainjsFramework.mainjsFramework, _eslintPlugin.eslintPlugin, _builderVite.builderVite, _npm.npm7, _sbScripts.sbScripts, _newFrameworks.newFrameworks];
39
45
  exports.fixes = fixes;
@@ -5,11 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.mainjsFramework = void 0;
7
7
 
8
- require("core-js/modules/es.promise.js");
9
-
10
8
  var _chalk = _interopRequireDefault(require("chalk"));
11
9
 
12
- var _tsDedent = _interopRequireDefault(require("ts-dedent"));
10
+ var _tsDedent = require("ts-dedent");
13
11
 
14
12
  var _semver = _interopRequireDefault(require("@storybook/semver"));
15
13
 
@@ -43,7 +41,7 @@ const mainjsFramework = {
43
41
  const storybookCoerced = storybookVersion && ((_semver$coerce = _semver.default.coerce(storybookVersion)) === null || _semver$coerce === void 0 ? void 0 : _semver$coerce.version);
44
42
 
45
43
  if (!storybookCoerced) {
46
- logger.warn((0, _tsDedent.default)`
44
+ logger.warn((0, _tsDedent.dedent)`
47
45
  ❌ Unable to determine storybook version, skipping ${_chalk.default.cyan('mainjsFramework')} fix.
48
46
  🤔 Are you running automigrate from your project directory?
49
47
  `);
@@ -65,7 +63,7 @@ const mainjsFramework = {
65
63
  }) {
66
64
  const frameworkFormatted = _chalk.default.cyan(`framework: '${framework}'`);
67
65
 
68
- return (0, _tsDedent.default)`
66
+ return (0, _tsDedent.dedent)`
69
67
  We've detected that your main.js configuration file does not specify the
70
68
  'framework' field, which is a requirement in SB7.0 and above. We can add one
71
69
  for you automatically:
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.newFrameworks = exports.getFrameworkOptions = exports.getBuilder = void 0;
7
+
8
+ var _chalk = _interopRequireDefault(require("chalk"));
9
+
10
+ var _tsDedent = _interopRequireDefault(require("ts-dedent"));
11
+
12
+ var _semver = _interopRequireDefault(require("@storybook/semver"));
13
+
14
+ var _csfTools = require("@storybook/csf-tools");
15
+
16
+ var _coreCommon = require("@storybook/core-common");
17
+
18
+ var _helpers = require("../../helpers");
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ const logger = console;
23
+ const packagesMap = {
24
+ '@storybook/react': {
25
+ webpack5: '@storybook/react-webpack5',
26
+ vite: '@storybook/react-vite'
27
+ },
28
+ '@storybook/preact': {
29
+ webpack5: '@storybook/preact-webpack5'
30
+ },
31
+ '@storybook/server': {
32
+ webpack5: '@storybook/server-webpack5'
33
+ },
34
+ '@storybook/angular': {
35
+ webpack5: '@storybook/angular'
36
+ },
37
+ '@storybook/vue': {
38
+ webpack5: '@storybook/vue-webpack5',
39
+ vite: '@storybook/vue-vite'
40
+ },
41
+ '@storybook/vue3': {
42
+ webpack5: '@storybook/vue3-webpack5',
43
+ vite: '@storybook/vue3-vite'
44
+ },
45
+ '@storybook/svelte': {
46
+ webpack5: '@storybook/svelte-webpack5',
47
+ vite: '@storybook/svelte-vite'
48
+ },
49
+ '@storybook/web-components': {
50
+ webpack5: '@storybook/web-components-webpack5'
51
+ },
52
+ '@storybook/html': {
53
+ webpack5: '@storybook/html-webpack5'
54
+ }
55
+ };
56
+
57
+ const getBuilder = builder => {
58
+ if (typeof builder === 'string') {
59
+ return builder.includes('vite') ? 'vite' : 'webpack5';
60
+ }
61
+
62
+ return builder !== null && builder !== void 0 && builder.name.includes('vite') ? 'vite' : 'webpack5';
63
+ };
64
+
65
+ exports.getBuilder = getBuilder;
66
+
67
+ const getFrameworkOptions = (framework, main) => {
68
+ const frameworkOptions = main.getFieldValue([`${framework}Options`]);
69
+ return frameworkOptions || {};
70
+ };
71
+ /**
72
+ * Does the user have separate framework and builders (e.g. @storybook/react + core.builder -> webpack5?
73
+ *
74
+ * If so:
75
+ * - Remove the dependencies (@storybook/react + @storybook/builder-webpack5 + @storybook/manager-webpack5)
76
+ * - Install the correct new package e.g. (@storybook/react-webpack5)
77
+ * - Update the main config to use the new framework
78
+ * -- moving core.builder into framework.options.builder
79
+ * -- moving frameworkOptions (e.g. reactOptions) into framework.options
80
+ */
81
+
82
+
83
+ exports.getFrameworkOptions = getFrameworkOptions;
84
+ const newFrameworks = {
85
+ id: 'newFrameworks',
86
+
87
+ async check({
88
+ packageManager
89
+ }) {
90
+ var _semver$coerce;
91
+
92
+ const packageJson = packageManager.retrievePackageJson();
93
+ const allDeps = Object.assign({}, packageJson.dependencies, packageJson.devDependencies);
94
+ const config = (0, _coreCommon.getStorybookInfo)(packageJson);
95
+ const {
96
+ mainConfig,
97
+ version: storybookVersion,
98
+ framework
99
+ } = config;
100
+
101
+ if (!mainConfig) {
102
+ logger.warn('Unable to find storybook main.js config, skipping');
103
+ return null;
104
+ }
105
+
106
+ const storybookCoerced = storybookVersion && ((_semver$coerce = _semver.default.coerce(storybookVersion)) === null || _semver$coerce === void 0 ? void 0 : _semver$coerce.version);
107
+
108
+ if (!storybookCoerced) {
109
+ logger.warn((0, _tsDedent.default)`
110
+ ❌ Unable to determine storybook version, skipping ${_chalk.default.cyan('newFrameworks')} fix.
111
+ 🤔 Are you running automigrate from your project directory?
112
+ `);
113
+ return null;
114
+ }
115
+
116
+ if (!_semver.default.gte(storybookCoerced, '7.0.0')) {
117
+ return null;
118
+ } // If in the future the eslint plugin has a framework option, using main to extract the framework field will be very useful
119
+
120
+
121
+ const main = await (0, _csfTools.readConfig)(mainConfig);
122
+ const frameworkPackage = main.getFieldValue(['framework']);
123
+ const builder = main.getFieldValue(['core', 'builder']);
124
+
125
+ if (!frameworkPackage) {
126
+ return null;
127
+ }
128
+
129
+ const supportedPackages = Object.keys(packagesMap);
130
+
131
+ if (!supportedPackages.includes(frameworkPackage)) {
132
+ return null;
133
+ }
134
+
135
+ const builderInfo = {
136
+ name: getBuilder(builder),
137
+ options: main.getFieldValue(['core', 'builder', 'options']) || {}
138
+ }; // TODO: once we have vite frameworks e.g. @storybook/react-vite, then we support it here
139
+ // and remove ['storybook-builder-vite', '@storybook/builder-vite'] from deps
140
+
141
+ if (builderInfo.name === 'vite') {
142
+ return null;
143
+ }
144
+
145
+ const frameworkOptions = getFrameworkOptions(framework, main);
146
+ const dependenciesToRemove = ['@storybook/builder-webpack5', '@storybook/manager-webpack5', '@storybook/builder-webpack4', '@storybook/manager-webpack4'].filter(dep => allDeps[dep]);
147
+ const newFrameworkPackage = packagesMap[frameworkPackage][builderInfo.name];
148
+ const dependenciesToAdd = []; // some frameworks didn't change e.g. Angular, Ember
149
+
150
+ if (newFrameworkPackage !== frameworkPackage) {
151
+ dependenciesToRemove.push(frameworkPackage);
152
+ dependenciesToAdd.push(newFrameworkPackage);
153
+ }
154
+
155
+ return {
156
+ main,
157
+ dependenciesToAdd,
158
+ dependenciesToRemove,
159
+ frameworkPackage: newFrameworkPackage,
160
+ frameworkOptions,
161
+ builderInfo,
162
+ packageJson
163
+ };
164
+ },
165
+
166
+ prompt() {
167
+ return (0, _tsDedent.default)`
168
+ We've detected you are using an older format of Storybook frameworks and builders.
169
+
170
+ In Storybook 7, frameworks also specify the builder to be used.
171
+
172
+ We can remove the dependencies that are no longer needed and install the new framework that already includes the builder.
173
+
174
+ To learn more about the framework field, see: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory')}
175
+
176
+ ${_chalk.default.underline(_chalk.default.bold(_chalk.default.cyan('Webpack4 users')))}
177
+
178
+ Unless you're using Storybook's Vite builder, this automigration will install a Webpack5-based framework.
179
+
180
+ If you were using Storybook's Webpack4 builder (default in 6.x, discontinued in 7.0), this could be a breaking
181
+ change--especially if your project has a custom webpack configuration.
182
+
183
+ To learn more about migrating from Webpack4, see: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#webpack4-support-discontinued')}
184
+ `;
185
+ },
186
+
187
+ async run({
188
+ result: {
189
+ dependenciesToAdd,
190
+ dependenciesToRemove,
191
+ main,
192
+ frameworkPackage,
193
+ frameworkOptions,
194
+ builderInfo,
195
+ packageJson
196
+ },
197
+ packageManager,
198
+ dryRun
199
+ }) {
200
+ logger.info(`✅ Removing legacy dependencies: ${dependenciesToRemove.join(', ')}`);
201
+
202
+ if (!dryRun) {
203
+ packageManager.removeDependencies({
204
+ skipInstall: dependenciesToAdd.length > 0,
205
+ packageJson
206
+ }, dependenciesToRemove);
207
+ }
208
+
209
+ if (dependenciesToAdd.length > 0) {
210
+ logger.info(`✅ Installing new dependencies: ${dependenciesToAdd.join(', ')}`);
211
+
212
+ if (!dryRun) {
213
+ const versionToInstall = (0, _helpers.getStorybookVersionSpecifier)(packageJson);
214
+ const depsToAdd = dependenciesToAdd.map(dep => `${dep}@${versionToInstall}`);
215
+ packageManager.addDependencies({
216
+ installAsDevDependencies: true
217
+ }, depsToAdd);
218
+ }
219
+ }
220
+
221
+ if (!dryRun) {
222
+ logger.info(`✅ Updating framework field in main.js`);
223
+ const currentCore = main.getFieldValue(['core']);
224
+ main.setFieldValue(['framework', 'name'], frameworkPackage);
225
+ main.setFieldValue(['framework', 'options'], frameworkOptions);
226
+
227
+ if (currentCore !== null && currentCore !== void 0 && currentCore.builder) {
228
+ delete currentCore.builder;
229
+ }
230
+
231
+ if (Object.keys(builderInfo.options).length > 0) {
232
+ main.setFieldValue(['framework', 'options', 'builder'], builderInfo.options);
233
+ }
234
+
235
+ if (currentCore) {
236
+ if (Object.keys(currentCore).length === 0) {
237
+ // TODO: this should delete the field instead
238
+ main.setFieldValue(['core'], {});
239
+ } else {
240
+ main.setFieldValue(['core'], currentCore);
241
+ }
242
+ }
243
+
244
+ await (0, _csfTools.writeConfig)(main);
245
+ }
246
+ }
247
+
248
+ };
249
+ exports.newFrameworks = newFrameworks;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.npm7 = void 0;
7
+
8
+ var _chalk = _interopRequireDefault(require("chalk"));
9
+
10
+ var _tsDedent = require("ts-dedent");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ /**
15
+ * Is the user using npm7+? If so create a .npmrc with legacy-peer-deps=true
16
+ */
17
+ const npm7 = {
18
+ id: 'npm7',
19
+
20
+ async check({
21
+ packageManager
22
+ }) {
23
+ if (packageManager.type !== 'npm') return null;
24
+ const npmVersion = packageManager.getNpmVersion();
25
+
26
+ if (packageManager.needsLegacyPeerDeps(npmVersion)) {
27
+ return {
28
+ npmVersion
29
+ };
30
+ }
31
+
32
+ return null;
33
+ },
34
+
35
+ prompt({
36
+ npmVersion
37
+ }) {
38
+ const npmFormatted = _chalk.default.cyan(`npm ${npmVersion}`);
39
+
40
+ return (0, _tsDedent.dedent)`
41
+ We've detected you are running ${npmFormatted} which has peer dependency semantics which Storybook is incompatible with.
42
+
43
+ In order to work with Storybook's package structure, you'll need to run \`npm\` with the
44
+ \`--legacy-peer-deps=true\` flag. We can generate an \`.npmrc\` which will do that automatically.
45
+
46
+ More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/issues/18298')}
47
+ `;
48
+ },
49
+
50
+ async run({
51
+ packageManager
52
+ }) {
53
+ packageManager.setLegacyPeerDeps();
54
+ }
55
+
56
+ };
57
+ exports.npm7 = npm7;
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.sbScripts = exports.getStorybookScripts = void 0;
7
+
8
+ var _chalk = _interopRequireDefault(require("chalk"));
9
+
10
+ var _tsDedent = require("ts-dedent");
11
+
12
+ var _semver = _interopRequireDefault(require("@storybook/semver"));
13
+
14
+ var _coreCommon = require("@storybook/core-common");
15
+
16
+ var _helpers = require("../../helpers");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ const logger = console;
21
+
22
+ const getStorybookScripts = scripts => {
23
+ const storybookScripts = {
24
+ custom: {},
25
+ official: {}
26
+ };
27
+ Object.keys(scripts).forEach(key => {
28
+ if (key === 'storybook' || key === 'build-storybook') {
29
+ storybookScripts.official[key] = scripts[key];
30
+ } else if (scripts[key].match(/start-storybook/) || scripts[key].match(/build-storybook/)) {
31
+ storybookScripts.custom[key] = scripts[key];
32
+ }
33
+ });
34
+ return storybookScripts;
35
+ };
36
+ /**
37
+ * Is the user using start-storybook
38
+ *
39
+ * If so:
40
+ * - Add storybook dependency
41
+ * - Change start-storybook and build-storybook scripts
42
+ */
43
+
44
+
45
+ exports.getStorybookScripts = getStorybookScripts;
46
+ const sbScripts = {
47
+ id: 'sb-scripts',
48
+
49
+ async check({
50
+ packageManager
51
+ }) {
52
+ var _semver$coerce;
53
+
54
+ const packageJson = packageManager.retrievePackageJson();
55
+ const {
56
+ scripts = {},
57
+ devDependencies,
58
+ dependencies
59
+ } = packageJson;
60
+ const {
61
+ version: storybookVersion
62
+ } = (0, _coreCommon.getStorybookInfo)(packageJson);
63
+ const allDeps = Object.assign({}, dependencies, devDependencies);
64
+ const storybookCoerced = storybookVersion && ((_semver$coerce = _semver.default.coerce(storybookVersion)) === null || _semver$coerce === void 0 ? void 0 : _semver$coerce.version);
65
+
66
+ if (!storybookCoerced) {
67
+ logger.warn((0, _tsDedent.dedent)`
68
+ ❌ Unable to determine storybook version, skipping ${_chalk.default.cyan('sb-scripts')} fix.
69
+ 🤔 Are you running automigrate from your project directory?
70
+ `);
71
+ return null;
72
+ }
73
+
74
+ if (allDeps.sb || allDeps.storybook) {
75
+ return null;
76
+ }
77
+
78
+ const storybookScripts = getStorybookScripts(scripts);
79
+
80
+ if (Object.keys(storybookScripts.official).length === 0 && Object.keys(storybookScripts.custom).length === 0) {
81
+ return null;
82
+ }
83
+
84
+ Object.keys(storybookScripts.official).forEach(key => {
85
+ storybookScripts.official[key] = storybookScripts.official[key].replace('start-storybook', 'storybook dev').replace('build-storybook', 'storybook build');
86
+ });
87
+ return _semver.default.gte(storybookCoerced, '7.0.0') ? {
88
+ packageJson,
89
+ storybookScripts,
90
+ storybookVersion
91
+ } : null;
92
+ },
93
+
94
+ prompt({
95
+ storybookVersion
96
+ }) {
97
+ const sbFormatted = _chalk.default.cyan(`Storybook ${storybookVersion}`);
98
+
99
+ const explanationMessage = [`Starting in Storybook 7, the ${_chalk.default.yellow('start-storybook')} and ${_chalk.default.yellow('build-storybook')} binaries have changed to ${_chalk.default.magenta('storybook dev')} and ${_chalk.default.magenta('storybook build')} respectively.`, `In order to work with ${sbFormatted}, Storybook's ${_chalk.default.magenta('storybook')} binary has to be installed and your storybook scripts have to be adjusted to use the binary. We can install the storybook binary and attempt to adjust your scripts for you.`].join('\n');
100
+ return [`We've detected you are using ${sbFormatted} with scripts from previous versions of Storybook.`, explanationMessage, `More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#start-storybook--build-storybook-binaries-removed')}`].filter(Boolean).join('\n\n');
101
+ },
102
+
103
+ async run({
104
+ result: {
105
+ storybookScripts,
106
+ packageJson
107
+ },
108
+ packageManager,
109
+ dryRun
110
+ }) {
111
+ logger.log();
112
+ logger.info(`Adding 'storybook' as dev dependency`);
113
+ logger.log();
114
+
115
+ if (!dryRun) {
116
+ const versionToInstall = (0, _helpers.getStorybookVersionSpecifier)(packageJson);
117
+ packageManager.addDependencies({
118
+ installAsDevDependencies: true
119
+ }, [`storybook@${versionToInstall}`]);
120
+ }
121
+
122
+ logger.info(`Updating scripts in package.json`);
123
+ logger.log();
124
+
125
+ if (!dryRun && Object.keys(storybookScripts.official).length > 0) {
126
+ const message = [`Migrating your scripts to:`, _chalk.default.yellow(JSON.stringify(storybookScripts.official, null, 2))].join('\n');
127
+ logger.log(message);
128
+ logger.log();
129
+ packageManager.addScripts(storybookScripts.official);
130
+ }
131
+
132
+ if (!dryRun && Object.keys(storybookScripts.custom).length > 0) {
133
+ const message = [`We detected custom scripts that we can't automigrate:`, _chalk.default.yellow(JSON.stringify(storybookScripts.custom, null, 2)), '\n', `Please manually migrate the ones applicable and use the documentation below for reference: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#start-storybook--build-storybook-binaries-removed')}`].join('\n');
134
+ logger.log(message);
135
+ logger.log();
136
+ }
137
+ }
138
+
139
+ };
140
+ exports.sbScripts = sbScripts;
@@ -5,11 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.vue3 = void 0;
7
7
 
8
- require("core-js/modules/es.promise.js");
9
-
10
8
  var _chalk = _interopRequireDefault(require("chalk"));
11
9
 
12
- var _tsDedent = _interopRequireDefault(require("ts-dedent"));
10
+ var _tsDedent = require("ts-dedent");
13
11
 
14
12
  var _semver = _interopRequireDefault(require("@storybook/semver"));
15
13
 
@@ -57,7 +55,7 @@ const vue3 = {
57
55
 
58
56
  const sbFormatted = _chalk.default.cyan(`Storybook ${storybookVersion}`);
59
57
 
60
- return (0, _tsDedent.default)`
58
+ return (0, _tsDedent.dedent)`
61
59
  We've detected you are running ${vueFormatted} with Storybook.
62
60
  ${sbFormatted} runs webpack4 by default, which is incompatible.
63
61