@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,338 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.exec = exports.createAndInit = void 0;
7
-
8
- var _path = _interopRequireDefault(require("path"));
9
-
10
- var _fsExtra = require("fs-extra");
11
-
12
- var _shelljs = _interopRequireDefault(require("shelljs"));
13
-
14
- var _chalk = _interopRequireDefault(require("chalk"));
15
-
16
- var _execa = require("execa");
17
-
18
- var _configs = require("./configs");
19
-
20
- var _versions = _interopRequireDefault(require("../versions"));
21
-
22
- const _excluded = ["name", "version"];
23
-
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
- 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; }
27
-
28
- const logger = console;
29
-
30
- const exec = async (command, options = {}, {
31
- startMessage,
32
- errorMessage,
33
- dryRun
34
- } = {}) => {
35
- if (startMessage) logger.info(startMessage);
36
-
37
- if (dryRun) {
38
- logger.info(`\n> ${command}\n`);
39
- return undefined;
40
- }
41
-
42
- logger.debug(command);
43
- return new Promise((resolve, reject) => {
44
- const defaultOptions = {
45
- silent: false
46
- };
47
-
48
- const child = _shelljs.default.exec(command, Object.assign({}, defaultOptions, options, {
49
- async: true,
50
- silent: false
51
- }));
52
-
53
- child.stderr.pipe(process.stderr);
54
- child.on('exit', code => {
55
- if (code === 0) {
56
- resolve(undefined);
57
- } else {
58
- logger.error(_chalk.default.red(`An error occurred while executing: \`${command}\``));
59
- logger.log(errorMessage);
60
- reject(new Error(`command exited with code: ${code}: `));
61
- }
62
- });
63
- });
64
- };
65
-
66
- exports.exec = exec;
67
-
68
- const addPackageResolutions = async ({
69
- cwd
70
- }) => {
71
- logger.info(`🔢 Adding package resolutions:`);
72
-
73
- const packageJsonPath = _path.default.join(cwd, 'package.json');
74
-
75
- const packageJson = await (0, _fsExtra.readJSON)(packageJsonPath);
76
- packageJson.resolutions = _versions.default;
77
- await (0, _fsExtra.writeJSON)(packageJsonPath, packageJson, {
78
- spaces: 2
79
- });
80
- };
81
-
82
- const addLocalPackageResolutions = async ({
83
- cwd
84
- }) => {
85
- logger.info(`🔢 Adding package resolutions:`);
86
-
87
- const packageJsonPath = _path.default.join(cwd, 'package.json');
88
-
89
- const packageJson = await (0, _fsExtra.readJSON)(packageJsonPath);
90
-
91
- const workspaceDir = _path.default.join(__dirname, '..', '..', '..', '..', '..');
92
-
93
- const {
94
- stdout
95
- } = await (0, _execa.command)('yarn workspaces list --json', {
96
- cwd: workspaceDir
97
- });
98
- console.log({
99
- stdout,
100
- workspaceDir
101
- });
102
- const workspaces = JSON.parse(`[${stdout.split('\n').join(',')}]`);
103
- console.log({
104
- workspaces
105
- });
106
- packageJson.resolutions = Object.keys(_versions.default).reduce((acc, key) => {
107
- return Object.assign({}, acc, {
108
- [key]: _path.default.join(workspaceDir, workspaces.find(item => item.name === key).location)
109
- });
110
- }, {});
111
- await (0, _fsExtra.writeJSON)(packageJsonPath, packageJson, {
112
- spaces: 2
113
- });
114
- };
115
-
116
- const installYarn2 = async ({
117
- cwd,
118
- pnp,
119
- name
120
- }) => {
121
- const command = [`yarn set version berry`, `yarn config set enableGlobalCache true`, `yarn config set nodeLinker ${pnp ? 'pnp' : 'node-modules'}`]; // FIXME: Some dependencies used by CRA aren't listed in its package.json
122
- // Next line is a hack to remove as soon as CRA will have added these missing deps
123
- // for details see https://github.com/facebook/create-react-app/pull/11751
124
-
125
- if ([_configs.cra.name, _configs.cra_typescript.name].includes(name)) {
126
- command.push(`yarn config set packageExtensions --json '{ "babel-preset-react-app@10.0.x": { "dependencies": { "@babel/plugin-proposal-private-property-in-object": "^7.16.0" } } }'`);
127
- }
128
-
129
- await exec(command.join(' && '), {
130
- cwd
131
- }, {
132
- startMessage: `🧶 Installing Yarn 2`,
133
- errorMessage: `🚨 Installing Yarn 2 failed`
134
- });
135
- };
136
-
137
- const configureYarn2ForE2E = async ({
138
- cwd
139
- }) => {
140
- const command = [// ⚠️ Need to set registry because Yarn 2 is not using the conf of Yarn 1 (URL is hardcoded in CircleCI config.yml)
141
- `yarn config set npmScopes --json '{ "storybook": { "npmRegistryServer": "http://localhost:6001/" } }'`, // Some required magic to be able to fetch deps from local registry
142
- `yarn config set unsafeHttpWhitelist --json '["localhost"]'`, // Disable fallback mode to make sure everything is required correctly
143
- `yarn config set pnpFallbackMode none`, // We need to be able to update lockfile when bootstrapping the examples
144
- `yarn config set enableImmutableInstalls false`, // Discard all YN0013 - FETCH_NOT_CACHED messages
145
- `yarn config set logFilters --json '[ { "code": "YN0013", "level": "discard" } ]'`].join(' && ');
146
- await exec(command, {
147
- cwd
148
- }, {
149
- startMessage: `🎛 Configuring Yarn 2`,
150
- errorMessage: `🚨 Configuring Yarn 2 failed`
151
- });
152
- };
153
-
154
- const generate = async ({
155
- cwd,
156
- name,
157
- appName,
158
- version,
159
- generator
160
- }) => {
161
- const command = generator.replace(/{{appName}}/g, appName).replace(/{{version}}/g, version);
162
- await exec(command, {
163
- cwd
164
- }, {
165
- startMessage: `🏗 Bootstrapping ${name} project (this might take a few minutes)`,
166
- errorMessage: `🚨 Bootstrapping ${name} failed`
167
- });
168
- };
169
-
170
- const addAdditionalFiles = async ({
171
- additionalFiles,
172
- cwd
173
- }) => {
174
- logger.info(`⤵️ Adding required files`);
175
- await Promise.all(additionalFiles.map(async file => {
176
- await (0, _fsExtra.outputFile)(_path.default.resolve(cwd, file.path), file.contents, {
177
- encoding: 'UTF-8'
178
- });
179
- }));
180
- };
181
-
182
- const initStorybook = async ({
183
- cwd,
184
- autoDetect = true,
185
- name,
186
- e2e,
187
- pnp
188
- }) => {
189
- const flags = ['--yes'];
190
-
191
- if (!autoDetect) {
192
- flags.push(`--type ${name}`);
193
- }
194
-
195
- if (e2e) {
196
- flags.push('--linkable');
197
- }
198
-
199
- if (pnp) {
200
- flags.push('--use-pnp');
201
- }
202
-
203
- const sbCLICommand = `node ${_path.default.join(__dirname, '../../cjs/generate')}`;
204
- const command = `${sbCLICommand} init ${flags.join(' ')}`;
205
- await exec(command, {
206
- cwd
207
- }, {
208
- startMessage: `🎨 Initializing Storybook with @storybook/cli`,
209
- errorMessage: `🚨 Storybook initialization failed`
210
- });
211
- };
212
-
213
- const addRequiredDeps = async ({
214
- cwd,
215
- additionalDeps
216
- }) => {
217
- // Remove any lockfile generated without Yarn 2
218
- _shelljs.default.rm('-f', _path.default.join(cwd, 'package-lock.json'), _path.default.join(cwd, 'yarn.lock'));
219
-
220
- const command = additionalDeps && additionalDeps.length > 0 ? `yarn add -D ${additionalDeps.join(' ')}` : `yarn install`;
221
- await exec(command, {
222
- cwd
223
- }, {
224
- startMessage: `🌍 Adding needed deps & installing all deps`,
225
- errorMessage: `🚨 Dependencies installation failed`
226
- });
227
- };
228
-
229
- const addTypescript = async ({
230
- cwd
231
- }) => {
232
- logger.info(`👮 Adding typescript and tsconfig.json`);
233
-
234
- try {
235
- await exec(`yarn add -D typescript@latest`, {
236
- cwd
237
- });
238
- const tsConfig = {
239
- compilerOptions: {
240
- baseUrl: '.',
241
- esModuleInterop: true,
242
- jsx: 'preserve',
243
- skipLibCheck: true,
244
- strict: true
245
- },
246
- include: ['src/*']
247
- };
248
-
249
- const tsConfigJsonPath = _path.default.resolve(cwd, 'tsconfig.json');
250
-
251
- await (0, _fsExtra.writeJSON)(tsConfigJsonPath, tsConfig, {
252
- encoding: 'utf8',
253
- spaces: 2
254
- });
255
- } catch (e) {
256
- logger.error(`🚨 Creating tsconfig.json failed`);
257
- throw e;
258
- }
259
- };
260
-
261
- const doTask = async (task, options, condition = true) => {
262
- if (condition) {
263
- await task(options);
264
- logger.log();
265
- }
266
- };
267
-
268
- const registryUrlNPM = url => {
269
- const args = ['config', 'set', 'registry', url];
270
- return exec(`npm ${args.join(' ')}`, {
271
- cwd: _path.default.join(process.cwd(), '..')
272
- });
273
- };
274
-
275
- const registryUrlYarn = url => {
276
- const args = ['config', 'set', 'npmRegistryServer', url];
277
- return exec(`yarn ${args.join(' ')}`, {
278
- cwd: _path.default.join(__dirname, '..')
279
- });
280
- };
281
-
282
- const createAndInit = async (cwd, _ref, {
283
- e2e,
284
- pnp,
285
- local,
286
- registry
287
- }) => {
288
- let {
289
- name,
290
- version
291
- } = _ref,
292
- rest = _objectWithoutPropertiesLoose(_ref, _excluded);
293
-
294
- const options = Object.assign({
295
- name,
296
- version,
297
- appName: _path.default.basename(cwd),
298
- creationPath: _path.default.join(cwd, '..'),
299
- cwd,
300
- e2e,
301
- pnp
302
- }, rest);
303
- logger.log();
304
- logger.info(`🏃 Starting for ${name} ${version}`);
305
- logger.log();
306
- await doTask(generate, Object.assign({}, options, {
307
- cwd: options.creationPath
308
- }));
309
- await doTask(addAdditionalFiles, Object.assign({}, options, {
310
- cwd
311
- }), !!options.additionalFiles);
312
-
313
- if (e2e) {
314
- await doTask(addPackageResolutions, options);
315
- }
316
-
317
- if (local) {
318
- await doTask(addLocalPackageResolutions, options);
319
- }
320
-
321
- await doTask(installYarn2, options);
322
-
323
- if (e2e) {
324
- await doTask(configureYarn2ForE2E, options, e2e);
325
- }
326
-
327
- await doTask(addTypescript, options, !!options.typescript);
328
- await doTask(addRequiredDeps, options);
329
-
330
- if (registry) {
331
- await registryUrlNPM(registry);
332
- await registryUrlYarn(registry);
333
- }
334
-
335
- await doTask(initStorybook, options);
336
- };
337
-
338
- exports.createAndInit = createAndInit;
@@ -1,182 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.reproNext = void 0;
7
-
8
- var _prompts = _interopRequireDefault(require("prompts"));
9
-
10
- var _path = _interopRequireDefault(require("path"));
11
-
12
- var _chalk = _interopRequireDefault(require("chalk"));
13
-
14
- var _boxen = _interopRequireDefault(require("boxen"));
15
-
16
- var _tsDedent = require("ts-dedent");
17
-
18
- var _degit = _interopRequireDefault(require("degit"));
19
-
20
- var _fsExtra = require("fs-extra");
21
-
22
- var _reproTemplates = _interopRequireDefault(require("./repro-templates"));
23
-
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
- const logger = console;
27
-
28
- const toChoices = c => ({
29
- title: _reproTemplates.default[c].name,
30
- value: c
31
- });
32
-
33
- const reproNext = async ({
34
- output: outputDirectory,
35
- filterValue,
36
- branch,
37
- init
38
- }) => {
39
- const keys = Object.keys(_reproTemplates.default); // get value from template and reduce through TEMPLATES to filter out the correct template
40
-
41
- const choices = keys.reduce((acc, group) => {
42
- const current = _reproTemplates.default[group];
43
- const filterRegex = new RegExp(filterValue, 'i');
44
-
45
- if (!filterValue) {
46
- acc.push(group);
47
- return acc;
48
- }
49
-
50
- if (current.name.match(filterRegex) || group.match(filterRegex) || current.expected.builder.match(filterRegex) || current.expected.framework.match(filterRegex) || current.expected.renderer.match(filterRegex)) {
51
- acc.push(group);
52
- return acc;
53
- }
54
-
55
- return acc;
56
- }, []);
57
-
58
- if (choices.length === 0) {
59
- logger.info((0, _boxen.default)((0, _tsDedent.dedent)`
60
- 🔎 You filtered out all templates. 🔍
61
-
62
- After filtering all the templates with "${_chalk.default.yellow(filterValue)}", we found no results. Please try again with a different filter.
63
-
64
- Available templates:
65
- ${keys.map(key => _chalk.default.blue`- ${key}`).join('\n')}
66
- `.trim(), {
67
- borderStyle: 'round',
68
- padding: 1,
69
- borderColor: '#F1618C'
70
- }));
71
- process.exit(1);
72
- }
73
-
74
- let selectedTemplate = null;
75
-
76
- if (choices.length === 1) {
77
- [selectedTemplate] = choices;
78
- } else {
79
- logger.info((0, _boxen.default)((0, _tsDedent.dedent)`
80
- 🤗 Welcome to ${_chalk.default.yellow('sb repro NEXT')}! 🤗
81
-
82
- Create a ${_chalk.default.green('new project')} to minimally reproduce Storybook issues.
83
-
84
- 1. select an environment that most closely matches your project setup.
85
- 2. select a location for the reproduction, outside of your project.
86
-
87
- After the reproduction is ready, we'll guide you through the next steps.
88
- `.trim(), {
89
- borderStyle: 'round',
90
- padding: 1,
91
- borderColor: '#F1618C'
92
- }));
93
- selectedTemplate = await promptSelectedTemplate(choices);
94
- }
95
-
96
- const hasSelectedTemplate = !!(selectedTemplate ?? null);
97
-
98
- if (!hasSelectedTemplate) {
99
- logger.error('Somehow we got no templates. Please rerun this command!');
100
- return;
101
- }
102
-
103
- const selectedConfig = _reproTemplates.default[selectedTemplate];
104
-
105
- if (!selectedConfig) {
106
- throw new Error('🚨 Repro: please specify a valid template type');
107
- }
108
-
109
- let selectedDirectory = outputDirectory;
110
- const outputDirectoryName = outputDirectory || selectedTemplate;
111
-
112
- if (selectedDirectory && (0, _fsExtra.existsSync)(`${selectedDirectory}`)) {
113
- logger.info(`⚠️ ${selectedDirectory} already exists! Overwriting...`);
114
- }
115
-
116
- if (!selectedDirectory) {
117
- const {
118
- directory
119
- } = await (0, _prompts.default)({
120
- type: 'text',
121
- message: 'Enter the output directory',
122
- name: 'directory',
123
- initial: outputDirectoryName,
124
- validate: async directoryName => (0, _fsExtra.existsSync)(directoryName) ? `${directoryName} already exists. Please choose another name.` : true
125
- });
126
- selectedDirectory = directory;
127
- }
128
-
129
- try {
130
- const templateDestination = _path.default.isAbsolute(selectedDirectory) ? selectedDirectory : _path.default.join(process.cwd(), selectedDirectory);
131
- logger.info(`🏃 Adding ${selectedConfig.name} into ${templateDestination}`);
132
- logger.log('📦 Downloading repro template...');
133
-
134
- try {
135
- const templateType = init ? 'after-storybook' : 'before-storybook'; // Download the repro based on subfolder "after-storybook" and selected branch
136
-
137
- await (0, _degit.default)(`storybookjs/repro-templates-temp/${selectedTemplate}/${templateType}#${branch}`, {
138
- force: true
139
- }).clone(templateDestination);
140
- } catch (err) {
141
- logger.error(`🚨 Failed to download repro template: ${err.message}`);
142
- throw err;
143
- }
144
-
145
- const initMessage = init ? _chalk.default.yellow(`yarn storybook`) : `Recreate your setup, then ${_chalk.default.yellow(`run npx storybook init`)}`;
146
- logger.info((0, _boxen.default)((0, _tsDedent.dedent)`
147
- 🎉 Your Storybook reproduction project is ready to use! 🎉
148
-
149
- ${_chalk.default.yellow(`cd ${selectedDirectory}`)}
150
- ${initMessage}
151
-
152
- Once you've recreated the problem you're experiencing, please:
153
-
154
- 1. Document any additional steps in ${_chalk.default.cyan('README.md')}
155
- 2. Publish the repository to github
156
- 3. Link to the repro repository in your issue
157
-
158
- Having a clean repro helps us solve your issue faster! 🙏
159
- `.trim(), {
160
- borderStyle: 'round',
161
- padding: 1,
162
- borderColor: '#F1618C'
163
- }));
164
- } catch (error) {
165
- logger.error('🚨 Failed to create repro');
166
- throw error;
167
- }
168
- };
169
-
170
- exports.reproNext = reproNext;
171
-
172
- async function promptSelectedTemplate(choices) {
173
- const {
174
- template
175
- } = await (0, _prompts.default)({
176
- type: 'select',
177
- message: '🌈 Select the template',
178
- name: 'template',
179
- choices: choices.map(toChoices)
180
- });
181
- return template || null;
182
- }
@@ -1,103 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- const craTemplates = {
8
- 'cra/default-js': {
9
- name: 'Create React App (Javascript)',
10
- script: 'npx create-react-app .',
11
- cadence: ['ci', 'daily', 'weekly'],
12
- expected: {
13
- framework: '@storybook/cra',
14
- renderer: '@storybook/react',
15
- builder: '@storybook/builder-webpack5'
16
- }
17
- },
18
- 'cra/default-ts': {
19
- name: 'Create React App (Typescript)',
20
- script: 'npx create-react-app . --template typescript',
21
- cadence: ['ci', 'daily', 'weekly'],
22
- expected: {
23
- framework: '@storybook/cra',
24
- renderer: '@storybook/react',
25
- builder: '@storybook/builder-webpack5'
26
- }
27
- }
28
- };
29
- const reactViteTemplates = {
30
- 'react-vite/default-js': {
31
- name: 'React Vite (JS)',
32
- script: 'yarn create vite . --template react',
33
- cadence: ['ci', 'daily', 'weekly'],
34
- expected: {
35
- framework: '@storybook/react-vite',
36
- renderer: '@storybook/react',
37
- builder: '@storybook/builder-vite'
38
- }
39
- },
40
- 'react-vite/default-ts': {
41
- name: 'React Vite (TS)',
42
- script: 'yarn create vite . --template react-ts',
43
- cadence: ['ci', 'daily', 'weekly'],
44
- expected: {
45
- framework: '@storybook/react-vite',
46
- renderer: '@storybook/react',
47
- builder: '@storybook/builder-vite'
48
- }
49
- }
50
- };
51
- const vue3ViteTemplates = {
52
- 'vue3-vite/default-js': {
53
- name: 'Vue3 Vite (JS)',
54
- script: 'yarn create vite . --template vue',
55
- cadence: ['ci', 'daily', 'weekly'],
56
- expected: {
57
- framework: '@storybook/vue3-vite',
58
- renderer: '@storybook/vue3',
59
- builder: '@storybook/builder-vite'
60
- }
61
- },
62
- 'vue3-vite/default-ts': {
63
- name: 'Vue3 Vite (TS)',
64
- script: 'yarn create vite . --template vue-ts',
65
- cadence: ['ci', 'daily', 'weekly'],
66
- expected: {
67
- framework: '@storybook/vue3-vite',
68
- renderer: '@storybook/vue3',
69
- builder: '@storybook/builder-vite'
70
- }
71
- }
72
- };
73
- const svelteViteTemplates = {
74
- 'svelte-vite/default-js': {
75
- name: 'Svelte Vite (JS)',
76
- script: 'yarn create vite . --template svelte',
77
- cadence: ['ci', 'daily', 'weekly'],
78
- expected: {
79
- framework: '@storybook/svelte-vite',
80
- renderer: '@storybook/svelte',
81
- builder: '@storybook/builder-vite'
82
- }
83
- }
84
- /*
85
- * I disabled this, because it was flaky
86
- * TODO: we should fixd the instability and re-enable it
87
- */
88
- // 'svelte-vite/default-ts': {
89
- // name: 'Svelte Vite (TS)',
90
- // script: 'yarn create vite . --template svelte-ts',
91
- // cadence: ['ci', 'daily', 'weekly'],
92
- // expected: {
93
- // framework: '@storybook/svelte-vite',
94
- // renderer: '@storybook/svelte',
95
- // builder: '@storybook/builder-vite'
96
- // }
97
- // }
98
-
99
- };
100
-
101
- var _default = Object.assign({}, craTemplates, reactViteTemplates, vue3ViteTemplates, svelteViteTemplates);
102
-
103
- exports.default = _default;