@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
@@ -0,0 +1,225 @@
1
+ import chalk from 'chalk';
2
+ import dedent from 'ts-dedent';
3
+ import semver from '@storybook/semver';
4
+ import { readConfig, writeConfig } from '@storybook/csf-tools';
5
+ import { getStorybookInfo } from '@storybook/core-common';
6
+ import { getStorybookVersionSpecifier } from '../../helpers';
7
+ const logger = console;
8
+ const packagesMap = {
9
+ '@storybook/react': {
10
+ webpack5: '@storybook/react-webpack5',
11
+ vite: '@storybook/react-vite'
12
+ },
13
+ '@storybook/preact': {
14
+ webpack5: '@storybook/preact-webpack5'
15
+ },
16
+ '@storybook/server': {
17
+ webpack5: '@storybook/server-webpack5'
18
+ },
19
+ '@storybook/angular': {
20
+ webpack5: '@storybook/angular'
21
+ },
22
+ '@storybook/vue': {
23
+ webpack5: '@storybook/vue-webpack5',
24
+ vite: '@storybook/vue-vite'
25
+ },
26
+ '@storybook/vue3': {
27
+ webpack5: '@storybook/vue3-webpack5',
28
+ vite: '@storybook/vue3-vite'
29
+ },
30
+ '@storybook/svelte': {
31
+ webpack5: '@storybook/svelte-webpack5',
32
+ vite: '@storybook/svelte-vite'
33
+ },
34
+ '@storybook/web-components': {
35
+ webpack5: '@storybook/web-components-webpack5'
36
+ },
37
+ '@storybook/html': {
38
+ webpack5: '@storybook/html-webpack5'
39
+ }
40
+ };
41
+ export const getBuilder = builder => {
42
+ if (typeof builder === 'string') {
43
+ return builder.includes('vite') ? 'vite' : 'webpack5';
44
+ }
45
+
46
+ return builder?.name.includes('vite') ? 'vite' : 'webpack5';
47
+ };
48
+ export const getFrameworkOptions = (framework, main) => {
49
+ const frameworkOptions = main.getFieldValue([`${framework}Options`]);
50
+ return frameworkOptions || {};
51
+ };
52
+ /**
53
+ * Does the user have separate framework and builders (e.g. @storybook/react + core.builder -> webpack5?
54
+ *
55
+ * If so:
56
+ * - Remove the dependencies (@storybook/react + @storybook/builder-webpack5 + @storybook/manager-webpack5)
57
+ * - Install the correct new package e.g. (@storybook/react-webpack5)
58
+ * - Update the main config to use the new framework
59
+ * -- moving core.builder into framework.options.builder
60
+ * -- moving frameworkOptions (e.g. reactOptions) into framework.options
61
+ */
62
+
63
+ export const newFrameworks = {
64
+ id: 'newFrameworks',
65
+
66
+ async check({
67
+ packageManager
68
+ }) {
69
+ const packageJson = packageManager.retrievePackageJson();
70
+ const allDeps = Object.assign({}, packageJson.dependencies, packageJson.devDependencies);
71
+ const config = getStorybookInfo(packageJson);
72
+ const {
73
+ mainConfig,
74
+ version: storybookVersion,
75
+ framework
76
+ } = config;
77
+
78
+ if (!mainConfig) {
79
+ logger.warn('Unable to find storybook main.js config, skipping');
80
+ return null;
81
+ }
82
+
83
+ const storybookCoerced = storybookVersion && semver.coerce(storybookVersion)?.version;
84
+
85
+ if (!storybookCoerced) {
86
+ logger.warn(dedent`
87
+ ❌ Unable to determine storybook version, skipping ${chalk.cyan('newFrameworks')} fix.
88
+ 🤔 Are you running automigrate from your project directory?
89
+ `);
90
+ return null;
91
+ }
92
+
93
+ if (!semver.gte(storybookCoerced, '7.0.0')) {
94
+ return null;
95
+ } // If in the future the eslint plugin has a framework option, using main to extract the framework field will be very useful
96
+
97
+
98
+ const main = await readConfig(mainConfig);
99
+ const frameworkPackage = main.getFieldValue(['framework']);
100
+ const builder = main.getFieldValue(['core', 'builder']);
101
+
102
+ if (!frameworkPackage) {
103
+ return null;
104
+ }
105
+
106
+ const supportedPackages = Object.keys(packagesMap);
107
+
108
+ if (!supportedPackages.includes(frameworkPackage)) {
109
+ return null;
110
+ }
111
+
112
+ const builderInfo = {
113
+ name: getBuilder(builder),
114
+ options: main.getFieldValue(['core', 'builder', 'options']) || {}
115
+ }; // TODO: once we have vite frameworks e.g. @storybook/react-vite, then we support it here
116
+ // and remove ['storybook-builder-vite', '@storybook/builder-vite'] from deps
117
+
118
+ if (builderInfo.name === 'vite') {
119
+ return null;
120
+ }
121
+
122
+ const frameworkOptions = getFrameworkOptions(framework, main);
123
+ const dependenciesToRemove = ['@storybook/builder-webpack5', '@storybook/manager-webpack5', '@storybook/builder-webpack4', '@storybook/manager-webpack4'].filter(dep => allDeps[dep]);
124
+ const newFrameworkPackage = packagesMap[frameworkPackage][builderInfo.name];
125
+ const dependenciesToAdd = []; // some frameworks didn't change e.g. Angular, Ember
126
+
127
+ if (newFrameworkPackage !== frameworkPackage) {
128
+ dependenciesToRemove.push(frameworkPackage);
129
+ dependenciesToAdd.push(newFrameworkPackage);
130
+ }
131
+
132
+ return {
133
+ main,
134
+ dependenciesToAdd,
135
+ dependenciesToRemove,
136
+ frameworkPackage: newFrameworkPackage,
137
+ frameworkOptions,
138
+ builderInfo,
139
+ packageJson
140
+ };
141
+ },
142
+
143
+ prompt() {
144
+ return dedent`
145
+ We've detected you are using an older format of Storybook frameworks and builders.
146
+
147
+ In Storybook 7, frameworks also specify the builder to be used.
148
+
149
+ We can remove the dependencies that are no longer needed and install the new framework that already includes the builder.
150
+
151
+ To learn more about the framework field, see: ${chalk.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory')}
152
+
153
+ ${chalk.underline(chalk.bold(chalk.cyan('Webpack4 users')))}
154
+
155
+ Unless you're using Storybook's Vite builder, this automigration will install a Webpack5-based framework.
156
+
157
+ If you were using Storybook's Webpack4 builder (default in 6.x, discontinued in 7.0), this could be a breaking
158
+ change--especially if your project has a custom webpack configuration.
159
+
160
+ To learn more about migrating from Webpack4, see: ${chalk.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#webpack4-support-discontinued')}
161
+ `;
162
+ },
163
+
164
+ async run({
165
+ result: {
166
+ dependenciesToAdd,
167
+ dependenciesToRemove,
168
+ main,
169
+ frameworkPackage,
170
+ frameworkOptions,
171
+ builderInfo,
172
+ packageJson
173
+ },
174
+ packageManager,
175
+ dryRun
176
+ }) {
177
+ logger.info(`✅ Removing legacy dependencies: ${dependenciesToRemove.join(', ')}`);
178
+
179
+ if (!dryRun) {
180
+ packageManager.removeDependencies({
181
+ skipInstall: dependenciesToAdd.length > 0,
182
+ packageJson
183
+ }, dependenciesToRemove);
184
+ }
185
+
186
+ if (dependenciesToAdd.length > 0) {
187
+ logger.info(`✅ Installing new dependencies: ${dependenciesToAdd.join(', ')}`);
188
+
189
+ if (!dryRun) {
190
+ const versionToInstall = getStorybookVersionSpecifier(packageJson);
191
+ const depsToAdd = dependenciesToAdd.map(dep => `${dep}@${versionToInstall}`);
192
+ packageManager.addDependencies({
193
+ installAsDevDependencies: true
194
+ }, depsToAdd);
195
+ }
196
+ }
197
+
198
+ if (!dryRun) {
199
+ logger.info(`✅ Updating framework field in main.js`);
200
+ const currentCore = main.getFieldValue(['core']);
201
+ main.setFieldValue(['framework', 'name'], frameworkPackage);
202
+ main.setFieldValue(['framework', 'options'], frameworkOptions);
203
+
204
+ if (currentCore?.builder) {
205
+ delete currentCore.builder;
206
+ }
207
+
208
+ if (Object.keys(builderInfo.options).length > 0) {
209
+ main.setFieldValue(['framework', 'options', 'builder'], builderInfo.options);
210
+ }
211
+
212
+ if (currentCore) {
213
+ if (Object.keys(currentCore).length === 0) {
214
+ // TODO: this should delete the field instead
215
+ main.setFieldValue(['core'], {});
216
+ } else {
217
+ main.setFieldValue(['core'], currentCore);
218
+ }
219
+ }
220
+
221
+ await writeConfig(main);
222
+ }
223
+ }
224
+
225
+ };
@@ -0,0 +1,45 @@
1
+ import chalk from 'chalk';
2
+ import { dedent } from 'ts-dedent';
3
+
4
+ /**
5
+ * Is the user using npm7+? If so create a .npmrc with legacy-peer-deps=true
6
+ */
7
+ export const npm7 = {
8
+ id: 'npm7',
9
+
10
+ async check({
11
+ packageManager
12
+ }) {
13
+ if (packageManager.type !== 'npm') return null;
14
+ const npmVersion = packageManager.getNpmVersion();
15
+
16
+ if (packageManager.needsLegacyPeerDeps(npmVersion)) {
17
+ return {
18
+ npmVersion
19
+ };
20
+ }
21
+
22
+ return null;
23
+ },
24
+
25
+ prompt({
26
+ npmVersion
27
+ }) {
28
+ const npmFormatted = chalk.cyan(`npm ${npmVersion}`);
29
+ return dedent`
30
+ We've detected you are running ${npmFormatted} which has peer dependency semantics which Storybook is incompatible with.
31
+
32
+ In order to work with Storybook's package structure, you'll need to run \`npm\` with the
33
+ \`--legacy-peer-deps=true\` flag. We can generate an \`.npmrc\` which will do that automatically.
34
+
35
+ More info: ${chalk.yellow('https://github.com/storybookjs/storybook/issues/18298')}
36
+ `;
37
+ },
38
+
39
+ async run({
40
+ packageManager
41
+ }) {
42
+ packageManager.setLegacyPeerDeps();
43
+ }
44
+
45
+ };
@@ -0,0 +1,119 @@
1
+ import chalk from 'chalk';
2
+ import { dedent } from 'ts-dedent';
3
+ import semver from '@storybook/semver';
4
+ import { getStorybookInfo } from '@storybook/core-common';
5
+ import { getStorybookVersionSpecifier } from '../../helpers';
6
+ const logger = console;
7
+ export const getStorybookScripts = scripts => {
8
+ const storybookScripts = {
9
+ custom: {},
10
+ official: {}
11
+ };
12
+ Object.keys(scripts).forEach(key => {
13
+ if (key === 'storybook' || key === 'build-storybook') {
14
+ storybookScripts.official[key] = scripts[key];
15
+ } else if (scripts[key].match(/start-storybook/) || scripts[key].match(/build-storybook/)) {
16
+ storybookScripts.custom[key] = scripts[key];
17
+ }
18
+ });
19
+ return storybookScripts;
20
+ };
21
+ /**
22
+ * Is the user using start-storybook
23
+ *
24
+ * If so:
25
+ * - Add storybook dependency
26
+ * - Change start-storybook and build-storybook scripts
27
+ */
28
+
29
+ export const sbScripts = {
30
+ id: 'sb-scripts',
31
+
32
+ async check({
33
+ packageManager
34
+ }) {
35
+ const packageJson = packageManager.retrievePackageJson();
36
+ const {
37
+ scripts = {},
38
+ devDependencies,
39
+ dependencies
40
+ } = packageJson;
41
+ const {
42
+ version: storybookVersion
43
+ } = getStorybookInfo(packageJson);
44
+ const allDeps = Object.assign({}, dependencies, devDependencies);
45
+ const storybookCoerced = storybookVersion && semver.coerce(storybookVersion)?.version;
46
+
47
+ if (!storybookCoerced) {
48
+ logger.warn(dedent`
49
+ ❌ Unable to determine storybook version, skipping ${chalk.cyan('sb-scripts')} fix.
50
+ 🤔 Are you running automigrate from your project directory?
51
+ `);
52
+ return null;
53
+ }
54
+
55
+ if (allDeps.sb || allDeps.storybook) {
56
+ return null;
57
+ }
58
+
59
+ const storybookScripts = getStorybookScripts(scripts);
60
+
61
+ if (Object.keys(storybookScripts.official).length === 0 && Object.keys(storybookScripts.custom).length === 0) {
62
+ return null;
63
+ }
64
+
65
+ Object.keys(storybookScripts.official).forEach(key => {
66
+ storybookScripts.official[key] = storybookScripts.official[key].replace('start-storybook', 'storybook dev').replace('build-storybook', 'storybook build');
67
+ });
68
+ return semver.gte(storybookCoerced, '7.0.0') ? {
69
+ packageJson,
70
+ storybookScripts,
71
+ storybookVersion
72
+ } : null;
73
+ },
74
+
75
+ prompt({
76
+ storybookVersion
77
+ }) {
78
+ const sbFormatted = chalk.cyan(`Storybook ${storybookVersion}`);
79
+ const explanationMessage = [`Starting in Storybook 7, the ${chalk.yellow('start-storybook')} and ${chalk.yellow('build-storybook')} binaries have changed to ${chalk.magenta('storybook dev')} and ${chalk.magenta('storybook build')} respectively.`, `In order to work with ${sbFormatted}, Storybook's ${chalk.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');
80
+ return [`We've detected you are using ${sbFormatted} with scripts from previous versions of Storybook.`, explanationMessage, `More info: ${chalk.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#start-storybook--build-storybook-binaries-removed')}`].filter(Boolean).join('\n\n');
81
+ },
82
+
83
+ async run({
84
+ result: {
85
+ storybookScripts,
86
+ packageJson
87
+ },
88
+ packageManager,
89
+ dryRun
90
+ }) {
91
+ logger.log();
92
+ logger.info(`Adding 'storybook' as dev dependency`);
93
+ logger.log();
94
+
95
+ if (!dryRun) {
96
+ const versionToInstall = getStorybookVersionSpecifier(packageJson);
97
+ packageManager.addDependencies({
98
+ installAsDevDependencies: true
99
+ }, [`storybook@${versionToInstall}`]);
100
+ }
101
+
102
+ logger.info(`Updating scripts in package.json`);
103
+ logger.log();
104
+
105
+ if (!dryRun && Object.keys(storybookScripts.official).length > 0) {
106
+ const message = [`Migrating your scripts to:`, chalk.yellow(JSON.stringify(storybookScripts.official, null, 2))].join('\n');
107
+ logger.log(message);
108
+ logger.log();
109
+ packageManager.addScripts(storybookScripts.official);
110
+ }
111
+
112
+ if (!dryRun && Object.keys(storybookScripts.custom).length > 0) {
113
+ const message = [`We detected custom scripts that we can't automigrate:`, chalk.yellow(JSON.stringify(storybookScripts.custom, null, 2)), '\n', `Please manually migrate the ones applicable and use the documentation below for reference: ${chalk.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#start-storybook--build-storybook-binaries-removed')}`].join('\n');
114
+ logger.log(message);
115
+ logger.log();
116
+ }
117
+ }
118
+
119
+ };
@@ -1,21 +1,7 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.vue3 = void 0;
7
-
8
- require("core-js/modules/es.promise.js");
9
-
10
- var _chalk = _interopRequireDefault(require("chalk"));
11
-
12
- var _tsDedent = _interopRequireDefault(require("ts-dedent"));
13
-
14
- var _semver = _interopRequireDefault(require("@storybook/semver"));
15
-
16
- var _webpack = require("./webpack5");
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1
+ import chalk from 'chalk';
2
+ import { dedent } from 'ts-dedent';
3
+ import semver from '@storybook/semver';
4
+ import { webpack5 } from './webpack5';
19
5
 
20
6
  /**
21
7
  * Is the user upgrading to Vue3?
@@ -23,27 +9,25 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
23
9
  * If so:
24
10
  * - Run webpack5 fix
25
11
  */
26
- const vue3 = {
12
+ export const vue3 = {
27
13
  id: 'vue3',
28
14
 
29
15
  async check({
30
16
  packageManager
31
17
  }) {
32
- var _semver$coerce;
33
-
34
18
  const packageJson = packageManager.retrievePackageJson();
35
19
  const {
36
20
  dependencies,
37
21
  devDependencies
38
22
  } = packageJson;
39
23
  const vueVersion = dependencies.vue || devDependencies.vue;
40
- const vueCoerced = (_semver$coerce = _semver.default.coerce(vueVersion)) === null || _semver$coerce === void 0 ? void 0 : _semver$coerce.version;
24
+ const vueCoerced = semver.coerce(vueVersion)?.version;
41
25
 
42
- if (!vueCoerced || _semver.default.lt(vueCoerced, '3.0.0')) {
26
+ if (!vueCoerced || semver.lt(vueCoerced, '3.0.0')) {
43
27
  return null;
44
28
  }
45
29
 
46
- const builderInfo = await _webpack.webpack5.checkWebpack5Builder(packageJson);
30
+ const builderInfo = await webpack5.checkWebpack5Builder(packageJson);
47
31
  return builderInfo ? Object.assign({
48
32
  vueVersion
49
33
  }, builderInfo) : null;
@@ -53,27 +37,24 @@ const vue3 = {
53
37
  vueVersion,
54
38
  storybookVersion
55
39
  }) {
56
- const vueFormatted = _chalk.default.cyan(`Vue ${vueVersion}`);
57
-
58
- const sbFormatted = _chalk.default.cyan(`Storybook ${storybookVersion}`);
59
-
60
- return (0, _tsDedent.default)`
40
+ const vueFormatted = chalk.cyan(`Vue ${vueVersion}`);
41
+ const sbFormatted = chalk.cyan(`Storybook ${storybookVersion}`);
42
+ return dedent`
61
43
  We've detected you are running ${vueFormatted} with Storybook.
62
44
  ${sbFormatted} runs webpack4 by default, which is incompatible.
63
45
 
64
- In order to work with your version of Vue, we need to install Storybook's ${_chalk.default.cyan('webpack5 builder')}.
46
+ In order to work with your version of Vue, we need to install Storybook's ${chalk.cyan('webpack5 builder')}.
65
47
 
66
- More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#vue3-upgrade')}
48
+ More info: ${chalk.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#vue3-upgrade')}
67
49
  `;
68
50
  },
69
51
 
70
52
  async run(options) {
71
- return _webpack.webpack5.run(Object.assign({}, options, {
53
+ return webpack5.run(Object.assign({}, options, {
72
54
  result: Object.assign({
73
55
  webpackVersion: null
74
56
  }, options.result)
75
57
  }));
76
58
  }
77
59
 
78
- };
79
- exports.vue3 = vue3;
60
+ };
@@ -1,24 +1,8 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.webpack5 = void 0;
7
-
8
- require("core-js/modules/es.promise.js");
9
-
10
- var _chalk = _interopRequireDefault(require("chalk"));
11
-
12
- var _tsDedent = _interopRequireDefault(require("ts-dedent"));
13
-
14
- var _semver = _interopRequireDefault(require("@storybook/semver"));
15
-
16
- var _csfTools = require("@storybook/csf-tools");
17
-
18
- var _coreCommon = require("@storybook/core-common");
19
-
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
1
+ import chalk from 'chalk';
2
+ import { dedent } from 'ts-dedent';
3
+ import semver from '@storybook/semver';
4
+ import { readConfig, writeConfig } from '@storybook/csf-tools';
5
+ import { getStorybookInfo } from '@storybook/core-common';
22
6
  const logger = console;
23
7
 
24
8
  /**
@@ -31,40 +15,38 @@ const logger = console;
31
15
  * - Add core.builder = 'webpack5' to main.js
32
16
  * - Add 'webpack5' as a project dependency
33
17
  */
34
- const webpack5 = {
18
+ export const webpack5 = {
35
19
  id: 'webpack5',
36
20
 
37
21
  async checkWebpack5Builder(packageJson) {
38
- var _semver$coerce;
39
-
40
22
  const {
41
23
  mainConfig,
42
24
  version: storybookVersion
43
- } = (0, _coreCommon.getStorybookInfo)(packageJson);
44
- const storybookCoerced = storybookVersion && ((_semver$coerce = _semver.default.coerce(storybookVersion)) === null || _semver$coerce === void 0 ? void 0 : _semver$coerce.version);
25
+ } = getStorybookInfo(packageJson);
26
+ const storybookCoerced = storybookVersion && semver.coerce(storybookVersion)?.version;
45
27
 
46
28
  if (!storybookCoerced) {
47
- logger.warn((0, _tsDedent.default)`
48
- ❌ Unable to determine storybook version, skipping ${_chalk.default.cyan('webpack5')} fix.
29
+ logger.warn(dedent`
30
+ ❌ Unable to determine storybook version, skipping ${chalk.cyan('webpack5')} fix.
49
31
  🤔 Are you running automigrate from your project directory?
50
32
  `);
51
33
  return null;
52
34
  }
53
35
 
54
- if (_semver.default.lt(storybookCoerced, '6.3.0')) {
55
- logger.warn((0, _tsDedent.default)`
36
+ if (semver.lt(storybookCoerced, '6.3.0')) {
37
+ logger.warn(dedent`
56
38
  Detected SB 6.3 or below, please upgrade storybook to use webpack5.
57
39
 
58
40
  To upgrade to the latest stable release, run this from your project directory:
59
41
 
60
- ${_chalk.default.cyan('npx storybook upgrade')}
42
+ ${chalk.cyan('npx storybook upgrade')}
61
43
 
62
- Add the ${_chalk.default.cyan('--prerelease')} flag to get the latest prerelease.
44
+ Add the ${chalk.cyan('--prerelease')} flag to get the latest prerelease.
63
45
  `.trim());
64
46
  return null;
65
47
  }
66
48
 
67
- if (_semver.default.gte(storybookCoerced, '7.0.0')) {
49
+ if (semver.gte(storybookCoerced, '7.0.0')) {
68
50
  return null;
69
51
  }
70
52
 
@@ -73,7 +55,7 @@ const webpack5 = {
73
55
  return null;
74
56
  }
75
57
 
76
- const main = await (0, _csfTools.readConfig)(mainConfig);
58
+ const main = await readConfig(mainConfig);
77
59
  const builder = main.getFieldValue(['core', 'builder']);
78
60
 
79
61
  if (builder && builder !== 'webpack4') {
@@ -90,16 +72,14 @@ const webpack5 = {
90
72
  async check({
91
73
  packageManager
92
74
  }) {
93
- var _semver$coerce2;
94
-
95
75
  const packageJson = packageManager.retrievePackageJson();
96
76
  const {
97
77
  dependencies,
98
78
  devDependencies
99
79
  } = packageJson;
100
80
  const webpackVersion = dependencies.webpack || devDependencies.webpack;
101
- const webpackCoerced = (_semver$coerce2 = _semver.default.coerce(webpackVersion)) === null || _semver$coerce2 === void 0 ? void 0 : _semver$coerce2.version;
102
- if (!webpackCoerced || _semver.default.lt(webpackCoerced, '5.0.0') || _semver.default.gte(webpackCoerced, '6.0.0')) return null;
81
+ const webpackCoerced = semver.coerce(webpackVersion)?.version;
82
+ if (!webpackCoerced || semver.lt(webpackCoerced, '5.0.0') || semver.gte(webpackCoerced, '6.0.0')) return null;
103
83
  const builderInfo = await this.checkWebpack5Builder(packageJson);
104
84
  return builderInfo ? Object.assign({
105
85
  webpackVersion
@@ -109,15 +89,14 @@ const webpack5 = {
109
89
  prompt({
110
90
  webpackVersion
111
91
  }) {
112
- const webpackFormatted = _chalk.default.cyan(`webpack ${webpackVersion}`);
113
-
114
- return (0, _tsDedent.default)`
92
+ const webpackFormatted = chalk.cyan(`webpack ${webpackVersion}`);
93
+ return dedent`
115
94
  We've detected you're running ${webpackFormatted}.
116
95
  Your Storybook's main.js files specifies webpack4, which is incompatible.
117
96
 
118
- To run Storybook in webpack5-mode, we can install Storybook's ${_chalk.default.cyan('@storybook/builder-webpack5')} for you.
97
+ To run Storybook in webpack5-mode, we can install Storybook's ${chalk.cyan('@storybook/builder-webpack5')} for you.
119
98
 
120
- More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#webpack-5-manager-build')}
99
+ More info: ${chalk.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#webpack-5-manager-build')}
121
100
  `;
122
101
  },
123
102
 
@@ -130,7 +109,7 @@ const webpack5 = {
130
109
  packageManager,
131
110
  dryRun
132
111
  }) {
133
- const deps = [`@storybook/manager-webpack5@${storybookVersion}`, `@storybook/builder-webpack5@${storybookVersion}`]; // this also gets called by 'cra5' fix so we need to add
112
+ const deps = [`@storybook/builder-webpack5@${storybookVersion}`]; // this also gets called by 'cra5' fix so we need to add
134
113
  // webpack5 at the project root so that it gets hoisted
135
114
 
136
115
  if (!webpackVersion) {
@@ -145,9 +124,8 @@ const webpack5 = {
145
124
 
146
125
  if (!dryRun) {
147
126
  main.setFieldValue(['core', 'builder'], '@storybook/builder-webpack5');
148
- await (0, _csfTools.writeConfig)(main);
127
+ await writeConfig(main);
149
128
  }
150
129
  }
151
130
 
152
- };
153
- exports.webpack5 = webpack5;
131
+ };
@@ -1,28 +1,14 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.findEslintFile = exports.SUPPORTED_ESLINT_EXTENSIONS = void 0;
7
-
8
- var _fsExtra = _interopRequireDefault(require("fs-extra"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- const SUPPORTED_ESLINT_EXTENSIONS = ['js', 'cjs'];
13
- exports.SUPPORTED_ESLINT_EXTENSIONS = SUPPORTED_ESLINT_EXTENSIONS;
1
+ import fse from 'fs-extra';
2
+ export const SUPPORTED_ESLINT_EXTENSIONS = ['js', 'cjs'];
14
3
  const UNSUPPORTED_ESLINT_EXTENSIONS = ['yaml', 'yml', 'json'];
15
-
16
- const findEslintFile = () => {
4
+ export const findEslintFile = () => {
17
5
  const filePrefix = '.eslintrc';
18
- const unsupportedExtension = UNSUPPORTED_ESLINT_EXTENSIONS.find(ext => _fsExtra.default.existsSync(`${filePrefix}.${ext}`));
6
+ const unsupportedExtension = UNSUPPORTED_ESLINT_EXTENSIONS.find(ext => fse.existsSync(`${filePrefix}.${ext}`));
19
7
 
20
8
  if (unsupportedExtension) {
21
9
  throw new Error(unsupportedExtension);
22
10
  }
23
11
 
24
- const extension = SUPPORTED_ESLINT_EXTENSIONS.find(ext => _fsExtra.default.existsSync(`${filePrefix}.${ext}`));
12
+ const extension = SUPPORTED_ESLINT_EXTENSIONS.find(ext => fse.existsSync(`${filePrefix}.${ext}`));
25
13
  return extension ? `${filePrefix}.${extension}` : null;
26
- };
27
-
28
- exports.findEslintFile = findEslintFile;
14
+ };