@storybook/cli 6.4.0-beta.2 → 6.4.0-beta.23

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 (102) hide show
  1. package/dist/cjs/automigrate/fixes/angular12.js +79 -0
  2. package/dist/cjs/automigrate/fixes/cra5.js +79 -0
  3. package/dist/cjs/automigrate/fixes/index.js +33 -0
  4. package/dist/cjs/automigrate/fixes/mainjsFramework.js +89 -0
  5. package/dist/cjs/automigrate/fixes/webpack5.js +156 -0
  6. package/dist/cjs/automigrate/helpers/getStorybookConfiguration.js +27 -0
  7. package/dist/cjs/automigrate/helpers/getStorybookInfo.js +94 -0
  8. package/dist/cjs/automigrate/index.js +72 -0
  9. package/dist/cjs/automigrate/types.js +1 -0
  10. package/dist/cjs/frameworks/web-components/js/Button.js +1 -1
  11. package/dist/cjs/frameworks/web-components/ts/Button.ts +1 -1
  12. package/dist/cjs/generate.js +11 -2
  13. package/dist/cjs/generators/ANGULAR/index.js +1 -1
  14. package/dist/cjs/generators/AURELIA/index.js +1 -1
  15. package/dist/cjs/generators/REACT_NATIVE/index.js +2 -2
  16. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/index.js +1 -1
  17. package/dist/cjs/generators/REACT_SCRIPTS/index.js +21 -4
  18. package/dist/cjs/generators/SERVER/index.js +1 -1
  19. package/dist/cjs/generators/baseGenerator.js +6 -2
  20. package/dist/cjs/helpers.js +3 -11
  21. package/dist/cjs/initiate.js +2 -17
  22. package/dist/cjs/project_types.js +1 -10
  23. package/dist/cjs/upgrade.js +37 -5
  24. package/dist/cjs/versions.json +57 -55
  25. package/dist/esm/automigrate/fixes/angular12.js +79 -0
  26. package/dist/esm/automigrate/fixes/cra5.js +79 -0
  27. package/dist/esm/automigrate/fixes/index.js +33 -0
  28. package/dist/esm/automigrate/fixes/mainjsFramework.js +89 -0
  29. package/dist/esm/automigrate/fixes/webpack5.js +156 -0
  30. package/dist/esm/automigrate/helpers/getStorybookConfiguration.js +27 -0
  31. package/dist/esm/automigrate/helpers/getStorybookInfo.js +94 -0
  32. package/dist/esm/automigrate/index.js +72 -0
  33. package/dist/esm/automigrate/types.js +1 -0
  34. package/dist/esm/frameworks/web-components/js/Button.js +1 -1
  35. package/dist/esm/frameworks/web-components/ts/Button.ts +1 -1
  36. package/dist/esm/generate.js +11 -2
  37. package/dist/esm/generators/ANGULAR/index.js +1 -1
  38. package/dist/esm/generators/AURELIA/index.js +1 -1
  39. package/dist/esm/generators/REACT_NATIVE/index.js +2 -2
  40. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/index.js +1 -1
  41. package/dist/esm/generators/REACT_SCRIPTS/index.js +21 -4
  42. package/dist/esm/generators/SERVER/index.js +1 -1
  43. package/dist/esm/generators/baseGenerator.js +6 -2
  44. package/dist/esm/helpers.js +3 -11
  45. package/dist/esm/initiate.js +2 -17
  46. package/dist/esm/project_types.js +1 -10
  47. package/dist/esm/upgrade.js +37 -5
  48. package/dist/esm/versions.json +57 -55
  49. package/dist/modern/automigrate/fixes/angular12.js +79 -0
  50. package/dist/modern/automigrate/fixes/cra5.js +79 -0
  51. package/dist/modern/automigrate/fixes/index.js +33 -0
  52. package/dist/modern/automigrate/fixes/mainjsFramework.js +89 -0
  53. package/dist/modern/automigrate/fixes/webpack5.js +156 -0
  54. package/dist/modern/automigrate/helpers/getStorybookConfiguration.js +27 -0
  55. package/dist/modern/automigrate/helpers/getStorybookInfo.js +94 -0
  56. package/dist/modern/automigrate/index.js +72 -0
  57. package/dist/modern/automigrate/types.js +1 -0
  58. package/dist/modern/frameworks/web-components/js/Button.js +1 -1
  59. package/dist/modern/generate.js +11 -2
  60. package/dist/modern/generators/ANGULAR/index.js +1 -1
  61. package/dist/modern/generators/AURELIA/index.js +1 -1
  62. package/dist/modern/generators/REACT_NATIVE/index.js +2 -2
  63. package/dist/modern/generators/REACT_NATIVE/template-csf/storybook/index.js +1 -1
  64. package/dist/modern/generators/REACT_SCRIPTS/index.js +21 -4
  65. package/dist/modern/generators/SERVER/index.js +1 -1
  66. package/dist/modern/generators/baseGenerator.js +6 -2
  67. package/dist/modern/helpers.js +3 -11
  68. package/dist/modern/initiate.js +2 -17
  69. package/dist/modern/project_types.js +1 -10
  70. package/dist/modern/upgrade.js +37 -5
  71. package/dist/modern/versions.json +57 -55
  72. package/dist/ts3.4/automigrate/fixes/angular12.d.ts +15 -0
  73. package/dist/ts3.4/automigrate/fixes/cra5.d.ts +15 -0
  74. package/dist/ts3.4/automigrate/fixes/index.d.ts +3 -0
  75. package/dist/ts3.4/automigrate/fixes/mainjsFramework.d.ts +8 -0
  76. package/dist/ts3.4/automigrate/fixes/webpack5.d.ts +26 -0
  77. package/dist/ts3.4/automigrate/helpers/getStorybookConfiguration.d.ts +1 -0
  78. package/dist/ts3.4/automigrate/helpers/getStorybookInfo.d.ts +11 -0
  79. package/dist/ts3.4/automigrate/index.d.ts +7 -0
  80. package/dist/ts3.4/automigrate/types.d.ts +15 -0
  81. package/dist/ts3.4/generators/REACT_NATIVE/index.d.ts +1 -2
  82. package/dist/ts3.4/generators/baseGenerator.d.ts +1 -2
  83. package/dist/ts3.4/helpers.d.ts +2 -2
  84. package/dist/ts3.4/initiate.d.ts +1 -2
  85. package/dist/ts3.4/project_types.d.ts +0 -7
  86. package/dist/ts3.4/upgrade.d.ts +7 -3
  87. package/dist/ts3.9/automigrate/fixes/angular12.d.ts +15 -0
  88. package/dist/ts3.9/automigrate/fixes/cra5.d.ts +15 -0
  89. package/dist/ts3.9/automigrate/fixes/index.d.ts +3 -0
  90. package/dist/ts3.9/automigrate/fixes/mainjsFramework.d.ts +8 -0
  91. package/dist/ts3.9/automigrate/fixes/webpack5.d.ts +26 -0
  92. package/dist/ts3.9/automigrate/helpers/getStorybookConfiguration.d.ts +1 -0
  93. package/dist/ts3.9/automigrate/helpers/getStorybookInfo.d.ts +11 -0
  94. package/dist/ts3.9/automigrate/index.d.ts +7 -0
  95. package/dist/ts3.9/automigrate/types.d.ts +15 -0
  96. package/dist/ts3.9/generators/REACT_NATIVE/index.d.ts +1 -2
  97. package/dist/ts3.9/generators/baseGenerator.d.ts +1 -2
  98. package/dist/ts3.9/helpers.d.ts +2 -2
  99. package/dist/ts3.9/initiate.d.ts +1 -2
  100. package/dist/ts3.9/project_types.d.ts +0 -7
  101. package/dist/ts3.9/upgrade.d.ts +7 -3
  102. package/package.json +7 -6
@@ -28,8 +28,6 @@ var _semver = require("@storybook/semver");
28
28
 
29
29
  var _stripJsonComments = _interopRequireDefault(require("strip-json-comments"));
30
30
 
31
- var _project_types = require("./project_types");
32
-
33
31
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34
32
 
35
33
  /* eslint-disable no-param-reassign */
@@ -178,17 +176,11 @@ function addToDevDependenciesIfNotPresent(packageJson, name, packageVersion) {
178
176
  }
179
177
  }
180
178
 
181
- function copyTemplate(templateRoot, storyFormat) {
182
- const templateDir = _path.default.resolve(templateRoot, `template-${storyFormat}/`);
179
+ function copyTemplate(templateRoot) {
180
+ const templateDir = _path.default.resolve(templateRoot, `template-csf/`);
183
181
 
184
182
  if (!_fs.default.existsSync(templateDir)) {
185
- // Fallback to CSF plain first, in case format is typescript but template is not available.
186
- if (storyFormat === _project_types.StoryFormat.CSF_TYPESCRIPT) {
187
- copyTemplate(templateRoot, _project_types.StoryFormat.CSF);
188
- return;
189
- }
190
-
191
- throw new Error(`Unsupported story format: ${storyFormat}`);
183
+ throw new Error(`Couldn't find template dir`);
192
184
  }
193
185
 
194
186
  _fsExtra.default.copySync(templateDir, '.', {
@@ -63,8 +63,6 @@ var _RAX = _interopRequireDefault(require("./generators/RAX"));
63
63
 
64
64
  var _SERVER = _interopRequireDefault(require("./generators/SERVER"));
65
65
 
66
- var _warn = require("./warn");
67
-
68
66
  var _jsPackageManager = require("./js-package-manager");
69
67
 
70
68
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -79,13 +77,7 @@ const installStorybook = (projectType, options) => {
79
77
  skipInstall: options.skipInstall
80
78
  };
81
79
  const language = (0, _detect.detectLanguage)();
82
- const hasTSDependency = language === _project_types.SupportedLanguage.TYPESCRIPT;
83
- (0, _warn.warn)({
84
- hasTSDependency
85
- });
86
- const defaultStoryFormat = hasTSDependency ? _project_types.StoryFormat.CSF_TYPESCRIPT : _project_types.StoryFormat.CSF;
87
80
  const generatorOptions = {
88
- storyFormat: options.storyFormat || defaultStoryFormat,
89
81
  language,
90
82
  builder: options.builder || _project_types.CoreBuilder.Webpack4,
91
83
  linkable: !!options.linkable,
@@ -138,7 +130,7 @@ const installStorybook = (projectType, options) => {
138
130
  initial: false
139
131
  }])).then(({
140
132
  server
141
- }) => (0, _REACT_NATIVE.default)(packageManager, npmOptions, server, generatorOptions)).then((0, _helpers.commandLog)('Adding Storybook support to your "React Native" app')).then(end).then(() => {
133
+ }) => (0, _REACT_NATIVE.default)(packageManager, npmOptions, server)).then((0, _helpers.commandLog)('Adding Storybook support to your "React Native" app')).then(end).then(() => {
142
134
  logger.log(_chalk.default.red('NOTE: installation is not 100% automated.'));
143
135
  logger.log(`To quickly run Storybook, replace contents of your app entry with:\n`);
144
136
  (0, _helpers.codeLog)(["export {default} from './storybook';"]);
@@ -289,14 +281,7 @@ function initiate(options, pkg) {
289
281
  }
290
282
 
291
283
  done();
292
- const cleanOptions = Object.assign({}, options);
293
-
294
- if (options.storyFormat === _project_types.StoryFormat.MDX) {
295
- logger.warn(' The MDX CLI template is deprecated. The JS and TS templates already include MDX examples!');
296
- cleanOptions.storyFormat = undefined;
297
- }
298
-
299
- return installStorybook(projectType, Object.assign({}, cleanOptions, isEsm ? {
284
+ return installStorybook(projectType, Object.assign({}, options, isEsm ? {
300
285
  commonJs: true
301
286
  } : undefined));
302
287
  }
@@ -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.StoryFormat = exports.SUPPORTED_FRAMEWORKS = exports.ProjectType = void 0;
6
+ exports.installableProjectTypes = exports.unsupportedTemplate = exports.supportedTemplates = exports.SupportedLanguage = exports.CoreBuilder = exports.SUPPORTED_FRAMEWORKS = exports.ProjectType = void 0;
7
7
 
8
8
  var _semver = require("@storybook/semver");
9
9
 
@@ -52,15 +52,6 @@ exports.ProjectType = ProjectType;
52
52
 
53
53
  const SUPPORTED_FRAMEWORKS = ['react', 'react-native', 'vue', 'vue3', 'angular', 'mithril', 'riot', 'ember', 'marionette', 'marko', 'meteor', 'preact', 'svelte', 'rax', 'aurelia'];
54
54
  exports.SUPPORTED_FRAMEWORKS = SUPPORTED_FRAMEWORKS;
55
- let StoryFormat;
56
- exports.StoryFormat = StoryFormat;
57
-
58
- (function (StoryFormat) {
59
- StoryFormat["CSF"] = "csf";
60
- StoryFormat["CSF_TYPESCRIPT"] = "csf-ts";
61
- StoryFormat["MDX"] = "mdx";
62
- })(StoryFormat || (exports.StoryFormat = StoryFormat = {}));
63
-
64
55
  let CoreBuilder; // The `& {}` bit allows for auto-complete, see: https://github.com/microsoft/TypeScript/issues/29729
65
56
 
66
57
  exports.CoreBuilder = CoreBuilder;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.upgrade = exports.checkVersionConsistency = exports.isCorePackage = exports.getStorybookVersion = void 0;
6
+ exports.upgrade = exports.addExtraFlags = exports.checkVersionConsistency = exports.isCorePackage = exports.getStorybookVersion = void 0;
7
7
 
8
8
  require("core-js/modules/es.promise.js");
9
9
 
@@ -17,6 +17,8 @@ var _jsPackageManager = require("./js-package-manager");
17
17
 
18
18
  var _helpers = require("./helpers");
19
19
 
20
+ var _automigrate = require("./automigrate");
21
+
20
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
23
 
22
24
  const versionRegex = /(@storybook\/[^@]+)@(\S+)/;
@@ -91,21 +93,45 @@ const checkVersionConsistency = () => {
91
93
  };
92
94
 
93
95
  exports.checkVersionConsistency = checkVersionConsistency;
96
+ const EXTRA_FLAGS = {
97
+ 'react-scripts@<5': ['--reject', '/preset-create-react-app/']
98
+ };
99
+
100
+ const addExtraFlags = (extraFlags, flags, {
101
+ dependencies,
102
+ devDependencies
103
+ }) => {
104
+ return Object.entries(extraFlags).reduce((acc, entry) => {
105
+ const [pattern, extra] = entry;
106
+ const [pkg, specifier] = (0, _jsPackageManager.getPackageDetails)(pattern);
107
+ const pkgVersion = dependencies[pkg] || devDependencies[pkg];
108
+
109
+ if (pkgVersion && _semver.default.satisfies(_semver.default.coerce(pkgVersion), specifier)) {
110
+ return [...acc, ...extra];
111
+ }
112
+
113
+ return acc;
114
+ }, [...flags]);
115
+ };
116
+
117
+ exports.addExtraFlags = addExtraFlags;
94
118
 
95
119
  const upgrade = async ({
96
120
  prerelease,
97
121
  skipCheck,
98
122
  useNpm,
99
- dryRun
123
+ dryRun,
124
+ yes
100
125
  }) => {
101
126
  const packageManager = _jsPackageManager.JsPackageManagerFactory.getPackageManager(useNpm);
102
127
 
103
128
  (0, _helpers.commandLog)(`Checking for latest versions of '@storybook/*' packages`);
104
- const flags = [];
129
+ let flags = [];
105
130
  if (!dryRun) flags.push('--upgrade');
106
131
  flags.push('--target');
107
132
  flags.push(prerelease ? 'greatest' : 'latest');
108
- const check = (0, _crossSpawn.sync)('npx', ['npm-check-updates', '/storybook/', ...flags], {
133
+ flags = addExtraFlags(EXTRA_FLAGS, flags, packageManager.retrievePackageJson());
134
+ const check = (0, _crossSpawn.sync)('npx', ['npm-check-updates@latest', '/storybook/', ...flags], {
109
135
  stdio: 'pipe'
110
136
  }).output.toString();
111
137
 
@@ -116,7 +142,13 @@ const upgrade = async ({
116
142
  packageManager.installDependencies();
117
143
  }
118
144
 
119
- if (!skipCheck) checkVersionConsistency();
145
+ if (!skipCheck) {
146
+ checkVersionConsistency();
147
+ await (0, _automigrate.automigrate)({
148
+ dryRun,
149
+ yes
150
+ });
151
+ }
120
152
  };
121
153
 
122
154
  exports.upgrade = upgrade;
@@ -1,57 +1,59 @@
1
1
  {
2
- "@storybook/addon-a11y": "6.4.0-beta.2",
3
- "@storybook/addon-actions": "6.4.0-beta.2",
4
- "@storybook/addon-backgrounds": "6.4.0-beta.2",
5
- "@storybook/addon-controls": "6.4.0-beta.2",
6
- "@storybook/addon-docs": "6.4.0-beta.2",
7
- "@storybook/addon-essentials": "6.4.0-beta.2",
8
- "@storybook/addon-jest": "6.4.0-beta.2",
9
- "@storybook/addon-links": "6.4.0-beta.2",
10
- "@storybook/addon-storyshots": "6.4.0-beta.2",
11
- "@storybook/addon-storyshots-puppeteer": "6.4.0-beta.2",
12
- "@storybook/addon-storysource": "6.4.0-beta.2",
13
- "@storybook/addon-toolbars": "6.4.0-beta.2",
14
- "@storybook/addon-viewport": "6.4.0-beta.2",
15
- "@storybook/addons": "6.4.0-beta.2",
16
- "@storybook/angular": "6.4.0-beta.2",
17
- "@storybook/api": "6.4.0-beta.2",
18
- "@storybook/aurelia": "6.4.0-beta.2",
19
- "@storybook/builder-webpack4": "6.4.0-beta.2",
20
- "@storybook/builder-webpack5": "6.4.0-beta.2",
21
- "@storybook/channel-postmessage": "6.4.0-beta.2",
22
- "@storybook/channel-websocket": "6.4.0-beta.2",
23
- "@storybook/channels": "6.4.0-beta.2",
24
- "@storybook/cli": "6.4.0-beta.2",
25
- "@storybook/client-api": "6.4.0-beta.2",
26
- "@storybook/client-logger": "6.4.0-beta.2",
27
- "@storybook/codemod": "6.4.0-beta.2",
28
- "@storybook/components": "6.4.0-beta.2",
29
- "@storybook/core": "6.4.0-beta.2",
30
- "@storybook/core-client": "6.4.0-beta.2",
31
- "@storybook/core-common": "6.4.0-beta.2",
32
- "@storybook/core-events": "6.4.0-beta.2",
33
- "@storybook/core-server": "6.4.0-beta.2",
34
- "@storybook/csf-tools": "6.4.0-beta.2",
35
- "@storybook/ember": "6.4.0-beta.2",
36
- "@storybook/html": "6.4.0-beta.2",
37
- "@storybook/manager-webpack4": "6.4.0-beta.2",
38
- "@storybook/manager-webpack5": "6.4.0-beta.2",
39
- "@storybook/marionette": "6.4.0-beta.2",
40
- "@storybook/marko": "6.4.0-beta.2",
41
- "@storybook/mithril": "6.4.0-beta.2",
42
- "@storybook/node-logger": "6.4.0-beta.2",
43
- "@storybook/postinstall": "6.4.0-beta.2",
44
- "@storybook/preact": "6.4.0-beta.2",
45
- "@storybook/rax": "6.4.0-beta.2",
46
- "@storybook/react": "6.4.0-beta.2",
47
- "@storybook/riot": "6.4.0-beta.2",
48
- "@storybook/router": "6.4.0-beta.2",
49
- "@storybook/server": "6.4.0-beta.2",
50
- "@storybook/source-loader": "6.4.0-beta.2",
51
- "@storybook/svelte": "6.4.0-beta.2",
52
- "@storybook/theming": "6.4.0-beta.2",
53
- "@storybook/ui": "6.4.0-beta.2",
54
- "@storybook/vue": "6.4.0-beta.2",
55
- "@storybook/vue3": "6.4.0-beta.2",
56
- "@storybook/web-components": "6.4.0-beta.2"
2
+ "@storybook/addon-a11y": "6.4.0-beta.23",
3
+ "@storybook/addon-actions": "6.4.0-beta.23",
4
+ "@storybook/addon-backgrounds": "6.4.0-beta.23",
5
+ "@storybook/addon-controls": "6.4.0-beta.23",
6
+ "@storybook/addon-docs": "6.4.0-beta.23",
7
+ "@storybook/addon-essentials": "6.4.0-beta.23",
8
+ "@storybook/addon-interactions": "6.4.0-beta.23",
9
+ "@storybook/addon-jest": "6.4.0-beta.23",
10
+ "@storybook/addon-links": "6.4.0-beta.23",
11
+ "@storybook/addon-storyshots": "6.4.0-beta.23",
12
+ "@storybook/addon-storyshots-puppeteer": "6.4.0-beta.23",
13
+ "@storybook/addon-storysource": "6.4.0-beta.23",
14
+ "@storybook/addon-toolbars": "6.4.0-beta.23",
15
+ "@storybook/addon-viewport": "6.4.0-beta.23",
16
+ "@storybook/addons": "6.4.0-beta.23",
17
+ "@storybook/angular": "6.4.0-beta.23",
18
+ "@storybook/api": "6.4.0-beta.23",
19
+ "@storybook/aurelia": "6.4.0-beta.23",
20
+ "@storybook/builder-webpack4": "6.4.0-beta.23",
21
+ "@storybook/builder-webpack5": "6.4.0-beta.23",
22
+ "@storybook/channel-postmessage": "6.4.0-beta.23",
23
+ "@storybook/channel-websocket": "6.4.0-beta.23",
24
+ "@storybook/channels": "6.4.0-beta.23",
25
+ "@storybook/cli": "6.4.0-beta.23",
26
+ "@storybook/client-api": "6.4.0-beta.23",
27
+ "@storybook/client-logger": "6.4.0-beta.23",
28
+ "@storybook/codemod": "6.4.0-beta.23",
29
+ "@storybook/components": "6.4.0-beta.23",
30
+ "@storybook/core": "6.4.0-beta.23",
31
+ "@storybook/core-client": "6.4.0-beta.23",
32
+ "@storybook/core-common": "6.4.0-beta.23",
33
+ "@storybook/core-events": "6.4.0-beta.23",
34
+ "@storybook/core-server": "6.4.0-beta.23",
35
+ "@storybook/csf-tools": "6.4.0-beta.23",
36
+ "@storybook/ember": "6.4.0-beta.23",
37
+ "@storybook/html": "6.4.0-beta.23",
38
+ "@storybook/instrumenter": "6.4.0-beta.23",
39
+ "@storybook/manager-webpack4": "6.4.0-beta.23",
40
+ "@storybook/manager-webpack5": "6.4.0-beta.23",
41
+ "@storybook/marionette": "6.4.0-beta.23",
42
+ "@storybook/marko": "6.4.0-beta.23",
43
+ "@storybook/mithril": "6.4.0-beta.23",
44
+ "@storybook/node-logger": "6.4.0-beta.23",
45
+ "@storybook/postinstall": "6.4.0-beta.23",
46
+ "@storybook/preact": "6.4.0-beta.23",
47
+ "@storybook/rax": "6.4.0-beta.23",
48
+ "@storybook/react": "6.4.0-beta.23",
49
+ "@storybook/riot": "6.4.0-beta.23",
50
+ "@storybook/router": "6.4.0-beta.23",
51
+ "@storybook/server": "6.4.0-beta.23",
52
+ "@storybook/source-loader": "6.4.0-beta.23",
53
+ "@storybook/svelte": "6.4.0-beta.23",
54
+ "@storybook/theming": "6.4.0-beta.23",
55
+ "@storybook/ui": "6.4.0-beta.23",
56
+ "@storybook/vue": "6.4.0-beta.23",
57
+ "@storybook/vue3": "6.4.0-beta.23",
58
+ "@storybook/web-components": "6.4.0-beta.23"
57
59
  }
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.angular12 = void 0;
7
+
8
+ require("core-js/modules/es.promise.js");
9
+
10
+ var _chalk = _interopRequireDefault(require("chalk"));
11
+
12
+ var _tsDedent = _interopRequireDefault(require("ts-dedent"));
13
+
14
+ var _semver = _interopRequireDefault(require("@storybook/semver"));
15
+
16
+ var _webpack = require("./webpack5");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ /**
21
+ * Is the user upgrading to Angular12?
22
+ *
23
+ * If so:
24
+ * - Run webpack5 fix
25
+ */
26
+ const angular12 = {
27
+ id: 'angular12',
28
+
29
+ async check({
30
+ packageManager
31
+ }) {
32
+ var _semver$coerce;
33
+
34
+ const packageJson = packageManager.retrievePackageJson();
35
+ const {
36
+ dependencies,
37
+ devDependencies
38
+ } = packageJson;
39
+ const angularVersion = dependencies['@angular/core'] || devDependencies['@angular/core'];
40
+ const angularCoerced = (_semver$coerce = _semver.default.coerce(angularVersion)) === null || _semver$coerce === void 0 ? void 0 : _semver$coerce.version;
41
+
42
+ if (!angularCoerced || _semver.default.lt(angularCoerced, '12.0.0')) {
43
+ return null;
44
+ }
45
+
46
+ const builderInfo = await _webpack.webpack5.checkWebpack5Builder(packageJson);
47
+ return builderInfo ? Object.assign({
48
+ angularVersion
49
+ }, builderInfo) : null;
50
+ },
51
+
52
+ prompt({
53
+ angularVersion,
54
+ storybookVersion
55
+ }) {
56
+ const angularFormatted = _chalk.default.cyan(`Angular ${angularVersion}`);
57
+
58
+ const sbFormatted = _chalk.default.cyan(`Storybook ${storybookVersion}`);
59
+
60
+ return (0, _tsDedent.default)`
61
+ We've detected you are running ${angularFormatted} which is powered by webpack5.
62
+ ${sbFormatted} runs webpack4 by default, which is incompatible.
63
+
64
+ In order to work with your version of Angular, we need to install Storybook's ${_chalk.default.cyan('webpack5 builder')}.
65
+
66
+ More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#angular12-upgrade')}
67
+ `;
68
+ },
69
+
70
+ async run(options) {
71
+ return _webpack.webpack5.run(Object.assign({}, options, {
72
+ result: Object.assign({
73
+ webpackVersion: null
74
+ }, options.result)
75
+ }));
76
+ }
77
+
78
+ };
79
+ exports.angular12 = angular12;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.cra5 = void 0;
7
+
8
+ require("core-js/modules/es.promise.js");
9
+
10
+ var _chalk = _interopRequireDefault(require("chalk"));
11
+
12
+ var _tsDedent = _interopRequireDefault(require("ts-dedent"));
13
+
14
+ var _semver = _interopRequireDefault(require("@storybook/semver"));
15
+
16
+ var _webpack = require("./webpack5");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ /**
21
+ * Is the user upgrading from CRA4 to CRA5?
22
+ *
23
+ * If so:
24
+ * - Run webpack5 fix
25
+ */
26
+ const cra5 = {
27
+ id: 'cra5',
28
+
29
+ async check({
30
+ packageManager
31
+ }) {
32
+ var _semver$coerce;
33
+
34
+ const packageJson = packageManager.retrievePackageJson();
35
+ const {
36
+ dependencies,
37
+ devDependencies
38
+ } = packageJson;
39
+ const craVersion = dependencies['react-scripts'] || devDependencies['react-scripts'];
40
+ const craCoerced = (_semver$coerce = _semver.default.coerce(craVersion)) === null || _semver$coerce === void 0 ? void 0 : _semver$coerce.version;
41
+
42
+ if (!craCoerced || _semver.default.lt(craCoerced, '5.0.0')) {
43
+ return null;
44
+ }
45
+
46
+ const builderInfo = await _webpack.webpack5.checkWebpack5Builder(packageJson);
47
+ return builderInfo ? Object.assign({
48
+ craVersion
49
+ }, builderInfo) : null;
50
+ },
51
+
52
+ prompt({
53
+ craVersion,
54
+ storybookVersion
55
+ }) {
56
+ const craFormatted = _chalk.default.cyan(`Create React App (CRA) ${craVersion}`);
57
+
58
+ const sbFormatted = _chalk.default.cyan(`Storybook ${storybookVersion}`);
59
+
60
+ return (0, _tsDedent.default)`
61
+ We've detected you are running ${craFormatted} which is powered by webpack5.
62
+ ${sbFormatted} runs webpack4 by default, which is incompatible.
63
+
64
+ In order to work with your version of CRA, we need to install Storybook's ${_chalk.default.cyan('webpack5 builder')}.
65
+
66
+ More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#cra5-upgrade')}
67
+ `;
68
+ },
69
+
70
+ async run(options) {
71
+ return _webpack.webpack5.run(Object.assign({}, options, {
72
+ result: Object.assign({
73
+ webpackVersion: null
74
+ }, options.result)
75
+ }));
76
+ }
77
+
78
+ };
79
+ exports.cra5 = cra5;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ fixes: true
8
+ };
9
+ exports.fixes = void 0;
10
+
11
+ var _cra = require("./cra5");
12
+
13
+ var _webpack = require("./webpack5");
14
+
15
+ var _angular = require("./angular12");
16
+
17
+ var _mainjsFramework = require("./mainjsFramework");
18
+
19
+ var _types = require("../types");
20
+
21
+ Object.keys(_types).forEach(function (key) {
22
+ if (key === "default" || key === "__esModule") return;
23
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
24
+ if (key in exports && exports[key] === _types[key]) return;
25
+ Object.defineProperty(exports, key, {
26
+ enumerable: true,
27
+ get: function () {
28
+ return _types[key];
29
+ }
30
+ });
31
+ });
32
+ const fixes = [_cra.cra5, _webpack.webpack5, _angular.angular12, _mainjsFramework.mainjsFramework];
33
+ exports.fixes = fixes;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.mainjsFramework = void 0;
7
+
8
+ require("core-js/modules/es.promise.js");
9
+
10
+ var _chalk = _interopRequireDefault(require("chalk"));
11
+
12
+ var _tsDedent = _interopRequireDefault(require("ts-dedent"));
13
+
14
+ var _semver = _interopRequireDefault(require("@storybook/semver"));
15
+
16
+ var _csfTools = require("@storybook/csf-tools");
17
+
18
+ var _getStorybookInfo = require("../helpers/getStorybookInfo");
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ const logger = console;
23
+ const mainjsFramework = {
24
+ id: 'mainjsFramework',
25
+
26
+ async check({
27
+ packageManager
28
+ }) {
29
+ var _semver$coerce;
30
+
31
+ const packageJson = packageManager.retrievePackageJson();
32
+ const {
33
+ mainConfig,
34
+ framework,
35
+ version: storybookVersion
36
+ } = (0, _getStorybookInfo.getStorybookInfo)(packageJson);
37
+ const storybookCoerced = storybookVersion && ((_semver$coerce = _semver.default.coerce(storybookVersion)) === null || _semver$coerce === void 0 ? void 0 : _semver$coerce.version);
38
+
39
+ if (!storybookCoerced) {
40
+ logger.warn((0, _tsDedent.default)`
41
+ ❌ Unable to determine storybook version, skipping ${_chalk.default.cyan('mainjsFramework')} fix.
42
+ 🤔 Are you running automigrate from your project directory?
43
+ `);
44
+ return null;
45
+ }
46
+
47
+ const main = await (0, _csfTools.readConfig)(mainConfig);
48
+ const currentFramework = main.getFieldValue(['framework']);
49
+ const features = main.getFieldValue(['features']);
50
+ if (currentFramework) return null;
51
+ return features !== null && features !== void 0 && features.breakingChangesV7 || features !== null && features !== void 0 && features.storyStoreV7 || _semver.default.gte(storybookCoerced, '7.0.0') ? {
52
+ main,
53
+ framework: `@storybook/${framework}`
54
+ } : null;
55
+ },
56
+
57
+ prompt({
58
+ framework
59
+ }) {
60
+ const frameworkFormatted = _chalk.default.cyan(`framework: '${framework}'`);
61
+
62
+ return (0, _tsDedent.default)`
63
+ We've detected that your main.js configuration file does not specify the
64
+ 'framework' field, which is a requirement in SB7.0 and above. We can add one
65
+ for you automatically:
66
+
67
+ ${frameworkFormatted}
68
+
69
+ More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#mainjs-framework-field')}
70
+ `;
71
+ },
72
+
73
+ async run({
74
+ result: {
75
+ main,
76
+ framework
77
+ },
78
+ dryRun
79
+ }) {
80
+ logger.info(`✅ Setting 'framework' to '${framework}' in main.js`);
81
+
82
+ if (!dryRun) {
83
+ main.setFieldValue(['framework'], framework);
84
+ await (0, _csfTools.writeConfig)(main);
85
+ }
86
+ }
87
+
88
+ };
89
+ exports.mainjsFramework = mainjsFramework;