@storybook/cli 6.4.0-beta.3 → 6.4.0-beta.30

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 (106) 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/extract.js +3 -0
  11. package/dist/cjs/frameworks/web-components/js/Button.js +1 -1
  12. package/dist/cjs/frameworks/web-components/ts/Button.ts +1 -1
  13. package/dist/cjs/generate.js +11 -2
  14. package/dist/cjs/generators/ANGULAR/index.js +1 -1
  15. package/dist/cjs/generators/AURELIA/index.js +1 -1
  16. package/dist/cjs/generators/REACT_NATIVE/index.js +2 -2
  17. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/index.js +1 -1
  18. package/dist/cjs/generators/REACT_SCRIPTS/index.js +1 -1
  19. package/dist/cjs/generators/SERVER/index.js +1 -1
  20. package/dist/cjs/generators/baseGenerator.js +3 -1
  21. package/dist/cjs/helpers.js +3 -11
  22. package/dist/cjs/initiate.js +2 -17
  23. package/dist/cjs/project_types.js +1 -10
  24. package/dist/cjs/upgrade.js +39 -5
  25. package/dist/cjs/versions.json +57 -55
  26. package/dist/esm/automigrate/fixes/angular12.js +79 -0
  27. package/dist/esm/automigrate/fixes/cra5.js +79 -0
  28. package/dist/esm/automigrate/fixes/index.js +33 -0
  29. package/dist/esm/automigrate/fixes/mainjsFramework.js +89 -0
  30. package/dist/esm/automigrate/fixes/webpack5.js +156 -0
  31. package/dist/esm/automigrate/helpers/getStorybookConfiguration.js +27 -0
  32. package/dist/esm/automigrate/helpers/getStorybookInfo.js +94 -0
  33. package/dist/esm/automigrate/index.js +72 -0
  34. package/dist/esm/automigrate/types.js +1 -0
  35. package/dist/esm/extract.js +3 -0
  36. package/dist/esm/frameworks/web-components/js/Button.js +1 -1
  37. package/dist/esm/frameworks/web-components/ts/Button.ts +1 -1
  38. package/dist/esm/generate.js +11 -2
  39. package/dist/esm/generators/ANGULAR/index.js +1 -1
  40. package/dist/esm/generators/AURELIA/index.js +1 -1
  41. package/dist/esm/generators/REACT_NATIVE/index.js +2 -2
  42. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/index.js +1 -1
  43. package/dist/esm/generators/REACT_SCRIPTS/index.js +1 -1
  44. package/dist/esm/generators/SERVER/index.js +1 -1
  45. package/dist/esm/generators/baseGenerator.js +3 -1
  46. package/dist/esm/helpers.js +3 -11
  47. package/dist/esm/initiate.js +2 -17
  48. package/dist/esm/project_types.js +1 -10
  49. package/dist/esm/upgrade.js +39 -5
  50. package/dist/esm/versions.json +57 -55
  51. package/dist/modern/automigrate/fixes/angular12.js +79 -0
  52. package/dist/modern/automigrate/fixes/cra5.js +79 -0
  53. package/dist/modern/automigrate/fixes/index.js +33 -0
  54. package/dist/modern/automigrate/fixes/mainjsFramework.js +89 -0
  55. package/dist/modern/automigrate/fixes/webpack5.js +156 -0
  56. package/dist/modern/automigrate/helpers/getStorybookConfiguration.js +27 -0
  57. package/dist/modern/automigrate/helpers/getStorybookInfo.js +94 -0
  58. package/dist/modern/automigrate/index.js +72 -0
  59. package/dist/modern/automigrate/types.js +1 -0
  60. package/dist/modern/extract.js +3 -0
  61. package/dist/modern/frameworks/web-components/js/Button.js +1 -1
  62. package/dist/modern/generate.js +11 -2
  63. package/dist/modern/generators/ANGULAR/index.js +1 -1
  64. package/dist/modern/generators/AURELIA/index.js +1 -1
  65. package/dist/modern/generators/REACT_NATIVE/index.js +2 -2
  66. package/dist/modern/generators/REACT_NATIVE/template-csf/storybook/index.js +1 -1
  67. package/dist/modern/generators/REACT_SCRIPTS/index.js +1 -1
  68. package/dist/modern/generators/SERVER/index.js +1 -1
  69. package/dist/modern/generators/baseGenerator.js +3 -1
  70. package/dist/modern/helpers.js +3 -11
  71. package/dist/modern/initiate.js +2 -17
  72. package/dist/modern/project_types.js +1 -10
  73. package/dist/modern/upgrade.js +39 -5
  74. package/dist/modern/versions.json +57 -55
  75. package/dist/ts3.4/automigrate/fixes/angular12.d.ts +15 -0
  76. package/dist/ts3.4/automigrate/fixes/cra5.d.ts +15 -0
  77. package/dist/ts3.4/automigrate/fixes/index.d.ts +3 -0
  78. package/dist/ts3.4/automigrate/fixes/mainjsFramework.d.ts +8 -0
  79. package/dist/ts3.4/automigrate/fixes/webpack5.d.ts +26 -0
  80. package/dist/ts3.4/automigrate/helpers/getStorybookConfiguration.d.ts +1 -0
  81. package/dist/ts3.4/automigrate/helpers/getStorybookInfo.d.ts +11 -0
  82. package/dist/ts3.4/automigrate/index.d.ts +7 -0
  83. package/dist/ts3.4/automigrate/types.d.ts +15 -0
  84. package/dist/ts3.4/generators/REACT_NATIVE/index.d.ts +1 -2
  85. package/dist/ts3.4/generators/baseGenerator.d.ts +1 -2
  86. package/dist/ts3.4/helpers.d.ts +2 -2
  87. package/dist/ts3.4/initiate.d.ts +1 -2
  88. package/dist/ts3.4/project_types.d.ts +0 -7
  89. package/dist/ts3.4/upgrade.d.ts +7 -3
  90. package/dist/ts3.9/automigrate/fixes/angular12.d.ts +15 -0
  91. package/dist/ts3.9/automigrate/fixes/cra5.d.ts +15 -0
  92. package/dist/ts3.9/automigrate/fixes/index.d.ts +3 -0
  93. package/dist/ts3.9/automigrate/fixes/mainjsFramework.d.ts +8 -0
  94. package/dist/ts3.9/automigrate/fixes/webpack5.d.ts +26 -0
  95. package/dist/ts3.9/automigrate/helpers/getStorybookConfiguration.d.ts +1 -0
  96. package/dist/ts3.9/automigrate/helpers/getStorybookInfo.d.ts +11 -0
  97. package/dist/ts3.9/automigrate/index.d.ts +7 -0
  98. package/dist/ts3.9/automigrate/types.d.ts +15 -0
  99. package/dist/ts3.9/generators/REACT_NATIVE/index.d.ts +1 -2
  100. package/dist/ts3.9/generators/baseGenerator.d.ts +1 -2
  101. package/dist/ts3.9/helpers.d.ts +2 -2
  102. package/dist/ts3.9/initiate.d.ts +1 -2
  103. package/dist/ts3.9/project_types.d.ts +0 -7
  104. package/dist/ts3.9/upgrade.d.ts +7 -3
  105. package/package.json +7 -6
  106. package/story.js +0 -10
@@ -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+)/;
@@ -57,6 +59,8 @@ const checkVersionConsistency = () => {
57
59
  _nodeLogger.logger.warn('No storybook core packages found.');
58
60
 
59
61
  _nodeLogger.logger.warn(`'npm ls | grep storybook' can show if multiple versions are installed.`);
62
+
63
+ return;
60
64
  }
61
65
 
62
66
  storybookPackages.sort((a, b) => _semver.default.rcompare(a.version, b.version));
@@ -91,21 +95,45 @@ const checkVersionConsistency = () => {
91
95
  };
92
96
 
93
97
  exports.checkVersionConsistency = checkVersionConsistency;
98
+ const EXTRA_FLAGS = {
99
+ 'react-scripts@<5': ['--reject', '/preset-create-react-app/']
100
+ };
101
+
102
+ const addExtraFlags = (extraFlags, flags, {
103
+ dependencies,
104
+ devDependencies
105
+ }) => {
106
+ return Object.entries(extraFlags).reduce((acc, entry) => {
107
+ const [pattern, extra] = entry;
108
+ const [pkg, specifier] = (0, _jsPackageManager.getPackageDetails)(pattern);
109
+ const pkgVersion = dependencies[pkg] || devDependencies[pkg];
110
+
111
+ if (pkgVersion && _semver.default.satisfies(_semver.default.coerce(pkgVersion), specifier)) {
112
+ return [...acc, ...extra];
113
+ }
114
+
115
+ return acc;
116
+ }, [...flags]);
117
+ };
118
+
119
+ exports.addExtraFlags = addExtraFlags;
94
120
 
95
121
  const upgrade = async ({
96
122
  prerelease,
97
123
  skipCheck,
98
124
  useNpm,
99
- dryRun
125
+ dryRun,
126
+ yes
100
127
  }) => {
101
128
  const packageManager = _jsPackageManager.JsPackageManagerFactory.getPackageManager(useNpm);
102
129
 
103
130
  (0, _helpers.commandLog)(`Checking for latest versions of '@storybook/*' packages`);
104
- const flags = [];
131
+ let flags = [];
105
132
  if (!dryRun) flags.push('--upgrade');
106
133
  flags.push('--target');
107
134
  flags.push(prerelease ? 'greatest' : 'latest');
108
- const check = (0, _crossSpawn.sync)('npx', ['npm-check-updates', '/storybook/', ...flags], {
135
+ flags = addExtraFlags(EXTRA_FLAGS, flags, packageManager.retrievePackageJson());
136
+ const check = (0, _crossSpawn.sync)('npx', ['npm-check-updates@latest', '/storybook/', ...flags], {
109
137
  stdio: 'pipe'
110
138
  }).output.toString();
111
139
 
@@ -116,7 +144,13 @@ const upgrade = async ({
116
144
  packageManager.installDependencies();
117
145
  }
118
146
 
119
- if (!skipCheck) checkVersionConsistency();
147
+ if (!skipCheck) {
148
+ checkVersionConsistency();
149
+ await (0, _automigrate.automigrate)({
150
+ dryRun,
151
+ yes
152
+ });
153
+ }
120
154
  };
121
155
 
122
156
  exports.upgrade = upgrade;
@@ -1,57 +1,59 @@
1
1
  {
2
- "@storybook/addon-a11y": "6.4.0-beta.3",
3
- "@storybook/addon-actions": "6.4.0-beta.3",
4
- "@storybook/addon-backgrounds": "6.4.0-beta.3",
5
- "@storybook/addon-controls": "6.4.0-beta.3",
6
- "@storybook/addon-docs": "6.4.0-beta.3",
7
- "@storybook/addon-essentials": "6.4.0-beta.3",
8
- "@storybook/addon-jest": "6.4.0-beta.3",
9
- "@storybook/addon-links": "6.4.0-beta.3",
10
- "@storybook/addon-storyshots": "6.4.0-beta.3",
11
- "@storybook/addon-storyshots-puppeteer": "6.4.0-beta.3",
12
- "@storybook/addon-storysource": "6.4.0-beta.3",
13
- "@storybook/addon-toolbars": "6.4.0-beta.3",
14
- "@storybook/addon-viewport": "6.4.0-beta.3",
15
- "@storybook/addons": "6.4.0-beta.3",
16
- "@storybook/angular": "6.4.0-beta.3",
17
- "@storybook/api": "6.4.0-beta.3",
18
- "@storybook/aurelia": "6.4.0-beta.3",
19
- "@storybook/builder-webpack4": "6.4.0-beta.3",
20
- "@storybook/builder-webpack5": "6.4.0-beta.3",
21
- "@storybook/channel-postmessage": "6.4.0-beta.3",
22
- "@storybook/channel-websocket": "6.4.0-beta.3",
23
- "@storybook/channels": "6.4.0-beta.3",
24
- "@storybook/cli": "6.4.0-beta.3",
25
- "@storybook/client-api": "6.4.0-beta.3",
26
- "@storybook/client-logger": "6.4.0-beta.3",
27
- "@storybook/codemod": "6.4.0-beta.3",
28
- "@storybook/components": "6.4.0-beta.3",
29
- "@storybook/core": "6.4.0-beta.3",
30
- "@storybook/core-client": "6.4.0-beta.3",
31
- "@storybook/core-common": "6.4.0-beta.3",
32
- "@storybook/core-events": "6.4.0-beta.3",
33
- "@storybook/core-server": "6.4.0-beta.3",
34
- "@storybook/csf-tools": "6.4.0-beta.3",
35
- "@storybook/ember": "6.4.0-beta.3",
36
- "@storybook/html": "6.4.0-beta.3",
37
- "@storybook/manager-webpack4": "6.4.0-beta.3",
38
- "@storybook/manager-webpack5": "6.4.0-beta.3",
39
- "@storybook/marionette": "6.4.0-beta.3",
40
- "@storybook/marko": "6.4.0-beta.3",
41
- "@storybook/mithril": "6.4.0-beta.3",
42
- "@storybook/node-logger": "6.4.0-beta.3",
43
- "@storybook/postinstall": "6.4.0-beta.3",
44
- "@storybook/preact": "6.4.0-beta.3",
45
- "@storybook/rax": "6.4.0-beta.3",
46
- "@storybook/react": "6.4.0-beta.3",
47
- "@storybook/riot": "6.4.0-beta.3",
48
- "@storybook/router": "6.4.0-beta.3",
49
- "@storybook/server": "6.4.0-beta.3",
50
- "@storybook/source-loader": "6.4.0-beta.3",
51
- "@storybook/svelte": "6.4.0-beta.3",
52
- "@storybook/theming": "6.4.0-beta.3",
53
- "@storybook/ui": "6.4.0-beta.3",
54
- "@storybook/vue": "6.4.0-beta.3",
55
- "@storybook/vue3": "6.4.0-beta.3",
56
- "@storybook/web-components": "6.4.0-beta.3"
2
+ "@storybook/addon-a11y": "6.4.0-beta.30",
3
+ "@storybook/addon-actions": "6.4.0-beta.30",
4
+ "@storybook/addon-backgrounds": "6.4.0-beta.30",
5
+ "@storybook/addon-controls": "6.4.0-beta.30",
6
+ "@storybook/addon-docs": "6.4.0-beta.30",
7
+ "@storybook/addon-essentials": "6.4.0-beta.30",
8
+ "@storybook/addon-interactions": "6.4.0-beta.30",
9
+ "@storybook/addon-jest": "6.4.0-beta.30",
10
+ "@storybook/addon-links": "6.4.0-beta.30",
11
+ "@storybook/addon-storyshots": "6.4.0-beta.30",
12
+ "@storybook/addon-storyshots-puppeteer": "6.4.0-beta.30",
13
+ "@storybook/addon-storysource": "6.4.0-beta.30",
14
+ "@storybook/addon-toolbars": "6.4.0-beta.30",
15
+ "@storybook/addon-viewport": "6.4.0-beta.30",
16
+ "@storybook/addons": "6.4.0-beta.30",
17
+ "@storybook/angular": "6.4.0-beta.30",
18
+ "@storybook/api": "6.4.0-beta.30",
19
+ "@storybook/aurelia": "6.4.0-beta.30",
20
+ "@storybook/builder-webpack4": "6.4.0-beta.30",
21
+ "@storybook/builder-webpack5": "6.4.0-beta.30",
22
+ "@storybook/channel-postmessage": "6.4.0-beta.30",
23
+ "@storybook/channel-websocket": "6.4.0-beta.30",
24
+ "@storybook/channels": "6.4.0-beta.30",
25
+ "@storybook/cli": "6.4.0-beta.30",
26
+ "@storybook/client-api": "6.4.0-beta.30",
27
+ "@storybook/client-logger": "6.4.0-beta.30",
28
+ "@storybook/codemod": "6.4.0-beta.30",
29
+ "@storybook/components": "6.4.0-beta.30",
30
+ "@storybook/core": "6.4.0-beta.30",
31
+ "@storybook/core-client": "6.4.0-beta.30",
32
+ "@storybook/core-common": "6.4.0-beta.30",
33
+ "@storybook/core-events": "6.4.0-beta.30",
34
+ "@storybook/core-server": "6.4.0-beta.30",
35
+ "@storybook/csf-tools": "6.4.0-beta.30",
36
+ "@storybook/ember": "6.4.0-beta.30",
37
+ "@storybook/html": "6.4.0-beta.30",
38
+ "@storybook/instrumenter": "6.4.0-beta.30",
39
+ "@storybook/manager-webpack4": "6.4.0-beta.30",
40
+ "@storybook/manager-webpack5": "6.4.0-beta.30",
41
+ "@storybook/marionette": "6.4.0-beta.30",
42
+ "@storybook/marko": "6.4.0-beta.30",
43
+ "@storybook/mithril": "6.4.0-beta.30",
44
+ "@storybook/node-logger": "6.4.0-beta.30",
45
+ "@storybook/postinstall": "6.4.0-beta.30",
46
+ "@storybook/preact": "6.4.0-beta.30",
47
+ "@storybook/rax": "6.4.0-beta.30",
48
+ "@storybook/react": "6.4.0-beta.30",
49
+ "@storybook/riot": "6.4.0-beta.30",
50
+ "@storybook/router": "6.4.0-beta.30",
51
+ "@storybook/server": "6.4.0-beta.30",
52
+ "@storybook/source-loader": "6.4.0-beta.30",
53
+ "@storybook/svelte": "6.4.0-beta.30",
54
+ "@storybook/theming": "6.4.0-beta.30",
55
+ "@storybook/ui": "6.4.0-beta.30",
56
+ "@storybook/vue": "6.4.0-beta.30",
57
+ "@storybook/vue3": "6.4.0-beta.30",
58
+ "@storybook/web-components": "6.4.0-beta.30"
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;