@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,19 +1,17 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { TouchableHighlight } from 'react-native';
4
- export default function Button({
5
- onPress,
6
- children
7
- }) {
8
- return /*#__PURE__*/React.createElement(TouchableHighlight, {
9
- onPress: onPress
10
- }, children);
4
+
5
+ export default function Button({ onPress, children }) {
6
+ return <TouchableHighlight onPress={onPress}>{children}</TouchableHighlight>;
11
7
  }
8
+
12
9
  Button.defaultProps = {
13
10
  children: null,
14
- onPress: () => {}
11
+ onPress: () => {},
15
12
  };
13
+
16
14
  Button.propTypes = {
17
15
  children: PropTypes.node,
18
- onPress: PropTypes.func
19
- };
16
+ onPress: PropTypes.func,
17
+ };
@@ -2,16 +2,15 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { View } from 'react-native';
4
4
  import style from './style';
5
- export default function CenterView({
6
- children
7
- }) {
8
- return /*#__PURE__*/React.createElement(View, {
9
- style: style.main
10
- }, children);
5
+
6
+ export default function CenterView({ children }) {
7
+ return <View style={style.main}>{children}</View>;
11
8
  }
9
+
12
10
  CenterView.defaultProps = {
13
- children: null
11
+ children: null,
14
12
  };
13
+
15
14
  CenterView.propTypes = {
16
- children: PropTypes.node
17
- };
15
+ children: PropTypes.node,
16
+ };
@@ -3,6 +3,6 @@ export default {
3
3
  flex: 1,
4
4
  justifyContent: 'center',
5
5
  alignItems: 'center',
6
- backgroundColor: '#F5FCFF'
7
- }
8
- };
6
+ backgroundColor: '#F5FCFF',
7
+ },
8
+ };
@@ -2,6 +2,5 @@ import React from 'react';
2
2
  import { linkTo } from '@storybook/addon-links';
3
3
  import { storiesOf } from '@storybook/react-native';
4
4
  import Welcome from '.';
5
- storiesOf('Welcome', module).add('to Storybook', () => /*#__PURE__*/React.createElement(Welcome, {
6
- showApp: linkTo('Button')
7
- }));
5
+
6
+ storiesOf('Welcome', module).add('to Storybook', () => <Welcome showApp={linkTo('Button')} />);
@@ -0,0 +1,57 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { View, Text } from 'react-native';
4
+
5
+ export default class Welcome extends React.Component {
6
+ styles = {
7
+ wrapper: {
8
+ flex: 1,
9
+ padding: 24,
10
+ justifyContent: 'center',
11
+ },
12
+ header: {
13
+ fontSize: 18,
14
+ marginBottom: 18,
15
+ },
16
+ content: {
17
+ fontSize: 12,
18
+ marginBottom: 10,
19
+ lineHeight: 18,
20
+ },
21
+ };
22
+
23
+ showApp = (event) => {
24
+ const { showApp } = this.props;
25
+ event.preventDefault();
26
+
27
+ if (showApp) {
28
+ showApp();
29
+ }
30
+ };
31
+
32
+ render() {
33
+ return (
34
+ <View style={this.styles.wrapper}>
35
+ <Text style={this.styles.header}>Welcome to React Native Storybook</Text>
36
+ <Text style={this.styles.content}>
37
+ This is a UI Component development environment for your React Native app. Here you can
38
+ display and interact with your UI components as stories. A story is a single state of one
39
+ or more UI components. You can have as many stories as you want. In other words a story is
40
+ like a visual test case.
41
+ </Text>
42
+ <Text style={this.styles.content}>
43
+ We have added some stories inside the "storybook/stories" directory for examples. Try
44
+ editing the "storybook/stories/Welcome.js" file to edit this message.
45
+ </Text>
46
+ </View>
47
+ );
48
+ }
49
+ }
50
+
51
+ Welcome.defaultProps = {
52
+ showApp: null,
53
+ };
54
+
55
+ Welcome.propTypes = {
56
+ showApp: PropTypes.func,
57
+ };
@@ -0,0 +1,2 @@
1
+ import './Button/Button.stories';
2
+ import './Welcome/Welcome.stories';
@@ -0,0 +1,5 @@
1
+ export const parameters = {
2
+ server: {
3
+ url: 'http://storybook-server-demo.netlify.app/api',
4
+ },
5
+ };
@@ -1 +0,0 @@
1
- "use strict";
package/dist/cjs/add.js DELETED
@@ -1,149 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.add = add;
7
- exports.storybookAddonScope = exports.getPackageName = exports.getPackageArg = exports.getInstalledStorybookVersion = exports.addStorybookAddonToFile = void 0;
8
-
9
- var _path = _interopRequireDefault(require("path"));
10
-
11
- var _fs = _interopRequireDefault(require("fs"));
12
-
13
- var _crossSpawn = require("cross-spawn");
14
-
15
- var _helpers = require("./helpers");
16
-
17
- var _jsPackageManager = require("./js-package-manager");
18
-
19
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
-
21
- const logger = console;
22
- const storybookAddonScope = '@storybook/addon-';
23
- exports.storybookAddonScope = storybookAddonScope;
24
-
25
- const isAddon = async (packageManager, name) => {
26
- try {
27
- await packageManager.latestVersion(name);
28
- return true;
29
- } catch (e) {
30
- return false;
31
- }
32
- };
33
-
34
- const isStorybookAddon = async (packageManager, name) => isAddon(packageManager, `${storybookAddonScope}${name}`);
35
-
36
- const getPackageName = (addonName, isOfficialAddon) => isOfficialAddon ? storybookAddonScope + addonName : addonName;
37
-
38
- exports.getPackageName = getPackageName;
39
-
40
- const getInstalledStorybookVersion = packageJson => packageJson.devDependencies[// This only considers the first occurrence.
41
- Object.keys(packageJson.devDependencies).find(devDep => /@storybook/.test(devDep))] || false;
42
-
43
- exports.getInstalledStorybookVersion = getInstalledStorybookVersion;
44
-
45
- const getPackageArg = (addonName, isOfficialAddon, packageJson) => {
46
- if (isOfficialAddon) {
47
- const addonNameNoTag = addonName.split('@')[0];
48
- const installedStorybookVersion = getInstalledStorybookVersion(packageJson);
49
- return installedStorybookVersion ? `${addonNameNoTag}@${getInstalledStorybookVersion(packageJson)}` : addonName;
50
- }
51
-
52
- return addonName;
53
- };
54
-
55
- exports.getPackageArg = getPackageArg;
56
-
57
- const installAddon = (packageManager, addonName, isOfficialAddon) => {
58
- const prepareDone = (0, _helpers.commandLog)(`Preparing to install the ${addonName} Storybook addon`);
59
- prepareDone();
60
- logger.log();
61
- const packageArg = getPackageArg(addonName, isOfficialAddon, packageManager.retrievePackageJson());
62
- logger.log();
63
- const installDone = (0, _helpers.commandLog)(`Installing the ${addonName} Storybook addon`);
64
-
65
- try {
66
- packageManager.addDependencies({}, [packageArg]);
67
- } catch (e) {
68
- installDone(`Something went wrong installing the addon: "${getPackageName(addonName, isOfficialAddon)}"`);
69
- logger.log();
70
- process.exit(1);
71
- }
72
-
73
- installDone();
74
- };
75
-
76
- const addStorybookAddonToFile = (addonName, addonsFile, isOfficialAddon) => {
77
- const addonNameNoTag = addonName.split('@')[0];
78
- const alreadyRegistered = addonsFile.find(line => line.includes(`${addonNameNoTag}/manager`));
79
-
80
- if (alreadyRegistered) {
81
- return addonsFile;
82
- }
83
-
84
- const latestImportIndex = addonsFile.reduce((prev, curr, currIndex) => curr.startsWith('import') && curr.includes('register') ? currIndex : prev, -1);
85
- return [...addonsFile.slice(0, latestImportIndex + 1), `import '${getPackageName(addonNameNoTag, isOfficialAddon)}/manager';`, ...addonsFile.slice(latestImportIndex + 1)];
86
- };
87
-
88
- exports.addStorybookAddonToFile = addStorybookAddonToFile;
89
- const LEGACY_CONFIGS = ['addons', 'config', 'presets'];
90
-
91
- const postinstallAddon = async (addonName, isOfficialAddon) => {
92
- let skipMsg = null;
93
-
94
- if (!isOfficialAddon) {
95
- skipMsg = 'unofficial addon';
96
- } else if (!_fs.default.existsSync('.storybook')) {
97
- skipMsg = 'no .storybook config';
98
- } else {
99
- skipMsg = 'no codmods found';
100
- LEGACY_CONFIGS.forEach(config => {
101
- try {
102
- const codemod = require.resolve(`${getPackageName(addonName, isOfficialAddon)}/postinstall/${config}.js`);
103
-
104
- (0, _helpers.commandLog)(`Running postinstall script for ${addonName}`)();
105
-
106
- let configFile = _path.default.join('.storybook', `${config}.ts`);
107
-
108
- if (!_fs.default.existsSync(configFile)) {
109
- configFile = _path.default.join('.storybook', `${config}.js`);
110
-
111
- if (!_fs.default.existsSync(configFile)) {
112
- _fs.default.writeFileSync(configFile, '', 'utf8');
113
- }
114
- }
115
-
116
- (0, _crossSpawn.sync)('npx', ['jscodeshift', '-t', codemod, configFile], {
117
- stdio: 'inherit'
118
- });
119
- skipMsg = null;
120
- } catch (err) {// resolve failed, skip
121
- }
122
- });
123
- }
124
-
125
- if (skipMsg) {
126
- (0, _helpers.commandLog)(`Skipping postinstall for ${addonName}, ${skipMsg}`)();
127
- }
128
- };
129
-
130
- async function add(addonName, options) {
131
- const packageManager = _jsPackageManager.JsPackageManagerFactory.getPackageManager(options.useNpm);
132
-
133
- const addonCheckDone = (0, _helpers.commandLog)(`Verifying that ${addonName} is an addon`);
134
- const isOfficialAddon = await isStorybookAddon(packageManager, addonName);
135
-
136
- if (!isOfficialAddon) {
137
- if (!(await isAddon(packageManager, addonName))) {
138
- addonCheckDone(`The provided package was not a Storybook addon: ${addonName}.`);
139
- return;
140
- }
141
- }
142
-
143
- addonCheckDone();
144
- installAddon(packageManager, addonName, isOfficialAddon);
145
-
146
- if (!options.skipPostinstall) {
147
- await postinstallAddon(addonName, isOfficialAddon);
148
- }
149
- }
@@ -1,74 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.angular12 = 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 Angular12?
20
- *
21
- * If so:
22
- * - Run webpack5 fix
23
- */
24
- const angular12 = {
25
- id: 'angular12',
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 angularVersion = dependencies['@angular/core'] || devDependencies['@angular/core'];
38
- const angularCoerced = (_semver$coerce = _semver.default.coerce(angularVersion)) === null || _semver$coerce === void 0 ? void 0 : _semver$coerce.version;
39
-
40
- if (!angularCoerced || _semver.default.lt(angularCoerced, '12.0.0')) {
41
- return null;
42
- }
43
-
44
- const builderInfo = await _webpack.webpack5.checkWebpack5Builder(packageJson);
45
- return builderInfo ? Object.assign({
46
- angularVersion
47
- }, builderInfo) : null;
48
- },
49
-
50
- prompt({
51
- angularVersion
52
- }) {
53
- const angularFormatted = _chalk.default.cyan(`Angular ${angularVersion}`);
54
-
55
- return (0, _tsDedent.dedent)`
56
- We've detected you are running ${angularFormatted} which is powered by webpack5.
57
- Your Storybook's main.js files specifies webpack4, which is incompatible.
58
-
59
- In order to work with your version of Angular, we need to install Storybook's ${_chalk.default.cyan('@storybook/builder-webpack5')}.
60
-
61
- More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#angular12-upgrade')}
62
- `;
63
- },
64
-
65
- async run(options) {
66
- return _webpack.webpack5.run(Object.assign({}, options, {
67
- result: Object.assign({
68
- webpackVersion: null
69
- }, options.result)
70
- }));
71
- }
72
-
73
- };
74
- exports.angular12 = angular12;
@@ -1,118 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.builderVite = void 0;
7
-
8
- var _chalk = _interopRequireDefault(require("chalk"));
9
-
10
- var _tsDedent = require("ts-dedent");
11
-
12
- var _csfTools = require("@storybook/csf-tools");
13
-
14
- var _coreCommon = require("@storybook/core-common");
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- const logger = console;
19
-
20
- /**
21
- * Is the user using 'storybook-builder-vite' in their project?
22
- *
23
- * If so, prompt them to upgrade to '@storybook/builder-vite'.
24
- *
25
- * - Add '@storybook/builder-vite' as dev dependency
26
- * - Remove 'storybook-builder-vite' dependency
27
- * - Add core.builder = '@storybook/builder-vite' to main.js
28
- */
29
- const builderVite = {
30
- id: 'builder-vite',
31
-
32
- async check({
33
- packageManager
34
- }) {
35
- const packageJson = packageManager.retrievePackageJson();
36
- const {
37
- mainConfig
38
- } = (0, _coreCommon.getStorybookInfo)(packageJson);
39
-
40
- if (!mainConfig) {
41
- logger.warn('Unable to find storybook main.js config');
42
- return null;
43
- }
44
-
45
- const main = await (0, _csfTools.readConfig)(mainConfig);
46
- const builder = main.getFieldValue(['core', 'builder']);
47
- const builderName = typeof builder === 'string' ? builder : builder === null || builder === void 0 ? void 0 : builder.name;
48
-
49
- if (builderName !== 'storybook-builder-vite') {
50
- return null;
51
- }
52
-
53
- return {
54
- builder,
55
- main,
56
- packageJson
57
- };
58
- },
59
-
60
- prompt({
61
- builder
62
- }) {
63
- const builderFormatted = _chalk.default.cyan(JSON.stringify(builder, null, 2));
64
-
65
- return (0, _tsDedent.dedent)`
66
- We've detected you're using the community vite builder: ${builderFormatted}
67
-
68
- 'storybook-builder-vite' is deprecated and now located at ${_chalk.default.cyan('@storybook/builder-vite')}.
69
-
70
- We can upgrade your project to use the new builder automatically.
71
-
72
- More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#vite-builder-renamed')}
73
- `;
74
- },
75
-
76
- async run({
77
- result: {
78
- builder,
79
- main,
80
- packageJson
81
- },
82
- packageManager,
83
- dryRun
84
- }) {
85
- const {
86
- dependencies = {},
87
- devDependencies = {}
88
- } = packageJson;
89
- logger.info(`Removing existing 'storybook-builder-vite' dependency`);
90
-
91
- if (!dryRun) {
92
- delete dependencies['storybook-builder-vite'];
93
- delete devDependencies['storybook-builder-vite'];
94
- packageManager.writePackageJson(packageJson);
95
- }
96
-
97
- logger.info(`Adding '@storybook/builder-vite' as dev dependency`);
98
-
99
- if (!dryRun) {
100
- packageManager.addDependencies({
101
- installAsDevDependencies: true
102
- }, ['@storybook/builder-vite']);
103
- }
104
-
105
- logger.info(`Updating main.js to use vite builder`);
106
-
107
- if (!dryRun) {
108
- const updatedBuilder = typeof builder === 'string' ? '@storybook/builder-vite' : {
109
- name: '@storybook/builder-vite',
110
- options: builder.options
111
- };
112
- main.setFieldValue(['core', 'builder'], updatedBuilder);
113
- await (0, _csfTools.writeConfig)(main);
114
- }
115
- }
116
-
117
- };
118
- exports.builderVite = builderVite;
@@ -1,82 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.cra5 = 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
- const _excluded = ["craVersion"];
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- 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; }
21
-
22
- /**
23
- * Is the user upgrading from CRA4 to CRA5?
24
- *
25
- * If so:
26
- * - Run webpack5 fix
27
- */
28
- const cra5 = {
29
- id: 'cra5',
30
-
31
- async check({
32
- packageManager
33
- }) {
34
- var _semver$coerce;
35
-
36
- const packageJson = packageManager.retrievePackageJson();
37
- const {
38
- dependencies,
39
- devDependencies
40
- } = packageJson;
41
- const craVersion = dependencies['react-scripts'] || devDependencies['react-scripts'];
42
- const craCoerced = (_semver$coerce = _semver.default.coerce(craVersion)) === null || _semver$coerce === void 0 ? void 0 : _semver$coerce.version;
43
-
44
- if (!craCoerced || _semver.default.lt(craCoerced, '5.0.0')) {
45
- return null;
46
- }
47
-
48
- const builderInfo = await _webpack.webpack5.checkWebpack5Builder(packageJson);
49
- return builderInfo ? Object.assign({
50
- craVersion
51
- }, builderInfo) : null;
52
- },
53
-
54
- prompt(_ref) {
55
- let {
56
- craVersion
57
- } = _ref,
58
- rest = _objectWithoutPropertiesLoose(_ref, _excluded);
59
-
60
- const craFormatted = _chalk.default.cyan(`Create React App (CRA) ${craVersion}`);
61
-
62
- console.log(Object.assign({}, rest));
63
- return (0, _tsDedent.dedent)`
64
- We've detected you are running ${craFormatted} which is powered by webpack5.
65
- Your Storybook's main.js files specifies webpack4, which is incompatible.
66
-
67
- In order to work with your version of CRA, we need to install Storybook's ${_chalk.default.cyan('@storybook/builder-webpack5')}.
68
-
69
- More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#cra5-upgrade')}
70
- `;
71
- },
72
-
73
- async run(options) {
74
- return _webpack.webpack5.run(Object.assign({}, options, {
75
- result: Object.assign({
76
- webpackVersion: null
77
- }, options.result)
78
- }));
79
- }
80
-
81
- };
82
- exports.cra5 = cra5;
@@ -1,126 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.eslintPlugin = void 0;
7
-
8
- var _chalk = _interopRequireDefault(require("chalk"));
9
-
10
- var _tsDedent = require("ts-dedent");
11
-
12
- var _csfTools = require("@storybook/csf-tools");
13
-
14
- var _coreCommon = require("@storybook/core-common");
15
-
16
- var _getEslintInfo = require("../helpers/getEslintInfo");
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- const logger = console;
21
-
22
- /**
23
- * Does the user not have eslint-plugin-storybook installed?
24
- *
25
- * If so:
26
- * - Install it, and if possible configure it
27
- */
28
- const eslintPlugin = {
29
- id: 'eslintPlugin',
30
-
31
- async check({
32
- packageManager
33
- }) {
34
- const packageJson = packageManager.retrievePackageJson();
35
- const {
36
- dependencies,
37
- devDependencies
38
- } = packageJson;
39
- const eslintPluginStorybook = dependencies['eslint-plugin-storybook'] || devDependencies['eslint-plugin-storybook'];
40
- const eslintDependency = dependencies.eslint || devDependencies.eslint;
41
-
42
- if (eslintPluginStorybook || !eslintDependency) {
43
- return null;
44
- }
45
-
46
- const {
47
- mainConfig
48
- } = (0, _coreCommon.getStorybookInfo)(packageJson);
49
-
50
- if (!mainConfig) {
51
- logger.warn('Unable to find storybook main.js config, skipping');
52
- return null;
53
- }
54
-
55
- let eslintFile;
56
- let unsupportedExtension;
57
-
58
- try {
59
- eslintFile = (0, _getEslintInfo.findEslintFile)();
60
- } catch (err) {
61
- unsupportedExtension = err.message;
62
- }
63
-
64
- if (!eslintFile && !unsupportedExtension) {
65
- logger.warn('Unable to find .eslintrc config file, skipping');
66
- return null;
67
- } // If in the future the eslint plugin has a framework option, using main to extract the framework field will be very useful
68
-
69
-
70
- const main = await (0, _csfTools.readConfig)(mainConfig);
71
- return {
72
- eslintFile,
73
- main,
74
- unsupportedExtension
75
- };
76
- },
77
-
78
- prompt() {
79
- return (0, _tsDedent.dedent)`
80
- We've detected you are not using our eslint-plugin.
81
-
82
- In order to have the best experience with Storybook and follow best practices, we advise you to install eslint-plugin-storybook.
83
-
84
- More info: ${_chalk.default.yellow('https://github.com/storybookjs/eslint-plugin-storybook#readme')}
85
- `;
86
- },
87
-
88
- async run({
89
- result: {
90
- eslintFile,
91
- unsupportedExtension
92
- },
93
- packageManager,
94
- dryRun
95
- }) {
96
- const deps = [`eslint-plugin-storybook`];
97
- logger.info(`✅ Adding dependencies: ${deps}`);
98
- if (!dryRun) packageManager.addDependencies({
99
- installAsDevDependencies: true
100
- }, deps);
101
-
102
- if (!dryRun && unsupportedExtension) {
103
- throw new Error((0, _tsDedent.dedent)`
104
- ⚠️ The plugin was successfuly installed but failed to configure.
105
-
106
- Found an .eslintrc config file with an unsupported automigration format: ${unsupportedExtension}.
107
- Supported formats for automigration are: ${_getEslintInfo.SUPPORTED_ESLINT_EXTENSIONS.join(', ')}.
108
-
109
- Please refer to https://github.com/storybookjs/eslint-plugin-storybook#usage to finish setting up the plugin manually.
110
- `);
111
- }
112
-
113
- const eslint = await (0, _csfTools.readConfig)(eslintFile);
114
- logger.info(`✅ Configuring eslint rules in ${eslint.fileName}`);
115
-
116
- if (!dryRun) {
117
- logger.info(`✅ Adding Storybook to extends list`);
118
- const extendsConfig = eslint.getFieldValue(['extends']) || [];
119
- const existingConfigValue = Array.isArray(extendsConfig) ? extendsConfig : [extendsConfig];
120
- eslint.setFieldValue(['extends'], [...existingConfigValue, 'plugin:storybook/recommended']);
121
- await (0, _csfTools.writeConfig)(eslint);
122
- }
123
- }
124
-
125
- };
126
- exports.eslintPlugin = eslintPlugin;