@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,15 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _baseGenerator = require("../baseGenerator");
9
-
10
- const generator = async (packageManager, npmOptions, options) => {
11
- await (0, _baseGenerator.baseGenerator)(packageManager, npmOptions, options, 'react');
12
- };
13
-
14
- var _default = generator;
15
- exports.default = _default;
@@ -1,208 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.baseGenerator = baseGenerator;
7
-
8
- var _fsExtra = _interopRequireDefault(require("fs-extra"));
9
-
10
- var _tsDedent = require("ts-dedent");
11
-
12
- var _project_types = require("../project_types");
13
-
14
- var _helpers = require("../helpers");
15
-
16
- var _configure = require("./configure");
17
-
18
- var _jsPackageManager = require("../js-package-manager");
19
-
20
- var _babelConfig = require("../babel-config");
21
-
22
- var _versions = _interopRequireDefault(require("../versions"));
23
-
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
- const defaultOptions = {
27
- extraPackages: [],
28
- extraAddons: [],
29
- staticDir: undefined,
30
- addScripts: true,
31
- addComponents: true,
32
- addBabel: true,
33
- addESLint: false,
34
- extraMain: undefined,
35
- framework: undefined,
36
- extensions: undefined,
37
- commonJs: false
38
- };
39
-
40
- const getBuilderDetails = builder => {
41
- const map = _versions.default;
42
-
43
- if (map[builder]) {
44
- return builder;
45
- }
46
-
47
- const builderPackage = `@storybook/${builder}`;
48
-
49
- if (map[builderPackage]) {
50
- return builderPackage;
51
- }
52
-
53
- return builder;
54
- };
55
-
56
- const wrapForPnp = packageName => `%%path.dirname(require.resolve(path.join('${packageName}', 'package.json')))%%`;
57
-
58
- const getFrameworkDetails = (renderer, builder, pnp) => {
59
- const frameworkPackage = `@storybook/${renderer}-${builder}`;
60
- const frameworkPackagePath = pnp ? wrapForPnp(frameworkPackage) : frameworkPackage;
61
- const rendererPackage = `@storybook/${renderer}`;
62
- const rendererPackagePath = pnp ? wrapForPnp(rendererPackage) : rendererPackage;
63
- const builderPackage = getBuilderDetails(builder);
64
- const builderPackagePath = pnp ? wrapForPnp(builderPackage) : builderPackage;
65
- const isKnownFramework = !!_versions.default[frameworkPackage];
66
- const isKnownRenderer = !!_versions.default[rendererPackage];
67
-
68
- if (renderer === 'angular') {
69
- return {
70
- packages: [rendererPackage],
71
- framework: rendererPackagePath,
72
- rendererId: 'angular',
73
- type: 'framework'
74
- };
75
- }
76
-
77
- if (isKnownFramework) {
78
- return {
79
- packages: [frameworkPackage],
80
- framework: frameworkPackagePath,
81
- rendererId: renderer,
82
- type: 'framework'
83
- };
84
- }
85
-
86
- if (isKnownRenderer) {
87
- return {
88
- packages: [rendererPackage, builderPackage],
89
- builder: builderPackagePath,
90
- renderer: rendererPackagePath,
91
- rendererId: renderer,
92
- type: 'renderer'
93
- };
94
- }
95
-
96
- throw new Error(`Could not find the framework (${frameworkPackage}) or renderer (${rendererPackage}) package`);
97
- };
98
-
99
- const stripVersions = addons => addons.map(addon => (0, _jsPackageManager.getPackageDetails)(addon)[0]);
100
-
101
- const hasInteractiveStories = rendererId => ['react', 'angular', 'preact', 'svelte', 'vue', 'vue3', 'html'].includes(rendererId);
102
-
103
- async function baseGenerator(packageManager, npmOptions, {
104
- language,
105
- builder = _project_types.CoreBuilder.Webpack5,
106
- pnp,
107
- commonJs
108
- }, renderer, options = defaultOptions) {
109
- const {
110
- extraAddons: extraAddonPackages,
111
- extraPackages,
112
- staticDir,
113
- addScripts,
114
- addComponents,
115
- addBabel,
116
- addESLint,
117
- extraMain,
118
- extensions
119
- } = Object.assign({}, defaultOptions, options);
120
- const {
121
- packages: frameworkPackages,
122
- type,
123
- // @ts-ignore
124
- renderer: rendererInclude,
125
- // deepscan-disable-line UNUSED_DECL
126
- rendererId,
127
- framework: frameworkInclude,
128
- builder: builderInclude
129
- } = getFrameworkDetails(renderer, builder, pnp); // added to main.js
130
-
131
- const addons = ['@storybook/addon-links', '@storybook/addon-essentials', ...stripVersions(extraAddonPackages)]; // added to package.json
132
-
133
- const addonPackages = ['@storybook/addon-links', '@storybook/addon-essentials', ...extraAddonPackages];
134
-
135
- if (hasInteractiveStories(rendererId)) {
136
- addons.push('@storybook/addon-interactions');
137
- addonPackages.push('@storybook/addon-interactions', '@storybook/testing-library');
138
- }
139
-
140
- const yarn2ExtraPackages = packageManager.type === 'yarn2' ? ['@storybook/addon-docs', '@mdx-js/react@1.x.x'] : [];
141
- const files = await _fsExtra.default.readdir(process.cwd());
142
- const packageJson = packageManager.retrievePackageJson();
143
- const installedDependencies = new Set(Object.keys(Object.assign({}, packageJson.dependencies, packageJson.devDependencies))); // TODO: We need to start supporting this at some point
144
-
145
- if (type === 'renderer') {
146
- throw new Error((0, _tsDedent.dedent)`
147
- Sorry, for now, you can not do this, please use a framework such as @storybook/react-webpack5
148
-
149
- https://github.com/storybookjs/storybook/issues/18360
150
- `);
151
- }
152
-
153
- const packages = ['storybook', `@storybook/${renderer}`, ...frameworkPackages, ...addonPackages, ...extraPackages, ...yarn2ExtraPackages].filter(Boolean).filter(packageToInstall => !installedDependencies.has((0, _jsPackageManager.getPackageDetails)(packageToInstall)[0]));
154
- const versionedPackages = await packageManager.getVersionedPackages(packages);
155
- await _fsExtra.default.ensureDir('./.storybook');
156
- await (0, _configure.configureMain)(Object.assign({
157
- framework: {
158
- name: frameworkInclude,
159
- options: options.framework || {}
160
- },
161
- addons: pnp ? addons.map(wrapForPnp) : addons,
162
- extensions,
163
- commonJs
164
- }, extraMain, type !== 'framework' ? {
165
- core: {
166
- builder: builderInclude
167
- }
168
- } : {}));
169
- await (0, _configure.configurePreview)(renderer, options.commonJs);
170
-
171
- if (addComponents) {
172
- await (0, _helpers.copyComponents)(renderer, language);
173
- } // FIXME: temporary workaround for https://github.com/storybookjs/storybook/issues/17516
174
-
175
-
176
- if (frameworkPackages.find(pkg => pkg.match(/^@storybook\/.*-vite$/))) {
177
- const previewHead = (0, _tsDedent.dedent)`
178
- <script>
179
- window.global = window;
180
- </script>
181
- `;
182
- await _fsExtra.default.writeFile(`.storybook/preview-head.html`, previewHead, {
183
- encoding: 'utf8'
184
- });
185
- }
186
-
187
- const babelDependencies = addBabel && builder !== _project_types.CoreBuilder.Vite ? await (0, _helpers.getBabelDependencies)(packageManager, packageJson) : [];
188
- const isNewFolder = !files.some(fname => fname.startsWith('.babel') || fname.startsWith('babel') || fname === 'package.json');
189
-
190
- if (isNewFolder) {
191
- await (0, _babelConfig.generateStorybookBabelConfigInCWD)();
192
- }
193
-
194
- packageManager.addDependencies(Object.assign({}, npmOptions, {
195
- packageJson
196
- }), [...versionedPackages, ...babelDependencies]);
197
-
198
- if (addScripts) {
199
- packageManager.addStorybookCommandInScripts({
200
- port: 6006,
201
- staticFolder: staticDir
202
- });
203
- }
204
-
205
- if (addESLint) {
206
- packageManager.addESLintConfig();
207
- }
208
- }
@@ -1,83 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.configureMain = configureMain;
7
- exports.configurePreview = configurePreview;
8
-
9
- var _fsExtra = _interopRequireDefault(require("fs-extra"));
10
-
11
- var _tsDedent = require("ts-dedent");
12
-
13
- const _excluded = ["addons", "extensions", "commonJs"];
14
-
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
-
17
- 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; }
18
-
19
- async function configureMain(_ref) {
20
- let {
21
- addons,
22
- extensions = ['js', 'jsx', 'ts', 'tsx'],
23
- commonJs = false
24
- } = _ref,
25
- custom = _objectWithoutPropertiesLoose(_ref, _excluded);
26
-
27
- const prefix = (await _fsExtra.default.pathExists('./src')) ? '../src' : '../stories';
28
- const config = Object.assign({
29
- stories: [`${prefix}/**/*.stories.mdx`, `${prefix}/**/*.stories.@(${extensions.join('|')})`],
30
- addons
31
- }, custom); // replace escaped values and delimiters
32
-
33
- const stringified = `module.exports = ${JSON.stringify(config, null, 2).replace(/\\"/g, '"').replace(/['"]%%/g, '').replace(/%%['"]/g, '').replace(/\\n/g, '\r\n')}`; // main.js isn't actually JSON, but we used JSON.stringify to convert the runtime-object into code.
34
- // un-stringify the value for referencing packages by string
35
- // .replaceAll(/"(path\.dirname\(require\.resolve\(path\.join\('.*\))"/g, (_, a) => a)}`;
36
-
37
- await _fsExtra.default.writeFile(`./.storybook/main.${commonJs ? 'cjs' : 'js'}`, (0, _tsDedent.dedent)`
38
- const path = require('path');
39
- ${stringified}
40
- `, {
41
- encoding: 'utf8'
42
- });
43
- }
44
-
45
- const frameworkToPreviewParts = {
46
- angular: {
47
- prefix: (0, _tsDedent.dedent)`
48
- import { setCompodocJson } from "@storybook/addon-docs/angular";
49
- import docJson from "../documentation.json";
50
- setCompodocJson(docJson);
51
-
52
- `.trimStart(),
53
- extraParameters: 'docs: { inlineStories: true },'
54
- }
55
- };
56
-
57
- async function configurePreview(framework, commonJs) {
58
- const {
59
- prefix = '',
60
- extraParameters = ''
61
- } = frameworkToPreviewParts[framework] || {};
62
- const previewPath = `./.storybook/preview.${commonJs ? 'cjs' : 'js'}`; // If the framework template included a preview then we have nothing to do
63
-
64
- if (await _fsExtra.default.pathExists(previewPath)) {
65
- return;
66
- }
67
-
68
- const preview = (0, _tsDedent.dedent)`
69
- ${prefix}
70
- export const parameters = {
71
- actions: { argTypesRegex: "^on[A-Z].*" },
72
- controls: {
73
- matchers: {
74
- color: /(background|color)$/i,
75
- date: /Date$/,
76
- },
77
- },
78
- ${extraParameters}
79
- }`.replace(' \n', '').trim();
80
- await _fsExtra.default.writeFile(previewPath, preview, {
81
- encoding: 'utf8'
82
- });
83
- }
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
@@ -1,258 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.addToDevDependenciesIfNotPresent = addToDevDependenciesIfNotPresent;
7
- exports.codeLog = codeLog;
8
- exports.commandLog = void 0;
9
- exports.copyComponents = copyComponents;
10
- exports.copyTemplate = copyTemplate;
11
- exports.getBabelDependencies = getBabelDependencies;
12
- exports.getBowerJson = getBowerJson;
13
- exports.getChars = getChars;
14
- exports.getStorybookVersionSpecifier = getStorybookVersionSpecifier;
15
- exports.paddedLog = paddedLog;
16
- exports.readFileAsJson = readFileAsJson;
17
- exports.writeFileAsJson = void 0;
18
-
19
- var _path = _interopRequireWildcard(require("path"));
20
-
21
- var _fs = _interopRequireDefault(require("fs"));
22
-
23
- var _fsExtra = _interopRequireDefault(require("fs-extra"));
24
-
25
- var _chalk = _interopRequireDefault(require("chalk"));
26
-
27
- var _semver = require("@storybook/semver");
28
-
29
- var _stripJsonComments = _interopRequireDefault(require("strip-json-comments"));
30
-
31
- var _dirs = require("./dirs");
32
-
33
- var _versions = _interopRequireDefault(require("./versions"));
34
-
35
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
-
37
- 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); }
38
-
39
- 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; }
40
-
41
- /* eslint-disable no-param-reassign */
42
- const logger = console;
43
-
44
- function getBowerJson() {
45
- const bowerJsonPath = _path.default.resolve('bower.json');
46
-
47
- if (!_fs.default.existsSync(bowerJsonPath)) {
48
- return false;
49
- }
50
-
51
- const jsonContent = _fs.default.readFileSync(bowerJsonPath, 'utf8');
52
-
53
- return JSON.parse(jsonContent);
54
- }
55
-
56
- function readFileAsJson(jsonPath, allowComments) {
57
- const filePath = _path.default.resolve(jsonPath);
58
-
59
- if (!_fs.default.existsSync(filePath)) {
60
- return false;
61
- }
62
-
63
- const fileContent = _fs.default.readFileSync(filePath, 'utf8');
64
-
65
- const jsonContent = allowComments ? (0, _stripJsonComments.default)(fileContent) : fileContent;
66
-
67
- try {
68
- return JSON.parse(jsonContent);
69
- } catch (e) {
70
- logger.error(_chalk.default.red(`Invalid json in file: ${filePath}`));
71
- throw e;
72
- }
73
- }
74
-
75
- const writeFileAsJson = (jsonPath, content) => {
76
- const filePath = _path.default.resolve(jsonPath);
77
-
78
- if (!_fs.default.existsSync(filePath)) {
79
- return false;
80
- }
81
-
82
- _fs.default.writeFileSync(filePath, `${JSON.stringify(content, null, 2)}\n`);
83
-
84
- return true;
85
- };
86
-
87
- exports.writeFileAsJson = writeFileAsJson;
88
-
89
- const commandLog = message => {
90
- process.stdout.write(_chalk.default.cyan(' • ') + message); // Need `void` to be able to use this function in a then of a Promise<void>
91
-
92
- return (errorMessage, errorInfo) => {
93
- if (errorMessage) {
94
- process.stdout.write(`. ${_chalk.default.red('✖')}\n`);
95
- logger.error(`\n ${_chalk.default.red(errorMessage)}`);
96
-
97
- if (!errorInfo) {
98
- return;
99
- }
100
-
101
- const newErrorInfo = errorInfo.split('\n').map(line => ` ${_chalk.default.dim(line)}`).join('\n');
102
- logger.error(`${newErrorInfo}\n`);
103
- return;
104
- }
105
-
106
- process.stdout.write(`. ${_chalk.default.green('✓')}\n`);
107
- };
108
- };
109
-
110
- exports.commandLog = commandLog;
111
-
112
- function paddedLog(message) {
113
- const newMessage = message.split('\n').map(line => ` ${line}`).join('\n');
114
- logger.log(newMessage);
115
- }
116
-
117
- function getChars(char, amount) {
118
- let line = '';
119
-
120
- for (let lc = 0; lc < amount; lc += 1) {
121
- line += char;
122
- }
123
-
124
- return line;
125
- }
126
-
127
- function codeLog(codeLines, leftPadAmount) {
128
- let maxLength = 0;
129
- const newLines = codeLines.map(line => {
130
- maxLength = line.length > maxLength ? line.length : maxLength;
131
- return line;
132
- });
133
- const finalResult = newLines.map(line => {
134
- const rightPadAmount = maxLength - line.length;
135
- let newLine = line + getChars(' ', rightPadAmount);
136
- newLine = getChars(' ', leftPadAmount || 2) + _chalk.default.inverse(` ${newLine} `);
137
- return newLine;
138
- }).join('\n');
139
- logger.log(finalResult);
140
- }
141
- /**
142
- * Detect if any babel dependencies need to be added to the project
143
- * @param {Object} packageJson The current package.json so we can inspect its contents
144
- * @returns {Array} Contains the packages and versions that need to be installed
145
- * @example
146
- * const babelDependencies = await getBabelDependencies(packageManager, npmOptions, packageJson);
147
- * // you can then spread the result when using installDependencies
148
- * installDependencies(npmOptions, [
149
- * `@storybook/react@${storybookVersion}`,
150
- * ...babelDependencies,
151
- * ]);
152
- */
153
-
154
-
155
- async function getBabelDependencies(packageManager, packageJson) {
156
- const dependenciesToAdd = [];
157
- let babelLoaderVersion = '^8.0.0-0';
158
- const babelCoreVersion = packageJson.dependencies['babel-core'] || packageJson.devDependencies['babel-core'];
159
-
160
- if (!babelCoreVersion) {
161
- if (!packageJson.dependencies['@babel/core'] && !packageJson.devDependencies['@babel/core']) {
162
- const babelCoreInstallVersion = await packageManager.getVersion('@babel/core');
163
- dependenciesToAdd.push(`@babel/core@${babelCoreInstallVersion}`);
164
- }
165
- } else {
166
- const latestCompatibleBabelVersion = await packageManager.latestVersion('babel-core', babelCoreVersion); // Babel 6
167
-
168
- if ((0, _semver.satisfies)(latestCompatibleBabelVersion, '^6.0.0')) {
169
- babelLoaderVersion = '^7.0.0';
170
- }
171
- }
172
-
173
- if (!packageJson.dependencies['babel-loader'] && !packageJson.devDependencies['babel-loader']) {
174
- const babelLoaderInstallVersion = await packageManager.getVersion('babel-loader', babelLoaderVersion);
175
- dependenciesToAdd.push(`babel-loader@${babelLoaderInstallVersion}`);
176
- }
177
-
178
- return dependenciesToAdd;
179
- }
180
-
181
- function addToDevDependenciesIfNotPresent(packageJson, name, packageVersion) {
182
- if (!packageJson.dependencies[name] && !packageJson.devDependencies[name]) {
183
- packageJson.devDependencies[name] = packageVersion;
184
- }
185
- }
186
-
187
- function copyTemplate(templateRoot) {
188
- const templateDir = _path.default.resolve(templateRoot, `template-csf/`);
189
-
190
- if (!_fs.default.existsSync(templateDir)) {
191
- throw new Error(`Couldn't find template dir`);
192
- }
193
-
194
- _fsExtra.default.copySync(templateDir, '.', {
195
- overwrite: true
196
- });
197
- }
198
-
199
- async function copyComponents(renderer, language) {
200
- const languageFolderMapping = {
201
- javascript: 'js',
202
- typescript: 'ts'
203
- };
204
-
205
- const componentsPath = async () => {
206
- const baseDir = (0, _dirs.getBaseDir)();
207
- const assetsRoot = (0, _path.join)(baseDir, 'rendererAssets');
208
- const assetsRenderer = (0, _path.join)(assetsRoot, renderer);
209
- const assetsLanguage = (0, _path.join)(assetsRenderer, languageFolderMapping[language]);
210
-
211
- if (await _fsExtra.default.pathExists(assetsLanguage)) {
212
- return assetsLanguage;
213
- }
214
-
215
- const assetsJS = (0, _path.join)(assetsRenderer, languageFolderMapping.javascript);
216
-
217
- if (await _fsExtra.default.pathExists(assetsJS)) {
218
- return assetsJS;
219
- }
220
-
221
- if (await _fsExtra.default.pathExists(assetsRenderer)) {
222
- return assetsRenderer;
223
- }
224
-
225
- throw new Error(`Unsupported renderer: ${renderer}`);
226
- };
227
-
228
- const targetPath = async () => {
229
- if (await _fsExtra.default.pathExists('./src')) {
230
- return './src/stories';
231
- }
232
-
233
- return './stories';
234
- };
235
-
236
- const destinationPath = await targetPath();
237
- await _fsExtra.default.copy(await componentsPath(), destinationPath, {
238
- overwrite: true
239
- });
240
- await _fsExtra.default.copy((0, _path.join)((0, _dirs.getBaseDir)(), 'rendererAssets/common'), destinationPath, {
241
- overwrite: true
242
- });
243
- } // Given a package.json, finds any official storybook package within it
244
- // and if it exists, returns the version of that package from the specified package.json
245
-
246
-
247
- function getStorybookVersionSpecifier(packageJson) {
248
- const allDeps = Object.assign({}, packageJson.dependencies, packageJson.devDependencies);
249
- const storybookPackage = Object.keys(allDeps).find(name => {
250
- return _versions.default[name];
251
- });
252
-
253
- if (!storybookPackage) {
254
- throw new Error(`Couldn't find any official storybook packages in package.json`);
255
- }
256
-
257
- return allDeps[storybookPackage];
258
- }