@storybook/cli 6.5.0-alpha.9 → 6.5.0-beta.2

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 (293) hide show
  1. package/bin/index.js +1 -0
  2. package/dist/cjs/add.js +3 -3
  3. package/dist/cjs/automigrate/fixes/builder-vite.js +122 -0
  4. package/dist/cjs/automigrate/fixes/eslint-plugin.js +3 -3
  5. package/dist/cjs/automigrate/fixes/index.js +3 -1
  6. package/dist/cjs/automigrate/fixes/mainjsFramework.js +2 -2
  7. package/dist/cjs/automigrate/fixes/webpack5.js +2 -2
  8. package/dist/cjs/automigrate/types.js +5 -1
  9. package/dist/cjs/babel-config.js +1 -1
  10. package/dist/cjs/detect.js +67 -4
  11. package/dist/cjs/extract.js +7 -2
  12. package/dist/cjs/frameworks/angular/Header.stories.ts +8 -3
  13. package/dist/cjs/frameworks/angular/Page.stories.ts +12 -10
  14. package/dist/cjs/frameworks/angular/header.component.ts +30 -19
  15. package/dist/cjs/frameworks/angular/page.component.ts +13 -27
  16. package/dist/cjs/frameworks/common/header.css +6 -0
  17. package/dist/cjs/frameworks/html/js/Header.js +2 -0
  18. package/dist/cjs/frameworks/html/js/Header.stories.js +8 -1
  19. package/dist/cjs/frameworks/html/js/Page.js +29 -2
  20. package/dist/cjs/frameworks/html/js/Page.stories.js +12 -13
  21. package/dist/cjs/frameworks/html/ts/Header.stories.ts +5 -0
  22. package/dist/cjs/frameworks/html/ts/Header.ts +3 -1
  23. package/dist/cjs/frameworks/html/ts/Page.stories.ts +12 -14
  24. package/dist/cjs/frameworks/html/ts/Page.ts +32 -8
  25. package/dist/cjs/frameworks/preact/Header.jsx +6 -1
  26. package/dist/cjs/frameworks/preact/Header.stories.jsx +7 -1
  27. package/dist/cjs/frameworks/preact/Page.jsx +62 -63
  28. package/dist/cjs/frameworks/preact/Page.stories.jsx +12 -9
  29. package/dist/cjs/frameworks/react/js/Header.jsx +6 -1
  30. package/dist/cjs/frameworks/react/js/Header.stories.jsx +7 -1
  31. package/dist/cjs/frameworks/react/js/Page.jsx +61 -63
  32. package/dist/cjs/frameworks/react/js/Page.stories.jsx +12 -9
  33. package/dist/cjs/frameworks/react/ts/Header.stories.tsx +7 -1
  34. package/dist/cjs/frameworks/react/ts/Header.tsx +11 -2
  35. package/dist/cjs/frameworks/react/ts/Page.stories.tsx +12 -9
  36. package/dist/cjs/frameworks/react/ts/Page.tsx +66 -60
  37. package/dist/cjs/frameworks/svelte/Button.stories.js +51 -0
  38. package/dist/cjs/frameworks/svelte/Header.stories.js +35 -0
  39. package/dist/cjs/frameworks/svelte/Header.svelte +3 -0
  40. package/dist/cjs/frameworks/svelte/Page.stories.js +27 -0
  41. package/dist/cjs/frameworks/svelte/Page.svelte +2 -16
  42. package/dist/cjs/frameworks/vue/Header.stories.js +7 -1
  43. package/dist/cjs/frameworks/vue/Header.vue +1 -0
  44. package/dist/cjs/frameworks/vue/Page.stories.js +15 -13
  45. package/dist/cjs/frameworks/vue/Page.vue +7 -7
  46. package/dist/cjs/frameworks/vue3/Header.stories.js +7 -1
  47. package/dist/cjs/frameworks/vue3/Header.vue +1 -0
  48. package/dist/cjs/frameworks/vue3/Page.stories.js +16 -17
  49. package/dist/cjs/frameworks/vue3/Page.vue +18 -8
  50. package/dist/cjs/frameworks/web-components/js/Page.js +2 -2
  51. package/dist/cjs/frameworks/web-components/ts/Page.ts +2 -2
  52. package/dist/cjs/generate.js +5 -0
  53. package/dist/cjs/generators/ANGULAR/angular-helpers.js +5 -5
  54. package/dist/cjs/generators/ANGULAR/index.js +2 -2
  55. package/dist/cjs/generators/ANGULAR/template-csf/.storybook/tsconfig.json +17 -5
  56. package/dist/cjs/generators/AURELIA/index.js +1 -1
  57. package/dist/cjs/generators/AURELIA/template-csf/.storybook/tsconfig.json +16 -5
  58. package/dist/cjs/generators/EMBER/index.js +1 -1
  59. package/dist/cjs/generators/HTML/index.js +1 -1
  60. package/dist/cjs/generators/METEOR/index.js +1 -1
  61. package/dist/cjs/generators/MITHRIL/index.js +1 -1
  62. package/dist/cjs/generators/PREACT/index.js +1 -1
  63. package/dist/cjs/generators/RAX/index.js +1 -1
  64. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/addons.js +3 -3
  65. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/rn-addons.js +2 -2
  66. package/dist/cjs/generators/REACT_SCRIPTS/index.js +9 -1
  67. package/dist/cjs/generators/RIOT/index.js +1 -1
  68. package/dist/cjs/generators/SERVER/index.js +1 -1
  69. package/dist/cjs/generators/SFC_VUE/index.js +1 -1
  70. package/dist/cjs/generators/SVELTE/index.js +0 -1
  71. package/dist/cjs/generators/VUE/index.js +1 -1
  72. package/dist/cjs/generators/VUE3/index.js +1 -1
  73. package/dist/cjs/generators/WEBPACK_REACT/index.js +1 -1
  74. package/dist/cjs/generators/baseGenerator.js +38 -4
  75. package/dist/cjs/generators/configure.js +3 -1
  76. package/dist/cjs/helpers.js +9 -8
  77. package/dist/cjs/initiate.js +44 -34
  78. package/dist/cjs/js-package-manager/JsPackageManager.js +8 -8
  79. package/dist/cjs/js-package-manager/PackageJson.js +5 -1
  80. package/dist/cjs/js-package-manager/PackageJsonHelper.js +1 -1
  81. package/dist/cjs/project_types.js +2 -1
  82. package/dist/cjs/repro-generators/configs.js +51 -8
  83. package/dist/cjs/repro-generators/scripts.js +46 -14
  84. package/dist/cjs/repro.js +3 -2
  85. package/dist/cjs/typings.d.ts +3 -0
  86. package/dist/cjs/upgrade.js +27 -9
  87. package/dist/cjs/versions.js +67 -0
  88. package/dist/cjs/window.d.js +5 -1
  89. package/dist/esm/add.js +3 -3
  90. package/dist/esm/automigrate/fixes/builder-vite.js +122 -0
  91. package/dist/esm/automigrate/fixes/eslint-plugin.js +3 -3
  92. package/dist/esm/automigrate/fixes/index.js +3 -1
  93. package/dist/esm/automigrate/fixes/mainjsFramework.js +2 -2
  94. package/dist/esm/automigrate/fixes/webpack5.js +2 -2
  95. package/dist/esm/automigrate/types.js +5 -1
  96. package/dist/esm/babel-config.js +1 -1
  97. package/dist/esm/detect.js +67 -4
  98. package/dist/esm/extract.js +7 -2
  99. package/dist/esm/frameworks/angular/Header.stories.ts +8 -3
  100. package/dist/esm/frameworks/angular/Page.stories.ts +12 -10
  101. package/dist/esm/frameworks/angular/header.component.ts +30 -19
  102. package/dist/esm/frameworks/angular/page.component.ts +13 -27
  103. package/dist/esm/frameworks/common/header.css +6 -0
  104. package/dist/esm/frameworks/html/js/Header.js +2 -0
  105. package/dist/esm/frameworks/html/js/Header.stories.js +8 -1
  106. package/dist/esm/frameworks/html/js/Page.js +29 -2
  107. package/dist/esm/frameworks/html/js/Page.stories.js +12 -13
  108. package/dist/esm/frameworks/html/ts/Header.stories.ts +5 -0
  109. package/dist/esm/frameworks/html/ts/Header.ts +3 -1
  110. package/dist/esm/frameworks/html/ts/Page.stories.ts +12 -14
  111. package/dist/esm/frameworks/html/ts/Page.ts +32 -8
  112. package/dist/esm/frameworks/preact/Header.jsx +6 -1
  113. package/dist/esm/frameworks/preact/Header.stories.jsx +7 -1
  114. package/dist/esm/frameworks/preact/Page.jsx +62 -63
  115. package/dist/esm/frameworks/preact/Page.stories.jsx +12 -9
  116. package/dist/esm/frameworks/react/js/Header.jsx +6 -1
  117. package/dist/esm/frameworks/react/js/Header.stories.jsx +7 -1
  118. package/dist/esm/frameworks/react/js/Page.jsx +61 -63
  119. package/dist/esm/frameworks/react/js/Page.stories.jsx +12 -9
  120. package/dist/esm/frameworks/react/ts/Header.stories.tsx +7 -1
  121. package/dist/esm/frameworks/react/ts/Header.tsx +11 -2
  122. package/dist/esm/frameworks/react/ts/Page.stories.tsx +12 -9
  123. package/dist/esm/frameworks/react/ts/Page.tsx +66 -60
  124. package/dist/esm/frameworks/svelte/Button.stories.js +51 -0
  125. package/dist/esm/frameworks/svelte/Header.stories.js +35 -0
  126. package/dist/esm/frameworks/svelte/Header.svelte +3 -0
  127. package/dist/esm/frameworks/svelte/Page.stories.js +27 -0
  128. package/dist/esm/frameworks/svelte/Page.svelte +2 -16
  129. package/dist/esm/frameworks/vue/Header.stories.js +7 -1
  130. package/dist/esm/frameworks/vue/Header.vue +1 -0
  131. package/dist/esm/frameworks/vue/Page.stories.js +15 -13
  132. package/dist/esm/frameworks/vue/Page.vue +7 -7
  133. package/dist/esm/frameworks/vue3/Header.stories.js +7 -1
  134. package/dist/esm/frameworks/vue3/Header.vue +1 -0
  135. package/dist/esm/frameworks/vue3/Page.stories.js +16 -17
  136. package/dist/esm/frameworks/vue3/Page.vue +18 -8
  137. package/dist/esm/frameworks/web-components/js/Page.js +2 -2
  138. package/dist/esm/frameworks/web-components/ts/Page.ts +2 -2
  139. package/dist/esm/generate.js +5 -0
  140. package/dist/esm/generators/ANGULAR/angular-helpers.js +5 -5
  141. package/dist/esm/generators/ANGULAR/index.js +2 -2
  142. package/dist/esm/generators/ANGULAR/template-csf/.storybook/tsconfig.json +17 -5
  143. package/dist/esm/generators/AURELIA/index.js +1 -1
  144. package/dist/esm/generators/AURELIA/template-csf/.storybook/tsconfig.json +16 -5
  145. package/dist/esm/generators/EMBER/index.js +1 -1
  146. package/dist/esm/generators/HTML/index.js +1 -1
  147. package/dist/esm/generators/METEOR/index.js +1 -1
  148. package/dist/esm/generators/MITHRIL/index.js +1 -1
  149. package/dist/esm/generators/PREACT/index.js +1 -1
  150. package/dist/esm/generators/RAX/index.js +1 -1
  151. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/addons.js +3 -3
  152. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/rn-addons.js +2 -2
  153. package/dist/esm/generators/REACT_SCRIPTS/index.js +9 -1
  154. package/dist/esm/generators/RIOT/index.js +1 -1
  155. package/dist/esm/generators/SERVER/index.js +1 -1
  156. package/dist/esm/generators/SFC_VUE/index.js +1 -1
  157. package/dist/esm/generators/SVELTE/index.js +0 -1
  158. package/dist/esm/generators/VUE/index.js +1 -1
  159. package/dist/esm/generators/VUE3/index.js +1 -1
  160. package/dist/esm/generators/WEBPACK_REACT/index.js +1 -1
  161. package/dist/esm/generators/baseGenerator.js +38 -4
  162. package/dist/esm/generators/configure.js +3 -1
  163. package/dist/esm/helpers.js +9 -8
  164. package/dist/esm/initiate.js +44 -34
  165. package/dist/esm/js-package-manager/JsPackageManager.js +8 -8
  166. package/dist/esm/js-package-manager/PackageJson.js +5 -1
  167. package/dist/esm/js-package-manager/PackageJsonHelper.js +1 -1
  168. package/dist/esm/project_types.js +2 -1
  169. package/dist/esm/repro-generators/configs.js +51 -8
  170. package/dist/esm/repro-generators/scripts.js +46 -14
  171. package/dist/esm/repro.js +3 -2
  172. package/dist/esm/typings.d.ts +3 -0
  173. package/dist/esm/upgrade.js +27 -9
  174. package/dist/esm/versions.js +67 -0
  175. package/dist/esm/window.d.js +5 -1
  176. package/dist/modern/add.js +3 -3
  177. package/dist/modern/automigrate/fixes/builder-vite.js +122 -0
  178. package/dist/modern/automigrate/fixes/eslint-plugin.js +3 -3
  179. package/dist/modern/automigrate/fixes/index.js +3 -1
  180. package/dist/modern/automigrate/fixes/mainjsFramework.js +2 -2
  181. package/dist/modern/automigrate/fixes/webpack5.js +2 -2
  182. package/dist/modern/automigrate/types.js +5 -1
  183. package/dist/modern/babel-config.js +1 -1
  184. package/dist/modern/detect.js +67 -4
  185. package/dist/modern/extract.js +7 -2
  186. package/dist/modern/frameworks/common/header.css +6 -0
  187. package/dist/modern/frameworks/html/js/Header.js +2 -0
  188. package/dist/modern/frameworks/html/js/Header.stories.js +8 -1
  189. package/dist/modern/frameworks/html/js/Page.js +29 -2
  190. package/dist/modern/frameworks/html/js/Page.stories.js +12 -13
  191. package/dist/modern/frameworks/preact/Header.jsx +6 -1
  192. package/dist/modern/frameworks/preact/Header.stories.jsx +7 -1
  193. package/dist/modern/frameworks/preact/Page.jsx +62 -63
  194. package/dist/modern/frameworks/preact/Page.stories.jsx +12 -9
  195. package/dist/modern/frameworks/react/js/Header.jsx +6 -1
  196. package/dist/modern/frameworks/react/js/Header.stories.jsx +7 -1
  197. package/dist/modern/frameworks/react/js/Page.jsx +61 -63
  198. package/dist/modern/frameworks/react/js/Page.stories.jsx +12 -9
  199. package/dist/modern/frameworks/svelte/Button.stories.js +51 -0
  200. package/dist/modern/frameworks/svelte/Header.stories.js +35 -0
  201. package/dist/modern/frameworks/svelte/Header.svelte +3 -0
  202. package/dist/modern/frameworks/svelte/Page.stories.js +27 -0
  203. package/dist/modern/frameworks/svelte/Page.svelte +2 -16
  204. package/dist/modern/frameworks/vue/Header.stories.js +7 -1
  205. package/dist/modern/frameworks/vue/Header.vue +1 -0
  206. package/dist/modern/frameworks/vue/Page.stories.js +15 -13
  207. package/dist/modern/frameworks/vue/Page.vue +7 -7
  208. package/dist/modern/frameworks/vue3/Header.stories.js +7 -1
  209. package/dist/modern/frameworks/vue3/Header.vue +1 -0
  210. package/dist/modern/frameworks/vue3/Page.stories.js +16 -17
  211. package/dist/modern/frameworks/vue3/Page.vue +18 -8
  212. package/dist/modern/frameworks/web-components/js/Page.js +2 -2
  213. package/dist/modern/generate.js +5 -0
  214. package/dist/modern/generators/ANGULAR/angular-helpers.js +5 -5
  215. package/dist/modern/generators/ANGULAR/index.js +2 -2
  216. package/dist/modern/generators/ANGULAR/template-csf/.storybook/tsconfig.json +17 -5
  217. package/dist/modern/generators/AURELIA/index.js +1 -1
  218. package/dist/modern/generators/AURELIA/template-csf/.storybook/tsconfig.json +16 -5
  219. package/dist/modern/generators/EMBER/index.js +1 -1
  220. package/dist/modern/generators/HTML/index.js +1 -1
  221. package/dist/modern/generators/METEOR/index.js +1 -1
  222. package/dist/modern/generators/MITHRIL/index.js +1 -1
  223. package/dist/modern/generators/PREACT/index.js +1 -1
  224. package/dist/modern/generators/RAX/index.js +1 -1
  225. package/dist/modern/generators/REACT_NATIVE/template-csf/storybook/addons.js +3 -3
  226. package/dist/modern/generators/REACT_NATIVE/template-csf/storybook/rn-addons.js +2 -2
  227. package/dist/modern/generators/REACT_SCRIPTS/index.js +9 -1
  228. package/dist/modern/generators/RIOT/index.js +1 -1
  229. package/dist/modern/generators/SERVER/index.js +1 -1
  230. package/dist/modern/generators/SFC_VUE/index.js +1 -1
  231. package/dist/modern/generators/SVELTE/index.js +0 -1
  232. package/dist/modern/generators/VUE/index.js +1 -1
  233. package/dist/modern/generators/VUE3/index.js +1 -1
  234. package/dist/modern/generators/WEBPACK_REACT/index.js +1 -1
  235. package/dist/modern/generators/baseGenerator.js +38 -4
  236. package/dist/modern/generators/configure.js +3 -1
  237. package/dist/modern/helpers.js +9 -8
  238. package/dist/modern/initiate.js +44 -34
  239. package/dist/modern/js-package-manager/JsPackageManager.js +8 -8
  240. package/dist/modern/js-package-manager/PackageJson.js +5 -1
  241. package/dist/modern/js-package-manager/PackageJsonHelper.js +1 -1
  242. package/dist/modern/project_types.js +2 -1
  243. package/dist/modern/repro-generators/configs.js +51 -8
  244. package/dist/modern/repro-generators/scripts.js +46 -14
  245. package/dist/modern/repro.js +3 -2
  246. package/dist/modern/typings.d.ts +3 -0
  247. package/dist/modern/upgrade.js +27 -9
  248. package/dist/modern/versions.js +67 -0
  249. package/dist/modern/window.d.js +5 -1
  250. package/dist/ts3.4/automigrate/fixes/builder-vite.d.ts +19 -0
  251. package/dist/ts3.4/detect.d.ts +10 -3
  252. package/dist/ts3.4/initiate.d.ts +1 -0
  253. package/dist/ts3.4/js-package-manager/PackageJson.d.ts +2 -8
  254. package/dist/ts3.4/js-package-manager/PackageJsonHelper.d.ts +2 -2
  255. package/dist/ts3.4/project_types.d.ts +2 -1
  256. package/dist/ts3.4/repro-generators/configs.d.ts +8 -0
  257. package/dist/ts3.4/upgrade.d.ts +2 -1
  258. package/dist/ts3.4/versions.d.ts +60 -0
  259. package/dist/ts3.9/automigrate/fixes/builder-vite.d.ts +19 -0
  260. package/dist/ts3.9/detect.d.ts +10 -3
  261. package/dist/ts3.9/initiate.d.ts +1 -0
  262. package/dist/ts3.9/js-package-manager/PackageJson.d.ts +2 -8
  263. package/dist/ts3.9/js-package-manager/PackageJsonHelper.d.ts +2 -2
  264. package/dist/ts3.9/project_types.d.ts +2 -1
  265. package/dist/ts3.9/repro-generators/configs.d.ts +9 -1
  266. package/dist/ts3.9/upgrade.d.ts +2 -1
  267. package/dist/ts3.9/versions.d.ts +60 -0
  268. package/package.json +12 -12
  269. package/dist/cjs/automigrate/helpers/getStorybookConfiguration.js +0 -27
  270. package/dist/cjs/automigrate/helpers/getStorybookInfo.js +0 -94
  271. package/dist/cjs/frameworks/svelte/Button.stories.svelte +0 -57
  272. package/dist/cjs/frameworks/svelte/Header.stories.svelte +0 -32
  273. package/dist/cjs/frameworks/svelte/Page.stories.svelte +0 -32
  274. package/dist/cjs/typings.d.js +0 -1
  275. package/dist/cjs/versions.json +0 -59
  276. package/dist/esm/automigrate/helpers/getStorybookConfiguration.js +0 -27
  277. package/dist/esm/automigrate/helpers/getStorybookInfo.js +0 -94
  278. package/dist/esm/frameworks/svelte/Button.stories.svelte +0 -57
  279. package/dist/esm/frameworks/svelte/Header.stories.svelte +0 -32
  280. package/dist/esm/frameworks/svelte/Page.stories.svelte +0 -32
  281. package/dist/esm/typings.d.js +0 -1
  282. package/dist/esm/versions.json +0 -59
  283. package/dist/modern/automigrate/helpers/getStorybookConfiguration.js +0 -27
  284. package/dist/modern/automigrate/helpers/getStorybookInfo.js +0 -94
  285. package/dist/modern/frameworks/svelte/Button.stories.svelte +0 -57
  286. package/dist/modern/frameworks/svelte/Header.stories.svelte +0 -32
  287. package/dist/modern/frameworks/svelte/Page.stories.svelte +0 -32
  288. package/dist/modern/typings.d.js +0 -1
  289. package/dist/modern/versions.json +0 -59
  290. package/dist/ts3.4/automigrate/helpers/getStorybookConfiguration.d.ts +0 -1
  291. package/dist/ts3.4/automigrate/helpers/getStorybookInfo.d.ts +0 -11
  292. package/dist/ts3.9/automigrate/helpers/getStorybookConfiguration.d.ts +0 -1
  293. package/dist/ts3.9/automigrate/helpers/getStorybookInfo.d.ts +0 -11
package/dist/esm/repro.js CHANGED
@@ -25,9 +25,9 @@ var _scripts = require("./repro-generators/scripts");
25
25
 
26
26
  var configs = _interopRequireWildcard(require("./repro-generators/configs"));
27
27
 
28
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
29
 
30
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
31
 
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
@@ -169,6 +169,7 @@ const repro = async ({
169
169
  }));
170
170
  } catch (error) {
171
171
  logger.error('🚨 Failed to create repro');
172
+ throw new Error(error);
172
173
  }
173
174
  };
174
175
 
@@ -0,0 +1,3 @@
1
+ declare module '@storybook/codemod';
2
+ declare module 'envinfo';
3
+ declare module '@storybook/semver';
@@ -3,12 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.upgrade = exports.addExtraFlags = exports.checkVersionConsistency = exports.isCorePackage = exports.getStorybookVersion = void 0;
6
+ exports.upgrade = exports.isCorePackage = exports.getStorybookVersion = exports.checkVersionConsistency = exports.addExtraFlags = void 0;
7
+
8
+ require("core-js/modules/es.array.sort.js");
7
9
 
8
10
  require("core-js/modules/es.promise.js");
9
11
 
10
12
  var _crossSpawn = require("cross-spawn");
11
13
 
14
+ var _telemetry = require("@storybook/telemetry");
15
+
12
16
  var _semver = _interopRequireDefault(require("@storybook/semver"));
13
17
 
14
18
  var _nodeLogger = require("@storybook/node-logger");
@@ -19,8 +23,12 @@ var _helpers = require("./helpers");
19
23
 
20
24
  var _automigrate = require("./automigrate");
21
25
 
26
+ const _excluded = ["prerelease", "skipCheck", "useNpm", "dryRun", "yes"];
27
+
22
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
29
 
30
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
31
+
24
32
  const versionRegex = /(@storybook\/[^@]+)@(\S+)/;
25
33
 
26
34
  const getStorybookVersion = line => {
@@ -34,7 +42,7 @@ const getStorybookVersion = line => {
34
42
  };
35
43
 
36
44
  exports.getStorybookVersion = getStorybookVersion;
37
- const excludeList = ['@storybook/linter-config', '@storybook/design-system', '@storybook/ember-cli-storybook', '@storybook/semver', '@storybook/eslint-config-storybook', '@storybook/bench', '@storybook/addon-bench', '@storybook/addon-console', '@storybook/csf', '@storybook/storybook-deployer'];
45
+ const excludeList = ['@storybook/linter-config', '@storybook/design-system', '@storybook/ember-cli-storybook', '@storybook/semver', '@storybook/eslint-config-storybook', '@storybook/bench', '@storybook/addon-bench', '@storybook/addon-console', '@storybook/csf', '@storybook/storybook-deployer', '@storybook/addon-postcss', '@storybook/react-docgen-typescript-plugin', '@storybook/babel-plugin-require-context-hook', '@storybook/builder-vite', '@storybook/mdx1-csf', '@storybook/mdx2-csf', '@storybook/expect', '@storybook/jest', '@storybook/test-runner', '@storybook/testing-library'];
38
46
 
39
47
  const isCorePackage = pkg => pkg.startsWith('@storybook/') && !pkg.startsWith('@storybook/preset-') && !excludeList.includes(pkg);
40
48
 
@@ -118,16 +126,26 @@ const addExtraFlags = (extraFlags, flags, {
118
126
 
119
127
  exports.addExtraFlags = addExtraFlags;
120
128
 
121
- const upgrade = async ({
122
- prerelease,
123
- skipCheck,
124
- useNpm,
125
- dryRun,
126
- yes
127
- }) => {
129
+ const upgrade = async _ref => {
130
+ let {
131
+ prerelease,
132
+ skipCheck,
133
+ useNpm,
134
+ dryRun,
135
+ yes
136
+ } = _ref,
137
+ options = _objectWithoutPropertiesLoose(_ref, _excluded);
138
+
128
139
  const packageManager = _jsPackageManager.JsPackageManagerFactory.getPackageManager(useNpm);
129
140
 
130
141
  (0, _helpers.commandLog)(`Checking for latest versions of '@storybook/*' packages`);
142
+
143
+ if (!options.disableTelemetry) {
144
+ (0, _telemetry.telemetry)('upgrade', {
145
+ prerelease
146
+ });
147
+ }
148
+
131
149
  let flags = [];
132
150
  if (!dryRun) flags.push('--upgrade');
133
151
  flags.push('--target');
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ // auto generated file, do not edit
8
+ var _default = {
9
+ '@storybook/addon-a11y': '6.5.0-beta.2',
10
+ '@storybook/addon-actions': '6.5.0-beta.2',
11
+ '@storybook/addon-backgrounds': '6.5.0-beta.2',
12
+ '@storybook/addon-controls': '6.5.0-beta.2',
13
+ '@storybook/addon-docs': '6.5.0-beta.2',
14
+ '@storybook/addon-essentials': '6.5.0-beta.2',
15
+ '@storybook/addon-interactions': '6.5.0-beta.2',
16
+ '@storybook/addon-jest': '6.5.0-beta.2',
17
+ '@storybook/addon-links': '6.5.0-beta.2',
18
+ '@storybook/addon-measure': '6.5.0-beta.2',
19
+ '@storybook/addon-outline': '6.5.0-beta.2',
20
+ '@storybook/addon-storyshots': '6.5.0-beta.2',
21
+ '@storybook/addon-storyshots-puppeteer': '6.5.0-beta.2',
22
+ '@storybook/addon-storysource': '6.5.0-beta.2',
23
+ '@storybook/addon-toolbars': '6.5.0-beta.2',
24
+ '@storybook/addon-viewport': '6.5.0-beta.2',
25
+ '@storybook/addons': '6.5.0-beta.2',
26
+ '@storybook/angular': '6.5.0-beta.2',
27
+ '@storybook/api': '6.5.0-beta.2',
28
+ '@storybook/builder-webpack4': '6.5.0-beta.2',
29
+ '@storybook/builder-webpack5': '6.5.0-beta.2',
30
+ '@storybook/channel-postmessage': '6.5.0-beta.2',
31
+ '@storybook/channel-websocket': '6.5.0-beta.2',
32
+ '@storybook/channels': '6.5.0-beta.2',
33
+ '@storybook/cli': '6.5.0-beta.2',
34
+ '@storybook/client-api': '6.5.0-beta.2',
35
+ '@storybook/client-logger': '6.5.0-beta.2',
36
+ '@storybook/codemod': '6.5.0-beta.2',
37
+ '@storybook/components': '6.5.0-beta.2',
38
+ '@storybook/core': '6.5.0-beta.2',
39
+ '@storybook/core-client': '6.5.0-beta.2',
40
+ '@storybook/core-common': '6.5.0-beta.2',
41
+ '@storybook/core-events': '6.5.0-beta.2',
42
+ '@storybook/core-server': '6.5.0-beta.2',
43
+ '@storybook/csf-tools': '6.5.0-beta.2',
44
+ '@storybook/docs-tools': '6.5.0-beta.2',
45
+ '@storybook/ember': '6.5.0-beta.2',
46
+ '@storybook/html': '6.5.0-beta.2',
47
+ '@storybook/instrumenter': '6.5.0-beta.2',
48
+ '@storybook/manager-webpack4': '6.5.0-beta.2',
49
+ '@storybook/manager-webpack5': '6.5.0-beta.2',
50
+ '@storybook/node-logger': '6.5.0-beta.2',
51
+ '@storybook/postinstall': '6.5.0-beta.2',
52
+ '@storybook/preact': '6.5.0-beta.2',
53
+ '@storybook/preview-web': '6.5.0-beta.2',
54
+ '@storybook/react': '6.5.0-beta.2',
55
+ '@storybook/router': '6.5.0-beta.2',
56
+ '@storybook/server': '6.5.0-beta.2',
57
+ '@storybook/source-loader': '6.5.0-beta.2',
58
+ '@storybook/store': '6.5.0-beta.2',
59
+ '@storybook/svelte': '6.5.0-beta.2',
60
+ '@storybook/telemetry': '6.5.0-beta.2',
61
+ '@storybook/theming': '6.5.0-beta.2',
62
+ '@storybook/ui': '6.5.0-beta.2',
63
+ '@storybook/vue': '6.5.0-beta.2',
64
+ '@storybook/vue3': '6.5.0-beta.2',
65
+ '@storybook/web-components': '6.5.0-beta.2'
66
+ };
67
+ exports.default = _default;
@@ -1 +1,5 @@
1
- "use strict";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.add = add;
7
- exports.addStorybookAddonToFile = exports.getPackageArg = exports.getInstalledStorybookVersion = exports.getPackageName = exports.storybookAddonScope = void 0;
7
+ exports.storybookAddonScope = exports.getPackageName = exports.getPackageArg = exports.getInstalledStorybookVersion = exports.addStorybookAddonToFile = void 0;
8
8
 
9
9
  require("core-js/modules/es.promise.js");
10
10
 
@@ -77,14 +77,14 @@ const installAddon = (packageManager, addonName, isOfficialAddon) => {
77
77
 
78
78
  const addStorybookAddonToFile = (addonName, addonsFile, isOfficialAddon) => {
79
79
  const addonNameNoTag = addonName.split('@')[0];
80
- const alreadyRegistered = addonsFile.find(line => line.includes(`${addonNameNoTag}/register`));
80
+ const alreadyRegistered = addonsFile.find(line => line.includes(`${addonNameNoTag}/manager`));
81
81
 
82
82
  if (alreadyRegistered) {
83
83
  return addonsFile;
84
84
  }
85
85
 
86
86
  const latestImportIndex = addonsFile.reduce((prev, curr, currIndex) => curr.startsWith('import') && curr.includes('register') ? currIndex : prev, -1);
87
- return [...addonsFile.slice(0, latestImportIndex + 1), `import '${getPackageName(addonNameNoTag, isOfficialAddon)}/register';`, ...addonsFile.slice(latestImportIndex + 1)];
87
+ return [...addonsFile.slice(0, latestImportIndex + 1), `import '${getPackageName(addonNameNoTag, isOfficialAddon)}/manager';`, ...addonsFile.slice(latestImportIndex + 1)];
88
88
  };
89
89
 
90
90
  exports.addStorybookAddonToFile = addStorybookAddonToFile;
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.builderVite = 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 _csfTools = require("@storybook/csf-tools");
15
+
16
+ var _coreCommon = require("@storybook/core-common");
17
+
18
+ var _jsPackageManager = require("../../js-package-manager");
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ const logger = console;
23
+
24
+ /**
25
+ * Is the user using 'storybook-builder-vite' in their project?
26
+ *
27
+ * If so, prompt them to upgrade to '@storybook/builder-vite'.
28
+ *
29
+ * - Add '@storybook/builder-vite' as dev dependency
30
+ * - Remove 'storybook-builder-vite' dependency
31
+ * - Add core.builder = '@storybook/builder-vite' to main.js
32
+ */
33
+ const builderVite = {
34
+ id: 'builder-vite',
35
+
36
+ async check({
37
+ packageManager
38
+ }) {
39
+ const packageJson = packageManager.retrievePackageJson();
40
+ const {
41
+ mainConfig
42
+ } = (0, _coreCommon.getStorybookInfo)(packageJson);
43
+
44
+ if (!mainConfig) {
45
+ logger.warn('Unable to find storybook main.js config');
46
+ return null;
47
+ }
48
+
49
+ const main = await (0, _csfTools.readConfig)(mainConfig);
50
+ const builder = main.getFieldValue(['core', 'builder']);
51
+ const builderName = typeof builder === 'string' ? builder : builder === null || builder === void 0 ? void 0 : builder.name;
52
+
53
+ if (builderName !== 'storybook-builder-vite') {
54
+ return null;
55
+ }
56
+
57
+ return {
58
+ builder,
59
+ main,
60
+ packageJson
61
+ };
62
+ },
63
+
64
+ prompt({
65
+ builder
66
+ }) {
67
+ const builderFormatted = _chalk.default.cyan(JSON.stringify(builder, null, 2));
68
+
69
+ return (0, _tsDedent.default)`
70
+ We've detected you're using the community vite builder: ${builderFormatted}
71
+
72
+ 'storybook-builder-vite' is deprecated and now located at ${_chalk.default.cyan('@storybook/builder-vite')}.
73
+
74
+ We can upgrade your project to use the new builder automatically.
75
+
76
+ More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#vite-builder-renamed')}
77
+ `;
78
+ },
79
+
80
+ async run({
81
+ result: {
82
+ builder,
83
+ main,
84
+ packageJson
85
+ },
86
+ packageManager,
87
+ dryRun
88
+ }) {
89
+ const {
90
+ dependencies = {},
91
+ devDependencies = {}
92
+ } = packageJson;
93
+ logger.info(`Removing existing 'storybook-builder-vite' dependency`);
94
+
95
+ if (!dryRun) {
96
+ delete dependencies['storybook-builder-vite'];
97
+ delete devDependencies['storybook-builder-vite'];
98
+ (0, _jsPackageManager.writePackageJson)(packageJson);
99
+ }
100
+
101
+ logger.info(`Adding '@storybook/builder-vite' as dev dependency`);
102
+
103
+ if (!dryRun) {
104
+ packageManager.addDependencies({
105
+ installAsDevDependencies: true
106
+ }, ['@storybook/builder-vite']);
107
+ }
108
+
109
+ logger.info(`Updating main.js to use vite builder`);
110
+
111
+ if (!dryRun) {
112
+ const updatedBuilder = typeof builder === 'string' ? '@storybook/builder-vite' : {
113
+ name: '@storybook/builder-vite',
114
+ options: builder.options
115
+ };
116
+ main.setFieldValue(['core', 'builder'], updatedBuilder);
117
+ await (0, _csfTools.writeConfig)(main);
118
+ }
119
+ }
120
+
121
+ };
122
+ exports.builderVite = builderVite;
@@ -13,9 +13,9 @@ var _tsDedent = _interopRequireDefault(require("ts-dedent"));
13
13
 
14
14
  var _csfTools = require("@storybook/csf-tools");
15
15
 
16
- var _getEslintInfo = require("../helpers/getEslintInfo");
16
+ var _coreCommon = require("@storybook/core-common");
17
17
 
18
- var _getStorybookInfo = require("../helpers/getStorybookInfo");
18
+ var _getEslintInfo = require("../helpers/getEslintInfo");
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
 
@@ -45,7 +45,7 @@ const eslintPlugin = {
45
45
  return null;
46
46
  }
47
47
 
48
- const config = (0, _getStorybookInfo.getStorybookInfo)(packageJson);
48
+ const config = (0, _coreCommon.getStorybookInfo)(packageJson);
49
49
  const {
50
50
  mainConfig
51
51
  } = config;
@@ -18,6 +18,8 @@ var _mainjsFramework = require("./mainjsFramework");
18
18
 
19
19
  var _eslintPlugin = require("./eslint-plugin");
20
20
 
21
+ var _builderVite = require("./builder-vite");
22
+
21
23
  var _types = require("../types");
22
24
 
23
25
  Object.keys(_types).forEach(function (key) {
@@ -31,5 +33,5 @@ Object.keys(_types).forEach(function (key) {
31
33
  }
32
34
  });
33
35
  });
34
- const fixes = [_cra.cra5, _webpack.webpack5, _angular.angular12, _mainjsFramework.mainjsFramework, _eslintPlugin.eslintPlugin];
36
+ const fixes = [_cra.cra5, _webpack.webpack5, _angular.angular12, _mainjsFramework.mainjsFramework, _eslintPlugin.eslintPlugin, _builderVite.builderVite];
35
37
  exports.fixes = fixes;
@@ -15,7 +15,7 @@ var _semver = _interopRequireDefault(require("@storybook/semver"));
15
15
 
16
16
  var _csfTools = require("@storybook/csf-tools");
17
17
 
18
- var _getStorybookInfo = require("../helpers/getStorybookInfo");
18
+ var _coreCommon = require("@storybook/core-common");
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
 
@@ -33,7 +33,7 @@ const mainjsFramework = {
33
33
  mainConfig,
34
34
  framework,
35
35
  version: storybookVersion
36
- } = (0, _getStorybookInfo.getStorybookInfo)(packageJson);
36
+ } = (0, _coreCommon.getStorybookInfo)(packageJson);
37
37
 
38
38
  if (!mainConfig) {
39
39
  logger.warn('Unable to find storybook main.js config, skipping');
@@ -15,7 +15,7 @@ var _semver = _interopRequireDefault(require("@storybook/semver"));
15
15
 
16
16
  var _csfTools = require("@storybook/csf-tools");
17
17
 
18
- var _getStorybookInfo = require("../helpers/getStorybookInfo");
18
+ var _coreCommon = require("@storybook/core-common");
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
 
@@ -40,7 +40,7 @@ const webpack5 = {
40
40
  const {
41
41
  mainConfig,
42
42
  version: storybookVersion
43
- } = (0, _getStorybookInfo.getStorybookInfo)(packageJson);
43
+ } = (0, _coreCommon.getStorybookInfo)(packageJson);
44
44
  const storybookCoerced = storybookVersion && ((_semver$coerce = _semver.default.coerce(storybookVersion)) === null || _semver$coerce === void 0 ? void 0 : _semver$coerce.version);
45
45
 
46
46
  if (!storybookCoerced) {
@@ -1 +1,5 @@
1
- "use strict";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.generateStorybookBabelConfig = exports.generateStorybookBabelConfigInCWD = void 0;
6
+ exports.generateStorybookBabelConfigInCWD = exports.generateStorybookBabelConfig = void 0;
7
7
 
8
8
  require("core-js/modules/es.promise.js");
9
9
 
@@ -3,15 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.detect = detect;
7
+ exports.detectBuilder = detectBuilder;
6
8
  exports.detectFrameworkPreset = detectFrameworkPreset;
7
- exports.isStorybookInstalled = isStorybookInstalled;
8
9
  exports.detectLanguage = detectLanguage;
9
- exports.detect = detect;
10
+ exports.isStorybookInstalled = isStorybookInstalled;
10
11
 
11
12
  var _path = _interopRequireDefault(require("path"));
12
13
 
13
14
  var _fs = _interopRequireDefault(require("fs"));
14
15
 
16
+ var _findUp = _interopRequireDefault(require("find-up"));
17
+
15
18
  var _project_types = require("./project_types");
16
19
 
17
20
  var _helpers = require("./helpers");
@@ -20,6 +23,8 @@ var _jsPackageManager = require("./js-package-manager");
20
23
 
21
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
25
 
26
+ const viteConfigFiles = ['vite.config.ts', 'vite.config.js', 'vite.config.mjs'];
27
+
23
28
  const hasDependency = (packageJson, name, matcher) => {
24
29
  var _packageJson$dependen, _packageJson$devDepen;
25
30
 
@@ -96,6 +101,52 @@ function detectFrameworkPreset(packageJson = {}) {
96
101
  });
97
102
  return result ? result.preset : _project_types.ProjectType.UNDETECTED;
98
103
  }
104
+ /**
105
+ * Attempts to detect which builder to use, by searching for a vite config file. If one is found, the vite builder
106
+ * will be used, otherwise, webpack4 is the default.
107
+ *
108
+ * @returns CoreBuilder
109
+ */
110
+
111
+
112
+ function detectBuilder(packageManager) {
113
+ const viteConfig = _findUp.default.sync(viteConfigFiles);
114
+
115
+ if (viteConfig) {
116
+ (0, _helpers.paddedLog)('Detected vite project, setting builder to @storybook/builder-vite');
117
+ return _project_types.CoreBuilder.Vite;
118
+ }
119
+
120
+ try {
121
+ let out = '';
122
+
123
+ if (packageManager.type === 'npm') {
124
+ try {
125
+ // npm <= v7
126
+ out = packageManager.executeCommand('npm', ['ls', 'webpack']);
127
+ } catch (e2) {
128
+ // npm >= v8
129
+ out = packageManager.executeCommand('npm', ['why', 'webpack']);
130
+ }
131
+ } else {
132
+ out = packageManager.executeCommand('yarn', ['why', 'webpack']);
133
+ } // if the user has BOTH webpack 4 and 5 installed already, we'll pick the safest options (4)
134
+
135
+
136
+ if (out.includes('webpack@4') || out.includes('webpack@npm:4')) {
137
+ return _project_types.CoreBuilder.Webpack5;
138
+ } // the user has webpack 4 installed, but not 5
139
+
140
+
141
+ if (out.includes('webpack@5') || out.includes('webpack@npm:5')) {
142
+ return _project_types.CoreBuilder.Webpack5;
143
+ }
144
+ } catch (err) {//
145
+ } // Fallback to webpack4
146
+
147
+
148
+ return _project_types.CoreBuilder.Webpack4;
149
+ }
99
150
 
100
151
  function isStorybookInstalled(dependencies, force) {
101
152
  if (!dependencies) {
@@ -117,7 +168,13 @@ function isStorybookInstalled(dependencies, force) {
117
168
 
118
169
  function detectLanguage() {
119
170
  let language = _project_types.SupportedLanguage.JAVASCRIPT;
120
- const packageJson = (0, _jsPackageManager.readPackageJson)();
171
+ let packageJson;
172
+
173
+ try {
174
+ packageJson = (0, _jsPackageManager.readPackageJson)();
175
+ } catch (err) {//
176
+ }
177
+
121
178
  const bowerJson = (0, _helpers.getBowerJson)();
122
179
 
123
180
  if (!packageJson && !bowerJson) {
@@ -132,7 +189,13 @@ function detectLanguage() {
132
189
  }
133
190
 
134
191
  function detect(options = {}) {
135
- const packageJson = (0, _jsPackageManager.readPackageJson)();
192
+ let packageJson;
193
+
194
+ try {
195
+ packageJson = (0, _jsPackageManager.readPackageJson)();
196
+ } catch (err) {//
197
+ }
198
+
136
199
  const bowerJson = (0, _helpers.getBowerJson)();
137
200
 
138
201
  if (!packageJson && !bowerJson) {
@@ -24,8 +24,13 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
24
24
  const read = async url => {
25
25
  const browser = await usePuppeteerBrowser();
26
26
  const page = await browser.newPage();
27
- await page.goto(url);
28
- await page.waitForFunction('window.__STORYBOOK_STORY_STORE__ && window.__STORYBOOK_STORY_STORE__.extract && window.__STORYBOOK_STORY_STORE__.extract()');
27
+ await page.goto(url); // we don't know whether we are running against a new or old storybook
28
+ // FIXME: add tests for both
29
+
30
+ await page.waitForFunction(`
31
+ (window.__STORYBOOK_PREVIEW__ && window.__STORYBOOK_PREVIEW__.extract && window.__STORYBOOK_PREVIEW__.extract()) ||
32
+ (window.__STORYBOOK_STORY_STORE__ && window.__STORYBOOK_STORY_STORE__.extract && window.__STORYBOOK_STORY_STORE__.extract())
33
+ `);
29
34
  const data = JSON.parse(await page.evaluate(async () => {
30
35
  // eslint-disable-next-line no-undef
31
36
  return JSON.stringify(window.__STORYBOOK_STORY_STORE__.getStoriesJsonData(), null, 2);
@@ -24,3 +24,9 @@ h1 {
24
24
  button + button {
25
25
  margin-left: 10px;
26
26
  }
27
+
28
+ .welcome {
29
+ color: #333;
30
+ font-size: 14px;
31
+ margin-right: 10px;
32
+ }
@@ -26,6 +26,8 @@ export const createHeader = ({ user, onLogout, onLogin, onCreateAccount }) => {
26
26
 
27
27
  const account = document.createElement('div');
28
28
  if (user) {
29
+ const welcomeMessage = `<span class="welcome">Welcome, <b>${user.name}</b>!</span>`;
30
+ account.innerHTML = welcomeMessage;
29
31
  account.appendChild(createButton({ size: 'small', label: 'Log out', onClick: onLogout }));
30
32
  } else {
31
33
  account.appendChild(createButton({ size: 'small', label: 'Log in', onClick: onLogin }));
@@ -2,6 +2,11 @@ import { createHeader } from './Header';
2
2
 
3
3
  export default {
4
4
  title: 'Example/Header',
5
+ parameters: {
6
+ // More on Story layout: https://storybook.js.org/docs/html/configure/story-layout
7
+ layout: 'fullscreen',
8
+ },
9
+ // More on argTypes: https://storybook.js.org/docs/html/api/argtypes
5
10
  argTypes: {
6
11
  onLogin: { action: 'onLogin' },
7
12
  onLogout: { action: 'onLogout' },
@@ -13,7 +18,9 @@ const Template = (args) => createHeader(args);
13
18
 
14
19
  export const LoggedIn = Template.bind({});
15
20
  LoggedIn.args = {
16
- user: {},
21
+ user: {
22
+ name: 'Jane Doe',
23
+ },
17
24
  };
18
25
 
19
26
  export const LoggedOut = Template.bind({});
@@ -1,11 +1,38 @@
1
1
  import './page.css';
2
2
  import { createHeader } from './Header';
3
3
 
4
- export const createPage = ({ user, onLogout, onLogin, onCreateAccount }) => {
4
+ export const createPage = () => {
5
5
  const article = document.createElement('article');
6
+ let user = null;
7
+ let header = null;
6
8
 
7
- const header = createHeader({ onLogin, onLogout, onCreateAccount, user });
9
+ const rerenderHeader = () => {
10
+ const wrapper = document.getElementsByTagName('article')[0];
11
+ wrapper.replaceChild(createHeaderElement(), wrapper.firstChild);
12
+ };
13
+
14
+ const onLogin = () => {
15
+ user = { name: 'Jane Doe' };
16
+ rerenderHeader();
17
+ };
18
+
19
+ const onLogout = () => {
20
+ user = null;
21
+ rerenderHeader();
22
+ };
23
+
24
+ const onCreateAccount = () => {
25
+ user = { name: 'Jane Doe' };
26
+ rerenderHeader();
27
+ };
28
+
29
+ const createHeaderElement = () => {
30
+ return createHeader({ onLogin, onLogout, onCreateAccount, user });
31
+ };
32
+
33
+ header = createHeaderElement();
8
34
  article.appendChild(header);
35
+
9
36
  const section = `
10
37
  <section>
11
38
  <h2>Pages in Storybook</h2>