@storybook/cli 7.0.0-alpha.31 → 7.0.0-alpha.33

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 (254) hide show
  1. package/.eslintrc.js +35 -0
  2. package/bin/index.js +1 -1
  3. package/dist/generate.d.ts +1 -0
  4. package/dist/generate.js +265 -0
  5. package/dist/generate.mjs +265 -0
  6. package/package.json +17 -11
  7. package/{dist/cjs/generators/ANGULAR → templates/angular}/template-csf/.storybook/tsconfig.json +0 -0
  8. package/{dist/cjs/generators/ANGULAR → templates/angular}/template-csf/.storybook/typings.d.ts +0 -0
  9. package/{dist/cjs/generators/AURELIA → templates/aurelia}/template-csf/.storybook/tsconfig.json +0 -0
  10. package/{dist/cjs/generators/AURELIA → templates/aurelia}/template-csf/.storybook/typings.d.ts +0 -0
  11. package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/addons.js +1 -1
  12. package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/index.js +13 -6
  13. package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/rn-addons.js +1 -1
  14. package/templates/react-native/template-csf/storybook/stories/Button/Button.stories.js +20 -0
  15. package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/stories/Button/index.js +8 -10
  16. package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/stories/CenterView/index.js +8 -9
  17. package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/stories/CenterView/style.js +3 -3
  18. package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/stories/Welcome/Welcome.stories.js +2 -3
  19. package/templates/react-native/template-csf/storybook/stories/Welcome/index.js +57 -0
  20. package/templates/react-native/template-csf/storybook/stories/index.js +2 -0
  21. package/templates/server/template-csf/.storybook/preview.js +5 -0
  22. package/dist/cjs/NpmOptions.js +0 -1
  23. package/dist/cjs/add.js +0 -149
  24. package/dist/cjs/automigrate/fixes/angular12.js +0 -74
  25. package/dist/cjs/automigrate/fixes/builder-vite.js +0 -118
  26. package/dist/cjs/automigrate/fixes/cra5.js +0 -82
  27. package/dist/cjs/automigrate/fixes/eslint-plugin.js +0 -126
  28. package/dist/cjs/automigrate/fixes/index.js +0 -45
  29. package/dist/cjs/automigrate/fixes/mainjsFramework.js +0 -94
  30. package/dist/cjs/automigrate/fixes/new-frameworks.js +0 -258
  31. package/dist/cjs/automigrate/fixes/npm7.js +0 -57
  32. package/dist/cjs/automigrate/fixes/sb-scripts.js +0 -140
  33. package/dist/cjs/automigrate/fixes/vue3.js +0 -77
  34. package/dist/cjs/automigrate/fixes/webpack5.js +0 -151
  35. package/dist/cjs/automigrate/helpers/getEslintInfo.js +0 -28
  36. package/dist/cjs/automigrate/index.js +0 -98
  37. package/dist/cjs/automigrate/types.js +0 -5
  38. package/dist/cjs/babel-config.js +0 -65
  39. package/dist/cjs/build.js +0 -36
  40. package/dist/cjs/detect-nextjs.js +0 -33
  41. package/dist/cjs/detect-webpack.js +0 -39
  42. package/dist/cjs/detect.js +0 -179
  43. package/dist/cjs/dev.js +0 -66
  44. package/dist/cjs/dirs.js +0 -12
  45. package/dist/cjs/extract.js +0 -93
  46. package/dist/cjs/generate.js +0 -215
  47. package/dist/cjs/generators/ANGULAR/angular-helpers.js +0 -106
  48. package/dist/cjs/generators/ANGULAR/index.js +0 -95
  49. package/dist/cjs/generators/AURELIA/index.js +0 -41
  50. package/dist/cjs/generators/EMBER/index.js +0 -20
  51. package/dist/cjs/generators/HTML/index.js +0 -15
  52. package/dist/cjs/generators/MARIONETTE/index.js +0 -15
  53. package/dist/cjs/generators/MARKO/index.js +0 -15
  54. package/dist/cjs/generators/MITHRIL/index.js +0 -15
  55. package/dist/cjs/generators/PREACT/index.js +0 -15
  56. package/dist/cjs/generators/RAX/index.js +0 -28
  57. package/dist/cjs/generators/REACT/index.js +0 -15
  58. package/dist/cjs/generators/REACT_NATIVE/index.js +0 -55
  59. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/addons.js +0 -7
  60. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/index.js +0 -31
  61. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/rn-addons.js +0 -5
  62. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Button/Button.stories.js +0 -23
  63. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Button/index.js +0 -32
  64. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/CenterView/index.js +0 -31
  65. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/CenterView/style.js +0 -15
  66. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Welcome/Welcome.stories.js +0 -15
  67. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Welcome/index.js +0 -68
  68. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/index.js +0 -5
  69. package/dist/cjs/generators/REACT_SCRIPTS/index.js +0 -68
  70. package/dist/cjs/generators/RIOT/index.js +0 -17
  71. package/dist/cjs/generators/SERVER/index.js +0 -20
  72. package/dist/cjs/generators/SERVER/template-csf/.storybook/preview.js +0 -12
  73. package/dist/cjs/generators/SFC_VUE/index.js +0 -15
  74. package/dist/cjs/generators/SVELTE/index.js +0 -59
  75. package/dist/cjs/generators/VUE/index.js +0 -17
  76. package/dist/cjs/generators/VUE3/index.js +0 -17
  77. package/dist/cjs/generators/WEB-COMPONENTS/index.js +0 -17
  78. package/dist/cjs/generators/WEBPACK_REACT/index.js +0 -15
  79. package/dist/cjs/generators/baseGenerator.js +0 -208
  80. package/dist/cjs/generators/configure.js +0 -83
  81. package/dist/cjs/generators/types.js +0 -5
  82. package/dist/cjs/helpers.js +0 -258
  83. package/dist/cjs/initiate.js +0 -295
  84. package/dist/cjs/js-package-manager/JsPackageManager.js +0 -358
  85. package/dist/cjs/js-package-manager/JsPackageManagerFactory.js +0 -71
  86. package/dist/cjs/js-package-manager/NPMProxy.js +0 -112
  87. package/dist/cjs/js-package-manager/PackageJson.js +0 -5
  88. package/dist/cjs/js-package-manager/Yarn1Proxy.js +0 -72
  89. package/dist/cjs/js-package-manager/Yarn2Proxy.js +0 -68
  90. package/dist/cjs/js-package-manager/index.js +0 -44
  91. package/dist/cjs/link.js +0 -99
  92. package/dist/cjs/migrate.js +0 -33
  93. package/dist/cjs/project_types.js +0 -263
  94. package/dist/cjs/repro-generators/configs.js +0 -201
  95. package/dist/cjs/repro-generators/scripts.js +0 -338
  96. package/dist/cjs/repro-next.js +0 -182
  97. package/dist/cjs/repro-templates.js +0 -103
  98. package/dist/cjs/repro.js +0 -194
  99. package/dist/cjs/typings.d.ts +0 -3
  100. package/dist/cjs/upgrade.js +0 -170
  101. package/dist/cjs/utils.js +0 -22
  102. package/dist/cjs/versions.js +0 -89
  103. package/dist/cjs/warn.js +0 -32
  104. package/dist/cjs/window.d.js +0 -5
  105. package/dist/esm/NpmOptions.js +0 -0
  106. package/dist/esm/add.js +0 -121
  107. package/dist/esm/automigrate/fixes/angular12.js +0 -58
  108. package/dist/esm/automigrate/fixes/builder-vite.js +0 -103
  109. package/dist/esm/automigrate/fixes/cra5.js +0 -66
  110. package/dist/esm/automigrate/fixes/eslint-plugin.js +0 -111
  111. package/dist/esm/automigrate/fixes/index.js +0 -12
  112. package/dist/esm/automigrate/fixes/mainjsFramework.js +0 -76
  113. package/dist/esm/automigrate/fixes/new-frameworks.js +0 -234
  114. package/dist/esm/automigrate/fixes/npm7.js +0 -45
  115. package/dist/esm/automigrate/fixes/sb-scripts.js +0 -119
  116. package/dist/esm/automigrate/fixes/vue3.js +0 -60
  117. package/dist/esm/automigrate/fixes/webpack5.js +0 -131
  118. package/dist/esm/automigrate/helpers/getEslintInfo.js +0 -14
  119. package/dist/esm/automigrate/index.js +0 -80
  120. package/dist/esm/automigrate/types.js +0 -1
  121. package/dist/esm/babel-config.js +0 -42
  122. package/dist/esm/build.js +0 -22
  123. package/dist/esm/detect-nextjs.js +0 -24
  124. package/dist/esm/detect-webpack.js +0 -30
  125. package/dist/esm/detect.js +0 -152
  126. package/dist/esm/dev.js +0 -47
  127. package/dist/esm/dirs.js +0 -4
  128. package/dist/esm/extract.js +0 -77
  129. package/dist/esm/generate.js +0 -162
  130. package/dist/esm/generators/ANGULAR/angular-helpers.js +0 -82
  131. package/dist/esm/generators/ANGULAR/index.js +0 -76
  132. package/dist/esm/generators/ANGULAR/template-csf/.storybook/tsconfig.json +0 -10
  133. package/dist/esm/generators/ANGULAR/template-csf/.storybook/typings.d.ts +0 -4
  134. package/dist/esm/generators/AURELIA/index.js +0 -32
  135. package/dist/esm/generators/AURELIA/template-csf/.storybook/tsconfig.json +0 -9
  136. package/dist/esm/generators/AURELIA/template-csf/.storybook/typings.d.ts +0 -4
  137. package/dist/esm/generators/EMBER/index.js +0 -12
  138. package/dist/esm/generators/HTML/index.js +0 -7
  139. package/dist/esm/generators/MARIONETTE/index.js +0 -7
  140. package/dist/esm/generators/MARKO/index.js +0 -7
  141. package/dist/esm/generators/MITHRIL/index.js +0 -7
  142. package/dist/esm/generators/PREACT/index.js +0 -7
  143. package/dist/esm/generators/RAX/index.js +0 -20
  144. package/dist/esm/generators/REACT/index.js +0 -7
  145. package/dist/esm/generators/REACT_NATIVE/index.js +0 -42
  146. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/Button/Button.stories.js +0 -12
  147. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/Welcome/index.js +0 -54
  148. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/index.js +0 -2
  149. package/dist/esm/generators/REACT_SCRIPTS/index.js +0 -49
  150. package/dist/esm/generators/RIOT/index.js +0 -9
  151. package/dist/esm/generators/SERVER/index.js +0 -11
  152. package/dist/esm/generators/SERVER/template-csf/.storybook/preview.js +0 -5
  153. package/dist/esm/generators/SFC_VUE/index.js +0 -7
  154. package/dist/esm/generators/SVELTE/index.js +0 -44
  155. package/dist/esm/generators/VUE/index.js +0 -9
  156. package/dist/esm/generators/VUE3/index.js +0 -9
  157. package/dist/esm/generators/WEB-COMPONENTS/index.js +0 -9
  158. package/dist/esm/generators/WEBPACK_REACT/index.js +0 -7
  159. package/dist/esm/generators/baseGenerator.js +0 -191
  160. package/dist/esm/generators/configure.js +0 -69
  161. package/dist/esm/generators/types.js +0 -1
  162. package/dist/esm/helpers.js +0 -207
  163. package/dist/esm/initiate.js +0 -254
  164. package/dist/esm/js-package-manager/JsPackageManager.js +0 -334
  165. package/dist/esm/js-package-manager/JsPackageManagerFactory.js +0 -57
  166. package/dist/esm/js-package-manager/NPMProxy.js +0 -99
  167. package/dist/esm/js-package-manager/PackageJson.js +0 -1
  168. package/dist/esm/js-package-manager/Yarn1Proxy.js +0 -62
  169. package/dist/esm/js-package-manager/Yarn2Proxy.js +0 -58
  170. package/dist/esm/js-package-manager/index.js +0 -3
  171. package/dist/esm/link.js +0 -69
  172. package/dist/esm/migrate.js +0 -25
  173. package/dist/esm/project_types.js +0 -248
  174. package/dist/esm/repro-generators/configs.js +0 -174
  175. package/dist/esm/repro-generators/scripts.js +0 -307
  176. package/dist/esm/repro-next.js +0 -163
  177. package/dist/esm/repro-templates.js +0 -94
  178. package/dist/esm/repro.js +0 -170
  179. package/dist/esm/typings.d.ts +0 -3
  180. package/dist/esm/upgrade.js +0 -132
  181. package/dist/esm/utils.js +0 -13
  182. package/dist/esm/versions.js +0 -82
  183. package/dist/esm/warn.js +0 -16
  184. package/dist/esm/window.d.js +0 -1
  185. package/dist/types/NpmOptions.d.ts +0 -4
  186. package/dist/types/add.d.ts +0 -10
  187. package/dist/types/automigrate/fixes/angular12.d.ts +0 -15
  188. package/dist/types/automigrate/fixes/builder-vite.d.ts +0 -19
  189. package/dist/types/automigrate/fixes/cra5.d.ts +0 -15
  190. package/dist/types/automigrate/fixes/eslint-plugin.d.ts +0 -15
  191. package/dist/types/automigrate/fixes/index.d.ts +0 -3
  192. package/dist/types/automigrate/fixes/mainjsFramework.d.ts +0 -8
  193. package/dist/types/automigrate/fixes/new-frameworks.d.ts +0 -31
  194. package/dist/types/automigrate/fixes/npm7.d.ts +0 -9
  195. package/dist/types/automigrate/fixes/sb-scripts.d.ts +0 -23
  196. package/dist/types/automigrate/fixes/vue3.d.ts +0 -15
  197. package/dist/types/automigrate/fixes/webpack5.d.ts +0 -26
  198. package/dist/types/automigrate/helpers/getEslintInfo.d.ts +0 -2
  199. package/dist/types/automigrate/index.d.ts +0 -7
  200. package/dist/types/automigrate/types.d.ts +0 -15
  201. package/dist/types/babel-config.d.ts +0 -4
  202. package/dist/types/build.d.ts +0 -1
  203. package/dist/types/detect-nextjs.d.ts +0 -2
  204. package/dist/types/detect-webpack.d.ts +0 -2
  205. package/dist/types/detect.d.ts +0 -16
  206. package/dist/types/dev.d.ts +0 -1
  207. package/dist/types/dirs.d.ts +0 -1
  208. package/dist/types/extract.d.ts +0 -1
  209. package/dist/types/generate.d.ts +0 -1
  210. package/dist/types/generators/ANGULAR/angular-helpers.d.ts +0 -6
  211. package/dist/types/generators/ANGULAR/index.d.ts +0 -3
  212. package/dist/types/generators/AURELIA/index.d.ts +0 -3
  213. package/dist/types/generators/EMBER/index.d.ts +0 -3
  214. package/dist/types/generators/HTML/index.d.ts +0 -3
  215. package/dist/types/generators/MARIONETTE/index.d.ts +0 -3
  216. package/dist/types/generators/MARKO/index.d.ts +0 -3
  217. package/dist/types/generators/MITHRIL/index.d.ts +0 -3
  218. package/dist/types/generators/PREACT/index.d.ts +0 -3
  219. package/dist/types/generators/RAX/index.d.ts +0 -3
  220. package/dist/types/generators/REACT/index.d.ts +0 -3
  221. package/dist/types/generators/REACT_NATIVE/index.d.ts +0 -4
  222. package/dist/types/generators/REACT_SCRIPTS/index.d.ts +0 -3
  223. package/dist/types/generators/RIOT/index.d.ts +0 -3
  224. package/dist/types/generators/SERVER/index.d.ts +0 -3
  225. package/dist/types/generators/SFC_VUE/index.d.ts +0 -3
  226. package/dist/types/generators/SVELTE/index.d.ts +0 -3
  227. package/dist/types/generators/VUE/index.d.ts +0 -3
  228. package/dist/types/generators/VUE3/index.d.ts +0 -3
  229. package/dist/types/generators/WEB-COMPONENTS/index.d.ts +0 -3
  230. package/dist/types/generators/WEBPACK_REACT/index.d.ts +0 -3
  231. package/dist/types/generators/baseGenerator.d.ts +0 -5
  232. package/dist/types/generators/configure.d.ts +0 -19
  233. package/dist/types/generators/types.d.ts +0 -38
  234. package/dist/types/helpers.d.ts +0 -26
  235. package/dist/types/initiate.d.ts +0 -3
  236. package/dist/types/js-package-manager/JsPackageManager.d.ts +0 -118
  237. package/dist/types/js-package-manager/JsPackageManagerFactory.d.ts +0 -4
  238. package/dist/types/js-package-manager/NPMProxy.d.ts +0 -23
  239. package/dist/types/js-package-manager/PackageJson.d.ts +0 -4
  240. package/dist/types/js-package-manager/Yarn1Proxy.d.ts +0 -17
  241. package/dist/types/js-package-manager/Yarn2Proxy.d.ts +0 -17
  242. package/dist/types/js-package-manager/index.d.ts +0 -3
  243. package/dist/types/link.d.ts +0 -7
  244. package/dist/types/migrate.d.ts +0 -1
  245. package/dist/types/project_types.d.ts +0 -64
  246. package/dist/types/repro-generators/configs.d.ts +0 -44
  247. package/dist/types/repro-generators/scripts.d.ts +0 -44
  248. package/dist/types/repro-next.d.ts +0 -8
  249. package/dist/types/repro-templates.d.ts +0 -73
  250. package/dist/types/repro.d.ts +0 -14
  251. package/dist/types/upgrade.d.ts +0 -19
  252. package/dist/types/utils.d.ts +0 -2
  253. package/dist/types/versions.d.ts +0 -82
  254. package/dist/types/warn.d.ts +0 -5
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- fixes: true
8
- };
9
- exports.fixes = void 0;
10
-
11
- var _cra = require("./cra5");
12
-
13
- var _webpack = require("./webpack5");
14
-
15
- var _angular = require("./angular12");
16
-
17
- var _vue = require("./vue3");
18
-
19
- var _mainjsFramework = require("./mainjsFramework");
20
-
21
- var _eslintPlugin = require("./eslint-plugin");
22
-
23
- var _builderVite = require("./builder-vite");
24
-
25
- var _npm = require("./npm7");
26
-
27
- var _sbScripts = require("./sb-scripts");
28
-
29
- var _newFrameworks = require("./new-frameworks");
30
-
31
- var _types = require("../types");
32
-
33
- Object.keys(_types).forEach(function (key) {
34
- if (key === "default" || key === "__esModule") return;
35
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
36
- if (key in exports && exports[key] === _types[key]) return;
37
- Object.defineProperty(exports, key, {
38
- enumerable: true,
39
- get: function () {
40
- return _types[key];
41
- }
42
- });
43
- });
44
- const fixes = [_cra.cra5, _webpack.webpack5, _angular.angular12, _vue.vue3, _mainjsFramework.mainjsFramework, _eslintPlugin.eslintPlugin, _builderVite.builderVite, _npm.npm7, _sbScripts.sbScripts, _newFrameworks.newFrameworks];
45
- exports.fixes = fixes;
@@ -1,94 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.mainjsFramework = void 0;
7
-
8
- var _chalk = _interopRequireDefault(require("chalk"));
9
-
10
- var _tsDedent = require("ts-dedent");
11
-
12
- var _semver = _interopRequireDefault(require("@storybook/semver"));
13
-
14
- var _csfTools = require("@storybook/csf-tools");
15
-
16
- var _coreCommon = require("@storybook/core-common");
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- const logger = console;
21
- const mainjsFramework = {
22
- id: 'mainjsFramework',
23
-
24
- async check({
25
- packageManager
26
- }) {
27
- var _semver$coerce;
28
-
29
- const packageJson = packageManager.retrievePackageJson(); // FIXME: use renderer in SB7?
30
-
31
- const {
32
- mainConfig,
33
- framework,
34
- version: storybookVersion
35
- } = (0, _coreCommon.getStorybookInfo)(packageJson);
36
-
37
- if (!mainConfig) {
38
- logger.warn('Unable to find storybook main.js config, skipping');
39
- return null;
40
- }
41
-
42
- const storybookCoerced = storybookVersion && ((_semver$coerce = _semver.default.coerce(storybookVersion)) === null || _semver$coerce === void 0 ? void 0 : _semver$coerce.version);
43
-
44
- if (!storybookCoerced) {
45
- logger.warn((0, _tsDedent.dedent)`
46
- ❌ Unable to determine storybook version, skipping ${_chalk.default.cyan('mainjsFramework')} fix.
47
- 🤔 Are you running automigrate from your project directory?
48
- `);
49
- return null;
50
- }
51
-
52
- const main = await (0, _csfTools.readConfig)(mainConfig);
53
- const currentFramework = main.getFieldValue(['framework']);
54
- const features = main.getFieldValue(['features']);
55
- if (currentFramework) return null;
56
- return features !== null && features !== void 0 && features.breakingChangesV7 || features !== null && features !== void 0 && features.storyStoreV7 || _semver.default.gte(storybookCoerced, '7.0.0') ? {
57
- main,
58
- framework: `@storybook/${framework}`
59
- } : null;
60
- },
61
-
62
- prompt({
63
- framework
64
- }) {
65
- const frameworkFormatted = _chalk.default.cyan(`framework: '${framework}'`);
66
-
67
- return (0, _tsDedent.dedent)`
68
- We've detected that your main.js configuration file does not specify the
69
- 'framework' field, which is a requirement in SB7.0 and above. We can add one
70
- for you automatically:
71
-
72
- ${frameworkFormatted}
73
-
74
- More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#mainjs-framework-field')}
75
- `;
76
- },
77
-
78
- async run({
79
- result: {
80
- main,
81
- framework
82
- },
83
- dryRun
84
- }) {
85
- logger.info(`✅ Setting 'framework' to '${framework}' in main.js`);
86
-
87
- if (!dryRun) {
88
- main.setFieldValue(['framework'], framework);
89
- await (0, _csfTools.writeConfig)(main);
90
- }
91
- }
92
-
93
- };
94
- exports.mainjsFramework = mainjsFramework;
@@ -1,258 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.newFrameworks = exports.getFrameworkOptions = exports.getBuilder = void 0;
7
-
8
- var _chalk = _interopRequireDefault(require("chalk"));
9
-
10
- var _tsDedent = _interopRequireDefault(require("ts-dedent"));
11
-
12
- var _semver = _interopRequireDefault(require("@storybook/semver"));
13
-
14
- var _csfTools = require("@storybook/csf-tools");
15
-
16
- var _coreCommon = require("@storybook/core-common");
17
-
18
- var _helpers = require("../../helpers");
19
-
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
- const logger = console;
23
- const packagesMap = {
24
- '@storybook/react': {
25
- webpack5: '@storybook/react-webpack5',
26
- vite: '@storybook/react-vite'
27
- },
28
- '@storybook/preact': {
29
- webpack5: '@storybook/preact-webpack5'
30
- },
31
- '@storybook/server': {
32
- webpack5: '@storybook/server-webpack5'
33
- },
34
- '@storybook/angular': {
35
- webpack5: '@storybook/angular'
36
- },
37
- '@storybook/vue': {
38
- webpack5: '@storybook/vue-webpack5' // TODO: bring this back if we ever want to support vue 2 + vite. Else delete this!
39
- // vite: '@storybook/vue-vite',
40
-
41
- },
42
- '@storybook/vue3': {
43
- webpack5: '@storybook/vue3-webpack5',
44
- vite: '@storybook/vue3-vite'
45
- },
46
- '@storybook/svelte': {
47
- webpack5: '@storybook/svelte-webpack5',
48
- // TODO: bring this back once we have the svelte-vite package
49
- vite: '@storybook/svelte-vite'
50
- },
51
- '@storybook/web-components': {
52
- webpack5: '@storybook/web-components-webpack5'
53
- },
54
- '@storybook/html': {
55
- webpack5: '@storybook/html-webpack5'
56
- }
57
- };
58
-
59
- const getBuilder = builder => {
60
- if (typeof builder === 'string') {
61
- return builder.includes('vite') ? 'vite' : 'webpack5';
62
- }
63
-
64
- return builder !== null && builder !== void 0 && builder.name.includes('vite') ? 'vite' : 'webpack5';
65
- };
66
-
67
- exports.getBuilder = getBuilder;
68
-
69
- const getFrameworkOptions = (framework, main) => {
70
- const frameworkOptions = main.getFieldValue([`${framework}Options`]);
71
- return frameworkOptions || {};
72
- };
73
- /**
74
- * Does the user have separate framework and builders (e.g. @storybook/react + core.builder -> webpack5?
75
- *
76
- * If so:
77
- * - Remove the dependencies (@storybook/react + @storybook/builder-webpack5 + @storybook/manager-webpack5)
78
- * - Install the correct new package e.g. (@storybook/react-webpack5)
79
- * - Update the main config to use the new framework
80
- * -- moving core.builder into framework.options.builder
81
- * -- moving frameworkOptions (e.g. reactOptions) into framework.options
82
- */
83
-
84
-
85
- exports.getFrameworkOptions = getFrameworkOptions;
86
- const newFrameworks = {
87
- id: 'newFrameworks',
88
-
89
- async check({
90
- packageManager
91
- }) {
92
- var _semver$coerce;
93
-
94
- const packageJson = packageManager.retrievePackageJson();
95
- const allDeps = Object.assign({}, packageJson.dependencies, packageJson.devDependencies); // FIXME: update to use renderer instead of framework
96
-
97
- const {
98
- mainConfig,
99
- version: storybookVersion,
100
- framework
101
- } = (0, _coreCommon.getStorybookInfo)(packageJson);
102
-
103
- if (!mainConfig) {
104
- logger.warn('Unable to find storybook main.js config, skipping');
105
- return null;
106
- }
107
-
108
- const storybookCoerced = storybookVersion && ((_semver$coerce = _semver.default.coerce(storybookVersion)) === null || _semver$coerce === void 0 ? void 0 : _semver$coerce.version);
109
-
110
- if (!storybookCoerced) {
111
- logger.warn((0, _tsDedent.default)`
112
- ❌ Unable to determine storybook version, skipping ${_chalk.default.cyan('newFrameworks')} fix.
113
- 🤔 Are you running automigrate from your project directory?
114
- `);
115
- return null;
116
- }
117
-
118
- if (!_semver.default.gte(storybookCoerced, '7.0.0')) {
119
- return null;
120
- } // If in the future the eslint plugin has a framework option, using main to extract the framework field will be very useful
121
-
122
-
123
- const main = await (0, _csfTools.readConfig)(mainConfig);
124
- const frameworkPackage = main.getFieldValue(['framework']);
125
- const builder = main.getFieldValue(['core', 'builder']);
126
-
127
- if (!frameworkPackage) {
128
- return null;
129
- }
130
-
131
- const supportedPackages = Object.keys(packagesMap);
132
-
133
- if (!supportedPackages.includes(frameworkPackage)) {
134
- return null;
135
- }
136
-
137
- const builderInfo = {
138
- name: getBuilder(builder),
139
- options: main.getFieldValue(['core', 'builder', 'options']) || {}
140
- };
141
- const newFrameworkPackage = packagesMap[frameworkPackage][builderInfo.name]; // not all frameworks support vite yet e.g. Svelte
142
-
143
- if (!newFrameworkPackage) {
144
- return null;
145
- }
146
-
147
- if (allDeps.vite && _semver.default.lt(_semver.default.coerce(allDeps.vite).version, '3.0.0')) {
148
- logger.warn((0, _tsDedent.default)`
149
- ❌ Detected Vite ${allDeps.vite}, which is unsupported in Storybook 7.0, so the ${_chalk.default.cyan('newFrameworks')} fix will be skipped.
150
- Please upgrade vite to 3.0.0 or higher and rerun this automigration with "npx storybook@future automigrate".
151
- `);
152
- return null;
153
- }
154
-
155
- const frameworkOptions = getFrameworkOptions(framework, main);
156
- const dependenciesToRemove = ['@storybook/builder-webpack5', '@storybook/manager-webpack5', '@storybook/builder-webpack4', '@storybook/manager-webpack4', '@storybook/builder-vite', 'storybook-builder-vite'].filter(dep => allDeps[dep]);
157
- const dependenciesToAdd = []; // some frameworks didn't change e.g. Angular, Ember
158
-
159
- if (newFrameworkPackage !== frameworkPackage) {
160
- dependenciesToRemove.push(frameworkPackage);
161
- dependenciesToAdd.push(newFrameworkPackage);
162
- }
163
-
164
- return {
165
- main,
166
- dependenciesToAdd,
167
- dependenciesToRemove,
168
- frameworkPackage: newFrameworkPackage,
169
- frameworkOptions,
170
- builderInfo,
171
- packageJson
172
- };
173
- },
174
-
175
- prompt() {
176
- return (0, _tsDedent.default)`
177
- We've detected you are using an older format of Storybook frameworks and builders.
178
-
179
- In Storybook 7, frameworks also specify the builder to be used.
180
-
181
- We can remove the dependencies that are no longer needed and install the new framework that already includes the builder.
182
-
183
- To learn more about the framework field, see: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory')}
184
-
185
- ${_chalk.default.underline(_chalk.default.bold(_chalk.default.cyan('Webpack4 users')))}
186
-
187
- Unless you're using Storybook's Vite builder, this automigration will install a Webpack5-based framework.
188
-
189
- If you were using Storybook's Webpack4 builder (default in 6.x, discontinued in 7.0), this could be a breaking
190
- change--especially if your project has a custom webpack configuration.
191
-
192
- To learn more about migrating from Webpack4, see: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#webpack4-support-discontinued')}
193
- `;
194
- },
195
-
196
- async run({
197
- result: {
198
- dependenciesToAdd,
199
- dependenciesToRemove,
200
- main,
201
- frameworkPackage,
202
- frameworkOptions,
203
- builderInfo,
204
- packageJson
205
- },
206
- packageManager,
207
- dryRun
208
- }) {
209
- logger.info(`✅ Removing legacy dependencies: ${dependenciesToRemove.join(', ')}`);
210
-
211
- if (!dryRun) {
212
- packageManager.removeDependencies({
213
- skipInstall: dependenciesToAdd.length > 0,
214
- packageJson
215
- }, dependenciesToRemove);
216
- }
217
-
218
- if (dependenciesToAdd.length > 0) {
219
- logger.info(`✅ Installing new dependencies: ${dependenciesToAdd.join(', ')}`);
220
-
221
- if (!dryRun) {
222
- const versionToInstall = (0, _helpers.getStorybookVersionSpecifier)(packageJson);
223
- const depsToAdd = dependenciesToAdd.map(dep => `${dep}@${versionToInstall}`);
224
- packageManager.addDependencies({
225
- installAsDevDependencies: true
226
- }, depsToAdd);
227
- }
228
- }
229
-
230
- if (!dryRun) {
231
- logger.info(`✅ Updating framework field in main.js`);
232
- const currentCore = main.getFieldValue(['core']);
233
- main.setFieldValue(['framework', 'name'], frameworkPackage);
234
- main.setFieldValue(['framework', 'options'], frameworkOptions);
235
-
236
- if (currentCore !== null && currentCore !== void 0 && currentCore.builder) {
237
- delete currentCore.builder;
238
- }
239
-
240
- if (Object.keys(builderInfo.options).length > 0) {
241
- main.setFieldValue(['framework', 'options', 'builder'], builderInfo.options);
242
- }
243
-
244
- if (currentCore) {
245
- if (Object.keys(currentCore).length === 0) {
246
- // TODO: this should delete the field instead
247
- main.setFieldValue(['core'], {});
248
- } else {
249
- main.setFieldValue(['core'], currentCore);
250
- }
251
- }
252
-
253
- await (0, _csfTools.writeConfig)(main);
254
- }
255
- }
256
-
257
- };
258
- exports.newFrameworks = newFrameworks;
@@ -1,57 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.npm7 = void 0;
7
-
8
- var _chalk = _interopRequireDefault(require("chalk"));
9
-
10
- var _tsDedent = require("ts-dedent");
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- /**
15
- * Is the user using npm7+? If so create a .npmrc with legacy-peer-deps=true
16
- */
17
- const npm7 = {
18
- id: 'npm7',
19
-
20
- async check({
21
- packageManager
22
- }) {
23
- if (packageManager.type !== 'npm') return null;
24
- const npmVersion = packageManager.getNpmVersion();
25
-
26
- if (packageManager.needsLegacyPeerDeps(npmVersion)) {
27
- return {
28
- npmVersion
29
- };
30
- }
31
-
32
- return null;
33
- },
34
-
35
- prompt({
36
- npmVersion
37
- }) {
38
- const npmFormatted = _chalk.default.cyan(`npm ${npmVersion}`);
39
-
40
- return (0, _tsDedent.dedent)`
41
- We've detected you are running ${npmFormatted} which has peer dependency semantics which Storybook is incompatible with.
42
-
43
- In order to work with Storybook's package structure, you'll need to run \`npm\` with the
44
- \`--legacy-peer-deps=true\` flag. We can generate an \`.npmrc\` which will do that automatically.
45
-
46
- More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/issues/18298')}
47
- `;
48
- },
49
-
50
- async run({
51
- packageManager
52
- }) {
53
- packageManager.setLegacyPeerDeps();
54
- }
55
-
56
- };
57
- exports.npm7 = npm7;
@@ -1,140 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.sbScripts = exports.getStorybookScripts = void 0;
7
-
8
- var _chalk = _interopRequireDefault(require("chalk"));
9
-
10
- var _tsDedent = require("ts-dedent");
11
-
12
- var _semver = _interopRequireDefault(require("@storybook/semver"));
13
-
14
- var _coreCommon = require("@storybook/core-common");
15
-
16
- var _helpers = require("../../helpers");
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- const logger = console;
21
-
22
- const getStorybookScripts = scripts => {
23
- const storybookScripts = {
24
- custom: {},
25
- official: {}
26
- };
27
- Object.keys(scripts).forEach(key => {
28
- if (key === 'storybook' || key === 'build-storybook') {
29
- storybookScripts.official[key] = scripts[key];
30
- } else if (scripts[key].match(/start-storybook/) || scripts[key].match(/build-storybook/)) {
31
- storybookScripts.custom[key] = scripts[key];
32
- }
33
- });
34
- return storybookScripts;
35
- };
36
- /**
37
- * Is the user using start-storybook
38
- *
39
- * If so:
40
- * - Add storybook dependency
41
- * - Change start-storybook and build-storybook scripts
42
- */
43
-
44
-
45
- exports.getStorybookScripts = getStorybookScripts;
46
- const sbScripts = {
47
- id: 'sb-scripts',
48
-
49
- async check({
50
- packageManager
51
- }) {
52
- var _semver$coerce;
53
-
54
- const packageJson = packageManager.retrievePackageJson();
55
- const {
56
- scripts = {},
57
- devDependencies,
58
- dependencies
59
- } = packageJson;
60
- const {
61
- version: storybookVersion
62
- } = (0, _coreCommon.getStorybookInfo)(packageJson);
63
- const allDeps = Object.assign({}, dependencies, devDependencies);
64
- const storybookCoerced = storybookVersion && ((_semver$coerce = _semver.default.coerce(storybookVersion)) === null || _semver$coerce === void 0 ? void 0 : _semver$coerce.version);
65
-
66
- if (!storybookCoerced) {
67
- logger.warn((0, _tsDedent.dedent)`
68
- ❌ Unable to determine storybook version, skipping ${_chalk.default.cyan('sb-scripts')} fix.
69
- 🤔 Are you running automigrate from your project directory?
70
- `);
71
- return null;
72
- }
73
-
74
- if (allDeps.sb || allDeps.storybook) {
75
- return null;
76
- }
77
-
78
- const storybookScripts = getStorybookScripts(scripts);
79
-
80
- if (Object.keys(storybookScripts.official).length === 0 && Object.keys(storybookScripts.custom).length === 0) {
81
- return null;
82
- }
83
-
84
- Object.keys(storybookScripts.official).forEach(key => {
85
- storybookScripts.official[key] = storybookScripts.official[key].replace('start-storybook', 'storybook dev').replace('build-storybook', 'storybook build');
86
- });
87
- return _semver.default.gte(storybookCoerced, '7.0.0') ? {
88
- packageJson,
89
- storybookScripts,
90
- storybookVersion
91
- } : null;
92
- },
93
-
94
- prompt({
95
- storybookVersion
96
- }) {
97
- const sbFormatted = _chalk.default.cyan(`Storybook ${storybookVersion}`);
98
-
99
- const explanationMessage = [`Starting in Storybook 7, the ${_chalk.default.yellow('start-storybook')} and ${_chalk.default.yellow('build-storybook')} binaries have changed to ${_chalk.default.magenta('storybook dev')} and ${_chalk.default.magenta('storybook build')} respectively.`, `In order to work with ${sbFormatted}, Storybook's ${_chalk.default.magenta('storybook')} binary has to be installed and your storybook scripts have to be adjusted to use the binary. We can install the storybook binary and attempt to adjust your scripts for you.`].join('\n');
100
- return [`We've detected you are using ${sbFormatted} with scripts from previous versions of Storybook.`, explanationMessage, `More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#start-storybook--build-storybook-binaries-removed')}`].filter(Boolean).join('\n\n');
101
- },
102
-
103
- async run({
104
- result: {
105
- storybookScripts,
106
- packageJson
107
- },
108
- packageManager,
109
- dryRun
110
- }) {
111
- logger.log();
112
- logger.info(`Adding 'storybook' as dev dependency`);
113
- logger.log();
114
-
115
- if (!dryRun) {
116
- const versionToInstall = (0, _helpers.getStorybookVersionSpecifier)(packageJson);
117
- packageManager.addDependencies({
118
- installAsDevDependencies: true
119
- }, [`storybook@${versionToInstall}`]);
120
- }
121
-
122
- logger.info(`Updating scripts in package.json`);
123
- logger.log();
124
-
125
- if (!dryRun && Object.keys(storybookScripts.official).length > 0) {
126
- const message = [`Migrating your scripts to:`, _chalk.default.yellow(JSON.stringify(storybookScripts.official, null, 2))].join('\n');
127
- logger.log(message);
128
- logger.log();
129
- packageManager.addScripts(storybookScripts.official);
130
- }
131
-
132
- if (!dryRun && Object.keys(storybookScripts.custom).length > 0) {
133
- const message = [`We detected custom scripts that we can't automigrate:`, _chalk.default.yellow(JSON.stringify(storybookScripts.custom, null, 2)), '\n', `Please manually migrate the ones applicable and use the documentation below for reference: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#start-storybook--build-storybook-binaries-removed')}`].join('\n');
134
- logger.log(message);
135
- logger.log();
136
- }
137
- }
138
-
139
- };
140
- exports.sbScripts = sbScripts;
@@ -1,77 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.vue3 = void 0;
7
-
8
- var _chalk = _interopRequireDefault(require("chalk"));
9
-
10
- var _tsDedent = require("ts-dedent");
11
-
12
- var _semver = _interopRequireDefault(require("@storybook/semver"));
13
-
14
- var _webpack = require("./webpack5");
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- /**
19
- * Is the user upgrading to Vue3?
20
- *
21
- * If so:
22
- * - Run webpack5 fix
23
- */
24
- const vue3 = {
25
- id: 'vue3',
26
-
27
- async check({
28
- packageManager
29
- }) {
30
- var _semver$coerce;
31
-
32
- const packageJson = packageManager.retrievePackageJson();
33
- const {
34
- dependencies,
35
- devDependencies
36
- } = packageJson;
37
- const vueVersion = dependencies.vue || devDependencies.vue;
38
- const vueCoerced = (_semver$coerce = _semver.default.coerce(vueVersion)) === null || _semver$coerce === void 0 ? void 0 : _semver$coerce.version;
39
-
40
- if (!vueCoerced || _semver.default.lt(vueCoerced, '3.0.0')) {
41
- return null;
42
- }
43
-
44
- const builderInfo = await _webpack.webpack5.checkWebpack5Builder(packageJson);
45
- return builderInfo ? Object.assign({
46
- vueVersion
47
- }, builderInfo) : null;
48
- },
49
-
50
- prompt({
51
- vueVersion,
52
- storybookVersion
53
- }) {
54
- const vueFormatted = _chalk.default.cyan(`Vue ${vueVersion}`);
55
-
56
- const sbFormatted = _chalk.default.cyan(`Storybook ${storybookVersion}`);
57
-
58
- return (0, _tsDedent.dedent)`
59
- We've detected you are running ${vueFormatted} with Storybook.
60
- ${sbFormatted} runs webpack4 by default, which is incompatible.
61
-
62
- In order to work with your version of Vue, we need to install Storybook's ${_chalk.default.cyan('webpack5 builder')}.
63
-
64
- More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#vue3-upgrade')}
65
- `;
66
- },
67
-
68
- async run(options) {
69
- return _webpack.webpack5.run(Object.assign({}, options, {
70
- result: Object.assign({
71
- webpackVersion: null
72
- }, options.result)
73
- }));
74
- }
75
-
76
- };
77
- exports.vue3 = vue3;