@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,295 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.initiate = initiate;
7
-
8
- var _updateNotifier = require("update-notifier");
9
-
10
- var _chalk = _interopRequireDefault(require("chalk"));
11
-
12
- var _prompts = _interopRequireDefault(require("prompts"));
13
-
14
- var _telemetry = require("@storybook/telemetry");
15
-
16
- var _project_types = require("./project_types");
17
-
18
- var _detect = require("./detect");
19
-
20
- var _helpers = require("./helpers");
21
-
22
- var _ANGULAR = _interopRequireDefault(require("./generators/ANGULAR"));
23
-
24
- var _AURELIA = _interopRequireDefault(require("./generators/AURELIA"));
25
-
26
- var _EMBER = _interopRequireDefault(require("./generators/EMBER"));
27
-
28
- var _REACT = _interopRequireDefault(require("./generators/REACT"));
29
-
30
- var _REACT_NATIVE = _interopRequireDefault(require("./generators/REACT_NATIVE"));
31
-
32
- var _REACT_SCRIPTS = _interopRequireDefault(require("./generators/REACT_SCRIPTS"));
33
-
34
- var _SFC_VUE = _interopRequireDefault(require("./generators/SFC_VUE"));
35
-
36
- var _VUE = _interopRequireDefault(require("./generators/VUE"));
37
-
38
- var _VUE2 = _interopRequireDefault(require("./generators/VUE3"));
39
-
40
- var _WEBPACK_REACT = _interopRequireDefault(require("./generators/WEBPACK_REACT"));
41
-
42
- var _MITHRIL = _interopRequireDefault(require("./generators/MITHRIL"));
43
-
44
- var _MARIONETTE = _interopRequireDefault(require("./generators/MARIONETTE"));
45
-
46
- var _MARKO = _interopRequireDefault(require("./generators/MARKO"));
47
-
48
- var _HTML = _interopRequireDefault(require("./generators/HTML"));
49
-
50
- var _WEBCOMPONENTS = _interopRequireDefault(require("./generators/WEB-COMPONENTS"));
51
-
52
- var _RIOT = _interopRequireDefault(require("./generators/RIOT"));
53
-
54
- var _PREACT = _interopRequireDefault(require("./generators/PREACT"));
55
-
56
- var _SVELTE = _interopRequireDefault(require("./generators/SVELTE"));
57
-
58
- var _RAX = _interopRequireDefault(require("./generators/RAX"));
59
-
60
- var _SERVER = _interopRequireDefault(require("./generators/SERVER"));
61
-
62
- var _jsPackageManager = require("./js-package-manager");
63
-
64
- var _automigrate = require("./automigrate");
65
-
66
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
67
-
68
- const logger = console;
69
-
70
- const installStorybook = (projectType, packageManager, options) => {
71
- const npmOptions = {
72
- installAsDevDependencies: true,
73
- skipInstall: options.skipInstall
74
- };
75
- let packageJson;
76
-
77
- try {
78
- packageJson = packageManager.readPackageJson();
79
- } catch (err) {//
80
- }
81
-
82
- const language = (0, _detect.detectLanguage)(packageJson);
83
- const generatorOptions = {
84
- language,
85
- builder: options.builder || (0, _detect.detectBuilder)(packageManager),
86
- linkable: !!options.linkable,
87
- commonJs: options.commonJs,
88
- pnp: options.usePnp
89
- };
90
-
91
- const runGenerator = async () => {
92
- switch (projectType) {
93
- case _project_types.ProjectType.ALREADY_HAS_STORYBOOK:
94
- logger.log();
95
- (0, _helpers.paddedLog)('There seems to be a Storybook already available in this project.');
96
- (0, _helpers.paddedLog)('Apply following command to force:\n');
97
- (0, _helpers.codeLog)(['sb init [options] -f']); // Add a new line for the clear visibility.
98
-
99
- logger.log();
100
- return Promise.resolve();
101
-
102
- case _project_types.ProjectType.REACT_SCRIPTS:
103
- return (0, _REACT_SCRIPTS.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Create React App" based project'));
104
-
105
- case _project_types.ProjectType.REACT:
106
- return (0, _REACT.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "React" app\n'));
107
-
108
- case _project_types.ProjectType.REACT_NATIVE:
109
- {
110
- return (options.yes ? Promise.resolve({
111
- server: true
112
- }) : (0, _prompts.default)([{
113
- type: 'confirm',
114
- name: 'server',
115
- message: 'Do you want to install dependencies necessary to run Storybook server? You can manually do it later by install @storybook/react-native-server',
116
- initial: false
117
- }])).then(({
118
- server
119
- }) => (0, _REACT_NATIVE.default)(packageManager, npmOptions, server)).then((0, _helpers.commandLog)('Adding Storybook support to your "React Native" app\n'));
120
- }
121
-
122
- case _project_types.ProjectType.WEBPACK_REACT:
123
- return (0, _WEBPACK_REACT.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Webpack React" app\n'));
124
-
125
- case _project_types.ProjectType.REACT_PROJECT:
126
- return (0, _REACT.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "React" library\n'));
127
-
128
- case _project_types.ProjectType.SFC_VUE:
129
- return (0, _SFC_VUE.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Single File Components Vue" app\n'));
130
-
131
- case _project_types.ProjectType.VUE:
132
- return (0, _VUE.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Vue" app\n'));
133
-
134
- case _project_types.ProjectType.VUE3:
135
- return (0, _VUE2.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Vue 3" app\n'));
136
-
137
- case _project_types.ProjectType.ANGULAR:
138
- return (0, _ANGULAR.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Angular" app\n'));
139
-
140
- case _project_types.ProjectType.EMBER:
141
- return (0, _EMBER.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Ember" app\n'));
142
-
143
- case _project_types.ProjectType.MITHRIL:
144
- return (0, _MITHRIL.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Mithril" app\n'));
145
-
146
- case _project_types.ProjectType.MARIONETTE:
147
- return (0, _MARIONETTE.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Marionette.js" app\n'));
148
-
149
- case _project_types.ProjectType.MARKO:
150
- return (0, _MARKO.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Marko" app\n'));
151
-
152
- case _project_types.ProjectType.HTML:
153
- return (0, _HTML.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "HTML" app\n'));
154
-
155
- case _project_types.ProjectType.WEB_COMPONENTS:
156
- return (0, _WEBCOMPONENTS.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "web components" app\n'));
157
-
158
- case _project_types.ProjectType.RIOT:
159
- return (0, _RIOT.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "riot.js" app\n'));
160
-
161
- case _project_types.ProjectType.PREACT:
162
- return (0, _PREACT.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Preact" app\n'));
163
-
164
- case _project_types.ProjectType.SVELTE:
165
- return (0, _SVELTE.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Svelte" app\n'));
166
-
167
- case _project_types.ProjectType.RAX:
168
- return (0, _RAX.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Rax" app\n'));
169
-
170
- case _project_types.ProjectType.AURELIA:
171
- return (0, _AURELIA.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Aurelia" app\n'));
172
-
173
- case _project_types.ProjectType.SERVER:
174
- return (0, _SERVER.default)(packageManager, npmOptions, generatorOptions).then((0, _helpers.commandLog)('Adding Storybook support to your "Server" app\n'));
175
-
176
- case _project_types.ProjectType.UNSUPPORTED:
177
- (0, _helpers.paddedLog)(`We detected a project type that we don't support yet.`);
178
- (0, _helpers.paddedLog)(`If you'd like your framework to be supported, please let use know about it at https://github.com/storybookjs/storybook/issues`); // Add a new line for the clear visibility.
179
-
180
- logger.log();
181
- return Promise.resolve();
182
-
183
- default:
184
- (0, _helpers.paddedLog)(`We couldn't detect your project type. (code: ${projectType})`);
185
- (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.
186
-
187
- logger.log();
188
- return projectTypeInquirer(options, packageManager);
189
- }
190
- };
191
-
192
- return runGenerator().catch(ex => {
193
- logger.error(`\n ${_chalk.default.red(ex.stack)}`);
194
- process.exit(1);
195
- });
196
- };
197
-
198
- const projectTypeInquirer = async (options, packageManager) => {
199
- const manualAnswer = options.yes ? true : await (0, _prompts.default)([{
200
- type: 'confirm',
201
- name: 'manual',
202
- message: 'Do you want to manually choose a Storybook project type to install?'
203
- }]);
204
-
205
- if (manualAnswer !== true && manualAnswer.manual) {
206
- const frameworkAnswer = await (0, _prompts.default)([{
207
- type: 'select',
208
- name: 'manualFramework',
209
- message: 'Please choose a project type from the following list:',
210
- choices: _project_types.installableProjectTypes.map(type => ({
211
- title: type,
212
- value: type.toUpperCase()
213
- }))
214
- }]);
215
- return installStorybook(frameworkAnswer.manualFramework, packageManager, options);
216
- }
217
-
218
- return Promise.resolve();
219
- };
220
-
221
- async function initiate(options, pkg) {
222
- const packageManager = _jsPackageManager.JsPackageManagerFactory.getPackageManager(options.useNpm);
223
-
224
- const welcomeMessage = 'storybook init - the simplest way to add a Storybook to your project.';
225
- logger.log(_chalk.default.inverse(`\n ${welcomeMessage} \n`));
226
-
227
- if (!options.disableTelemetry) {
228
- (0, _telemetry.telemetry)('init');
229
- } // Update notify code.
230
-
231
-
232
- new _updateNotifier.UpdateNotifier({
233
- pkg,
234
- updateCheckInterval: 1000 * 60 * 60 // every hour (we could increase this later on.)
235
-
236
- }).notify();
237
- let projectType;
238
- const projectTypeProvided = options.type;
239
- const infoText = projectTypeProvided ? `Installing Storybook for user specified project type: ${projectTypeProvided}` : 'Detecting project type';
240
- const done = (0, _helpers.commandLog)(infoText);
241
- const packageJson = packageManager.retrievePackageJson();
242
- const isEsm = packageJson && packageJson.type === 'module';
243
-
244
- try {
245
- if (projectTypeProvided) {
246
- if (_project_types.installableProjectTypes.includes(projectTypeProvided)) {
247
- const storybookInstalled = (0, _detect.isStorybookInstalled)(packageJson, options.force);
248
- projectType = storybookInstalled ? _project_types.ProjectType.ALREADY_HAS_STORYBOOK : projectTypeProvided.toUpperCase();
249
- } else {
250
- done(`The provided project type was not recognized by Storybook: ${projectTypeProvided}`);
251
- logger.log(`\nThe project types currently supported by Storybook are:\n`);
252
-
253
- _project_types.installableProjectTypes.sort().forEach(framework => (0, _helpers.paddedLog)(`- ${framework}`));
254
-
255
- logger.log();
256
- process.exit(1);
257
- }
258
- } else {
259
- projectType = (0, _detect.detect)(packageJson, options);
260
- }
261
- } catch (ex) {
262
- done(ex.message);
263
- process.exit(1);
264
- }
265
-
266
- done();
267
- await installStorybook(projectType, packageManager, Object.assign({}, options, isEsm ? {
268
- commonJs: true
269
- } : undefined));
270
-
271
- if (!options.skipInstall) {
272
- packageManager.installDependencies();
273
- }
274
-
275
- await (0, _automigrate.automigrate)({
276
- yes: options.yes || process.env.CI === 'true'
277
- });
278
- logger.log('\nTo run your Storybook, type:\n');
279
- (0, _helpers.codeLog)([packageManager.getRunStorybookCommand()]);
280
- logger.log('\nFor more information visit:', _chalk.default.cyan('https://storybook.js.org'));
281
-
282
- if (projectType === _project_types.ProjectType.REACT_NATIVE) {
283
- const REACT_NATIVE_REPO = 'https://github.com/storybookjs/react-native';
284
- logger.log();
285
- logger.log(_chalk.default.red('NOTE: installation is not 100% automated.'));
286
- logger.log(`To quickly run Storybook, replace contents of your app entry with:\n`);
287
- (0, _helpers.codeLog)(["export {default} from './storybook';"]);
288
- logger.log('\n For more in information, see the github readme:\n');
289
- logger.log(_chalk.default.cyan(REACT_NATIVE_REPO));
290
- logger.log();
291
- } // Add a new line for the clear visibility.
292
-
293
-
294
- logger.log();
295
- }
@@ -1,358 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.JsPackageManager = void 0;
7
- exports.getPackageDetails = getPackageDetails;
8
-
9
- var _chalk = _interopRequireDefault(require("chalk"));
10
-
11
- var _semver = require("@storybook/semver");
12
-
13
- var _crossSpawn = require("cross-spawn");
14
-
15
- var _path = _interopRequireDefault(require("path"));
16
-
17
- var _fs = _interopRequireDefault(require("fs"));
18
-
19
- var _helpers = require("../helpers");
20
-
21
- var _versions = _interopRequireDefault(require("../versions"));
22
-
23
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
-
25
- const logger = console;
26
- /**
27
- * Extract package name and version from input
28
- *
29
- * @param pkg A string like `@storybook/cli`, `react` or `react@^16`
30
- * @return A tuple of 2 elements: [packageName, packageVersion]
31
- */
32
-
33
- function getPackageDetails(pkg) {
34
- const idx = pkg.lastIndexOf('@'); // If the only `@` is the first character, it is a scoped package
35
- // If it isn't in the string, it will be -1
36
-
37
- if (idx <= 0) {
38
- return [pkg, undefined];
39
- }
40
-
41
- const packageName = pkg.slice(0, idx);
42
- const packageVersion = pkg.slice(idx + 1);
43
- return [packageName, packageVersion];
44
- }
45
-
46
- class JsPackageManager {
47
- // NOTE: for some reason yarn prefers the npm registry in
48
- // local development, so always use npm
49
- setRegistryURL(url) {
50
- if (url) {
51
- this.executeCommand('npm', ['config', 'set', 'registry', url]);
52
- } else {
53
- this.executeCommand('npm', ['config', 'delete', 'registry']);
54
- }
55
- }
56
-
57
- getRegistryURL() {
58
- const url = this.executeCommand('npm', ['config', 'get', 'registry']).trim();
59
- return url === 'undefined' ? undefined : url;
60
- }
61
-
62
- constructor(options) {
63
- this.type = void 0;
64
- this.cwd = void 0;
65
- this.cwd = options === null || options === void 0 ? void 0 : options.cwd;
66
- }
67
- /**
68
- * Install dependencies listed in `package.json`
69
- */
70
-
71
-
72
- installDependencies() {
73
- let done = (0, _helpers.commandLog)('Preparing to install dependencies');
74
- done();
75
- logger.log();
76
- logger.log();
77
- done = (0, _helpers.commandLog)('Installing dependencies');
78
-
79
- try {
80
- this.runInstall();
81
- } catch (e) {
82
- done('An error occurred while installing dependencies.');
83
- process.exit(1);
84
- }
85
-
86
- done();
87
- }
88
-
89
- packageJsonPath() {
90
- return this.cwd ? _path.default.resolve(this.cwd, 'package.json') : _path.default.resolve('package.json');
91
- }
92
-
93
- readPackageJson() {
94
- const packageJsonPath = this.packageJsonPath();
95
-
96
- if (!_fs.default.existsSync(packageJsonPath)) {
97
- throw new Error(`Could not read package.json file at ${packageJsonPath}`);
98
- }
99
-
100
- const jsonContent = _fs.default.readFileSync(packageJsonPath, 'utf8');
101
-
102
- return JSON.parse(jsonContent);
103
- }
104
-
105
- writePackageJson(packageJson) {
106
- const content = `${JSON.stringify(packageJson, null, 2)}\n`;
107
-
108
- _fs.default.writeFileSync(this.packageJsonPath(), content, 'utf8');
109
- }
110
- /**
111
- * Read the `package.json` file available in the directory the command was call from
112
- * If there is no `package.json` it will create one.
113
- */
114
-
115
-
116
- retrievePackageJson() {
117
- let packageJson;
118
-
119
- try {
120
- packageJson = this.readPackageJson();
121
- } catch (err) {
122
- this.initPackageJson();
123
- packageJson = this.readPackageJson();
124
- }
125
-
126
- return Object.assign({}, packageJson, {
127
- dependencies: Object.assign({}, packageJson.dependencies),
128
- devDependencies: Object.assign({}, packageJson.devDependencies)
129
- });
130
- }
131
- /**
132
- * Add dependencies to a project using `yarn add` or `npm install`.
133
- *
134
- * @param {Object} options contains `skipInstall`, `packageJson` and `installAsDevDependencies` which we use to determine how we install packages.
135
- * @param {Array} dependencies contains a list of packages to add.
136
- * @example
137
- * addDependencies(options, [
138
- * `@storybook/react@${storybookVersion}`,
139
- * `@storybook/addon-actions@${actionsVersion}`,
140
- * `@storybook/addon-links@${linksVersion}`,
141
- * `@storybook/addons@${addonsVersion}`,
142
- * ]);
143
- */
144
-
145
-
146
- addDependencies(options, dependencies) {
147
- const {
148
- skipInstall
149
- } = options;
150
-
151
- if (skipInstall) {
152
- const {
153
- packageJson
154
- } = options;
155
- const dependenciesMap = dependencies.reduce((acc, dep) => {
156
- const [packageName, packageVersion] = getPackageDetails(dep);
157
- return Object.assign({}, acc, {
158
- [packageName]: packageVersion
159
- });
160
- }, {});
161
-
162
- if (options.installAsDevDependencies) {
163
- packageJson.devDependencies = Object.assign({}, packageJson.devDependencies, dependenciesMap);
164
- } else {
165
- packageJson.dependencies = Object.assign({}, packageJson.dependencies, dependenciesMap);
166
- }
167
-
168
- this.writePackageJson(packageJson);
169
- } else {
170
- try {
171
- this.runAddDeps(dependencies, options.installAsDevDependencies);
172
- } catch (e) {
173
- logger.error('An error occurred while installing dependencies.');
174
- logger.log(e.message);
175
- process.exit(1);
176
- }
177
- }
178
- }
179
- /**
180
- * Remove dependencies from a project using `yarn remove` or `npm uninstall`.
181
- *
182
- * @param {Object} options contains `skipInstall`, `packageJson` and `installAsDevDependencies` which we use to determine how we install packages.
183
- * @param {Array} dependencies contains a list of packages to remove.
184
- * @example
185
- * removeDependencies(options, [
186
- * `@storybook/react`,
187
- * `@storybook/addon-actions`,
188
- * ]);
189
- */
190
-
191
-
192
- removeDependencies(options, dependencies) {
193
- const {
194
- skipInstall
195
- } = options;
196
-
197
- if (skipInstall) {
198
- const {
199
- packageJson
200
- } = options;
201
- dependencies.forEach(dep => {
202
- if (packageJson.devDependencies) {
203
- delete packageJson.devDependencies[dep];
204
- }
205
-
206
- if (packageJson.dependencies) {
207
- delete packageJson.dependencies[dep];
208
- }
209
- });
210
- this.writePackageJson(packageJson);
211
- } else {
212
- try {
213
- this.runRemoveDeps(dependencies);
214
- } catch (e) {
215
- logger.error('An error occurred while removing dependencies.');
216
- logger.log(e.message);
217
- process.exit(1);
218
- }
219
- }
220
- }
221
- /**
222
- * Return an array of strings matching following format: `<package_name>@<package_latest_version>`
223
- *
224
- * @param packages
225
- */
226
-
227
-
228
- getVersionedPackages(packages) {
229
- return Promise.all(packages.map(async pkg => {
230
- const [packageName, packageVersion] = getPackageDetails(pkg);
231
- return `${packageName}@${await this.getVersion(packageName, packageVersion)}`;
232
- }));
233
- }
234
- /**
235
- * Return an array of string standing for the latest version of the input packages.
236
- * To be able to identify which version goes with which package the order of the input array is keep.
237
- *
238
- * @param packageNames
239
- */
240
-
241
-
242
- getVersions(...packageNames) {
243
- return Promise.all(packageNames.map(packageName => {
244
- return this.getVersion(packageName);
245
- }));
246
- }
247
- /**
248
- * Return the latest version of the input package available on npmjs registry.
249
- * If constraint are provided it return the latest version matching the constraints.
250
- *
251
- * For `@storybook/*` packages the latest version is retrieved from `cli/src/versions.json` file directly
252
- *
253
- * @param packageName The name of the package
254
- * @param constraint A valid semver constraint, example: '1.x || >=2.5.0 || 5.0.0 - 7.2.3'
255
- */
256
-
257
-
258
- async getVersion(packageName, constraint) {
259
- let current;
260
-
261
- if (/(@storybook|^sb$|^storybook$)/.test(packageName)) {
262
- // @ts-ignore
263
- current = _versions.default[packageName];
264
- }
265
-
266
- let latest;
267
-
268
- try {
269
- latest = await this.latestVersion(packageName, constraint);
270
- } catch (e) {
271
- if (current) {
272
- logger.warn(`\n ${_chalk.default.yellow(e.message)}`);
273
- return current;
274
- }
275
-
276
- logger.error(`\n ${_chalk.default.red(e.message)}`);
277
- process.exit(1);
278
- }
279
-
280
- const versionToUse = current && (!constraint || (0, _semver.satisfies)(current, constraint)) && (0, _semver.gt)(current, latest) ? current : latest;
281
- return `^${versionToUse}`;
282
- }
283
- /**
284
- * Get the latest version of the package available on npmjs.com.
285
- * If constraint is set then it returns a version satisfying it, otherwise the latest version available is returned.
286
- *
287
- * @param packageName Name of the package
288
- * @param constraint Version range to use to constraint the returned version
289
- */
290
-
291
-
292
- async latestVersion(packageName, constraint) {
293
- if (!constraint) {
294
- return this.runGetVersions(packageName, false);
295
- }
296
-
297
- const versions = await this.runGetVersions(packageName, true); // Get the latest version satisfying the constraint
298
-
299
- return versions.reverse().find(version => (0, _semver.satisfies)(version, constraint));
300
- }
301
-
302
- addStorybookCommandInScripts(options) {
303
- const sbPort = (options === null || options === void 0 ? void 0 : options.port) ?? 6006;
304
- const storybookCmd = options !== null && options !== void 0 && options.staticFolder ? `npx storybook dev -p ${sbPort} -s ${options.staticFolder}` : `npx storybook dev -p ${sbPort}`;
305
- const buildStorybookCmd = options !== null && options !== void 0 && options.staticFolder ? `npx storybook build -s ${options.staticFolder}` : `npx storybook build`;
306
- const preCommand = options !== null && options !== void 0 && options.preCommand ? this.getRunCommand(options.preCommand) : undefined;
307
- this.addScripts({
308
- storybook: [preCommand, storybookCmd].filter(Boolean).join(' && '),
309
- 'build-storybook': [preCommand, buildStorybookCmd].filter(Boolean).join(' && ')
310
- });
311
- }
312
-
313
- addESLintConfig() {
314
- var _packageJson$eslintCo;
315
-
316
- const packageJson = this.retrievePackageJson();
317
- this.writePackageJson(Object.assign({}, packageJson, {
318
- eslintConfig: Object.assign({}, packageJson.eslintConfig, {
319
- overrides: [...(((_packageJson$eslintCo = packageJson.eslintConfig) === null || _packageJson$eslintCo === void 0 ? void 0 : _packageJson$eslintCo.overrides) || []), {
320
- files: ['**/*.stories.*'],
321
- rules: {
322
- 'import/no-anonymous-default-export': 'off'
323
- }
324
- }]
325
- })
326
- }));
327
- }
328
-
329
- addScripts(scripts) {
330
- const packageJson = this.retrievePackageJson();
331
- this.writePackageJson(Object.assign({}, packageJson, {
332
- scripts: Object.assign({}, packageJson.scripts, scripts)
333
- }));
334
- }
335
-
336
- addPackageResolutions(versions) {
337
- const packageJson = this.retrievePackageJson();
338
- const resolutions = this.getResolutions(packageJson, versions);
339
- this.writePackageJson(Object.assign({}, packageJson, resolutions));
340
- }
341
-
342
- executeCommand(command, args, stdio) {
343
- const commandResult = (0, _crossSpawn.sync)(command, args, {
344
- cwd: this.cwd,
345
- stdio: stdio ?? 'pipe',
346
- encoding: 'utf-8'
347
- });
348
-
349
- if (commandResult.status !== 0) {
350
- throw new Error(commandResult.stderr ?? '');
351
- }
352
-
353
- return commandResult.stdout ?? '';
354
- }
355
-
356
- }
357
-
358
- exports.JsPackageManager = JsPackageManager;