@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
@@ -7,16 +7,20 @@ exports.initiate = initiate;
7
7
 
8
8
  require("core-js/modules/es.promise.js");
9
9
 
10
+ require("core-js/modules/es.array.sort.js");
11
+
10
12
  var _updateNotifier = require("update-notifier");
11
13
 
12
14
  var _chalk = _interopRequireDefault(require("chalk"));
13
15
 
14
16
  var _prompts = _interopRequireDefault(require("prompts"));
15
17
 
16
- var _detect = require("./detect");
18
+ var _telemetry = require("@storybook/telemetry");
17
19
 
18
20
  var _project_types = require("./project_types");
19
21
 
22
+ var _detect = require("./detect");
23
+
20
24
  var _helpers = require("./helpers");
21
25
 
22
26
  var _ANGULAR = _interopRequireDefault(require("./generators/ANGULAR"));
@@ -71,9 +75,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
71
75
 
72
76
  const logger = console;
73
77
 
74
- const installStorybook = (projectType, options) => {
75
- const packageManager = _jsPackageManager.JsPackageManagerFactory.getPackageManager(options.useNpm);
76
-
78
+ const installStorybook = (projectType, packageManager, options) => {
77
79
  const npmOptions = {
78
80
  installAsDevDependencies: true,
79
81
  skipInstall: options.skipInstall
@@ -81,7 +83,7 @@ const installStorybook = (projectType, options) => {
81
83
  const language = (0, _detect.detectLanguage)();
82
84
  const generatorOptions = {
83
85
  language,
84
- builder: options.builder || _project_types.CoreBuilder.Webpack4,
86
+ builder: options.builder || (0, _detect.detectBuilder)(packageManager),
85
87
  linkable: !!options.linkable,
86
88
  commonJs: options.commonJs
87
89
  };
@@ -113,13 +115,13 @@ const installStorybook = (projectType, options) => {
113
115
 
114
116
  case _project_types.ProjectType.UPDATE_PACKAGE_ORGANIZATIONS:
115
117
  return (0, _UPDATE_PACKAGE_ORGANIZATIONS.default)(packageManager, options.parser, npmOptions).then(() => null) // commandLog doesn't like to see output
116
- .then((0, _helpers.commandLog)('Upgrading your project to the new Storybook packages.')).then(end);
118
+ .then((0, _helpers.commandLog)('Upgrading your project to the new Storybook packages.\n')).then(end);
117
119
 
118
120
  case _project_types.ProjectType.REACT_SCRIPTS:
119
121
  return (0, _REACT_SCRIPTS.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Create React App" based project')).then(end);
120
122
 
121
123
  case _project_types.ProjectType.REACT:
122
- return (0, _REACT.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "React" app')).then(end);
124
+ return (0, _REACT.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "React" app\n')).then(end);
123
125
 
124
126
  case _project_types.ProjectType.REACT_NATIVE:
125
127
  {
@@ -132,7 +134,7 @@ const installStorybook = (projectType, options) => {
132
134
  initial: false
133
135
  }])).then(({
134
136
  server
135
- }) => (0, _REACT_NATIVE.default)(packageManager, npmOptions, server)).then((0, _helpers.commandLog)('Adding Storybook support to your "React Native" app')).then(end).then(() => {
137
+ }) => (0, _REACT_NATIVE.default)(packageManager, npmOptions, server)).then((0, _helpers.commandLog)('Adding Storybook support to your "React Native" app\n')).then(end).then(() => {
136
138
  logger.log(_chalk.default.red('NOTE: installation is not 100% automated.'));
137
139
  logger.log(`To quickly run Storybook, replace contents of your app entry with:\n`);
138
140
  (0, _helpers.codeLog)(["export {default} from './storybook';"]);
@@ -143,61 +145,61 @@ const installStorybook = (projectType, options) => {
143
145
  }
144
146
 
145
147
  case _project_types.ProjectType.METEOR:
146
- return (0, _METEOR.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Meteor" app')).then(end);
148
+ return (0, _METEOR.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Meteor" app\n')).then(end);
147
149
 
148
150
  case _project_types.ProjectType.WEBPACK_REACT:
149
- return (0, _WEBPACK_REACT.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Webpack React" app')).then(end);
151
+ return (0, _WEBPACK_REACT.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Webpack React" app\n')).then(end);
150
152
 
151
153
  case _project_types.ProjectType.REACT_PROJECT:
152
- return (0, _REACT.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "React" library')).then(end);
154
+ return (0, _REACT.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "React" library\n')).then(end);
153
155
 
154
156
  case _project_types.ProjectType.SFC_VUE:
155
- return (0, _SFC_VUE.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Single File Components Vue" app')).then(end);
157
+ return (0, _SFC_VUE.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Single File Components Vue" app\n')).then(end);
156
158
 
157
159
  case _project_types.ProjectType.VUE:
158
- return (0, _VUE.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Vue" app')).then(end);
160
+ return (0, _VUE.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Vue" app\n')).then(end);
159
161
 
160
162
  case _project_types.ProjectType.VUE3:
161
- return (0, _VUE2.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Vue 3" app')).then(end);
163
+ return (0, _VUE2.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Vue 3" app\n')).then(end);
162
164
 
163
165
  case _project_types.ProjectType.ANGULAR:
164
- return (0, _ANGULAR.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Angular" app')).then(end);
166
+ return (0, _ANGULAR.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Angular" app\n')).then(end);
165
167
 
166
168
  case _project_types.ProjectType.EMBER:
167
- return (0, _EMBER.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Ember" app')).then(end);
169
+ return (0, _EMBER.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Ember" app\n')).then(end);
168
170
 
169
171
  case _project_types.ProjectType.MITHRIL:
170
- return (0, _MITHRIL.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Mithril" app')).then(end);
172
+ return (0, _MITHRIL.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Mithril" app\n')).then(end);
171
173
 
172
174
  case _project_types.ProjectType.MARIONETTE:
173
- return (0, _MARIONETTE.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Marionette.js" app')).then(end);
175
+ return (0, _MARIONETTE.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Marionette.js" app\n')).then(end);
174
176
 
175
177
  case _project_types.ProjectType.MARKO:
176
- return (0, _MARKO.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Marko" app')).then(end);
178
+ return (0, _MARKO.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Marko" app\n')).then(end);
177
179
 
178
180
  case _project_types.ProjectType.HTML:
179
- return (0, _HTML.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "HTML" app')).then(end);
181
+ return (0, _HTML.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "HTML" app\n')).then(end);
180
182
 
181
183
  case _project_types.ProjectType.WEB_COMPONENTS:
182
- return (0, _WEBCOMPONENTS.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "web components" app')).then(end);
184
+ return (0, _WEBCOMPONENTS.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "web components" app\n')).then(end);
183
185
 
184
186
  case _project_types.ProjectType.RIOT:
185
- return (0, _RIOT.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "riot.js" app')).then(end);
187
+ return (0, _RIOT.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "riot.js" app\n')).then(end);
186
188
 
187
189
  case _project_types.ProjectType.PREACT:
188
- return (0, _PREACT.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Preact" app')).then(end);
190
+ return (0, _PREACT.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Preact" app\n')).then(end);
189
191
 
190
192
  case _project_types.ProjectType.SVELTE:
191
- return (0, _SVELTE.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Svelte" app')).then(end);
193
+ return (0, _SVELTE.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Svelte" app\n')).then(end);
192
194
 
193
195
  case _project_types.ProjectType.RAX:
194
- return (0, _RAX.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Rax" app')).then(end);
196
+ return (0, _RAX.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Rax" app\n')).then(end);
195
197
 
196
198
  case _project_types.ProjectType.AURELIA:
197
- return (0, _AURELIA.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Aurelia" app')).then(end);
199
+ return (0, _AURELIA.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Aurelia" app\n')).then(end);
198
200
 
199
201
  case _project_types.ProjectType.SERVER:
200
- return (0, _SERVER.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Server" app')).then(end);
202
+ return (0, _SERVER.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Server" app\n')).then(end);
201
203
 
202
204
  case _project_types.ProjectType.UNSUPPORTED:
203
205
  (0, _helpers.paddedLog)(`We detected a project type that we don't support yet.`);
@@ -211,7 +213,7 @@ const installStorybook = (projectType, options) => {
211
213
  (0, _helpers.paddedLog)('You can specify a project type explicitly via `sb init --type <type>`, see our docs on how to configure Storybook for your framework: https://storybook.js.org/docs/react/get-started/install'); // Add a new line for the clear visibility.
212
214
 
213
215
  logger.log();
214
- return projectTypeInquirer(options);
216
+ return projectTypeInquirer(options, packageManager);
215
217
  }
216
218
  };
217
219
 
@@ -221,7 +223,7 @@ const installStorybook = (projectType, options) => {
221
223
  });
222
224
  };
223
225
 
224
- const projectTypeInquirer = async options => {
226
+ const projectTypeInquirer = async (options, packageManager) => {
225
227
  const manualAnswer = options.yes ? true : await (0, _prompts.default)([{
226
228
  type: 'confirm',
227
229
  name: 'manual',
@@ -238,15 +240,22 @@ const projectTypeInquirer = async options => {
238
240
  value: type.toUpperCase()
239
241
  }))
240
242
  }]);
241
- return installStorybook(frameworkAnswer.manualFramework, options);
243
+ return installStorybook(frameworkAnswer.manualFramework, packageManager, options);
242
244
  }
243
245
 
244
246
  return Promise.resolve();
245
247
  };
246
248
 
247
249
  async function initiate(options, pkg) {
250
+ const packageManager = _jsPackageManager.JsPackageManagerFactory.getPackageManager(options.useNpm);
251
+
248
252
  const welcomeMessage = 'sb init - the simplest way to add a Storybook to your project.';
249
- logger.log(_chalk.default.inverse(`\n ${welcomeMessage} \n`)); // Update notify code.
253
+ logger.log(_chalk.default.inverse(`\n ${welcomeMessage} \n`));
254
+
255
+ if (!options.disableTelemetry) {
256
+ (0, _telemetry.telemetry)('init');
257
+ } // Update notify code.
258
+
250
259
 
251
260
  new _updateNotifier.UpdateNotifier({
252
261
  pkg,
@@ -257,7 +266,7 @@ async function initiate(options, pkg) {
257
266
  const projectTypeProvided = options.type;
258
267
  const infoText = projectTypeProvided ? `Installing Storybook for user specified project type: ${projectTypeProvided}` : 'Detecting project type';
259
268
  const done = (0, _helpers.commandLog)(infoText);
260
- const packageJson = (0, _jsPackageManager.readPackageJson)();
269
+ const packageJson = packageManager.retrievePackageJson();
261
270
  const isEsm = packageJson && packageJson.type === 'module';
262
271
 
263
272
  try {
@@ -280,11 +289,12 @@ async function initiate(options, pkg) {
280
289
  } catch (ex) {
281
290
  done(ex.message);
282
291
  process.exit(1);
292
+ return;
283
293
  }
284
294
 
285
295
  done();
286
- await installStorybook(projectType, Object.assign({}, options, isEsm ? {
296
+ await installStorybook(projectType, packageManager, Object.assign({}, options, isEsm ? {
287
297
  commonJs: true
288
298
  } : undefined));
289
- return (0, _automigrate.automigrate)();
299
+ await (0, _automigrate.automigrate)();
290
300
  }
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getPackageDetails = getPackageDetails;
7
6
  exports.JsPackageManager = void 0;
7
+ exports.getPackageDetails = getPackageDetails;
8
8
 
9
9
  require("core-js/modules/es.promise.js");
10
10
 
@@ -18,7 +18,7 @@ var _helpers = require("../helpers");
18
18
 
19
19
  var _PackageJsonHelper = require("./PackageJsonHelper");
20
20
 
21
- var _versions = _interopRequireDefault(require("../versions.json"));
21
+ var _versions = _interopRequireDefault(require("../versions"));
22
22
 
23
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
24
 
@@ -74,13 +74,13 @@ class JsPackageManager {
74
74
 
75
75
 
76
76
  retrievePackageJson() {
77
- let packageJson = (0, _PackageJsonHelper.readPackageJson)();
77
+ let packageJson;
78
78
 
79
- if (!packageJson) {
80
- // It will create a new package.json file
81
- this.initPackageJson(); // read the newly created package.json file
82
-
83
- packageJson = (0, _PackageJsonHelper.readPackageJson)() || {};
79
+ try {
80
+ packageJson = (0, _PackageJsonHelper.readPackageJson)();
81
+ } catch (err) {
82
+ this.initPackageJson();
83
+ packageJson = (0, _PackageJsonHelper.readPackageJson)();
84
84
  }
85
85
 
86
86
  return Object.assign({}, packageJson, {
@@ -1 +1,5 @@
1
- "use strict";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -16,7 +16,7 @@ function readPackageJson() {
16
16
  const packageJsonPath = _path.default.resolve('package.json');
17
17
 
18
18
  if (!_fs.default.existsSync(packageJsonPath)) {
19
- return false;
19
+ throw new Error(`Could not read package.json file at ${packageJsonPath}`);
20
20
  }
21
21
 
22
22
  const jsonContent = _fs.default.readFileSync(packageJsonPath, 'utf8');
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.installableProjectTypes = exports.unsupportedTemplate = exports.supportedTemplates = exports.SupportedLanguage = exports.CoreBuilder = exports.SUPPORTED_FRAMEWORKS = exports.ProjectType = void 0;
6
+ exports.unsupportedTemplate = exports.supportedTemplates = exports.installableProjectTypes = exports.SupportedLanguage = exports.SUPPORTED_FRAMEWORKS = exports.ProjectType = exports.CoreBuilder = void 0;
7
7
 
8
8
  var _semver = require("@storybook/semver");
9
9
 
@@ -59,6 +59,7 @@ exports.CoreBuilder = CoreBuilder;
59
59
  (function (CoreBuilder) {
60
60
  CoreBuilder["Webpack4"] = "webpack4";
61
61
  CoreBuilder["Webpack5"] = "webpack5";
62
+ CoreBuilder["Vite"] = "vite";
62
63
  })(CoreBuilder || (exports.CoreBuilder = CoreBuilder = {}));
63
64
 
64
65
  let SupportedLanguage;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.svelte = exports.sfcVue = exports.preact = exports.html = exports.vue3 = exports.vue = exports.web_components_lit2 = exports.web_components_typescript = exports.web_components = exports.angular = exports.angular12 = exports.angular11 = exports.angular10 = exports.react_in_yarn_workspace = exports.webpack_react = exports.react_typescript = exports.react = exports.cra_typescript = exports.cra = void 0;
6
+ exports.webpack_react = exports.web_components_typescript = exports.web_components_lit2 = exports.web_components = exports.vue3 = exports.vue = exports.vite_react = exports.svelte = exports.sfcVue = exports.react_typescript = exports.react_legacy_root_api = exports.react_in_yarn_workspace = exports.react = exports.preact = exports.html = exports.cra_typescript = exports.cra = exports.angular_modern_inline_rendering = exports.angular130 = exports.angular13 = exports.angular12 = exports.angular11 = exports.angular10 = exports.angular = void 0;
7
7
 
8
8
  const fromDeps = (...args) => ['mkdir {{appName}}', 'cd {{appName}}', // Create `yarn.lock` to force Yarn to consider adding deps in this directory
9
9
  // and not look for a yarn workspace in parent directory
@@ -14,16 +14,16 @@ const cra = {
14
14
  framework: 'react',
15
15
  name: 'cra',
16
16
  version: 'latest',
17
- generator: [// Force npm otherwise we have a mess between Yarn 1 and Yarn 2
18
- 'npx create-react-app@{{version}} {{appName}} --use-npm', 'cd {{appName}}', 'echo "FAST_REFRESH=true" > .env', 'echo "SKIP_PREFLIGHT_CHECK=true" > .env'].join(' && ')
17
+ generator: [// Force npm otherwise we have a mess between Yarn 1, Yarn 2 and NPM
18
+ 'npm_config_user_agent=npm npx -p create-react-app@{{version}} create-react-app {{appName}}', 'cd {{appName}}', 'echo "FAST_REFRESH=true" > .env', 'echo "SKIP_PREFLIGHT_CHECK=true" > .env'].join(' && ')
19
19
  };
20
20
  exports.cra = cra;
21
21
  const cra_typescript = {
22
22
  framework: 'react',
23
23
  name: 'cra_typescript',
24
24
  version: 'latest',
25
- generator: [// Force npm otherwise we have a mess between Yarn 1 and Yarn 2
26
- 'npx create-react-app@{{version}} {{appName}} --template typescript --use-npm'].join(' && ')
25
+ generator: [// Force npm otherwise we have a mess between Yarn 1, Yarn 2 and NPM
26
+ 'npm_config_user_agent=npm npx -p create-react-app@{{version}} create-react-app {{appName}} --template typescript'].join(' && ')
27
27
  };
28
28
  exports.cra_typescript = cra_typescript;
29
29
  const react = {
@@ -34,6 +34,19 @@ const react = {
34
34
  additionalDeps: ['prop-types']
35
35
  };
36
36
  exports.react = react;
37
+ const react_legacy_root_api = {
38
+ framework: 'react',
39
+ name: 'react_legacy_root_api',
40
+ version: 'latest',
41
+ generator: fromDeps('react', 'react-dom'),
42
+ additionalDeps: ['prop-types'],
43
+ mainOverrides: {
44
+ reactOptions: {
45
+ legacyRootApi: true
46
+ }
47
+ }
48
+ };
49
+ exports.react_legacy_root_api = react_legacy_root_api;
37
50
  const react_typescript = {
38
51
  framework: 'react',
39
52
  name: 'react_typescript',
@@ -49,6 +62,13 @@ const webpack_react = {
49
62
  generator: fromDeps('react', 'react-dom', 'webpack@webpack-4')
50
63
  };
51
64
  exports.webpack_react = webpack_react;
65
+ const vite_react = {
66
+ framework: 'react',
67
+ name: 'vite_react',
68
+ version: 'latest',
69
+ generator: 'npx -p create-vite@{{version}} create-vite {{appName}} --template react-ts'
70
+ };
71
+ exports.vite_react = vite_react;
52
72
  const react_in_yarn_workspace = {
53
73
  framework: 'react',
54
74
  name: 'react_in_yarn_workspace',
@@ -62,7 +82,7 @@ const baseAngular = {
62
82
  framework: 'angular',
63
83
  name: 'angular',
64
84
  version: 'latest',
65
- generator: `npx --package @angular/cli@{{version}} ng new {{appName}} --routing=true --minimal=true --style=scss --skipInstall=true --strict`
85
+ generator: `npx -p @angular/cli@{{version}} ng new {{appName}} --routing=true --minimal=true --style=scss --skipInstall=true --strict`
66
86
  };
67
87
  const angular10 = Object.assign({}, baseAngular, {
68
88
  name: 'angular10',
@@ -79,6 +99,27 @@ const angular12 = Object.assign({}, baseAngular, {
79
99
  version: 'v12-lts'
80
100
  });
81
101
  exports.angular12 = angular12;
102
+ const angular130 = Object.assign({}, baseAngular, {
103
+ name: 'angular130',
104
+ version: '13.0.x'
105
+ });
106
+ exports.angular130 = angular130;
107
+ const angular13 = Object.assign({}, baseAngular, {
108
+ name: 'angular13',
109
+ version: '13.1.x'
110
+ });
111
+ exports.angular13 = angular13;
112
+ const angular_modern_inline_rendering = Object.assign({}, baseAngular, {
113
+ name: 'angular_modern_inline_rendering',
114
+ additionalDeps: ['jest', '@storybook/test-runner'],
115
+ mainOverrides: {
116
+ features: {
117
+ storyStoreV7: true,
118
+ modernInlineRender: true
119
+ }
120
+ }
121
+ });
122
+ exports.angular_modern_inline_rendering = angular_modern_inline_rendering;
82
123
  const angular = baseAngular; // #endregion
83
124
  // #region web components
84
125
 
@@ -107,7 +148,8 @@ exports.web_components_lit2 = web_components_lit2;
107
148
  const vue = {
108
149
  framework: 'vue',
109
150
  name: 'vue',
110
- version: 'latest',
151
+ // Be careful here, the latest versions of vue cli are bootstrapping a vue 3 project
152
+ version: '4',
111
153
  generator: [// Force npm otherwise we have a mess between Yarn 1 and Yarn 2
112
154
  `npx -p @vue/cli@{{version}} vue create {{appName}} --default --packageManager=npm --no-git --force`].join(' && ')
113
155
  };
@@ -141,7 +183,8 @@ const sfcVue = {
141
183
  framework: 'vue',
142
184
  name: 'sfcVue',
143
185
  version: 'latest',
144
- generator: fromDeps('vue', 'vue-loader', 'vue-template-compiler', 'webpack@webpack-4')
186
+ //
187
+ generator: fromDeps('vue@2.6', 'vue-loader@15.9', 'vue-template-compiler@2.6', 'webpack@webpack-4')
145
188
  };
146
189
  exports.sfcVue = sfcVue;
147
190
  const svelte = {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.createAndInit = exports.exec = void 0;
6
+ exports.exec = exports.createAndInit = void 0;
7
7
 
8
8
  require("core-js/modules/es.promise.js");
9
9
 
@@ -15,6 +15,12 @@ var _shelljs = _interopRequireDefault(require("shelljs"));
15
15
 
16
16
  var _chalk = _interopRequireDefault(require("chalk"));
17
17
 
18
+ var _configs = require("./configs");
19
+
20
+ var _versions = _interopRequireDefault(require("../versions"));
21
+
22
+ const _excluded = ["name", "version"];
23
+
18
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
25
 
20
26
  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; }
@@ -36,17 +42,18 @@ const exec = async (command, options = {}, {
36
42
  silent: true
37
43
  };
38
44
 
39
- _shelljs.default.exec(command, Object.assign({}, defaultOptions, options), (code, stdout, stderr) => {
45
+ const child = _shelljs.default.exec(command, Object.assign({}, defaultOptions, options, {
46
+ async: true
47
+ }));
48
+
49
+ child.stderr.pipe(process.stderr);
50
+ child.stdout.pipe(process.stdout);
51
+ child.on('exit', code => {
40
52
  if (code === 0) {
41
53
  resolve(undefined);
42
54
  } else {
43
55
  logger.error(_chalk.default.red(`An error occurred while executing: \`${command}\``));
44
- logger.error(`Command output was:${_chalk.default.yellow(`\n${stdout}\n${stderr}`)}`);
45
-
46
- if (errorMessage) {
47
- logger.error(errorMessage);
48
- }
49
-
56
+ logger.log(errorMessage);
50
57
  reject(new Error(`command exited with code: ${code}: `));
51
58
  }
52
59
  });
@@ -55,12 +62,34 @@ const exec = async (command, options = {}, {
55
62
 
56
63
  exports.exec = exec;
57
64
 
65
+ const addPackageResolutions = async ({
66
+ cwd
67
+ }) => {
68
+ logger.info(`๐Ÿ”ข Adding package resolutions:`);
69
+
70
+ const packageJsonPath = _path.default.join(cwd, 'package.json');
71
+
72
+ const packageJson = await (0, _fsExtra.readJSON)(packageJsonPath);
73
+ packageJson.resolutions = _versions.default;
74
+ await (0, _fsExtra.writeJSON)(packageJsonPath, packageJson, {
75
+ spaces: 2
76
+ });
77
+ };
78
+
58
79
  const installYarn2 = async ({
59
80
  cwd,
60
- pnp
81
+ pnp,
82
+ name
61
83
  }) => {
62
- const command = [`yarn set version berry`, `yarn config set enableGlobalCache true`, `yarn config set nodeLinker ${pnp ? 'pnp' : 'node-modules'}`].join(' && ');
63
- await exec(command, {
84
+ const command = [`yarn set version berry`, `yarn config set enableGlobalCache true`, `yarn config set nodeLinker ${pnp ? 'pnp' : 'node-modules'}`]; // FIXME: Some dependencies used by CRA aren't listed in its package.json
85
+ // Next line is a hack to remove as soon as CRA will have added these missing deps
86
+ // for details see https://github.com/facebook/create-react-app/pull/11751
87
+
88
+ if ([_configs.cra.name, _configs.cra_typescript.name].includes(name)) {
89
+ command.push(`yarn config set packageExtensions --json '{ "babel-preset-react-app@10.0.x": { "dependencies": { "@babel/plugin-proposal-private-property-in-object": "^7.16.0" } } }'`);
90
+ }
91
+
92
+ await exec(command.join(' && '), {
64
93
  cwd
65
94
  }, {
66
95
  startMessage: `๐Ÿงถ Installing Yarn 2`,
@@ -182,7 +211,7 @@ const createAndInit = async (cwd, _ref, {
182
211
  name,
183
212
  version
184
213
  } = _ref,
185
- rest = _objectWithoutPropertiesLoose(_ref, ["name", "version"]);
214
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
186
215
 
187
216
  const options = Object.assign({
188
217
  name,
@@ -196,11 +225,14 @@ const createAndInit = async (cwd, _ref, {
196
225
  logger.log();
197
226
  logger.info(`๐Ÿƒ Starting for ${name} ${version}`);
198
227
  logger.log();
199
- logger.debug(options);
200
- logger.log();
201
228
  await doTask(generate, Object.assign({}, options, {
202
229
  cwd: options.creationPath
203
230
  }));
231
+
232
+ if (e2e) {
233
+ await doTask(addPackageResolutions, options);
234
+ }
235
+
204
236
  await doTask(installYarn2, options);
205
237
  await doTask(configureYarn2ForE2E, options, e2e);
206
238
  await doTask(addTypescript, options, !!options.typescript);
@@ -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');