@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,12 +0,0 @@
1
- import { baseGenerator } from '../baseGenerator';
2
-
3
- const generator = async (packageManager, npmOptions, options) => {
4
- await baseGenerator(packageManager, npmOptions, options, 'ember', {
5
- extraPackages: [// babel-plugin-ember-modules-api-polyfill is a peerDep of @storybook/ember
6
- 'babel-plugin-ember-modules-api-polyfill', // babel-plugin-htmlbars-inline-precompile is a peerDep of @storybook/ember
7
- 'babel-plugin-htmlbars-inline-precompile'],
8
- staticDir: 'dist'
9
- });
10
- };
11
-
12
- export default generator;
@@ -1,7 +0,0 @@
1
- import { baseGenerator } from '../baseGenerator';
2
-
3
- const generator = async (packageManager, npmOptions, options) => {
4
- await baseGenerator(packageManager, npmOptions, options, 'html');
5
- };
6
-
7
- export default generator;
@@ -1,7 +0,0 @@
1
- import { baseGenerator } from '../baseGenerator';
2
-
3
- const generator = async (packageManager, npmOptions, options) => {
4
- await baseGenerator(packageManager, npmOptions, options, 'marionette');
5
- };
6
-
7
- export default generator;
@@ -1,7 +0,0 @@
1
- import { baseGenerator } from '../baseGenerator';
2
-
3
- const generator = async (packageManager, npmOptions, options) => {
4
- await baseGenerator(packageManager, npmOptions, options, 'marko');
5
- };
6
-
7
- export default generator;
@@ -1,7 +0,0 @@
1
- import { baseGenerator } from '../baseGenerator';
2
-
3
- const generator = async (packageManager, npmOptions, options) => {
4
- await baseGenerator(packageManager, npmOptions, options, 'mithril');
5
- };
6
-
7
- export default generator;
@@ -1,7 +0,0 @@
1
- import { baseGenerator } from '../baseGenerator';
2
-
3
- const generator = async (packageManager, npmOptions, options) => {
4
- await baseGenerator(packageManager, npmOptions, options, 'preact');
5
- };
6
-
7
- export default generator;
@@ -1,20 +0,0 @@
1
- import { baseGenerator } from '../baseGenerator';
2
-
3
- const generator = async (packageManager, npmOptions, options) => {
4
- const [latestRaxVersion] = await packageManager.getVersions('rax');
5
- const packageJson = packageManager.retrievePackageJson();
6
- const raxVersion = packageJson.dependencies.rax || latestRaxVersion; // in case Rax project is not detected, `rax` package is not available either
7
-
8
- packageJson.dependencies.rax = packageJson.dependencies.rax || raxVersion; // these packages are required for Welcome story
9
-
10
- packageJson.dependencies['rax-image'] = packageJson.dependencies['rax-image'] || raxVersion;
11
- packageJson.dependencies['rax-link'] = packageJson.dependencies['rax-link'] || raxVersion;
12
- packageJson.dependencies['rax-text'] = packageJson.dependencies['rax-text'] || raxVersion;
13
- packageJson.dependencies['rax-view'] = packageJson.dependencies['rax-view'] || raxVersion;
14
- packageManager.writePackageJson(packageJson);
15
- await baseGenerator(packageManager, npmOptions, options, 'rax', {
16
- extraPackages: ['rax']
17
- });
18
- };
19
-
20
- export default generator;
@@ -1,7 +0,0 @@
1
- import { baseGenerator } from '../baseGenerator';
2
-
3
- const generator = async (packageManager, npmOptions, options) => {
4
- await baseGenerator(packageManager, npmOptions, options, 'react');
5
- };
6
-
7
- export default generator;
@@ -1,42 +0,0 @@
1
- import chalk from 'chalk';
2
- import shell from 'shelljs';
3
- import { getBabelDependencies, paddedLog, copyTemplate } from '../../helpers';
4
-
5
- const generator = async (packageManager, npmOptions, installServer) => {
6
- // set correct project name on entry files if possible
7
- const dirname = shell.ls('-d', 'ios/*.xcodeproj').stdout; // Only notify about app name if running in React Native vanilla (Expo projects do not have ios directory)
8
-
9
- if (dirname) {
10
- const projectName = dirname.slice('ios/'.length, dirname.length - '.xcodeproj'.length - 1);
11
-
12
- if (projectName) {
13
- shell.sed('-i', '%APP_NAME%', projectName, 'storybook/index.js');
14
- } else {
15
- paddedLog(chalk.red('ERR: Could not determine project name, to fix: https://github.com/storybookjs/storybook/issues/1277'));
16
- }
17
- }
18
-
19
- const packageJson = packageManager.retrievePackageJson();
20
- const missingReactDom = !packageJson.dependencies['react-dom'] && !packageJson.devDependencies['react-dom'];
21
- const reactVersion = packageJson.dependencies.react; // should resolve to latest 5.3 version, this is required until react-native storybook supports v6
22
-
23
- const webAddonsV5 = ['@storybook/addon-links@^5.3', '@storybook/addon-knobs@^5.3', '@storybook/addon-actions@^5.3'];
24
- const nativeAddons = ['@storybook/addon-ondevice-knobs', '@storybook/addon-ondevice-actions'];
25
- const packagesToResolve = [...nativeAddons, '@storybook/react-native', installServer && '@storybook/react-native-server'].filter(Boolean);
26
- const resolvedPackages = await packageManager.getVersionedPackages(packagesToResolve);
27
- const babelDependencies = await getBabelDependencies(packageManager, packageJson);
28
- const packages = [...babelDependencies, ...resolvedPackages, ...webAddonsV5, missingReactDom && reactVersion && `react-dom@${reactVersion}`].filter(Boolean);
29
- packageManager.addDependencies(Object.assign({}, npmOptions, {
30
- packageJson
31
- }), packages);
32
-
33
- if (installServer) {
34
- packageManager.addStorybookCommandInScripts({
35
- port: 7007
36
- });
37
- }
38
-
39
- copyTemplate(__dirname);
40
- };
41
-
42
- export default generator;
@@ -1,12 +0,0 @@
1
- import { action } from '@storybook/addon-actions';
2
- import { text } from '@storybook/addon-knobs';
3
- import { storiesOf } from '@storybook/react-native';
4
- import React from 'react';
5
- import { Text } from 'react-native';
6
- import Button from '.';
7
- import CenterView from '../CenterView';
8
- storiesOf('Button', module).addDecorator(getStory => /*#__PURE__*/React.createElement(CenterView, null, getStory())).add('with text', () => /*#__PURE__*/React.createElement(Button, {
9
- onPress: action('clicked-text')
10
- }, /*#__PURE__*/React.createElement(Text, null, text('Button text', 'Hello Button')))).add('with some emoji', () => /*#__PURE__*/React.createElement(Button, {
11
- onPress: action('clicked-emoji')
12
- }, /*#__PURE__*/React.createElement(Text, null, "\uD83D\uDE00 \uD83D\uDE0E \uD83D\uDC4D \uD83D\uDCAF")));
@@ -1,54 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { View, Text } from 'react-native';
4
- export default class Welcome extends React.Component {
5
- constructor(...args) {
6
- super(...args);
7
- this.styles = {
8
- wrapper: {
9
- flex: 1,
10
- padding: 24,
11
- justifyContent: 'center'
12
- },
13
- header: {
14
- fontSize: 18,
15
- marginBottom: 18
16
- },
17
- content: {
18
- fontSize: 12,
19
- marginBottom: 10,
20
- lineHeight: 18
21
- }
22
- };
23
-
24
- this.showApp = event => {
25
- const {
26
- showApp
27
- } = this.props;
28
- event.preventDefault();
29
-
30
- if (showApp) {
31
- showApp();
32
- }
33
- };
34
- }
35
-
36
- render() {
37
- return /*#__PURE__*/React.createElement(View, {
38
- style: this.styles.wrapper
39
- }, /*#__PURE__*/React.createElement(Text, {
40
- style: this.styles.header
41
- }, "Welcome to React Native Storybook"), /*#__PURE__*/React.createElement(Text, {
42
- style: this.styles.content
43
- }, "This is a UI Component development environment for your React Native app. Here you can display and interact with your UI components as stories. A story is a single state of one or more UI components. You can have as many stories as you want. In other words a story is like a visual test case."), /*#__PURE__*/React.createElement(Text, {
44
- style: this.styles.content
45
- }, "We have added some stories inside the \"storybook/stories\" directory for examples. Try editing the \"storybook/stories/Welcome.js\" file to edit this message."));
46
- }
47
-
48
- }
49
- Welcome.defaultProps = {
50
- showApp: null
51
- };
52
- Welcome.propTypes = {
53
- showApp: PropTypes.func
54
- };
@@ -1,2 +0,0 @@
1
- import './Button/Button.stories';
2
- import './Welcome/Welcome.stories';
@@ -1,49 +0,0 @@
1
- import path from 'path';
2
- import fs from 'fs';
3
- import semver from '@storybook/semver';
4
- import { baseGenerator } from '../baseGenerator';
5
- import { CoreBuilder } from '../../project_types';
6
-
7
- const generator = async (packageManager, npmOptions, options) => {
8
- const monorepoRootPath = path.join(__dirname, '..', '..', '..', '..', '..', '..');
9
- const extraMain = options.linkable ? {
10
- webpackFinal: `%%(config) => {
11
- // add monorepo root as a valid directory to import modules from
12
- config.resolve.plugins.forEach((p) => {
13
- if (Array.isArray(p.appSrcs)) {
14
- p.appSrcs.push('${monorepoRootPath}');
15
- }
16
- });
17
- return config;
18
- }
19
- %%`
20
- } : {};
21
- const craVersion = semver.coerce(packageManager.retrievePackageJson().dependencies['react-scripts'])?.version;
22
- const isCra5 = craVersion && semver.gte(craVersion, '5.0.0');
23
- const updatedOptions = isCra5 ? Object.assign({}, options, {
24
- builder: CoreBuilder.Webpack5
25
- }) : options; // `@storybook/preset-create-react-app` has `@storybook/node-logger` as peerDep
26
-
27
- const extraPackages = ['@storybook/node-logger'];
28
-
29
- if (isCra5) {
30
- extraPackages.push('webpack'); // Miscellaneous dependency used in `babel-preset-react-app` but not listed as dep there
31
-
32
- extraPackages.push('babel-plugin-named-exports-order'); // Miscellaneous dependency to add to be sure Storybook + CRA is working fine with Yarn PnP mode
33
-
34
- extraPackages.push('prop-types');
35
- } // preset v3 is compat with older versions of CRA, otherwise let version float
36
-
37
-
38
- const extraAddons = [`@storybook/preset-create-react-app${isCra5 ? '' : '@3'}`];
39
- await baseGenerator(packageManager, npmOptions, updatedOptions, 'react', {
40
- extraAddons,
41
- extraPackages,
42
- staticDir: fs.existsSync(path.resolve('./public')) ? 'public' : undefined,
43
- addBabel: false,
44
- addESLint: true,
45
- extraMain
46
- });
47
- };
48
-
49
- export default generator;
@@ -1,9 +0,0 @@
1
- import { baseGenerator } from '../baseGenerator';
2
-
3
- const generator = async (packageManager, npmOptions, options) => {
4
- await baseGenerator(packageManager, npmOptions, options, 'riot', {
5
- extraPackages: ['riot-tag-loader']
6
- });
7
- };
8
-
9
- export default generator;
@@ -1,11 +0,0 @@
1
- import { baseGenerator } from '../baseGenerator';
2
- import { copyTemplate } from '../../helpers';
3
-
4
- const generator = async (packageManager, npmOptions, options) => {
5
- await baseGenerator(packageManager, npmOptions, options, 'server', {
6
- extensions: ['json']
7
- });
8
- copyTemplate(__dirname);
9
- };
10
-
11
- export default generator;
@@ -1,5 +0,0 @@
1
- export const parameters = {
2
- server: {
3
- url: 'http://storybook-server-demo.netlify.app/api'
4
- }
5
- };
@@ -1,7 +0,0 @@
1
- import { baseGenerator } from '../baseGenerator';
2
-
3
- const generator = async (packageManager, npmOptions, options) => {
4
- await baseGenerator(packageManager, npmOptions, options, 'vue');
5
- };
6
-
7
- export default generator;
@@ -1,44 +0,0 @@
1
- import fse from 'fs-extra';
2
- import { logger } from '@storybook/node-logger';
3
- import { baseGenerator } from '../baseGenerator';
4
-
5
- const generator = async (packageManager, npmOptions, options) => {
6
- let extraMain; // svelte.config.js ?
7
-
8
- if (fse.existsSync('./svelte.config.js')) {
9
- logger.info("Configuring preprocessor from 'svelte.config.js'");
10
- extraMain = {
11
- svelteOptions: {
12
- preprocess: '%%require("../svelte.config.js").preprocess%%'
13
- }
14
- };
15
- } else if (fse.existsSync('./svelte.config.cjs')) {
16
- logger.info("Configuring preprocessor from 'svelte.config.cjs'");
17
- extraMain = {
18
- svelteOptions: {
19
- preprocess: '%%require("../svelte.config.cjs").preprocess%%'
20
- }
21
- };
22
- } else {
23
- // svelte-preprocess dependencies ?
24
- const packageJson = packageManager.retrievePackageJson();
25
-
26
- if (packageJson.devDependencies && packageJson.devDependencies['svelte-preprocess']) {
27
- logger.info("Configuring preprocessor with 'svelte-preprocess'");
28
- extraMain = {
29
- svelteOptions: {
30
- preprocess: '%%require("svelte-preprocess")()%%'
31
- }
32
- };
33
- }
34
- }
35
-
36
- await baseGenerator(packageManager, npmOptions, options, 'svelte', {
37
- extraPackages: ['svelte', 'svelte-loader'],
38
- extensions: ['js', 'jsx', 'ts', 'tsx', 'svelte'],
39
- extraMain,
40
- commonJs: true
41
- });
42
- };
43
-
44
- export default generator;
@@ -1,9 +0,0 @@
1
- import { baseGenerator } from '../baseGenerator';
2
-
3
- const generator = async (packageManager, npmOptions, options) => {
4
- await baseGenerator(packageManager, npmOptions, options, 'vue', {
5
- extraPackages: ['vue-loader@^15.7.0']
6
- });
7
- };
8
-
9
- export default generator;
@@ -1,9 +0,0 @@
1
- import { baseGenerator } from '../baseGenerator';
2
-
3
- const generator = async (packageManager, npmOptions, options) => {
4
- await baseGenerator(packageManager, npmOptions, options, 'vue3', {
5
- extraPackages: ['vue-loader@^16.0.0']
6
- });
7
- };
8
-
9
- export default generator;
@@ -1,9 +0,0 @@
1
- import { baseGenerator } from '../baseGenerator';
2
-
3
- const generator = async (packageManager, npmOptions, options) => {
4
- return baseGenerator(packageManager, npmOptions, options, 'web-components', {
5
- extraPackages: ['lit-html']
6
- });
7
- };
8
-
9
- export default generator;
@@ -1,7 +0,0 @@
1
- import { baseGenerator } from '../baseGenerator';
2
-
3
- const generator = async (packageManager, npmOptions, options) => {
4
- await baseGenerator(packageManager, npmOptions, options, 'react');
5
- };
6
-
7
- export default generator;
@@ -1,191 +0,0 @@
1
- import fse from 'fs-extra';
2
- import { dedent } from 'ts-dedent';
3
- import { CoreBuilder } from '../project_types';
4
- import { getBabelDependencies, copyComponents } from '../helpers';
5
- import { configureMain, configurePreview } from './configure';
6
- import { getPackageDetails } from '../js-package-manager';
7
- import { generateStorybookBabelConfigInCWD } from '../babel-config';
8
- import packageVersions from '../versions';
9
- const defaultOptions = {
10
- extraPackages: [],
11
- extraAddons: [],
12
- staticDir: undefined,
13
- addScripts: true,
14
- addComponents: true,
15
- addBabel: true,
16
- addESLint: false,
17
- extraMain: undefined,
18
- framework: undefined,
19
- extensions: undefined,
20
- commonJs: false
21
- };
22
-
23
- const getBuilderDetails = builder => {
24
- const map = packageVersions;
25
-
26
- if (map[builder]) {
27
- return builder;
28
- }
29
-
30
- const builderPackage = `@storybook/${builder}`;
31
-
32
- if (map[builderPackage]) {
33
- return builderPackage;
34
- }
35
-
36
- return builder;
37
- };
38
-
39
- const wrapForPnp = packageName => `%%path.dirname(require.resolve(path.join('${packageName}', 'package.json')))%%`;
40
-
41
- const getFrameworkDetails = (renderer, builder, pnp) => {
42
- const frameworkPackage = `@storybook/${renderer}-${builder}`;
43
- const frameworkPackagePath = pnp ? wrapForPnp(frameworkPackage) : frameworkPackage;
44
- const rendererPackage = `@storybook/${renderer}`;
45
- const rendererPackagePath = pnp ? wrapForPnp(rendererPackage) : rendererPackage;
46
- const builderPackage = getBuilderDetails(builder);
47
- const builderPackagePath = pnp ? wrapForPnp(builderPackage) : builderPackage;
48
- const isKnownFramework = !!packageVersions[frameworkPackage];
49
- const isKnownRenderer = !!packageVersions[rendererPackage];
50
-
51
- if (renderer === 'angular') {
52
- return {
53
- packages: [rendererPackage],
54
- framework: rendererPackagePath,
55
- rendererId: 'angular',
56
- type: 'framework'
57
- };
58
- }
59
-
60
- if (isKnownFramework) {
61
- return {
62
- packages: [frameworkPackage],
63
- framework: frameworkPackagePath,
64
- rendererId: renderer,
65
- type: 'framework'
66
- };
67
- }
68
-
69
- if (isKnownRenderer) {
70
- return {
71
- packages: [rendererPackage, builderPackage],
72
- builder: builderPackagePath,
73
- renderer: rendererPackagePath,
74
- rendererId: renderer,
75
- type: 'renderer'
76
- };
77
- }
78
-
79
- throw new Error(`Could not find the framework (${frameworkPackage}) or renderer (${rendererPackage}) package`);
80
- };
81
-
82
- const stripVersions = addons => addons.map(addon => getPackageDetails(addon)[0]);
83
-
84
- const hasInteractiveStories = rendererId => ['react', 'angular', 'preact', 'svelte', 'vue', 'vue3', 'html'].includes(rendererId);
85
-
86
- export async function baseGenerator(packageManager, npmOptions, {
87
- language,
88
- builder = CoreBuilder.Webpack5,
89
- pnp,
90
- commonJs
91
- }, renderer, options = defaultOptions) {
92
- const {
93
- extraAddons: extraAddonPackages,
94
- extraPackages,
95
- staticDir,
96
- addScripts,
97
- addComponents,
98
- addBabel,
99
- addESLint,
100
- extraMain,
101
- extensions
102
- } = Object.assign({}, defaultOptions, options);
103
- const {
104
- packages: frameworkPackages,
105
- type,
106
- // @ts-ignore
107
- renderer: rendererInclude,
108
- // deepscan-disable-line UNUSED_DECL
109
- rendererId,
110
- framework: frameworkInclude,
111
- builder: builderInclude
112
- } = getFrameworkDetails(renderer, builder, pnp); // added to main.js
113
-
114
- const addons = ['@storybook/addon-links', '@storybook/addon-essentials', ...stripVersions(extraAddonPackages)]; // added to package.json
115
-
116
- const addonPackages = ['@storybook/addon-links', '@storybook/addon-essentials', ...extraAddonPackages];
117
-
118
- if (hasInteractiveStories(rendererId)) {
119
- addons.push('@storybook/addon-interactions');
120
- addonPackages.push('@storybook/addon-interactions', '@storybook/testing-library');
121
- }
122
-
123
- const yarn2ExtraPackages = packageManager.type === 'yarn2' ? ['@storybook/addon-docs', '@mdx-js/react@1.x.x'] : [];
124
- const files = await fse.readdir(process.cwd());
125
- const packageJson = packageManager.retrievePackageJson();
126
- const installedDependencies = new Set(Object.keys(Object.assign({}, packageJson.dependencies, packageJson.devDependencies))); // TODO: We need to start supporting this at some point
127
-
128
- if (type === 'renderer') {
129
- throw new Error(dedent`
130
- Sorry, for now, you can not do this, please use a framework such as @storybook/react-webpack5
131
-
132
- https://github.com/storybookjs/storybook/issues/18360
133
- `);
134
- }
135
-
136
- const packages = ['storybook', `@storybook/${renderer}`, ...frameworkPackages, ...addonPackages, ...extraPackages, ...yarn2ExtraPackages].filter(Boolean).filter(packageToInstall => !installedDependencies.has(getPackageDetails(packageToInstall)[0]));
137
- const versionedPackages = await packageManager.getVersionedPackages(packages);
138
- await fse.ensureDir('./.storybook');
139
- await configureMain(Object.assign({
140
- framework: {
141
- name: frameworkInclude,
142
- options: options.framework || {}
143
- },
144
- addons: pnp ? addons.map(wrapForPnp) : addons,
145
- extensions,
146
- commonJs
147
- }, extraMain, type !== 'framework' ? {
148
- core: {
149
- builder: builderInclude
150
- }
151
- } : {}));
152
- await configurePreview(renderer, options.commonJs);
153
-
154
- if (addComponents) {
155
- await copyComponents(renderer, language);
156
- } // FIXME: temporary workaround for https://github.com/storybookjs/storybook/issues/17516
157
-
158
-
159
- if (frameworkPackages.find(pkg => pkg.match(/^@storybook\/.*-vite$/))) {
160
- const previewHead = dedent`
161
- <script>
162
- window.global = window;
163
- </script>
164
- `;
165
- await fse.writeFile(`.storybook/preview-head.html`, previewHead, {
166
- encoding: 'utf8'
167
- });
168
- }
169
-
170
- const babelDependencies = addBabel && builder !== CoreBuilder.Vite ? await getBabelDependencies(packageManager, packageJson) : [];
171
- const isNewFolder = !files.some(fname => fname.startsWith('.babel') || fname.startsWith('babel') || fname === 'package.json');
172
-
173
- if (isNewFolder) {
174
- await generateStorybookBabelConfigInCWD();
175
- }
176
-
177
- packageManager.addDependencies(Object.assign({}, npmOptions, {
178
- packageJson
179
- }), [...versionedPackages, ...babelDependencies]);
180
-
181
- if (addScripts) {
182
- packageManager.addStorybookCommandInScripts({
183
- port: 6006,
184
- staticFolder: staticDir
185
- });
186
- }
187
-
188
- if (addESLint) {
189
- packageManager.addESLintConfig();
190
- }
191
- }
@@ -1,69 +0,0 @@
1
- const _excluded = ["addons", "extensions", "commonJs"];
2
-
3
- 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; }
4
-
5
- import fse from 'fs-extra';
6
- import { dedent } from 'ts-dedent';
7
- export async function configureMain(_ref) {
8
- let {
9
- addons,
10
- extensions = ['js', 'jsx', 'ts', 'tsx'],
11
- commonJs = false
12
- } = _ref,
13
- custom = _objectWithoutPropertiesLoose(_ref, _excluded);
14
-
15
- const prefix = (await fse.pathExists('./src')) ? '../src' : '../stories';
16
- const config = Object.assign({
17
- stories: [`${prefix}/**/*.stories.mdx`, `${prefix}/**/*.stories.@(${extensions.join('|')})`],
18
- addons
19
- }, custom); // replace escaped values and delimiters
20
-
21
- 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.
22
- // un-stringify the value for referencing packages by string
23
- // .replaceAll(/"(path\.dirname\(require\.resolve\(path\.join\('.*\))"/g, (_, a) => a)}`;
24
-
25
- await fse.writeFile(`./.storybook/main.${commonJs ? 'cjs' : 'js'}`, dedent`
26
- const path = require('path');
27
- ${stringified}
28
- `, {
29
- encoding: 'utf8'
30
- });
31
- }
32
- const frameworkToPreviewParts = {
33
- angular: {
34
- prefix: dedent`
35
- import { setCompodocJson } from "@storybook/addon-docs/angular";
36
- import docJson from "../documentation.json";
37
- setCompodocJson(docJson);
38
-
39
- `.trimStart(),
40
- extraParameters: 'docs: { inlineStories: true },'
41
- }
42
- };
43
- export async function configurePreview(framework, commonJs) {
44
- const {
45
- prefix = '',
46
- extraParameters = ''
47
- } = frameworkToPreviewParts[framework] || {};
48
- const previewPath = `./.storybook/preview.${commonJs ? 'cjs' : 'js'}`; // If the framework template included a preview then we have nothing to do
49
-
50
- if (await fse.pathExists(previewPath)) {
51
- return;
52
- }
53
-
54
- const preview = dedent`
55
- ${prefix}
56
- export const parameters = {
57
- actions: { argTypesRegex: "^on[A-Z].*" },
58
- controls: {
59
- matchers: {
60
- color: /(background|color)$/i,
61
- date: /Date$/,
62
- },
63
- },
64
- ${extraParameters}
65
- }`.replace(' \n', '').trim();
66
- await fse.writeFile(previewPath, preview, {
67
- encoding: 'utf8'
68
- });
69
- }
@@ -1 +0,0 @@
1
- export {};