@storybook/cli 6.5.0-alpha.5 → 6.5.0-alpha.52

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 (149) hide show
  1. package/bin/index.js +1 -0
  2. package/dist/cjs/add.js +1 -1
  3. package/dist/cjs/automigrate/fixes/builder-vite.js +123 -0
  4. package/dist/cjs/automigrate/fixes/index.js +3 -1
  5. package/dist/cjs/automigrate/types.js +5 -1
  6. package/dist/cjs/babel-config.js +1 -1
  7. package/dist/cjs/detect.js +2 -2
  8. package/dist/cjs/extract.js +7 -2
  9. package/dist/cjs/frameworks/angular/Header.stories.ts +8 -3
  10. package/dist/cjs/frameworks/angular/Page.stories.ts +12 -10
  11. package/dist/cjs/frameworks/angular/header.component.ts +30 -19
  12. package/dist/cjs/frameworks/angular/page.component.ts +13 -27
  13. package/dist/cjs/frameworks/common/header.css +6 -0
  14. package/dist/cjs/frameworks/react/js/Header.jsx +6 -1
  15. package/dist/cjs/frameworks/react/js/Header.stories.jsx +7 -1
  16. package/dist/cjs/frameworks/react/js/Page.jsx +61 -63
  17. package/dist/cjs/frameworks/react/js/Page.stories.jsx +12 -9
  18. package/dist/cjs/frameworks/react/ts/Header.stories.tsx +7 -1
  19. package/dist/cjs/frameworks/react/ts/Header.tsx +11 -2
  20. package/dist/cjs/frameworks/react/ts/Page.stories.tsx +12 -9
  21. package/dist/cjs/frameworks/react/ts/Page.tsx +66 -60
  22. package/dist/cjs/frameworks/svelte/Button.stories.js +51 -0
  23. package/dist/cjs/frameworks/svelte/Header.stories.js +29 -0
  24. package/dist/cjs/frameworks/svelte/Page.stories.js +29 -0
  25. package/dist/cjs/frameworks/web-components/js/Page.js +2 -2
  26. package/dist/cjs/frameworks/web-components/ts/Page.ts +2 -2
  27. package/dist/cjs/generators/ANGULAR/angular-helpers.js +5 -5
  28. package/dist/cjs/generators/ANGULAR/index.js +1 -1
  29. package/dist/cjs/generators/ANGULAR/template-csf/.storybook/tsconfig.json +17 -5
  30. package/dist/cjs/generators/AURELIA/template-csf/.storybook/tsconfig.json +16 -5
  31. package/dist/cjs/generators/REACT_SCRIPTS/index.js +9 -1
  32. package/dist/cjs/generators/SVELTE/index.js +0 -1
  33. package/dist/cjs/generators/WEB-COMPONENTS/index.js +3 -1
  34. package/dist/cjs/generators/baseGenerator.js +9 -1
  35. package/dist/cjs/generators/configure.js +3 -1
  36. package/dist/cjs/helpers.js +9 -8
  37. package/dist/cjs/initiate.js +4 -1
  38. package/dist/cjs/js-package-manager/JsPackageManager.js +2 -2
  39. package/dist/cjs/project_types.js +1 -1
  40. package/dist/cjs/repro-generators/configs.js +31 -8
  41. package/dist/cjs/repro-generators/scripts.js +46 -14
  42. package/dist/cjs/repro.js +3 -2
  43. package/dist/cjs/typings.d.ts +3 -0
  44. package/dist/cjs/upgrade.js +3 -1
  45. package/dist/cjs/versions.js +66 -0
  46. package/dist/cjs/window.d.js +5 -1
  47. package/dist/esm/add.js +1 -1
  48. package/dist/esm/automigrate/fixes/builder-vite.js +123 -0
  49. package/dist/esm/automigrate/fixes/index.js +3 -1
  50. package/dist/esm/automigrate/types.js +5 -1
  51. package/dist/esm/babel-config.js +1 -1
  52. package/dist/esm/detect.js +2 -2
  53. package/dist/esm/extract.js +7 -2
  54. package/dist/esm/frameworks/angular/Header.stories.ts +8 -3
  55. package/dist/esm/frameworks/angular/Page.stories.ts +12 -10
  56. package/dist/esm/frameworks/angular/header.component.ts +30 -19
  57. package/dist/esm/frameworks/angular/page.component.ts +13 -27
  58. package/dist/esm/frameworks/common/header.css +6 -0
  59. package/dist/esm/frameworks/react/js/Header.jsx +6 -1
  60. package/dist/esm/frameworks/react/js/Header.stories.jsx +7 -1
  61. package/dist/esm/frameworks/react/js/Page.jsx +61 -63
  62. package/dist/esm/frameworks/react/js/Page.stories.jsx +12 -9
  63. package/dist/esm/frameworks/react/ts/Header.stories.tsx +7 -1
  64. package/dist/esm/frameworks/react/ts/Header.tsx +11 -2
  65. package/dist/esm/frameworks/react/ts/Page.stories.tsx +12 -9
  66. package/dist/esm/frameworks/react/ts/Page.tsx +66 -60
  67. package/dist/esm/frameworks/svelte/Button.stories.js +51 -0
  68. package/dist/esm/frameworks/svelte/Header.stories.js +29 -0
  69. package/dist/esm/frameworks/svelte/Page.stories.js +29 -0
  70. package/dist/esm/frameworks/web-components/js/Page.js +2 -2
  71. package/dist/esm/frameworks/web-components/ts/Page.ts +2 -2
  72. package/dist/esm/generators/ANGULAR/angular-helpers.js +5 -5
  73. package/dist/esm/generators/ANGULAR/index.js +1 -1
  74. package/dist/esm/generators/ANGULAR/template-csf/.storybook/tsconfig.json +17 -5
  75. package/dist/esm/generators/AURELIA/template-csf/.storybook/tsconfig.json +16 -5
  76. package/dist/esm/generators/REACT_SCRIPTS/index.js +9 -1
  77. package/dist/esm/generators/SVELTE/index.js +0 -1
  78. package/dist/esm/generators/WEB-COMPONENTS/index.js +3 -1
  79. package/dist/esm/generators/baseGenerator.js +9 -1
  80. package/dist/esm/generators/configure.js +3 -1
  81. package/dist/esm/helpers.js +9 -8
  82. package/dist/esm/initiate.js +4 -1
  83. package/dist/esm/js-package-manager/JsPackageManager.js +2 -2
  84. package/dist/esm/project_types.js +1 -1
  85. package/dist/esm/repro-generators/configs.js +31 -8
  86. package/dist/esm/repro-generators/scripts.js +46 -14
  87. package/dist/esm/repro.js +3 -2
  88. package/dist/esm/typings.d.ts +3 -0
  89. package/dist/esm/upgrade.js +3 -1
  90. package/dist/esm/versions.js +66 -0
  91. package/dist/esm/window.d.js +5 -1
  92. package/dist/modern/add.js +1 -1
  93. package/dist/modern/automigrate/fixes/builder-vite.js +123 -0
  94. package/dist/modern/automigrate/fixes/index.js +3 -1
  95. package/dist/modern/automigrate/types.js +5 -1
  96. package/dist/modern/babel-config.js +1 -1
  97. package/dist/modern/detect.js +2 -2
  98. package/dist/modern/extract.js +7 -2
  99. package/dist/modern/frameworks/common/header.css +6 -0
  100. package/dist/modern/frameworks/react/js/Header.jsx +6 -1
  101. package/dist/modern/frameworks/react/js/Header.stories.jsx +7 -1
  102. package/dist/modern/frameworks/react/js/Page.jsx +61 -63
  103. package/dist/modern/frameworks/react/js/Page.stories.jsx +12 -9
  104. package/dist/modern/frameworks/svelte/Button.stories.js +51 -0
  105. package/dist/modern/frameworks/svelte/Header.stories.js +29 -0
  106. package/dist/modern/frameworks/svelte/Page.stories.js +29 -0
  107. package/dist/modern/frameworks/web-components/js/Page.js +2 -2
  108. package/dist/modern/generators/ANGULAR/angular-helpers.js +5 -5
  109. package/dist/modern/generators/ANGULAR/index.js +1 -1
  110. package/dist/modern/generators/ANGULAR/template-csf/.storybook/tsconfig.json +17 -5
  111. package/dist/modern/generators/AURELIA/template-csf/.storybook/tsconfig.json +16 -5
  112. package/dist/modern/generators/REACT_SCRIPTS/index.js +9 -1
  113. package/dist/modern/generators/SVELTE/index.js +0 -1
  114. package/dist/modern/generators/WEB-COMPONENTS/index.js +3 -1
  115. package/dist/modern/generators/baseGenerator.js +9 -1
  116. package/dist/modern/generators/configure.js +3 -1
  117. package/dist/modern/helpers.js +9 -8
  118. package/dist/modern/initiate.js +4 -1
  119. package/dist/modern/js-package-manager/JsPackageManager.js +2 -2
  120. package/dist/modern/project_types.js +1 -1
  121. package/dist/modern/repro-generators/configs.js +31 -8
  122. package/dist/modern/repro-generators/scripts.js +46 -14
  123. package/dist/modern/repro.js +3 -2
  124. package/dist/modern/typings.d.ts +3 -0
  125. package/dist/modern/upgrade.js +3 -1
  126. package/dist/modern/versions.js +66 -0
  127. package/dist/modern/window.d.js +5 -1
  128. package/dist/ts3.4/automigrate/fixes/builder-vite.d.ts +19 -0
  129. package/dist/ts3.4/repro-generators/configs.d.ts +6 -0
  130. package/dist/ts3.4/versions.d.ts +59 -0
  131. package/dist/ts3.9/automigrate/fixes/builder-vite.d.ts +19 -0
  132. package/dist/ts3.9/repro-generators/configs.d.ts +7 -1
  133. package/dist/ts3.9/versions.d.ts +59 -0
  134. package/package.json +11 -12
  135. package/dist/cjs/frameworks/svelte/Button.stories.svelte +0 -57
  136. package/dist/cjs/frameworks/svelte/Header.stories.svelte +0 -32
  137. package/dist/cjs/frameworks/svelte/Page.stories.svelte +0 -32
  138. package/dist/cjs/typings.d.js +0 -1
  139. package/dist/cjs/versions.json +0 -59
  140. package/dist/esm/frameworks/svelte/Button.stories.svelte +0 -57
  141. package/dist/esm/frameworks/svelte/Header.stories.svelte +0 -32
  142. package/dist/esm/frameworks/svelte/Page.stories.svelte +0 -32
  143. package/dist/esm/typings.d.js +0 -1
  144. package/dist/esm/versions.json +0 -59
  145. package/dist/modern/frameworks/svelte/Button.stories.svelte +0 -57
  146. package/dist/modern/frameworks/svelte/Header.stories.svelte +0 -32
  147. package/dist/modern/frameworks/svelte/Page.stories.svelte +0 -32
  148. package/dist/modern/typings.d.js +0 -1
  149. package/dist/modern/versions.json +0 -59
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getAngularAppTsConfigPath = getAngularAppTsConfigPath;
7
- exports.getAngularAppTsConfigJson = getAngularAppTsConfigJson;
8
6
  exports.editStorybookTsConfig = editStorybookTsConfig;
9
- exports.isDefaultProjectSet = isDefaultProjectSet;
7
+ exports.getAngularAppTsConfigJson = getAngularAppTsConfigJson;
8
+ exports.getAngularAppTsConfigPath = getAngularAppTsConfigPath;
10
9
  exports.getBaseTsConfigName = getBaseTsConfigName;
10
+ exports.isDefaultProjectSet = isDefaultProjectSet;
11
11
 
12
12
  require("core-js/modules/es.promise.js");
13
13
 
@@ -19,9 +19,9 @@ var _fsExtra = require("fs-extra");
19
19
 
20
20
  var _helpers = require("../../helpers");
21
21
 
22
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
23
 
24
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
25
 
26
26
  function getAngularAppTsConfigPath() {
27
27
  const angularJson = (0, _helpers.readFileAsJson)('angular.json', true);
@@ -56,7 +56,7 @@ const generator = async (packageManager, npmOptions, options) => {
56
56
  builder: _project_types.CoreBuilder.Webpack5
57
57
  }) : options;
58
58
  (0, _baseGenerator.baseGenerator)(packageManager, npmOptions, updatedOptions, 'angular', {
59
- extraPackages: ['@compodoc/compodoc', '@angular/elements', '@webcomponents/custom-elements'],
59
+ extraPackages: ['@compodoc/compodoc'],
60
60
  addScripts: false
61
61
  });
62
62
  (0, _helpers.copyTemplate)(__dirname);
@@ -1,9 +1,21 @@
1
1
  {
2
2
  "extends": "%SET_DURING_SB_INIT%",
3
3
  "compilerOptions": {
4
- "types": ["node"]
4
+ "types": [
5
+ "node"
6
+ ],
7
+ "allowSyntheticDefaultImports": true
5
8
  },
6
- "exclude": ["../src/test.ts", "../src/**/*.spec.ts", "../projects/**/*.spec.ts"],
7
- "include": ["../src/**/*", "../projects/**/*"],
8
- "files": ["./typings.d.ts"]
9
- }
9
+ "exclude": [
10
+ "../src/test.ts",
11
+ "../src/**/*.spec.ts",
12
+ "../projects/**/*.spec.ts"
13
+ ],
14
+ "include": [
15
+ "../src/**/*",
16
+ "../projects/**/*"
17
+ ],
18
+ "files": [
19
+ "./typings.d.ts"
20
+ ]
21
+ }
@@ -1,9 +1,20 @@
1
1
  {
2
2
  "extends": "%SET_DURING_SB_INIT%",
3
3
  "compilerOptions": {
4
- "types": ["node"]
4
+ "types": [
5
+ "node"
6
+ ]
5
7
  },
6
- "exclude": ["../src/test.ts", "../src/**/*.spec.ts", "../projects/**/*.spec.ts"],
7
- "include": ["../src/**/*", "../projects/**/*"],
8
- "files": ["./typings.d.ts"]
9
- }
8
+ "exclude": [
9
+ "../src/test.ts",
10
+ "../src/**/*.spec.ts",
11
+ "../projects/**/*.spec.ts"
12
+ ],
13
+ "include": [
14
+ "../src/**/*",
15
+ "../projects/**/*"
16
+ ],
17
+ "files": [
18
+ "./typings.d.ts"
19
+ ]
20
+ }
@@ -44,7 +44,15 @@ const generator = async (packageManager, npmOptions, options) => {
44
44
  }) : options; // `@storybook/preset-create-react-app` has `@storybook/node-logger` as peerDep
45
45
 
46
46
  const extraPackages = ['@storybook/node-logger'];
47
- if (isCra5) extraPackages.push('webpack'); // preset v3 is compat with older versions of CRA, otherwise let version float
47
+
48
+ if (isCra5) {
49
+ extraPackages.push('webpack'); // Miscellaneous dependency used in `babel-preset-react-app` but not listed as dep there
50
+
51
+ extraPackages.push('babel-plugin-named-exports-order'); // Miscellaneous dependency to add to be sure Storybook + CRA is working fine with Yarn PnP mode
52
+
53
+ extraPackages.push('prop-types');
54
+ } // preset v3 is compat with older versions of CRA, otherwise let version float
55
+
48
56
 
49
57
  const extraAddons = [`@storybook/preset-create-react-app${isCra5 ? '' : '@3'}`];
50
58
  await (0, _baseGenerator.baseGenerator)(packageManager, npmOptions, updatedOptions, 'react', {
@@ -53,7 +53,6 @@ const generator = async (packageManager, npmOptions, options) => {
53
53
 
54
54
  await (0, _baseGenerator.baseGenerator)(packageManager, npmOptions, options, 'svelte', {
55
55
  extraPackages: ['svelte', 'svelte-loader'],
56
- extraAddons: ['@storybook/addon-svelte-csf'],
57
56
  extensions: ['js', 'jsx', 'ts', 'tsx', 'svelte'],
58
57
  extraMain,
59
58
  commonJs
@@ -10,7 +10,9 @@ require("core-js/modules/es.promise.js");
10
10
  var _baseGenerator = require("../baseGenerator");
11
11
 
12
12
  const generator = async (packageManager, npmOptions, options) => {
13
- return (0, _baseGenerator.baseGenerator)(packageManager, npmOptions, options, 'web-components');
13
+ return (0, _baseGenerator.baseGenerator)(packageManager, npmOptions, options, 'web-components', {
14
+ extraPackages: ['lit-html']
15
+ });
14
16
  };
15
17
 
16
18
  var _default = generator;
@@ -51,6 +51,8 @@ const builderDependencies = builder => {
51
51
 
52
52
  const stripVersions = addons => addons.map(addon => (0, _jsPackageManager.getPackageDetails)(addon)[0]);
53
53
 
54
+ const hasInteractiveStories = framework => ['react', 'angular'].includes(framework);
55
+
54
56
  async function baseGenerator(packageManager, npmOptions, {
55
57
  language,
56
58
  builder
@@ -71,7 +73,13 @@ async function baseGenerator(packageManager, npmOptions, {
71
73
  const addons = ['@storybook/addon-links', '@storybook/addon-essentials']; // added to package.json
72
74
 
73
75
  const addonPackages = [...addons, '@storybook/addon-actions'];
74
- const yarn2Dependencies = packageManager.type === 'yarn2' ? ['@storybook/addon-docs', '@mdx-js/react'] : [];
76
+
77
+ if (hasInteractiveStories(framework)) {
78
+ addons.push('@storybook/addon-interactions');
79
+ addonPackages.push('@storybook/addon-interactions', '@storybook/testing-library');
80
+ }
81
+
82
+ const yarn2Dependencies = packageManager.type === 'yarn2' ? ['@storybook/addon-docs', '@mdx-js/react@1.x.x'] : [];
75
83
  const files = await _fsExtra.default.readdir(process.cwd());
76
84
  const isNewFolder = !files.some(fname => fname.startsWith('.babel') || fname.startsWith('babel') || fname === 'package.json');
77
85
  const packageJson = packageManager.retrievePackageJson();
@@ -9,6 +9,8 @@ var _fsExtra = _interopRequireDefault(require("fs-extra"));
9
9
 
10
10
  var _tsDedent = _interopRequireDefault(require("ts-dedent"));
11
11
 
12
+ const _excluded = ["addons", "extensions", "commonJs"];
13
+
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
15
 
14
16
  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; }
@@ -19,7 +21,7 @@ function configureMain(_ref) {
19
21
  extensions = ['js', 'jsx', 'ts', 'tsx'],
20
22
  commonJs = false
21
23
  } = _ref,
22
- custom = _objectWithoutPropertiesLoose(_ref, ["addons", "extensions", "commonJs"]);
24
+ custom = _objectWithoutPropertiesLoose(_ref, _excluded);
23
25
 
24
26
  const prefix = _fsExtra.default.existsSync('./src') ? '../src' : '../stories';
25
27
  const config = Object.assign({
@@ -3,16 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getBowerJson = getBowerJson;
7
- exports.readFileAsJson = readFileAsJson;
8
- exports.paddedLog = paddedLog;
9
- exports.getChars = getChars;
10
- exports.codeLog = codeLog;
11
- exports.getBabelDependencies = getBabelDependencies;
12
6
  exports.addToDevDependenciesIfNotPresent = addToDevDependenciesIfNotPresent;
13
- exports.copyTemplate = copyTemplate;
7
+ exports.codeLog = codeLog;
8
+ exports.commandLog = void 0;
14
9
  exports.copyComponents = copyComponents;
15
- exports.commandLog = exports.writeFileAsJson = void 0;
10
+ exports.copyTemplate = copyTemplate;
11
+ exports.getBabelDependencies = getBabelDependencies;
12
+ exports.getBowerJson = getBowerJson;
13
+ exports.getChars = getChars;
14
+ exports.paddedLog = paddedLog;
15
+ exports.readFileAsJson = readFileAsJson;
16
+ exports.writeFileAsJson = void 0;
16
17
 
17
18
  require("core-js/modules/es.promise.js");
18
19
 
@@ -7,6 +7,8 @@ exports.initiate = initiate;
7
7
 
8
8
  require("core-js/modules/es.promise.js");
9
9
 
10
+ require("core-js/modules/es.array.sort.js");
11
+
10
12
  var _updateNotifier = require("update-notifier");
11
13
 
12
14
  var _chalk = _interopRequireDefault(require("chalk"));
@@ -280,11 +282,12 @@ async function initiate(options, pkg) {
280
282
  } catch (ex) {
281
283
  done(ex.message);
282
284
  process.exit(1);
285
+ return;
283
286
  }
284
287
 
285
288
  done();
286
289
  await installStorybook(projectType, Object.assign({}, options, isEsm ? {
287
290
  commonJs: true
288
291
  } : undefined));
289
- return (0, _automigrate.automigrate)();
292
+ await (0, _automigrate.automigrate)();
290
293
  }
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getPackageDetails = getPackageDetails;
7
6
  exports.JsPackageManager = void 0;
7
+ exports.getPackageDetails = getPackageDetails;
8
8
 
9
9
  require("core-js/modules/es.promise.js");
10
10
 
@@ -18,7 +18,7 @@ var _helpers = require("../helpers");
18
18
 
19
19
  var _PackageJsonHelper = require("./PackageJsonHelper");
20
20
 
21
- var _versions = _interopRequireDefault(require("../versions.json"));
21
+ var _versions = _interopRequireDefault(require("../versions"));
22
22
 
23
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
24
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.installableProjectTypes = exports.unsupportedTemplate = exports.supportedTemplates = exports.SupportedLanguage = exports.CoreBuilder = exports.SUPPORTED_FRAMEWORKS = exports.ProjectType = void 0;
6
+ exports.unsupportedTemplate = exports.supportedTemplates = exports.installableProjectTypes = exports.SupportedLanguage = exports.SUPPORTED_FRAMEWORKS = exports.ProjectType = exports.CoreBuilder = void 0;
7
7
 
8
8
  var _semver = require("@storybook/semver");
9
9
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.svelte = exports.sfcVue = exports.preact = exports.html = exports.vue3 = exports.vue = exports.web_components_lit2 = exports.web_components_typescript = exports.web_components = exports.angular = exports.angular12 = exports.angular11 = exports.angular10 = exports.react_in_yarn_workspace = exports.webpack_react = exports.react_typescript = exports.react = exports.cra_typescript = exports.cra = void 0;
6
+ exports.webpack_react = exports.web_components_typescript = exports.web_components_lit2 = exports.web_components = exports.vue3 = exports.vue = exports.svelte = exports.sfcVue = exports.react_typescript = exports.react_in_yarn_workspace = exports.react = exports.preact = exports.html = exports.cra_typescript = exports.cra = exports.angular_modern_inline_rendering = exports.angular130 = exports.angular13 = exports.angular12 = exports.angular11 = exports.angular10 = exports.angular = void 0;
7
7
 
8
8
  const fromDeps = (...args) => ['mkdir {{appName}}', 'cd {{appName}}', // Create `yarn.lock` to force Yarn to consider adding deps in this directory
9
9
  // and not look for a yarn workspace in parent directory
@@ -14,16 +14,16 @@ const cra = {
14
14
  framework: 'react',
15
15
  name: 'cra',
16
16
  version: 'latest',
17
- generator: [// Force npm otherwise we have a mess between Yarn 1 and Yarn 2
18
- 'npx create-react-app@{{version}} {{appName}} --use-npm', 'cd {{appName}}', 'echo "FAST_REFRESH=true" > .env', 'echo "SKIP_PREFLIGHT_CHECK=true" > .env'].join(' && ')
17
+ generator: [// Force npm otherwise we have a mess between Yarn 1, Yarn 2 and NPM
18
+ 'npm_config_user_agent=npm npx -p create-react-app@{{version}} create-react-app {{appName}}', 'cd {{appName}}', 'echo "FAST_REFRESH=true" > .env', 'echo "SKIP_PREFLIGHT_CHECK=true" > .env'].join(' && ')
19
19
  };
20
20
  exports.cra = cra;
21
21
  const cra_typescript = {
22
22
  framework: 'react',
23
23
  name: 'cra_typescript',
24
24
  version: 'latest',
25
- generator: [// Force npm otherwise we have a mess between Yarn 1 and Yarn 2
26
- 'npx create-react-app@{{version}} {{appName}} --template typescript --use-npm'].join(' && ')
25
+ generator: [// Force npm otherwise we have a mess between Yarn 1, Yarn 2 and NPM
26
+ 'npm_config_user_agent=npm npx -p create-react-app@{{version}} create-react-app {{appName}} --template typescript'].join(' && ')
27
27
  };
28
28
  exports.cra_typescript = cra_typescript;
29
29
  const react = {
@@ -62,7 +62,7 @@ const baseAngular = {
62
62
  framework: 'angular',
63
63
  name: 'angular',
64
64
  version: 'latest',
65
- generator: `npx --package @angular/cli@{{version}} ng new {{appName}} --routing=true --minimal=true --style=scss --skipInstall=true --strict`
65
+ generator: `npx -p @angular/cli@{{version}} ng new {{appName}} --routing=true --minimal=true --style=scss --skipInstall=true --strict`
66
66
  };
67
67
  const angular10 = Object.assign({}, baseAngular, {
68
68
  name: 'angular10',
@@ -79,6 +79,27 @@ const angular12 = Object.assign({}, baseAngular, {
79
79
  version: 'v12-lts'
80
80
  });
81
81
  exports.angular12 = angular12;
82
+ const angular130 = Object.assign({}, baseAngular, {
83
+ name: 'angular130',
84
+ version: '13.0.x'
85
+ });
86
+ exports.angular130 = angular130;
87
+ const angular13 = Object.assign({}, baseAngular, {
88
+ name: 'angular13',
89
+ version: '13.1.x'
90
+ });
91
+ exports.angular13 = angular13;
92
+ const angular_modern_inline_rendering = Object.assign({}, baseAngular, {
93
+ name: 'angular_modern_inline_rendering',
94
+ additionalDeps: ['jest', '@storybook/test-runner'],
95
+ mainOverrides: {
96
+ features: {
97
+ storyStoreV7: true,
98
+ modernInlineRender: true
99
+ }
100
+ }
101
+ });
102
+ exports.angular_modern_inline_rendering = angular_modern_inline_rendering;
82
103
  const angular = baseAngular; // #endregion
83
104
  // #region web components
84
105
 
@@ -107,7 +128,8 @@ exports.web_components_lit2 = web_components_lit2;
107
128
  const vue = {
108
129
  framework: 'vue',
109
130
  name: 'vue',
110
- version: 'latest',
131
+ // Be careful here, the latest versions of vue cli are bootstrapping a vue 3 project
132
+ version: '4',
111
133
  generator: [// Force npm otherwise we have a mess between Yarn 1 and Yarn 2
112
134
  `npx -p @vue/cli@{{version}} vue create {{appName}} --default --packageManager=npm --no-git --force`].join(' && ')
113
135
  };
@@ -141,7 +163,8 @@ const sfcVue = {
141
163
  framework: 'vue',
142
164
  name: 'sfcVue',
143
165
  version: 'latest',
144
- generator: fromDeps('vue', 'vue-loader', 'vue-template-compiler', 'webpack@webpack-4')
166
+ //
167
+ generator: fromDeps('vue@2.6', 'vue-loader@15.9', 'vue-template-compiler@2.6', 'webpack@webpack-4')
145
168
  };
146
169
  exports.sfcVue = sfcVue;
147
170
  const svelte = {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.createAndInit = exports.exec = void 0;
6
+ exports.exec = exports.createAndInit = void 0;
7
7
 
8
8
  require("core-js/modules/es.promise.js");
9
9
 
@@ -15,6 +15,12 @@ var _shelljs = _interopRequireDefault(require("shelljs"));
15
15
 
16
16
  var _chalk = _interopRequireDefault(require("chalk"));
17
17
 
18
+ var _configs = require("./configs");
19
+
20
+ var _versions = _interopRequireDefault(require("../versions"));
21
+
22
+ const _excluded = ["name", "version"];
23
+
18
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
25
 
20
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; }
@@ -36,17 +42,18 @@ const exec = async (command, options = {}, {
36
42
  silent: true
37
43
  };
38
44
 
39
- _shelljs.default.exec(command, Object.assign({}, defaultOptions, options), (code, stdout, stderr) => {
45
+ const child = _shelljs.default.exec(command, Object.assign({}, defaultOptions, options, {
46
+ async: true
47
+ }));
48
+
49
+ child.stderr.pipe(process.stderr);
50
+ child.stdout.pipe(process.stdout);
51
+ child.on('exit', code => {
40
52
  if (code === 0) {
41
53
  resolve(undefined);
42
54
  } else {
43
55
  logger.error(_chalk.default.red(`An error occurred while executing: \`${command}\``));
44
- logger.error(`Command output was:${_chalk.default.yellow(`\n${stdout}\n${stderr}`)}`);
45
-
46
- if (errorMessage) {
47
- logger.error(errorMessage);
48
- }
49
-
56
+ logger.log(errorMessage);
50
57
  reject(new Error(`command exited with code: ${code}: `));
51
58
  }
52
59
  });
@@ -55,12 +62,34 @@ const exec = async (command, options = {}, {
55
62
 
56
63
  exports.exec = exec;
57
64
 
65
+ const addPackageResolutions = async ({
66
+ cwd
67
+ }) => {
68
+ logger.info(`🔢 Adding package resolutions:`);
69
+
70
+ const packageJsonPath = _path.default.join(cwd, 'package.json');
71
+
72
+ const packageJson = await (0, _fsExtra.readJSON)(packageJsonPath);
73
+ packageJson.resolutions = _versions.default;
74
+ await (0, _fsExtra.writeJSON)(packageJsonPath, packageJson, {
75
+ spaces: 2
76
+ });
77
+ };
78
+
58
79
  const installYarn2 = async ({
59
80
  cwd,
60
- pnp
81
+ pnp,
82
+ name
61
83
  }) => {
62
- const command = [`yarn set version berry`, `yarn config set enableGlobalCache true`, `yarn config set nodeLinker ${pnp ? 'pnp' : 'node-modules'}`].join(' && ');
63
- await exec(command, {
84
+ 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
85
+ // Next line is a hack to remove as soon as CRA will have added these missing deps
86
+ // for details see https://github.com/facebook/create-react-app/pull/11751
87
+
88
+ if ([_configs.cra.name, _configs.cra_typescript.name].includes(name)) {
89
+ 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" } } }'`);
90
+ }
91
+
92
+ await exec(command.join(' && '), {
64
93
  cwd
65
94
  }, {
66
95
  startMessage: `🧶 Installing Yarn 2`,
@@ -182,7 +211,7 @@ const createAndInit = async (cwd, _ref, {
182
211
  name,
183
212
  version
184
213
  } = _ref,
185
- rest = _objectWithoutPropertiesLoose(_ref, ["name", "version"]);
214
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
186
215
 
187
216
  const options = Object.assign({
188
217
  name,
@@ -196,11 +225,14 @@ const createAndInit = async (cwd, _ref, {
196
225
  logger.log();
197
226
  logger.info(`🏃 Starting for ${name} ${version}`);
198
227
  logger.log();
199
- logger.debug(options);
200
- logger.log();
201
228
  await doTask(generate, Object.assign({}, options, {
202
229
  cwd: options.creationPath
203
230
  }));
231
+
232
+ if (e2e) {
233
+ await doTask(addPackageResolutions, options);
234
+ }
235
+
204
236
  await doTask(installYarn2, options);
205
237
  await doTask(configureYarn2ForE2E, options, e2e);
206
238
  await doTask(addTypescript, options, !!options.typescript);
package/dist/esm/repro.js CHANGED
@@ -25,9 +25,9 @@ var _scripts = require("./repro-generators/scripts");
25
25
 
26
26
  var configs = _interopRequireWildcard(require("./repro-generators/configs"));
27
27
 
28
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
29
 
30
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
31
 
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
@@ -169,6 +169,7 @@ const repro = async ({
169
169
  }));
170
170
  } catch (error) {
171
171
  logger.error('🚨 Failed to create repro');
172
+ throw new Error(error);
172
173
  }
173
174
  };
174
175
 
@@ -0,0 +1,3 @@
1
+ declare module '@storybook/codemod';
2
+ declare module 'envinfo';
3
+ declare module '@storybook/semver';
@@ -3,7 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.upgrade = exports.addExtraFlags = exports.checkVersionConsistency = exports.isCorePackage = exports.getStorybookVersion = void 0;
6
+ exports.upgrade = exports.isCorePackage = exports.getStorybookVersion = exports.checkVersionConsistency = exports.addExtraFlags = void 0;
7
+
8
+ require("core-js/modules/es.array.sort.js");
7
9
 
8
10
  require("core-js/modules/es.promise.js");
9
11
 
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ // auto generated file, do not edit
8
+ var _default = {
9
+ "@storybook/addon-a11y": "6.5.0-alpha.52",
10
+ "@storybook/addon-actions": "6.5.0-alpha.52",
11
+ "@storybook/addon-backgrounds": "6.5.0-alpha.52",
12
+ "@storybook/addon-controls": "6.5.0-alpha.52",
13
+ "@storybook/addon-docs": "6.5.0-alpha.52",
14
+ "@storybook/addon-essentials": "6.5.0-alpha.52",
15
+ "@storybook/addon-interactions": "6.5.0-alpha.52",
16
+ "@storybook/addon-jest": "6.5.0-alpha.52",
17
+ "@storybook/addon-links": "6.5.0-alpha.52",
18
+ "@storybook/addon-measure": "6.5.0-alpha.52",
19
+ "@storybook/addon-outline": "6.5.0-alpha.52",
20
+ "@storybook/addon-storyshots": "6.5.0-alpha.52",
21
+ "@storybook/addon-storyshots-puppeteer": "6.5.0-alpha.52",
22
+ "@storybook/addon-storysource": "6.5.0-alpha.52",
23
+ "@storybook/addon-toolbars": "6.5.0-alpha.52",
24
+ "@storybook/addon-viewport": "6.5.0-alpha.52",
25
+ "@storybook/addons": "6.5.0-alpha.52",
26
+ "@storybook/angular": "6.5.0-alpha.52",
27
+ "@storybook/api": "6.5.0-alpha.52",
28
+ "@storybook/builder-webpack4": "6.5.0-alpha.52",
29
+ "@storybook/builder-webpack5": "6.5.0-alpha.52",
30
+ "@storybook/channel-postmessage": "6.5.0-alpha.52",
31
+ "@storybook/channel-websocket": "6.5.0-alpha.52",
32
+ "@storybook/channels": "6.5.0-alpha.52",
33
+ "@storybook/cli": "6.5.0-alpha.52",
34
+ "@storybook/client-api": "6.5.0-alpha.52",
35
+ "@storybook/client-logger": "6.5.0-alpha.52",
36
+ "@storybook/codemod": "6.5.0-alpha.52",
37
+ "@storybook/components": "6.5.0-alpha.52",
38
+ "@storybook/core": "6.5.0-alpha.52",
39
+ "@storybook/core-client": "6.5.0-alpha.52",
40
+ "@storybook/core-common": "6.5.0-alpha.52",
41
+ "@storybook/core-events": "6.5.0-alpha.52",
42
+ "@storybook/core-server": "6.5.0-alpha.52",
43
+ "@storybook/csf-tools": "6.5.0-alpha.52",
44
+ "@storybook/docs-tools": "6.5.0-alpha.52",
45
+ "@storybook/ember": "6.5.0-alpha.52",
46
+ "@storybook/html": "6.5.0-alpha.52",
47
+ "@storybook/instrumenter": "6.5.0-alpha.52",
48
+ "@storybook/manager-webpack4": "6.5.0-alpha.52",
49
+ "@storybook/manager-webpack5": "6.5.0-alpha.52",
50
+ "@storybook/node-logger": "6.5.0-alpha.52",
51
+ "@storybook/postinstall": "6.5.0-alpha.52",
52
+ "@storybook/preact": "6.5.0-alpha.52",
53
+ "@storybook/preview-web": "6.5.0-alpha.52",
54
+ "@storybook/react": "6.5.0-alpha.52",
55
+ "@storybook/router": "6.5.0-alpha.52",
56
+ "@storybook/server": "6.5.0-alpha.52",
57
+ "@storybook/source-loader": "6.5.0-alpha.52",
58
+ "@storybook/store": "6.5.0-alpha.52",
59
+ "@storybook/svelte": "6.5.0-alpha.52",
60
+ "@storybook/theming": "6.5.0-alpha.52",
61
+ "@storybook/ui": "6.5.0-alpha.52",
62
+ "@storybook/vue": "6.5.0-alpha.52",
63
+ "@storybook/vue3": "6.5.0-alpha.52",
64
+ "@storybook/web-components": "6.5.0-alpha.52"
65
+ };
66
+ exports.default = _default;
@@ -1 +1,5 @@
1
- "use strict";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.add = add;
7
- exports.addStorybookAddonToFile = exports.getPackageArg = exports.getInstalledStorybookVersion = exports.getPackageName = exports.storybookAddonScope = void 0;
7
+ exports.storybookAddonScope = exports.getPackageName = exports.getPackageArg = exports.getInstalledStorybookVersion = exports.addStorybookAddonToFile = void 0;
8
8
 
9
9
  require("core-js/modules/es.promise.js");
10
10