@storybook/cli 6.4.0-beta.3 → 6.4.0-beta.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/automigrate/fixes/angular12.js +79 -0
- package/dist/cjs/automigrate/fixes/cra5.js +79 -0
- package/dist/cjs/automigrate/fixes/eslint-plugin.js +128 -0
- package/dist/cjs/automigrate/fixes/index.js +35 -0
- package/dist/cjs/automigrate/fixes/mainjsFramework.js +89 -0
- package/dist/cjs/automigrate/fixes/webpack5.js +156 -0
- package/dist/cjs/automigrate/helpers/getEslintInfo.js +28 -0
- package/dist/cjs/automigrate/helpers/getStorybookConfiguration.js +27 -0
- package/dist/cjs/automigrate/helpers/getStorybookInfo.js +94 -0
- package/dist/cjs/automigrate/index.js +78 -0
- package/dist/cjs/automigrate/types.js +1 -0
- package/dist/cjs/extract.js +3 -0
- package/dist/cjs/frameworks/web-components/js/Button.js +1 -1
- package/dist/cjs/frameworks/web-components/ts/Button.ts +1 -1
- package/dist/cjs/generate.js +11 -2
- package/dist/cjs/generators/ANGULAR/index.js +1 -1
- package/dist/cjs/generators/AURELIA/index.js +1 -1
- package/dist/cjs/generators/REACT_NATIVE/index.js +2 -2
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/index.js +1 -1
- package/dist/cjs/generators/REACT_SCRIPTS/index.js +1 -1
- package/dist/cjs/generators/SERVER/index.js +1 -1
- package/dist/cjs/generators/baseGenerator.js +3 -1
- package/dist/cjs/helpers.js +3 -11
- package/dist/cjs/initiate.js +10 -22
- package/dist/cjs/project_types.js +1 -10
- package/dist/cjs/repro-generators/configs.js +6 -1
- package/dist/cjs/upgrade.js +39 -5
- package/dist/cjs/versions.json +57 -55
- package/dist/esm/automigrate/fixes/angular12.js +79 -0
- package/dist/esm/automigrate/fixes/cra5.js +79 -0
- package/dist/esm/automigrate/fixes/eslint-plugin.js +128 -0
- package/dist/esm/automigrate/fixes/index.js +35 -0
- package/dist/esm/automigrate/fixes/mainjsFramework.js +89 -0
- package/dist/esm/automigrate/fixes/webpack5.js +156 -0
- package/dist/esm/automigrate/helpers/getEslintInfo.js +28 -0
- package/dist/esm/automigrate/helpers/getStorybookConfiguration.js +27 -0
- package/dist/esm/automigrate/helpers/getStorybookInfo.js +94 -0
- package/dist/esm/automigrate/index.js +78 -0
- package/dist/esm/automigrate/types.js +1 -0
- package/dist/esm/extract.js +3 -0
- package/dist/esm/frameworks/web-components/js/Button.js +1 -1
- package/dist/esm/frameworks/web-components/ts/Button.ts +1 -1
- package/dist/esm/generate.js +11 -2
- package/dist/esm/generators/ANGULAR/index.js +1 -1
- package/dist/esm/generators/AURELIA/index.js +1 -1
- package/dist/esm/generators/REACT_NATIVE/index.js +2 -2
- package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/index.js +1 -1
- package/dist/esm/generators/REACT_SCRIPTS/index.js +1 -1
- package/dist/esm/generators/SERVER/index.js +1 -1
- package/dist/esm/generators/baseGenerator.js +3 -1
- package/dist/esm/helpers.js +3 -11
- package/dist/esm/initiate.js +10 -22
- package/dist/esm/project_types.js +1 -10
- package/dist/esm/repro-generators/configs.js +6 -1
- package/dist/esm/upgrade.js +39 -5
- package/dist/esm/versions.json +57 -55
- package/dist/modern/automigrate/fixes/angular12.js +79 -0
- package/dist/modern/automigrate/fixes/cra5.js +79 -0
- package/dist/modern/automigrate/fixes/eslint-plugin.js +128 -0
- package/dist/modern/automigrate/fixes/index.js +35 -0
- package/dist/modern/automigrate/fixes/mainjsFramework.js +89 -0
- package/dist/modern/automigrate/fixes/webpack5.js +156 -0
- package/dist/modern/automigrate/helpers/getEslintInfo.js +28 -0
- package/dist/modern/automigrate/helpers/getStorybookConfiguration.js +27 -0
- package/dist/modern/automigrate/helpers/getStorybookInfo.js +94 -0
- package/dist/modern/automigrate/index.js +78 -0
- package/dist/modern/automigrate/types.js +1 -0
- package/dist/modern/extract.js +3 -0
- package/dist/modern/frameworks/web-components/js/Button.js +1 -1
- package/dist/modern/generate.js +11 -2
- package/dist/modern/generators/ANGULAR/index.js +1 -1
- package/dist/modern/generators/AURELIA/index.js +1 -1
- package/dist/modern/generators/REACT_NATIVE/index.js +2 -2
- package/dist/modern/generators/REACT_NATIVE/template-csf/storybook/index.js +1 -1
- package/dist/modern/generators/REACT_SCRIPTS/index.js +1 -1
- package/dist/modern/generators/SERVER/index.js +1 -1
- package/dist/modern/generators/baseGenerator.js +3 -1
- package/dist/modern/helpers.js +3 -11
- package/dist/modern/initiate.js +10 -22
- package/dist/modern/project_types.js +1 -10
- package/dist/modern/repro-generators/configs.js +6 -1
- package/dist/modern/upgrade.js +39 -5
- package/dist/modern/versions.json +57 -55
- package/dist/ts3.4/automigrate/fixes/angular12.d.ts +15 -0
- package/dist/ts3.4/automigrate/fixes/cra5.d.ts +15 -0
- package/dist/ts3.4/automigrate/fixes/eslint-plugin.d.ts +15 -0
- package/dist/ts3.4/automigrate/fixes/index.d.ts +3 -0
- package/dist/ts3.4/automigrate/fixes/mainjsFramework.d.ts +8 -0
- package/dist/ts3.4/automigrate/fixes/webpack5.d.ts +26 -0
- package/dist/ts3.4/automigrate/helpers/getEslintInfo.d.ts +2 -0
- package/dist/ts3.4/automigrate/helpers/getStorybookConfiguration.d.ts +1 -0
- package/dist/ts3.4/automigrate/helpers/getStorybookInfo.d.ts +11 -0
- package/dist/ts3.4/automigrate/index.d.ts +7 -0
- package/dist/ts3.4/automigrate/types.d.ts +15 -0
- package/dist/ts3.4/generators/REACT_NATIVE/index.d.ts +1 -2
- package/dist/ts3.4/generators/baseGenerator.d.ts +1 -2
- package/dist/ts3.4/helpers.d.ts +2 -2
- package/dist/ts3.4/initiate.d.ts +1 -2
- package/dist/ts3.4/project_types.d.ts +0 -7
- package/dist/ts3.4/repro-generators/configs.d.ts +1 -0
- package/dist/ts3.4/upgrade.d.ts +7 -3
- package/dist/ts3.9/automigrate/fixes/angular12.d.ts +15 -0
- package/dist/ts3.9/automigrate/fixes/cra5.d.ts +15 -0
- package/dist/ts3.9/automigrate/fixes/eslint-plugin.d.ts +15 -0
- package/dist/ts3.9/automigrate/fixes/index.d.ts +3 -0
- package/dist/ts3.9/automigrate/fixes/mainjsFramework.d.ts +8 -0
- package/dist/ts3.9/automigrate/fixes/webpack5.d.ts +26 -0
- package/dist/ts3.9/automigrate/helpers/getEslintInfo.d.ts +2 -0
- package/dist/ts3.9/automigrate/helpers/getStorybookConfiguration.d.ts +1 -0
- package/dist/ts3.9/automigrate/helpers/getStorybookInfo.d.ts +11 -0
- package/dist/ts3.9/automigrate/index.d.ts +7 -0
- package/dist/ts3.9/automigrate/types.d.ts +15 -0
- package/dist/ts3.9/generators/REACT_NATIVE/index.d.ts +1 -2
- package/dist/ts3.9/generators/baseGenerator.d.ts +1 -2
- package/dist/ts3.9/helpers.d.ts +2 -2
- package/dist/ts3.9/initiate.d.ts +1 -2
- package/dist/ts3.9/project_types.d.ts +0 -7
- package/dist/ts3.9/repro-generators/configs.d.ts +1 -0
- package/dist/ts3.9/upgrade.d.ts +7 -3
- package/package.json +7 -6
- package/story.js +0 -10
package/dist/cjs/versions.json
CHANGED
|
@@ -1,57 +1,59 @@
|
|
|
1
1
|
{
|
|
2
|
-
"@storybook/addon-a11y": "6.4.0-beta.
|
|
3
|
-
"@storybook/addon-actions": "6.4.0-beta.
|
|
4
|
-
"@storybook/addon-backgrounds": "6.4.0-beta.
|
|
5
|
-
"@storybook/addon-controls": "6.4.0-beta.
|
|
6
|
-
"@storybook/addon-docs": "6.4.0-beta.
|
|
7
|
-
"@storybook/addon-essentials": "6.4.0-beta.
|
|
8
|
-
"@storybook/addon-
|
|
9
|
-
"@storybook/addon-
|
|
10
|
-
"@storybook/addon-
|
|
11
|
-
"@storybook/addon-storyshots
|
|
12
|
-
"@storybook/addon-
|
|
13
|
-
"@storybook/addon-
|
|
14
|
-
"@storybook/addon-
|
|
15
|
-
"@storybook/
|
|
16
|
-
"@storybook/
|
|
17
|
-
"@storybook/
|
|
18
|
-
"@storybook/
|
|
19
|
-
"@storybook/
|
|
20
|
-
"@storybook/builder-
|
|
21
|
-
"@storybook/
|
|
22
|
-
"@storybook/channel-
|
|
23
|
-
"@storybook/
|
|
24
|
-
"@storybook/
|
|
25
|
-
"@storybook/
|
|
26
|
-
"@storybook/client-
|
|
27
|
-
"@storybook/
|
|
28
|
-
"@storybook/
|
|
29
|
-
"@storybook/
|
|
30
|
-
"@storybook/core
|
|
31
|
-
"@storybook/core-
|
|
32
|
-
"@storybook/core-
|
|
33
|
-
"@storybook/core-
|
|
34
|
-
"@storybook/
|
|
35
|
-
"@storybook/
|
|
36
|
-
"@storybook/
|
|
37
|
-
"@storybook/
|
|
38
|
-
"@storybook/
|
|
39
|
-
"@storybook/
|
|
40
|
-
"@storybook/
|
|
41
|
-
"@storybook/
|
|
42
|
-
"@storybook/
|
|
43
|
-
"@storybook/
|
|
44
|
-
"@storybook/
|
|
45
|
-
"@storybook/
|
|
46
|
-
"@storybook/
|
|
47
|
-
"@storybook/
|
|
48
|
-
"@storybook/
|
|
49
|
-
"@storybook/
|
|
50
|
-
"@storybook/
|
|
51
|
-
"@storybook/
|
|
52
|
-
"@storybook/
|
|
53
|
-
"@storybook/
|
|
54
|
-
"@storybook/
|
|
55
|
-
"@storybook/
|
|
56
|
-
"@storybook/
|
|
2
|
+
"@storybook/addon-a11y": "6.4.0-beta.33",
|
|
3
|
+
"@storybook/addon-actions": "6.4.0-beta.33",
|
|
4
|
+
"@storybook/addon-backgrounds": "6.4.0-beta.33",
|
|
5
|
+
"@storybook/addon-controls": "6.4.0-beta.33",
|
|
6
|
+
"@storybook/addon-docs": "6.4.0-beta.33",
|
|
7
|
+
"@storybook/addon-essentials": "6.4.0-beta.33",
|
|
8
|
+
"@storybook/addon-interactions": "6.4.0-beta.33",
|
|
9
|
+
"@storybook/addon-jest": "6.4.0-beta.33",
|
|
10
|
+
"@storybook/addon-links": "6.4.0-beta.33",
|
|
11
|
+
"@storybook/addon-storyshots": "6.4.0-beta.33",
|
|
12
|
+
"@storybook/addon-storyshots-puppeteer": "6.4.0-beta.33",
|
|
13
|
+
"@storybook/addon-storysource": "6.4.0-beta.33",
|
|
14
|
+
"@storybook/addon-toolbars": "6.4.0-beta.33",
|
|
15
|
+
"@storybook/addon-viewport": "6.4.0-beta.33",
|
|
16
|
+
"@storybook/addons": "6.4.0-beta.33",
|
|
17
|
+
"@storybook/angular": "6.4.0-beta.33",
|
|
18
|
+
"@storybook/api": "6.4.0-beta.33",
|
|
19
|
+
"@storybook/aurelia": "6.4.0-beta.33",
|
|
20
|
+
"@storybook/builder-webpack4": "6.4.0-beta.33",
|
|
21
|
+
"@storybook/builder-webpack5": "6.4.0-beta.33",
|
|
22
|
+
"@storybook/channel-postmessage": "6.4.0-beta.33",
|
|
23
|
+
"@storybook/channel-websocket": "6.4.0-beta.33",
|
|
24
|
+
"@storybook/channels": "6.4.0-beta.33",
|
|
25
|
+
"@storybook/cli": "6.4.0-beta.33",
|
|
26
|
+
"@storybook/client-api": "6.4.0-beta.33",
|
|
27
|
+
"@storybook/client-logger": "6.4.0-beta.33",
|
|
28
|
+
"@storybook/codemod": "6.4.0-beta.33",
|
|
29
|
+
"@storybook/components": "6.4.0-beta.33",
|
|
30
|
+
"@storybook/core": "6.4.0-beta.33",
|
|
31
|
+
"@storybook/core-client": "6.4.0-beta.33",
|
|
32
|
+
"@storybook/core-common": "6.4.0-beta.33",
|
|
33
|
+
"@storybook/core-events": "6.4.0-beta.33",
|
|
34
|
+
"@storybook/core-server": "6.4.0-beta.33",
|
|
35
|
+
"@storybook/csf-tools": "6.4.0-beta.33",
|
|
36
|
+
"@storybook/ember": "6.4.0-beta.33",
|
|
37
|
+
"@storybook/html": "6.4.0-beta.33",
|
|
38
|
+
"@storybook/instrumenter": "6.4.0-beta.33",
|
|
39
|
+
"@storybook/manager-webpack4": "6.4.0-beta.33",
|
|
40
|
+
"@storybook/manager-webpack5": "6.4.0-beta.33",
|
|
41
|
+
"@storybook/marionette": "6.4.0-beta.33",
|
|
42
|
+
"@storybook/marko": "6.4.0-beta.33",
|
|
43
|
+
"@storybook/mithril": "6.4.0-beta.33",
|
|
44
|
+
"@storybook/node-logger": "6.4.0-beta.33",
|
|
45
|
+
"@storybook/postinstall": "6.4.0-beta.33",
|
|
46
|
+
"@storybook/preact": "6.4.0-beta.33",
|
|
47
|
+
"@storybook/rax": "6.4.0-beta.33",
|
|
48
|
+
"@storybook/react": "6.4.0-beta.33",
|
|
49
|
+
"@storybook/riot": "6.4.0-beta.33",
|
|
50
|
+
"@storybook/router": "6.4.0-beta.33",
|
|
51
|
+
"@storybook/server": "6.4.0-beta.33",
|
|
52
|
+
"@storybook/source-loader": "6.4.0-beta.33",
|
|
53
|
+
"@storybook/svelte": "6.4.0-beta.33",
|
|
54
|
+
"@storybook/theming": "6.4.0-beta.33",
|
|
55
|
+
"@storybook/ui": "6.4.0-beta.33",
|
|
56
|
+
"@storybook/vue": "6.4.0-beta.33",
|
|
57
|
+
"@storybook/vue3": "6.4.0-beta.33",
|
|
58
|
+
"@storybook/web-components": "6.4.0-beta.33"
|
|
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,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.eslintPlugin = 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 _csfTools = require("@storybook/csf-tools");
|
|
15
|
+
|
|
16
|
+
var _getEslintInfo = require("../helpers/getEslintInfo");
|
|
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
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Does the user not have eslint-plugin-storybook installed?
|
|
26
|
+
*
|
|
27
|
+
* If so:
|
|
28
|
+
* - Install it, and if possible configure it
|
|
29
|
+
*/
|
|
30
|
+
const eslintPlugin = {
|
|
31
|
+
id: 'eslintPlugin',
|
|
32
|
+
|
|
33
|
+
async check({
|
|
34
|
+
packageManager
|
|
35
|
+
}) {
|
|
36
|
+
const packageJson = packageManager.retrievePackageJson();
|
|
37
|
+
const {
|
|
38
|
+
dependencies,
|
|
39
|
+
devDependencies
|
|
40
|
+
} = packageJson;
|
|
41
|
+
const eslintPluginStorybook = dependencies['eslint-plugin-storybook'] || devDependencies['eslint-plugin-storybook'];
|
|
42
|
+
const eslintDependency = dependencies.eslint || devDependencies.eslint;
|
|
43
|
+
|
|
44
|
+
if (eslintPluginStorybook || !eslintDependency) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const config = (0, _getStorybookInfo.getStorybookInfo)(packageJson);
|
|
49
|
+
const {
|
|
50
|
+
mainConfig
|
|
51
|
+
} = config;
|
|
52
|
+
|
|
53
|
+
if (!mainConfig) {
|
|
54
|
+
logger.warn('Unable to find storybook main.js config, skipping');
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
let eslintFile;
|
|
59
|
+
let unsupportedExtension;
|
|
60
|
+
|
|
61
|
+
try {
|
|
62
|
+
eslintFile = (0, _getEslintInfo.findEslintFile)();
|
|
63
|
+
} catch (err) {
|
|
64
|
+
unsupportedExtension = err.message;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (!eslintFile && !unsupportedExtension) {
|
|
68
|
+
logger.warn('Unable to find .eslintrc config file, skipping');
|
|
69
|
+
return null;
|
|
70
|
+
} // If in the future the eslint plugin has a framework option, using main to extract the framework field will be very useful
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
const main = await (0, _csfTools.readConfig)(mainConfig);
|
|
74
|
+
return {
|
|
75
|
+
eslintFile,
|
|
76
|
+
main,
|
|
77
|
+
unsupportedExtension
|
|
78
|
+
};
|
|
79
|
+
},
|
|
80
|
+
|
|
81
|
+
prompt() {
|
|
82
|
+
return (0, _tsDedent.default)`
|
|
83
|
+
We've detected you are not using our eslint-plugin.
|
|
84
|
+
|
|
85
|
+
In order to have the best experience with Storybook and follow best practices, we advise you to install eslint-plugin-storybook.
|
|
86
|
+
|
|
87
|
+
More info: ${_chalk.default.yellow('https://github.com/storybookjs/eslint-plugin-storybook#readme')}
|
|
88
|
+
`;
|
|
89
|
+
},
|
|
90
|
+
|
|
91
|
+
async run({
|
|
92
|
+
result: {
|
|
93
|
+
eslintFile,
|
|
94
|
+
unsupportedExtension
|
|
95
|
+
},
|
|
96
|
+
packageManager,
|
|
97
|
+
dryRun
|
|
98
|
+
}) {
|
|
99
|
+
const deps = [`eslint-plugin-storybook`];
|
|
100
|
+
logger.info(`✅ Adding dependencies: ${deps}`);
|
|
101
|
+
if (!dryRun) packageManager.addDependencies({
|
|
102
|
+
installAsDevDependencies: true
|
|
103
|
+
}, deps);
|
|
104
|
+
|
|
105
|
+
if (!dryRun && unsupportedExtension) {
|
|
106
|
+
throw new Error((0, _tsDedent.default)`
|
|
107
|
+
⚠️ The plugin was successfuly installed but failed to configure.
|
|
108
|
+
|
|
109
|
+
Found an .eslintrc config file with an unsupported automigration format: ${unsupportedExtension}.
|
|
110
|
+
Supported formats for automigration are: ${_getEslintInfo.SUPPORTED_ESLINT_EXTENSIONS.join(', ')}.
|
|
111
|
+
|
|
112
|
+
Please refer to https://github.com/storybookjs/eslint-plugin-storybook#usage to finish setting up the plugin manually.
|
|
113
|
+
`);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const eslint = await (0, _csfTools.readConfig)(eslintFile);
|
|
117
|
+
logger.info(`✅ Configuring eslint rules in ${eslint.fileName}`);
|
|
118
|
+
|
|
119
|
+
if (!dryRun) {
|
|
120
|
+
logger.info(`✅ Adding Storybook to extends list`);
|
|
121
|
+
const extendsConfig = eslint.getFieldValue(['extends']) || [];
|
|
122
|
+
eslint.setFieldValue(['extends'], [...extendsConfig, 'plugin:storybook/recommended']);
|
|
123
|
+
await (0, _csfTools.writeConfig)(eslint);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
};
|
|
128
|
+
exports.eslintPlugin = eslintPlugin;
|
|
@@ -0,0 +1,35 @@
|
|
|
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 _eslintPlugin = require("./eslint-plugin");
|
|
20
|
+
|
|
21
|
+
var _types = require("../types");
|
|
22
|
+
|
|
23
|
+
Object.keys(_types).forEach(function (key) {
|
|
24
|
+
if (key === "default" || key === "__esModule") return;
|
|
25
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
26
|
+
if (key in exports && exports[key] === _types[key]) return;
|
|
27
|
+
Object.defineProperty(exports, key, {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
get: function () {
|
|
30
|
+
return _types[key];
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
const fixes = [_cra.cra5, _webpack.webpack5, _angular.angular12, _mainjsFramework.mainjsFramework, _eslintPlugin.eslintPlugin];
|
|
35
|
+
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;
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.webpack5 = 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
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Is the user using webpack5 in their project?
|
|
26
|
+
*
|
|
27
|
+
* If the user is using a version of SB >= 6.3,
|
|
28
|
+
* prompt them to upgrade to webpack5.
|
|
29
|
+
*
|
|
30
|
+
* - Add manager-webpack5 builder-webpack5 as dev dependencies
|
|
31
|
+
* - Add core.builder = 'webpack5' to main.js
|
|
32
|
+
* - Add 'webpack5' as a project dependency
|
|
33
|
+
*/
|
|
34
|
+
const webpack5 = {
|
|
35
|
+
id: 'webpack5',
|
|
36
|
+
|
|
37
|
+
async checkWebpack5Builder(packageJson) {
|
|
38
|
+
var _semver$coerce;
|
|
39
|
+
|
|
40
|
+
const {
|
|
41
|
+
mainConfig,
|
|
42
|
+
version: storybookVersion
|
|
43
|
+
} = (0, _getStorybookInfo.getStorybookInfo)(packageJson);
|
|
44
|
+
const storybookCoerced = storybookVersion && ((_semver$coerce = _semver.default.coerce(storybookVersion)) === null || _semver$coerce === void 0 ? void 0 : _semver$coerce.version);
|
|
45
|
+
|
|
46
|
+
if (!storybookCoerced) {
|
|
47
|
+
logger.warn((0, _tsDedent.default)`
|
|
48
|
+
❌ Unable to determine storybook version, skipping ${_chalk.default.cyan('webpack5')} fix.
|
|
49
|
+
🤔 Are you running automigrate from your project directory?
|
|
50
|
+
`);
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (_semver.default.lt(storybookCoerced, '6.3.0')) {
|
|
55
|
+
logger.warn((0, _tsDedent.default)`
|
|
56
|
+
Detected SB 6.3 or below, please upgrade storybook to use webpack5.
|
|
57
|
+
|
|
58
|
+
To upgrade to the latest stable release, run this from your project directory:
|
|
59
|
+
|
|
60
|
+
${_chalk.default.cyan('npx sb upgrade')}
|
|
61
|
+
|
|
62
|
+
Add the ${_chalk.default.cyan('--prerelease')} flag to get the latest prerelease.
|
|
63
|
+
`.trim());
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (_semver.default.gte(storybookCoerced, '7.0.0')) {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (!mainConfig) {
|
|
72
|
+
logger.warn('Unable to find storybook main.js config');
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const main = await (0, _csfTools.readConfig)(mainConfig);
|
|
77
|
+
const builder = main.getFieldValue(['core', 'builder']);
|
|
78
|
+
|
|
79
|
+
if (builder && builder !== 'webpack4') {
|
|
80
|
+
logger.info(`Found builder ${builder}, skipping`);
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return {
|
|
85
|
+
storybookVersion,
|
|
86
|
+
main
|
|
87
|
+
};
|
|
88
|
+
},
|
|
89
|
+
|
|
90
|
+
async check({
|
|
91
|
+
packageManager
|
|
92
|
+
}) {
|
|
93
|
+
var _semver$coerce2;
|
|
94
|
+
|
|
95
|
+
const packageJson = packageManager.retrievePackageJson();
|
|
96
|
+
const {
|
|
97
|
+
dependencies,
|
|
98
|
+
devDependencies
|
|
99
|
+
} = packageJson;
|
|
100
|
+
const webpackVersion = dependencies.webpack || devDependencies.webpack;
|
|
101
|
+
const webpackCoerced = (_semver$coerce2 = _semver.default.coerce(webpackVersion)) === null || _semver$coerce2 === void 0 ? void 0 : _semver$coerce2.version;
|
|
102
|
+
if (!webpackCoerced || _semver.default.lt(webpackCoerced, '5.0.0') || _semver.default.gte(webpackCoerced, '6.0.0')) return null;
|
|
103
|
+
const builderInfo = await this.checkWebpack5Builder(packageJson);
|
|
104
|
+
return builderInfo ? Object.assign({
|
|
105
|
+
webpackVersion
|
|
106
|
+
}, builderInfo) : null;
|
|
107
|
+
},
|
|
108
|
+
|
|
109
|
+
prompt({
|
|
110
|
+
webpackVersion,
|
|
111
|
+
storybookVersion
|
|
112
|
+
}) {
|
|
113
|
+
const webpackFormatted = _chalk.default.cyan(`webpack ${webpackVersion}`);
|
|
114
|
+
|
|
115
|
+
const sbFormatted = _chalk.default.cyan(`Storybook ${storybookVersion}`);
|
|
116
|
+
|
|
117
|
+
return (0, _tsDedent.default)`
|
|
118
|
+
We've detected you're running ${webpackFormatted}.
|
|
119
|
+
${sbFormatted} runs webpack4 by default, which may not be compatible.
|
|
120
|
+
|
|
121
|
+
To run Storybook in webpack5-mode, we can install Storybook's ${_chalk.default.cyan('webpack5 builder')} for you.
|
|
122
|
+
|
|
123
|
+
More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#webpack-5-manager-build')}
|
|
124
|
+
`;
|
|
125
|
+
},
|
|
126
|
+
|
|
127
|
+
async run({
|
|
128
|
+
result: {
|
|
129
|
+
main,
|
|
130
|
+
storybookVersion,
|
|
131
|
+
webpackVersion
|
|
132
|
+
},
|
|
133
|
+
packageManager,
|
|
134
|
+
dryRun
|
|
135
|
+
}) {
|
|
136
|
+
const deps = [`@storybook/manager-webpack5@${storybookVersion}`, `@storybook/builder-webpack5@${storybookVersion}`]; // this also gets called by 'cra5' fix so we need to add
|
|
137
|
+
// webpack5 at the project root so that it gets hoisted
|
|
138
|
+
|
|
139
|
+
if (!webpackVersion) {
|
|
140
|
+
deps.push('webpack@5');
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
logger.info(`✅ Adding dependencies: ${deps}`);
|
|
144
|
+
if (!dryRun) packageManager.addDependencies({
|
|
145
|
+
installAsDevDependencies: true
|
|
146
|
+
}, deps);
|
|
147
|
+
logger.info('✅ Setting `core.builder` to `webpack5` in main.js');
|
|
148
|
+
|
|
149
|
+
if (!dryRun) {
|
|
150
|
+
main.setFieldValue(['core', 'builder'], 'webpack5');
|
|
151
|
+
await (0, _csfTools.writeConfig)(main);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
};
|
|
156
|
+
exports.webpack5 = webpack5;
|