@storybook/cli 7.0.0-alpha.31 → 7.0.0-alpha.34

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 (255) 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 +18 -12
  7. package/rendererAssets/svelte/Button.svelte +4 -3
  8. package/{dist/cjs/generators/ANGULAR → templates/angular}/template-csf/.storybook/tsconfig.json +0 -0
  9. package/{dist/cjs/generators/ANGULAR → templates/angular}/template-csf/.storybook/typings.d.ts +0 -0
  10. package/{dist/cjs/generators/AURELIA → templates/aurelia}/template-csf/.storybook/tsconfig.json +0 -0
  11. package/{dist/cjs/generators/AURELIA → templates/aurelia}/template-csf/.storybook/typings.d.ts +0 -0
  12. package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/addons.js +1 -1
  13. package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/index.js +13 -6
  14. package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/rn-addons.js +1 -1
  15. package/templates/react-native/template-csf/storybook/stories/Button/Button.stories.js +20 -0
  16. package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/stories/Button/index.js +8 -10
  17. package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/stories/CenterView/index.js +8 -9
  18. package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/stories/CenterView/style.js +3 -3
  19. package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/stories/Welcome/Welcome.stories.js +2 -3
  20. package/templates/react-native/template-csf/storybook/stories/Welcome/index.js +57 -0
  21. package/templates/react-native/template-csf/storybook/stories/index.js +2 -0
  22. package/templates/server/template-csf/.storybook/preview.js +5 -0
  23. package/dist/cjs/NpmOptions.js +0 -1
  24. package/dist/cjs/add.js +0 -149
  25. package/dist/cjs/automigrate/fixes/angular12.js +0 -74
  26. package/dist/cjs/automigrate/fixes/builder-vite.js +0 -118
  27. package/dist/cjs/automigrate/fixes/cra5.js +0 -82
  28. package/dist/cjs/automigrate/fixes/eslint-plugin.js +0 -126
  29. package/dist/cjs/automigrate/fixes/index.js +0 -45
  30. package/dist/cjs/automigrate/fixes/mainjsFramework.js +0 -94
  31. package/dist/cjs/automigrate/fixes/new-frameworks.js +0 -258
  32. package/dist/cjs/automigrate/fixes/npm7.js +0 -57
  33. package/dist/cjs/automigrate/fixes/sb-scripts.js +0 -140
  34. package/dist/cjs/automigrate/fixes/vue3.js +0 -77
  35. package/dist/cjs/automigrate/fixes/webpack5.js +0 -151
  36. package/dist/cjs/automigrate/helpers/getEslintInfo.js +0 -28
  37. package/dist/cjs/automigrate/index.js +0 -98
  38. package/dist/cjs/automigrate/types.js +0 -5
  39. package/dist/cjs/babel-config.js +0 -65
  40. package/dist/cjs/build.js +0 -36
  41. package/dist/cjs/detect-nextjs.js +0 -33
  42. package/dist/cjs/detect-webpack.js +0 -39
  43. package/dist/cjs/detect.js +0 -179
  44. package/dist/cjs/dev.js +0 -66
  45. package/dist/cjs/dirs.js +0 -12
  46. package/dist/cjs/extract.js +0 -93
  47. package/dist/cjs/generate.js +0 -215
  48. package/dist/cjs/generators/ANGULAR/angular-helpers.js +0 -106
  49. package/dist/cjs/generators/ANGULAR/index.js +0 -95
  50. package/dist/cjs/generators/AURELIA/index.js +0 -41
  51. package/dist/cjs/generators/EMBER/index.js +0 -20
  52. package/dist/cjs/generators/HTML/index.js +0 -15
  53. package/dist/cjs/generators/MARIONETTE/index.js +0 -15
  54. package/dist/cjs/generators/MARKO/index.js +0 -15
  55. package/dist/cjs/generators/MITHRIL/index.js +0 -15
  56. package/dist/cjs/generators/PREACT/index.js +0 -15
  57. package/dist/cjs/generators/RAX/index.js +0 -28
  58. package/dist/cjs/generators/REACT/index.js +0 -15
  59. package/dist/cjs/generators/REACT_NATIVE/index.js +0 -55
  60. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/addons.js +0 -7
  61. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/index.js +0 -31
  62. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/rn-addons.js +0 -5
  63. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Button/Button.stories.js +0 -23
  64. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Button/index.js +0 -32
  65. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/CenterView/index.js +0 -31
  66. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/CenterView/style.js +0 -15
  67. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Welcome/Welcome.stories.js +0 -15
  68. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Welcome/index.js +0 -68
  69. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/index.js +0 -5
  70. package/dist/cjs/generators/REACT_SCRIPTS/index.js +0 -68
  71. package/dist/cjs/generators/RIOT/index.js +0 -17
  72. package/dist/cjs/generators/SERVER/index.js +0 -20
  73. package/dist/cjs/generators/SERVER/template-csf/.storybook/preview.js +0 -12
  74. package/dist/cjs/generators/SFC_VUE/index.js +0 -15
  75. package/dist/cjs/generators/SVELTE/index.js +0 -59
  76. package/dist/cjs/generators/VUE/index.js +0 -17
  77. package/dist/cjs/generators/VUE3/index.js +0 -17
  78. package/dist/cjs/generators/WEB-COMPONENTS/index.js +0 -17
  79. package/dist/cjs/generators/WEBPACK_REACT/index.js +0 -15
  80. package/dist/cjs/generators/baseGenerator.js +0 -208
  81. package/dist/cjs/generators/configure.js +0 -83
  82. package/dist/cjs/generators/types.js +0 -5
  83. package/dist/cjs/helpers.js +0 -258
  84. package/dist/cjs/initiate.js +0 -295
  85. package/dist/cjs/js-package-manager/JsPackageManager.js +0 -358
  86. package/dist/cjs/js-package-manager/JsPackageManagerFactory.js +0 -71
  87. package/dist/cjs/js-package-manager/NPMProxy.js +0 -112
  88. package/dist/cjs/js-package-manager/PackageJson.js +0 -5
  89. package/dist/cjs/js-package-manager/Yarn1Proxy.js +0 -72
  90. package/dist/cjs/js-package-manager/Yarn2Proxy.js +0 -68
  91. package/dist/cjs/js-package-manager/index.js +0 -44
  92. package/dist/cjs/link.js +0 -99
  93. package/dist/cjs/migrate.js +0 -33
  94. package/dist/cjs/project_types.js +0 -263
  95. package/dist/cjs/repro-generators/configs.js +0 -201
  96. package/dist/cjs/repro-generators/scripts.js +0 -338
  97. package/dist/cjs/repro-next.js +0 -182
  98. package/dist/cjs/repro-templates.js +0 -103
  99. package/dist/cjs/repro.js +0 -194
  100. package/dist/cjs/typings.d.ts +0 -3
  101. package/dist/cjs/upgrade.js +0 -170
  102. package/dist/cjs/utils.js +0 -22
  103. package/dist/cjs/versions.js +0 -89
  104. package/dist/cjs/warn.js +0 -32
  105. package/dist/cjs/window.d.js +0 -5
  106. package/dist/esm/NpmOptions.js +0 -0
  107. package/dist/esm/add.js +0 -121
  108. package/dist/esm/automigrate/fixes/angular12.js +0 -58
  109. package/dist/esm/automigrate/fixes/builder-vite.js +0 -103
  110. package/dist/esm/automigrate/fixes/cra5.js +0 -66
  111. package/dist/esm/automigrate/fixes/eslint-plugin.js +0 -111
  112. package/dist/esm/automigrate/fixes/index.js +0 -12
  113. package/dist/esm/automigrate/fixes/mainjsFramework.js +0 -76
  114. package/dist/esm/automigrate/fixes/new-frameworks.js +0 -234
  115. package/dist/esm/automigrate/fixes/npm7.js +0 -45
  116. package/dist/esm/automigrate/fixes/sb-scripts.js +0 -119
  117. package/dist/esm/automigrate/fixes/vue3.js +0 -60
  118. package/dist/esm/automigrate/fixes/webpack5.js +0 -131
  119. package/dist/esm/automigrate/helpers/getEslintInfo.js +0 -14
  120. package/dist/esm/automigrate/index.js +0 -80
  121. package/dist/esm/automigrate/types.js +0 -1
  122. package/dist/esm/babel-config.js +0 -42
  123. package/dist/esm/build.js +0 -22
  124. package/dist/esm/detect-nextjs.js +0 -24
  125. package/dist/esm/detect-webpack.js +0 -30
  126. package/dist/esm/detect.js +0 -152
  127. package/dist/esm/dev.js +0 -47
  128. package/dist/esm/dirs.js +0 -4
  129. package/dist/esm/extract.js +0 -77
  130. package/dist/esm/generate.js +0 -162
  131. package/dist/esm/generators/ANGULAR/angular-helpers.js +0 -82
  132. package/dist/esm/generators/ANGULAR/index.js +0 -76
  133. package/dist/esm/generators/ANGULAR/template-csf/.storybook/tsconfig.json +0 -10
  134. package/dist/esm/generators/ANGULAR/template-csf/.storybook/typings.d.ts +0 -4
  135. package/dist/esm/generators/AURELIA/index.js +0 -32
  136. package/dist/esm/generators/AURELIA/template-csf/.storybook/tsconfig.json +0 -9
  137. package/dist/esm/generators/AURELIA/template-csf/.storybook/typings.d.ts +0 -4
  138. package/dist/esm/generators/EMBER/index.js +0 -12
  139. package/dist/esm/generators/HTML/index.js +0 -7
  140. package/dist/esm/generators/MARIONETTE/index.js +0 -7
  141. package/dist/esm/generators/MARKO/index.js +0 -7
  142. package/dist/esm/generators/MITHRIL/index.js +0 -7
  143. package/dist/esm/generators/PREACT/index.js +0 -7
  144. package/dist/esm/generators/RAX/index.js +0 -20
  145. package/dist/esm/generators/REACT/index.js +0 -7
  146. package/dist/esm/generators/REACT_NATIVE/index.js +0 -42
  147. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/Button/Button.stories.js +0 -12
  148. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/Welcome/index.js +0 -54
  149. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/index.js +0 -2
  150. package/dist/esm/generators/REACT_SCRIPTS/index.js +0 -49
  151. package/dist/esm/generators/RIOT/index.js +0 -9
  152. package/dist/esm/generators/SERVER/index.js +0 -11
  153. package/dist/esm/generators/SERVER/template-csf/.storybook/preview.js +0 -5
  154. package/dist/esm/generators/SFC_VUE/index.js +0 -7
  155. package/dist/esm/generators/SVELTE/index.js +0 -44
  156. package/dist/esm/generators/VUE/index.js +0 -9
  157. package/dist/esm/generators/VUE3/index.js +0 -9
  158. package/dist/esm/generators/WEB-COMPONENTS/index.js +0 -9
  159. package/dist/esm/generators/WEBPACK_REACT/index.js +0 -7
  160. package/dist/esm/generators/baseGenerator.js +0 -191
  161. package/dist/esm/generators/configure.js +0 -69
  162. package/dist/esm/generators/types.js +0 -1
  163. package/dist/esm/helpers.js +0 -207
  164. package/dist/esm/initiate.js +0 -254
  165. package/dist/esm/js-package-manager/JsPackageManager.js +0 -334
  166. package/dist/esm/js-package-manager/JsPackageManagerFactory.js +0 -57
  167. package/dist/esm/js-package-manager/NPMProxy.js +0 -99
  168. package/dist/esm/js-package-manager/PackageJson.js +0 -1
  169. package/dist/esm/js-package-manager/Yarn1Proxy.js +0 -62
  170. package/dist/esm/js-package-manager/Yarn2Proxy.js +0 -58
  171. package/dist/esm/js-package-manager/index.js +0 -3
  172. package/dist/esm/link.js +0 -69
  173. package/dist/esm/migrate.js +0 -25
  174. package/dist/esm/project_types.js +0 -248
  175. package/dist/esm/repro-generators/configs.js +0 -174
  176. package/dist/esm/repro-generators/scripts.js +0 -307
  177. package/dist/esm/repro-next.js +0 -163
  178. package/dist/esm/repro-templates.js +0 -94
  179. package/dist/esm/repro.js +0 -170
  180. package/dist/esm/typings.d.ts +0 -3
  181. package/dist/esm/upgrade.js +0 -132
  182. package/dist/esm/utils.js +0 -13
  183. package/dist/esm/versions.js +0 -82
  184. package/dist/esm/warn.js +0 -16
  185. package/dist/esm/window.d.js +0 -1
  186. package/dist/types/NpmOptions.d.ts +0 -4
  187. package/dist/types/add.d.ts +0 -10
  188. package/dist/types/automigrate/fixes/angular12.d.ts +0 -15
  189. package/dist/types/automigrate/fixes/builder-vite.d.ts +0 -19
  190. package/dist/types/automigrate/fixes/cra5.d.ts +0 -15
  191. package/dist/types/automigrate/fixes/eslint-plugin.d.ts +0 -15
  192. package/dist/types/automigrate/fixes/index.d.ts +0 -3
  193. package/dist/types/automigrate/fixes/mainjsFramework.d.ts +0 -8
  194. package/dist/types/automigrate/fixes/new-frameworks.d.ts +0 -31
  195. package/dist/types/automigrate/fixes/npm7.d.ts +0 -9
  196. package/dist/types/automigrate/fixes/sb-scripts.d.ts +0 -23
  197. package/dist/types/automigrate/fixes/vue3.d.ts +0 -15
  198. package/dist/types/automigrate/fixes/webpack5.d.ts +0 -26
  199. package/dist/types/automigrate/helpers/getEslintInfo.d.ts +0 -2
  200. package/dist/types/automigrate/index.d.ts +0 -7
  201. package/dist/types/automigrate/types.d.ts +0 -15
  202. package/dist/types/babel-config.d.ts +0 -4
  203. package/dist/types/build.d.ts +0 -1
  204. package/dist/types/detect-nextjs.d.ts +0 -2
  205. package/dist/types/detect-webpack.d.ts +0 -2
  206. package/dist/types/detect.d.ts +0 -16
  207. package/dist/types/dev.d.ts +0 -1
  208. package/dist/types/dirs.d.ts +0 -1
  209. package/dist/types/extract.d.ts +0 -1
  210. package/dist/types/generate.d.ts +0 -1
  211. package/dist/types/generators/ANGULAR/angular-helpers.d.ts +0 -6
  212. package/dist/types/generators/ANGULAR/index.d.ts +0 -3
  213. package/dist/types/generators/AURELIA/index.d.ts +0 -3
  214. package/dist/types/generators/EMBER/index.d.ts +0 -3
  215. package/dist/types/generators/HTML/index.d.ts +0 -3
  216. package/dist/types/generators/MARIONETTE/index.d.ts +0 -3
  217. package/dist/types/generators/MARKO/index.d.ts +0 -3
  218. package/dist/types/generators/MITHRIL/index.d.ts +0 -3
  219. package/dist/types/generators/PREACT/index.d.ts +0 -3
  220. package/dist/types/generators/RAX/index.d.ts +0 -3
  221. package/dist/types/generators/REACT/index.d.ts +0 -3
  222. package/dist/types/generators/REACT_NATIVE/index.d.ts +0 -4
  223. package/dist/types/generators/REACT_SCRIPTS/index.d.ts +0 -3
  224. package/dist/types/generators/RIOT/index.d.ts +0 -3
  225. package/dist/types/generators/SERVER/index.d.ts +0 -3
  226. package/dist/types/generators/SFC_VUE/index.d.ts +0 -3
  227. package/dist/types/generators/SVELTE/index.d.ts +0 -3
  228. package/dist/types/generators/VUE/index.d.ts +0 -3
  229. package/dist/types/generators/VUE3/index.d.ts +0 -3
  230. package/dist/types/generators/WEB-COMPONENTS/index.d.ts +0 -3
  231. package/dist/types/generators/WEBPACK_REACT/index.d.ts +0 -3
  232. package/dist/types/generators/baseGenerator.d.ts +0 -5
  233. package/dist/types/generators/configure.d.ts +0 -19
  234. package/dist/types/generators/types.d.ts +0 -38
  235. package/dist/types/helpers.d.ts +0 -26
  236. package/dist/types/initiate.d.ts +0 -3
  237. package/dist/types/js-package-manager/JsPackageManager.d.ts +0 -118
  238. package/dist/types/js-package-manager/JsPackageManagerFactory.d.ts +0 -4
  239. package/dist/types/js-package-manager/NPMProxy.d.ts +0 -23
  240. package/dist/types/js-package-manager/PackageJson.d.ts +0 -4
  241. package/dist/types/js-package-manager/Yarn1Proxy.d.ts +0 -17
  242. package/dist/types/js-package-manager/Yarn2Proxy.d.ts +0 -17
  243. package/dist/types/js-package-manager/index.d.ts +0 -3
  244. package/dist/types/link.d.ts +0 -7
  245. package/dist/types/migrate.d.ts +0 -1
  246. package/dist/types/project_types.d.ts +0 -64
  247. package/dist/types/repro-generators/configs.d.ts +0 -44
  248. package/dist/types/repro-generators/scripts.d.ts +0 -44
  249. package/dist/types/repro-next.d.ts +0 -8
  250. package/dist/types/repro-templates.d.ts +0 -73
  251. package/dist/types/repro.d.ts +0 -14
  252. package/dist/types/upgrade.d.ts +0 -19
  253. package/dist/types/utils.d.ts +0 -2
  254. package/dist/types/versions.d.ts +0 -82
  255. 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;