@storybook/cli 6.5.0-alpha.9 → 6.5.0-beta.0
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/bin/index.js +1 -0
- package/dist/cjs/add.js +3 -3
- package/dist/cjs/automigrate/fixes/builder-vite.js +122 -0
- package/dist/cjs/automigrate/fixes/index.js +3 -1
- package/dist/cjs/automigrate/types.js +5 -1
- package/dist/cjs/babel-config.js +1 -1
- package/dist/cjs/detect.js +53 -2
- package/dist/cjs/extract.js +7 -2
- package/dist/cjs/frameworks/angular/Header.stories.ts +8 -3
- package/dist/cjs/frameworks/angular/Page.stories.ts +12 -10
- package/dist/cjs/frameworks/angular/header.component.ts +30 -19
- package/dist/cjs/frameworks/angular/page.component.ts +13 -27
- package/dist/cjs/frameworks/common/header.css +6 -0
- package/dist/cjs/frameworks/preact/Header.jsx +6 -1
- package/dist/cjs/frameworks/preact/Header.stories.jsx +7 -1
- package/dist/cjs/frameworks/preact/Page.jsx +62 -63
- package/dist/cjs/frameworks/preact/Page.stories.jsx +12 -9
- package/dist/cjs/frameworks/react/js/Header.jsx +6 -1
- package/dist/cjs/frameworks/react/js/Header.stories.jsx +7 -1
- package/dist/cjs/frameworks/react/js/Page.jsx +61 -63
- package/dist/cjs/frameworks/react/js/Page.stories.jsx +12 -9
- package/dist/cjs/frameworks/react/ts/Header.stories.tsx +7 -1
- package/dist/cjs/frameworks/react/ts/Header.tsx +11 -2
- package/dist/cjs/frameworks/react/ts/Page.stories.tsx +12 -9
- package/dist/cjs/frameworks/react/ts/Page.tsx +66 -60
- package/dist/cjs/frameworks/svelte/Button.stories.js +51 -0
- package/dist/cjs/frameworks/svelte/Header.stories.js +35 -0
- package/dist/cjs/frameworks/svelte/Header.svelte +3 -0
- package/dist/cjs/frameworks/svelte/Page.stories.js +27 -0
- package/dist/cjs/frameworks/svelte/Page.svelte +2 -16
- package/dist/cjs/frameworks/vue3/Header.stories.js +7 -1
- package/dist/cjs/frameworks/vue3/Header.vue +1 -0
- package/dist/cjs/frameworks/vue3/Page.stories.js +16 -17
- package/dist/cjs/frameworks/vue3/Page.vue +18 -8
- package/dist/cjs/frameworks/web-components/js/Page.js +2 -2
- package/dist/cjs/frameworks/web-components/ts/Page.ts +2 -2
- package/dist/cjs/generators/ANGULAR/angular-helpers.js +5 -5
- package/dist/cjs/generators/ANGULAR/index.js +1 -1
- package/dist/cjs/generators/ANGULAR/template-csf/.storybook/tsconfig.json +17 -5
- package/dist/cjs/generators/AURELIA/template-csf/.storybook/tsconfig.json +16 -5
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/addons.js +3 -3
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/rn-addons.js +2 -2
- package/dist/cjs/generators/REACT_SCRIPTS/index.js +9 -1
- package/dist/cjs/generators/SVELTE/index.js +0 -1
- package/dist/cjs/generators/baseGenerator.js +38 -4
- package/dist/cjs/generators/configure.js +3 -1
- package/dist/cjs/helpers.js +9 -8
- package/dist/cjs/initiate.js +27 -24
- package/dist/cjs/js-package-manager/JsPackageManager.js +2 -2
- package/dist/cjs/project_types.js +2 -1
- package/dist/cjs/repro-generators/configs.js +51 -8
- package/dist/cjs/repro-generators/scripts.js +46 -14
- package/dist/cjs/repro.js +3 -2
- package/dist/cjs/typings.d.ts +3 -0
- package/dist/cjs/upgrade.js +4 -2
- package/dist/cjs/versions.js +66 -0
- package/dist/cjs/window.d.js +5 -1
- package/dist/esm/add.js +3 -3
- package/dist/esm/automigrate/fixes/builder-vite.js +122 -0
- package/dist/esm/automigrate/fixes/index.js +3 -1
- package/dist/esm/automigrate/types.js +5 -1
- package/dist/esm/babel-config.js +1 -1
- package/dist/esm/detect.js +53 -2
- package/dist/esm/extract.js +7 -2
- package/dist/esm/frameworks/angular/Header.stories.ts +8 -3
- package/dist/esm/frameworks/angular/Page.stories.ts +12 -10
- package/dist/esm/frameworks/angular/header.component.ts +30 -19
- package/dist/esm/frameworks/angular/page.component.ts +13 -27
- package/dist/esm/frameworks/common/header.css +6 -0
- package/dist/esm/frameworks/preact/Header.jsx +6 -1
- package/dist/esm/frameworks/preact/Header.stories.jsx +7 -1
- package/dist/esm/frameworks/preact/Page.jsx +62 -63
- package/dist/esm/frameworks/preact/Page.stories.jsx +12 -9
- package/dist/esm/frameworks/react/js/Header.jsx +6 -1
- package/dist/esm/frameworks/react/js/Header.stories.jsx +7 -1
- package/dist/esm/frameworks/react/js/Page.jsx +61 -63
- package/dist/esm/frameworks/react/js/Page.stories.jsx +12 -9
- package/dist/esm/frameworks/react/ts/Header.stories.tsx +7 -1
- package/dist/esm/frameworks/react/ts/Header.tsx +11 -2
- package/dist/esm/frameworks/react/ts/Page.stories.tsx +12 -9
- package/dist/esm/frameworks/react/ts/Page.tsx +66 -60
- package/dist/esm/frameworks/svelte/Button.stories.js +51 -0
- package/dist/esm/frameworks/svelte/Header.stories.js +35 -0
- package/dist/esm/frameworks/svelte/Header.svelte +3 -0
- package/dist/esm/frameworks/svelte/Page.stories.js +27 -0
- package/dist/esm/frameworks/svelte/Page.svelte +2 -16
- package/dist/esm/frameworks/vue3/Header.stories.js +7 -1
- package/dist/esm/frameworks/vue3/Header.vue +1 -0
- package/dist/esm/frameworks/vue3/Page.stories.js +16 -17
- package/dist/esm/frameworks/vue3/Page.vue +18 -8
- package/dist/esm/frameworks/web-components/js/Page.js +2 -2
- package/dist/esm/frameworks/web-components/ts/Page.ts +2 -2
- package/dist/esm/generators/ANGULAR/angular-helpers.js +5 -5
- package/dist/esm/generators/ANGULAR/index.js +1 -1
- package/dist/esm/generators/ANGULAR/template-csf/.storybook/tsconfig.json +17 -5
- package/dist/esm/generators/AURELIA/template-csf/.storybook/tsconfig.json +16 -5
- package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/addons.js +3 -3
- package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/rn-addons.js +2 -2
- package/dist/esm/generators/REACT_SCRIPTS/index.js +9 -1
- package/dist/esm/generators/SVELTE/index.js +0 -1
- package/dist/esm/generators/baseGenerator.js +38 -4
- package/dist/esm/generators/configure.js +3 -1
- package/dist/esm/helpers.js +9 -8
- package/dist/esm/initiate.js +27 -24
- package/dist/esm/js-package-manager/JsPackageManager.js +2 -2
- package/dist/esm/project_types.js +2 -1
- package/dist/esm/repro-generators/configs.js +51 -8
- package/dist/esm/repro-generators/scripts.js +46 -14
- package/dist/esm/repro.js +3 -2
- package/dist/esm/typings.d.ts +3 -0
- package/dist/esm/upgrade.js +4 -2
- package/dist/esm/versions.js +66 -0
- package/dist/esm/window.d.js +5 -1
- package/dist/modern/add.js +3 -3
- package/dist/modern/automigrate/fixes/builder-vite.js +122 -0
- package/dist/modern/automigrate/fixes/index.js +3 -1
- package/dist/modern/automigrate/types.js +5 -1
- package/dist/modern/babel-config.js +1 -1
- package/dist/modern/detect.js +53 -2
- package/dist/modern/extract.js +7 -2
- package/dist/modern/frameworks/common/header.css +6 -0
- package/dist/modern/frameworks/preact/Header.jsx +6 -1
- package/dist/modern/frameworks/preact/Header.stories.jsx +7 -1
- package/dist/modern/frameworks/preact/Page.jsx +62 -63
- package/dist/modern/frameworks/preact/Page.stories.jsx +12 -9
- package/dist/modern/frameworks/react/js/Header.jsx +6 -1
- package/dist/modern/frameworks/react/js/Header.stories.jsx +7 -1
- package/dist/modern/frameworks/react/js/Page.jsx +61 -63
- package/dist/modern/frameworks/react/js/Page.stories.jsx +12 -9
- package/dist/modern/frameworks/svelte/Button.stories.js +51 -0
- package/dist/modern/frameworks/svelte/Header.stories.js +35 -0
- package/dist/modern/frameworks/svelte/Header.svelte +3 -0
- package/dist/modern/frameworks/svelte/Page.stories.js +27 -0
- package/dist/modern/frameworks/svelte/Page.svelte +2 -16
- package/dist/modern/frameworks/vue3/Header.stories.js +7 -1
- package/dist/modern/frameworks/vue3/Header.vue +1 -0
- package/dist/modern/frameworks/vue3/Page.stories.js +16 -17
- package/dist/modern/frameworks/vue3/Page.vue +18 -8
- package/dist/modern/frameworks/web-components/js/Page.js +2 -2
- package/dist/modern/generators/ANGULAR/angular-helpers.js +5 -5
- package/dist/modern/generators/ANGULAR/index.js +1 -1
- package/dist/modern/generators/ANGULAR/template-csf/.storybook/tsconfig.json +17 -5
- package/dist/modern/generators/AURELIA/template-csf/.storybook/tsconfig.json +16 -5
- package/dist/modern/generators/REACT_NATIVE/template-csf/storybook/addons.js +3 -3
- package/dist/modern/generators/REACT_NATIVE/template-csf/storybook/rn-addons.js +2 -2
- package/dist/modern/generators/REACT_SCRIPTS/index.js +9 -1
- package/dist/modern/generators/SVELTE/index.js +0 -1
- package/dist/modern/generators/baseGenerator.js +38 -4
- package/dist/modern/generators/configure.js +3 -1
- package/dist/modern/helpers.js +9 -8
- package/dist/modern/initiate.js +27 -24
- package/dist/modern/js-package-manager/JsPackageManager.js +2 -2
- package/dist/modern/project_types.js +2 -1
- package/dist/modern/repro-generators/configs.js +51 -8
- package/dist/modern/repro-generators/scripts.js +46 -14
- package/dist/modern/repro.js +3 -2
- package/dist/modern/typings.d.ts +3 -0
- package/dist/modern/upgrade.js +4 -2
- package/dist/modern/versions.js +66 -0
- package/dist/modern/window.d.js +5 -1
- package/dist/ts3.4/automigrate/fixes/builder-vite.d.ts +19 -0
- package/dist/ts3.4/detect.d.ts +9 -2
- package/dist/ts3.4/project_types.d.ts +2 -1
- package/dist/ts3.4/repro-generators/configs.d.ts +8 -0
- package/dist/ts3.4/versions.d.ts +59 -0
- package/dist/ts3.9/automigrate/fixes/builder-vite.d.ts +19 -0
- package/dist/ts3.9/detect.d.ts +9 -2
- package/dist/ts3.9/project_types.d.ts +2 -1
- package/dist/ts3.9/repro-generators/configs.d.ts +9 -1
- package/dist/ts3.9/versions.d.ts +59 -0
- package/package.json +11 -12
- package/dist/cjs/frameworks/svelte/Button.stories.svelte +0 -57
- package/dist/cjs/frameworks/svelte/Header.stories.svelte +0 -32
- package/dist/cjs/frameworks/svelte/Page.stories.svelte +0 -32
- package/dist/cjs/typings.d.js +0 -1
- package/dist/cjs/versions.json +0 -59
- package/dist/esm/frameworks/svelte/Button.stories.svelte +0 -57
- package/dist/esm/frameworks/svelte/Header.stories.svelte +0 -32
- package/dist/esm/frameworks/svelte/Page.stories.svelte +0 -32
- package/dist/esm/typings.d.js +0 -1
- package/dist/esm/versions.json +0 -59
- package/dist/modern/frameworks/svelte/Button.stories.svelte +0 -57
- package/dist/modern/frameworks/svelte/Header.stories.svelte +0 -32
- package/dist/modern/frameworks/svelte/Page.stories.svelte +0 -32
- package/dist/modern/typings.d.js +0 -1
- package/dist/modern/versions.json +0 -59
|
@@ -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-beta.0',
|
|
10
|
+
'@storybook/addon-actions': '6.5.0-beta.0',
|
|
11
|
+
'@storybook/addon-backgrounds': '6.5.0-beta.0',
|
|
12
|
+
'@storybook/addon-controls': '6.5.0-beta.0',
|
|
13
|
+
'@storybook/addon-docs': '6.5.0-beta.0',
|
|
14
|
+
'@storybook/addon-essentials': '6.5.0-beta.0',
|
|
15
|
+
'@storybook/addon-interactions': '6.5.0-beta.0',
|
|
16
|
+
'@storybook/addon-jest': '6.5.0-beta.0',
|
|
17
|
+
'@storybook/addon-links': '6.5.0-beta.0',
|
|
18
|
+
'@storybook/addon-measure': '6.5.0-beta.0',
|
|
19
|
+
'@storybook/addon-outline': '6.5.0-beta.0',
|
|
20
|
+
'@storybook/addon-storyshots': '6.5.0-beta.0',
|
|
21
|
+
'@storybook/addon-storyshots-puppeteer': '6.5.0-beta.0',
|
|
22
|
+
'@storybook/addon-storysource': '6.5.0-beta.0',
|
|
23
|
+
'@storybook/addon-toolbars': '6.5.0-beta.0',
|
|
24
|
+
'@storybook/addon-viewport': '6.5.0-beta.0',
|
|
25
|
+
'@storybook/addons': '6.5.0-beta.0',
|
|
26
|
+
'@storybook/angular': '6.5.0-beta.0',
|
|
27
|
+
'@storybook/api': '6.5.0-beta.0',
|
|
28
|
+
'@storybook/builder-webpack4': '6.5.0-beta.0',
|
|
29
|
+
'@storybook/builder-webpack5': '6.5.0-beta.0',
|
|
30
|
+
'@storybook/channel-postmessage': '6.5.0-beta.0',
|
|
31
|
+
'@storybook/channel-websocket': '6.5.0-beta.0',
|
|
32
|
+
'@storybook/channels': '6.5.0-beta.0',
|
|
33
|
+
'@storybook/cli': '6.5.0-beta.0',
|
|
34
|
+
'@storybook/client-api': '6.5.0-beta.0',
|
|
35
|
+
'@storybook/client-logger': '6.5.0-beta.0',
|
|
36
|
+
'@storybook/codemod': '6.5.0-beta.0',
|
|
37
|
+
'@storybook/components': '6.5.0-beta.0',
|
|
38
|
+
'@storybook/core': '6.5.0-beta.0',
|
|
39
|
+
'@storybook/core-client': '6.5.0-beta.0',
|
|
40
|
+
'@storybook/core-common': '6.5.0-beta.0',
|
|
41
|
+
'@storybook/core-events': '6.5.0-beta.0',
|
|
42
|
+
'@storybook/core-server': '6.5.0-beta.0',
|
|
43
|
+
'@storybook/csf-tools': '6.5.0-beta.0',
|
|
44
|
+
'@storybook/docs-tools': '6.5.0-beta.0',
|
|
45
|
+
'@storybook/ember': '6.5.0-beta.0',
|
|
46
|
+
'@storybook/html': '6.5.0-beta.0',
|
|
47
|
+
'@storybook/instrumenter': '6.5.0-beta.0',
|
|
48
|
+
'@storybook/manager-webpack4': '6.5.0-beta.0',
|
|
49
|
+
'@storybook/manager-webpack5': '6.5.0-beta.0',
|
|
50
|
+
'@storybook/node-logger': '6.5.0-beta.0',
|
|
51
|
+
'@storybook/postinstall': '6.5.0-beta.0',
|
|
52
|
+
'@storybook/preact': '6.5.0-beta.0',
|
|
53
|
+
'@storybook/preview-web': '6.5.0-beta.0',
|
|
54
|
+
'@storybook/react': '6.5.0-beta.0',
|
|
55
|
+
'@storybook/router': '6.5.0-beta.0',
|
|
56
|
+
'@storybook/server': '6.5.0-beta.0',
|
|
57
|
+
'@storybook/source-loader': '6.5.0-beta.0',
|
|
58
|
+
'@storybook/store': '6.5.0-beta.0',
|
|
59
|
+
'@storybook/svelte': '6.5.0-beta.0',
|
|
60
|
+
'@storybook/theming': '6.5.0-beta.0',
|
|
61
|
+
'@storybook/ui': '6.5.0-beta.0',
|
|
62
|
+
'@storybook/vue': '6.5.0-beta.0',
|
|
63
|
+
'@storybook/vue3': '6.5.0-beta.0',
|
|
64
|
+
'@storybook/web-components': '6.5.0-beta.0'
|
|
65
|
+
};
|
|
66
|
+
exports.default = _default;
|
package/dist/esm/window.d.js
CHANGED
package/dist/modern/add.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.add = add;
|
|
7
|
-
exports.
|
|
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
|
|
|
@@ -77,14 +77,14 @@ const installAddon = (packageManager, addonName, isOfficialAddon) => {
|
|
|
77
77
|
|
|
78
78
|
const addStorybookAddonToFile = (addonName, addonsFile, isOfficialAddon) => {
|
|
79
79
|
const addonNameNoTag = addonName.split('@')[0];
|
|
80
|
-
const alreadyRegistered = addonsFile.find(line => line.includes(`${addonNameNoTag}/
|
|
80
|
+
const alreadyRegistered = addonsFile.find(line => line.includes(`${addonNameNoTag}/manager`));
|
|
81
81
|
|
|
82
82
|
if (alreadyRegistered) {
|
|
83
83
|
return addonsFile;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
const latestImportIndex = addonsFile.reduce((prev, curr, currIndex) => curr.startsWith('import') && curr.includes('register') ? currIndex : prev, -1);
|
|
87
|
-
return [...addonsFile.slice(0, latestImportIndex + 1), `import '${getPackageName(addonNameNoTag, isOfficialAddon)}/
|
|
87
|
+
return [...addonsFile.slice(0, latestImportIndex + 1), `import '${getPackageName(addonNameNoTag, isOfficialAddon)}/manager';`, ...addonsFile.slice(latestImportIndex + 1)];
|
|
88
88
|
};
|
|
89
89
|
|
|
90
90
|
exports.addStorybookAddonToFile = addStorybookAddonToFile;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.builderVite = 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 _getStorybookInfo = require("../helpers/getStorybookInfo");
|
|
17
|
+
|
|
18
|
+
var _jsPackageManager = require("../../js-package-manager");
|
|
19
|
+
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
|
|
22
|
+
const logger = console;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Is the user using 'storybook-builder-vite' in their project?
|
|
26
|
+
*
|
|
27
|
+
* If so, prompt them to upgrade to '@storybook/builder-vite'.
|
|
28
|
+
*
|
|
29
|
+
* - Add '@storybook/builder-vite' as dev dependency
|
|
30
|
+
* - Remove 'storybook-builder-vite' dependency
|
|
31
|
+
* - Add core.builder = '@storybook/builder-vite' to main.js
|
|
32
|
+
*/
|
|
33
|
+
const builderVite = {
|
|
34
|
+
id: 'builder-vite',
|
|
35
|
+
|
|
36
|
+
async check({
|
|
37
|
+
packageManager
|
|
38
|
+
}) {
|
|
39
|
+
const packageJson = packageManager.retrievePackageJson();
|
|
40
|
+
const {
|
|
41
|
+
mainConfig
|
|
42
|
+
} = (0, _getStorybookInfo.getStorybookInfo)(packageJson);
|
|
43
|
+
|
|
44
|
+
if (!mainConfig) {
|
|
45
|
+
logger.warn('Unable to find storybook main.js config');
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const main = await (0, _csfTools.readConfig)(mainConfig);
|
|
50
|
+
const builder = main.getFieldValue(['core', 'builder']);
|
|
51
|
+
const builderName = typeof builder === 'string' ? builder : builder === null || builder === void 0 ? void 0 : builder.name;
|
|
52
|
+
|
|
53
|
+
if (builderName !== 'storybook-builder-vite') {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return {
|
|
58
|
+
builder,
|
|
59
|
+
main,
|
|
60
|
+
packageJson
|
|
61
|
+
};
|
|
62
|
+
},
|
|
63
|
+
|
|
64
|
+
prompt({
|
|
65
|
+
builder
|
|
66
|
+
}) {
|
|
67
|
+
const builderFormatted = _chalk.default.cyan(JSON.stringify(builder, null, 2));
|
|
68
|
+
|
|
69
|
+
return (0, _tsDedent.default)`
|
|
70
|
+
We've detected you're using the community vite builder: ${builderFormatted}
|
|
71
|
+
|
|
72
|
+
'storybook-builder-vite' is deprecated and now located at ${_chalk.default.cyan('@storybook/builder-vite')}.
|
|
73
|
+
|
|
74
|
+
We can upgrade your project to use the new builder automatically.
|
|
75
|
+
|
|
76
|
+
More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#vite-builder-renamed')}
|
|
77
|
+
`;
|
|
78
|
+
},
|
|
79
|
+
|
|
80
|
+
async run({
|
|
81
|
+
result: {
|
|
82
|
+
builder,
|
|
83
|
+
main,
|
|
84
|
+
packageJson
|
|
85
|
+
},
|
|
86
|
+
packageManager,
|
|
87
|
+
dryRun
|
|
88
|
+
}) {
|
|
89
|
+
const {
|
|
90
|
+
dependencies = {},
|
|
91
|
+
devDependencies = {}
|
|
92
|
+
} = packageJson;
|
|
93
|
+
logger.info(`Removing existing 'storybook-builder-vite' dependency`);
|
|
94
|
+
|
|
95
|
+
if (!dryRun) {
|
|
96
|
+
delete dependencies['storybook-builder-vite'];
|
|
97
|
+
delete devDependencies['storybook-builder-vite'];
|
|
98
|
+
(0, _jsPackageManager.writePackageJson)(packageJson);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
logger.info(`Adding '@storybook/builder-vite' as dev dependency`);
|
|
102
|
+
|
|
103
|
+
if (!dryRun) {
|
|
104
|
+
packageManager.addDependencies({
|
|
105
|
+
installAsDevDependencies: true
|
|
106
|
+
}, ['@storybook/builder-vite']);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
logger.info(`Updating main.js to use vite builder`);
|
|
110
|
+
|
|
111
|
+
if (!dryRun) {
|
|
112
|
+
const updatedBuilder = typeof builder === 'string' ? '@storybook/builder-vite' : {
|
|
113
|
+
name: '@storybook/builder-vite',
|
|
114
|
+
options: builder.options
|
|
115
|
+
};
|
|
116
|
+
main.setFieldValue(['core', 'builder'], updatedBuilder);
|
|
117
|
+
await (0, _csfTools.writeConfig)(main);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
};
|
|
122
|
+
exports.builderVite = builderVite;
|
|
@@ -18,6 +18,8 @@ var _mainjsFramework = require("./mainjsFramework");
|
|
|
18
18
|
|
|
19
19
|
var _eslintPlugin = require("./eslint-plugin");
|
|
20
20
|
|
|
21
|
+
var _builderVite = require("./builder-vite");
|
|
22
|
+
|
|
21
23
|
var _types = require("../types");
|
|
22
24
|
|
|
23
25
|
Object.keys(_types).forEach(function (key) {
|
|
@@ -31,5 +33,5 @@ Object.keys(_types).forEach(function (key) {
|
|
|
31
33
|
}
|
|
32
34
|
});
|
|
33
35
|
});
|
|
34
|
-
const fixes = [_cra.cra5, _webpack.webpack5, _angular.angular12, _mainjsFramework.mainjsFramework, _eslintPlugin.eslintPlugin];
|
|
36
|
+
const fixes = [_cra.cra5, _webpack.webpack5, _angular.angular12, _mainjsFramework.mainjsFramework, _eslintPlugin.eslintPlugin, _builderVite.builderVite];
|
|
35
37
|
exports.fixes = fixes;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.generateStorybookBabelConfigInCWD = exports.generateStorybookBabelConfig = void 0;
|
|
7
7
|
|
|
8
8
|
require("core-js/modules/es.promise.js");
|
|
9
9
|
|
package/dist/modern/detect.js
CHANGED
|
@@ -3,15 +3,18 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.detect = detect;
|
|
7
|
+
exports.detectBuilder = detectBuilder;
|
|
6
8
|
exports.detectFrameworkPreset = detectFrameworkPreset;
|
|
7
|
-
exports.isStorybookInstalled = isStorybookInstalled;
|
|
8
9
|
exports.detectLanguage = detectLanguage;
|
|
9
|
-
exports.
|
|
10
|
+
exports.isStorybookInstalled = isStorybookInstalled;
|
|
10
11
|
|
|
11
12
|
var _path = _interopRequireDefault(require("path"));
|
|
12
13
|
|
|
13
14
|
var _fs = _interopRequireDefault(require("fs"));
|
|
14
15
|
|
|
16
|
+
var _findUp = _interopRequireDefault(require("find-up"));
|
|
17
|
+
|
|
15
18
|
var _project_types = require("./project_types");
|
|
16
19
|
|
|
17
20
|
var _helpers = require("./helpers");
|
|
@@ -20,6 +23,8 @@ var _jsPackageManager = require("./js-package-manager");
|
|
|
20
23
|
|
|
21
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
25
|
|
|
26
|
+
const viteConfigFiles = ['vite.config.ts', 'vite.config.js', 'vite.config.mjs'];
|
|
27
|
+
|
|
23
28
|
const hasDependency = (packageJson, name, matcher) => {
|
|
24
29
|
var _packageJson$dependen, _packageJson$devDepen;
|
|
25
30
|
|
|
@@ -96,6 +101,52 @@ function detectFrameworkPreset(packageJson = {}) {
|
|
|
96
101
|
});
|
|
97
102
|
return result ? result.preset : _project_types.ProjectType.UNDETECTED;
|
|
98
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Attempts to detect which builder to use, by searching for a vite config file. If one is found, the vite builder
|
|
106
|
+
* will be used, otherwise, webpack4 is the default.
|
|
107
|
+
*
|
|
108
|
+
* @returns CoreBuilder
|
|
109
|
+
*/
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
function detectBuilder(packageManager) {
|
|
113
|
+
const viteConfig = _findUp.default.sync(viteConfigFiles);
|
|
114
|
+
|
|
115
|
+
if (viteConfig) {
|
|
116
|
+
(0, _helpers.paddedLog)('Detected vite project, setting builder to @storybook/builder-vite');
|
|
117
|
+
return _project_types.CoreBuilder.Vite;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
try {
|
|
121
|
+
let out = '';
|
|
122
|
+
|
|
123
|
+
if (packageManager.type === 'npm') {
|
|
124
|
+
try {
|
|
125
|
+
// npm <= v7
|
|
126
|
+
out = packageManager.executeCommand('npm', ['ls', 'webpack']);
|
|
127
|
+
} catch (e2) {
|
|
128
|
+
// npm >= v8
|
|
129
|
+
out = packageManager.executeCommand('npm', ['why', 'webpack']);
|
|
130
|
+
}
|
|
131
|
+
} else {
|
|
132
|
+
out = packageManager.executeCommand('yarn', ['why', 'webpack']);
|
|
133
|
+
} // if the user has BOTH webpack 4 and 5 installed already, we'll pick the safest options (4)
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
if (out.includes('webpack@4') || out.includes('webpack@npm:4')) {
|
|
137
|
+
return _project_types.CoreBuilder.Webpack5;
|
|
138
|
+
} // the user has webpack 4 installed, but not 5
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
if (out.includes('webpack@5') || out.includes('webpack@npm:5')) {
|
|
142
|
+
return _project_types.CoreBuilder.Webpack5;
|
|
143
|
+
}
|
|
144
|
+
} catch (err) {//
|
|
145
|
+
} // Fallback to webpack4
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
return _project_types.CoreBuilder.Webpack4;
|
|
149
|
+
}
|
|
99
150
|
|
|
100
151
|
function isStorybookInstalled(dependencies, force) {
|
|
101
152
|
if (!dependencies) {
|
package/dist/modern/extract.js
CHANGED
|
@@ -24,8 +24,13 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
24
24
|
const read = async url => {
|
|
25
25
|
const browser = await usePuppeteerBrowser();
|
|
26
26
|
const page = await browser.newPage();
|
|
27
|
-
await page.goto(url);
|
|
28
|
-
|
|
27
|
+
await page.goto(url); // we don't know whether we are running against a new or old storybook
|
|
28
|
+
// FIXME: add tests for both
|
|
29
|
+
|
|
30
|
+
await page.waitForFunction(`
|
|
31
|
+
(window.__STORYBOOK_PREVIEW__ && window.__STORYBOOK_PREVIEW__.extract && window.__STORYBOOK_PREVIEW__.extract()) ||
|
|
32
|
+
(window.__STORYBOOK_STORY_STORE__ && window.__STORYBOOK_STORY_STORE__.extract && window.__STORYBOOK_STORY_STORE__.extract())
|
|
33
|
+
`);
|
|
29
34
|
const data = JSON.parse(await page.evaluate(async () => {
|
|
30
35
|
// eslint-disable-next-line no-undef
|
|
31
36
|
return JSON.stringify(window.__STORYBOOK_STORY_STORE__.getStoriesJsonData(), null, 2);
|
|
@@ -29,7 +29,12 @@ export const Header = ({ user, onLogin, onLogout, onCreateAccount }) => (
|
|
|
29
29
|
</div>
|
|
30
30
|
<div>
|
|
31
31
|
{user ? (
|
|
32
|
-
<
|
|
32
|
+
<Fragment>
|
|
33
|
+
<span className="welcome">
|
|
34
|
+
Welcome, <b>{user.name}</b>!
|
|
35
|
+
</span>
|
|
36
|
+
<Button size="small" onClick={onLogout} label="Log out" />
|
|
37
|
+
</Fragment>
|
|
33
38
|
) : (
|
|
34
39
|
<Fragment>
|
|
35
40
|
<Button size="small" onClick={onLogin} label="Log in" />
|
|
@@ -5,6 +5,10 @@ import { Header } from './Header';
|
|
|
5
5
|
export default {
|
|
6
6
|
title: 'Example/Header',
|
|
7
7
|
component: Header,
|
|
8
|
+
parameters: {
|
|
9
|
+
// More on Story layout: https://storybook.js.org/docs/preact/configure/story-layout
|
|
10
|
+
layout: 'fullscreen',
|
|
11
|
+
},
|
|
8
12
|
argTypes: {
|
|
9
13
|
onLogin: { action: 'onLogin' },
|
|
10
14
|
onLogout: { action: 'onLogout' },
|
|
@@ -16,7 +20,9 @@ const Template = (args) => <Header {...args} />;
|
|
|
16
20
|
|
|
17
21
|
export const LoggedIn = Template.bind({});
|
|
18
22
|
LoggedIn.args = {
|
|
19
|
-
user: {
|
|
23
|
+
user: {
|
|
24
|
+
name: 'Jane Doe',
|
|
25
|
+
},
|
|
20
26
|
};
|
|
21
27
|
|
|
22
28
|
export const LoggedOut = Template.bind({});
|
|
@@ -1,72 +1,71 @@
|
|
|
1
1
|
/** @jsx h */
|
|
2
2
|
import { h } from 'preact';
|
|
3
|
-
import
|
|
3
|
+
import { useState } from 'preact/hooks';
|
|
4
4
|
|
|
5
5
|
import { Header } from './Header';
|
|
6
6
|
import './page.css';
|
|
7
7
|
|
|
8
|
-
export const Page = (
|
|
9
|
-
|
|
10
|
-
<Header user={user} onLogin={onLogin} onLogout={onLogout} onCreateAccount={onCreateAccount} />
|
|
8
|
+
export const Page = () => {
|
|
9
|
+
const [user, setUser] = useState();
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
<
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
</p>
|
|
21
|
-
<p>
|
|
22
|
-
Render pages with mock data. This makes it easy to build and review page states without
|
|
23
|
-
needing to navigate to them in your app. Here are some handy patterns for managing page data
|
|
24
|
-
in Storybook:
|
|
25
|
-
</p>
|
|
26
|
-
<ul>
|
|
27
|
-
<li>
|
|
28
|
-
Use a higher-level connected component. Storybook helps you compose such data from the
|
|
29
|
-
"args" of child component stories
|
|
30
|
-
</li>
|
|
31
|
-
<li>
|
|
32
|
-
Assemble data in the page component from your services. You can mock these services out
|
|
33
|
-
using Storybook.
|
|
34
|
-
</li>
|
|
35
|
-
</ul>
|
|
36
|
-
<p>
|
|
37
|
-
Get a guided tutorial on component-driven development at{' '}
|
|
38
|
-
<a href="https://storybook.js.org/tutorials/" target="_blank" rel="noopener noreferrer">
|
|
39
|
-
Storybook tutorials
|
|
40
|
-
</a>
|
|
41
|
-
. Read more in the{' '}
|
|
42
|
-
<a href="https://storybook.js.org/docs" target="_blank" rel="noopener noreferrer">
|
|
43
|
-
docs
|
|
44
|
-
</a>
|
|
45
|
-
.
|
|
46
|
-
</p>
|
|
47
|
-
<div className="tip-wrapper">
|
|
48
|
-
<span className="tip">Tip</span> Adjust the width of the canvas with the{' '}
|
|
49
|
-
<svg width="10" height="10" viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg">
|
|
50
|
-
<g fill="none" fillRule="evenodd">
|
|
51
|
-
<path
|
|
52
|
-
d="M1.5 5.2h4.8c.3 0 .5.2.5.4v5.1c-.1.2-.3.3-.4.3H1.4a.5.5 0 01-.5-.4V5.7c0-.3.2-.5.5-.5zm0-2.1h6.9c.3 0 .5.2.5.4v7a.5.5 0 01-1 0V4H1.5a.5.5 0 010-1zm0-2.1h9c.3 0 .5.2.5.4v9.1a.5.5 0 01-1 0V2H1.5a.5.5 0 010-1zm4.3 5.2H2V10h3.8V6.2z"
|
|
53
|
-
id="a"
|
|
54
|
-
fill="#999"
|
|
55
|
-
/>
|
|
56
|
-
</g>
|
|
57
|
-
</svg>
|
|
58
|
-
Viewports addon in the toolbar
|
|
59
|
-
</div>
|
|
60
|
-
</section>
|
|
61
|
-
</article>
|
|
62
|
-
);
|
|
63
|
-
Page.propTypes = {
|
|
64
|
-
user: PropTypes.shape({}),
|
|
65
|
-
onLogin: PropTypes.func.isRequired,
|
|
66
|
-
onLogout: PropTypes.func.isRequired,
|
|
67
|
-
onCreateAccount: PropTypes.func.isRequired,
|
|
68
|
-
};
|
|
11
|
+
return (
|
|
12
|
+
<article>
|
|
13
|
+
<Header
|
|
14
|
+
user={user}
|
|
15
|
+
onLogin={() => setUser({ name: 'Jane Doe' })}
|
|
16
|
+
onLogout={() => setUser(undefined)}
|
|
17
|
+
onCreateAccount={() => setUser({ name: 'Jane Doe' })}
|
|
18
|
+
/>
|
|
69
19
|
|
|
70
|
-
|
|
71
|
-
|
|
20
|
+
<section>
|
|
21
|
+
<h2>Pages in Storybook</h2>
|
|
22
|
+
<p>
|
|
23
|
+
We recommend building UIs with a{' '}
|
|
24
|
+
<a href="https://componentdriven.org" target="_blank" rel="noopener noreferrer">
|
|
25
|
+
<strong>component-driven</strong>
|
|
26
|
+
</a>{' '}
|
|
27
|
+
process starting with atomic components and ending with pages.
|
|
28
|
+
</p>
|
|
29
|
+
<p>
|
|
30
|
+
Render pages with mock data. This makes it easy to build and review page states without
|
|
31
|
+
needing to navigate to them in your app. Here are some handy patterns for managing page
|
|
32
|
+
data in Storybook:
|
|
33
|
+
</p>
|
|
34
|
+
<ul>
|
|
35
|
+
<li>
|
|
36
|
+
Use a higher-level connected component. Storybook helps you compose such data from the
|
|
37
|
+
"args" of child component stories
|
|
38
|
+
</li>
|
|
39
|
+
<li>
|
|
40
|
+
Assemble data in the page component from your services. You can mock these services out
|
|
41
|
+
using Storybook.
|
|
42
|
+
</li>
|
|
43
|
+
</ul>
|
|
44
|
+
<p>
|
|
45
|
+
Get a guided tutorial on component-driven development at{' '}
|
|
46
|
+
<a href="https://storybook.js.org/tutorials/" target="_blank" rel="noopener noreferrer">
|
|
47
|
+
Storybook tutorials
|
|
48
|
+
</a>
|
|
49
|
+
. Read more in the{' '}
|
|
50
|
+
<a href="https://storybook.js.org/docs" target="_blank" rel="noopener noreferrer">
|
|
51
|
+
docs
|
|
52
|
+
</a>
|
|
53
|
+
.
|
|
54
|
+
</p>
|
|
55
|
+
<div className="tip-wrapper">
|
|
56
|
+
<span className="tip">Tip</span> Adjust the width of the canvas with the{' '}
|
|
57
|
+
<svg width="10" height="10" viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg">
|
|
58
|
+
<g fill="none" fillRule="evenodd">
|
|
59
|
+
<path
|
|
60
|
+
d="M1.5 5.2h4.8c.3 0 .5.2.5.4v5.1c-.1.2-.3.3-.4.3H1.4a.5.5 0 01-.5-.4V5.7c0-.3.2-.5.5-.5zm0-2.1h6.9c.3 0 .5.2.5.4v7a.5.5 0 01-1 0V4H1.5a.5.5 0 010-1zm0-2.1h9c.3 0 .5.2.5.4v9.1a.5.5 0 01-1 0V2H1.5a.5.5 0 010-1zm4.3 5.2H2V10h3.8V6.2z"
|
|
61
|
+
id="a"
|
|
62
|
+
fill="#999"
|
|
63
|
+
/>
|
|
64
|
+
</g>
|
|
65
|
+
</svg>
|
|
66
|
+
Viewports addon in the toolbar
|
|
67
|
+
</div>
|
|
68
|
+
</section>
|
|
69
|
+
</article>
|
|
70
|
+
);
|
|
72
71
|
};
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
/** @jsx h */
|
|
2
2
|
import { h } from 'preact';
|
|
3
|
+
import { within, userEvent } from '@storybook/testing-library';
|
|
3
4
|
|
|
4
5
|
import { Page } from './Page';
|
|
5
|
-
import * as HeaderStories from './Header.stories';
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
title: 'Example/Page',
|
|
9
9
|
component: Page,
|
|
10
|
+
parameters: {
|
|
11
|
+
// More on Story layout: https://storybook.js.org/docs/preact/configure/story-layout
|
|
12
|
+
layout: 'fullscreen',
|
|
13
|
+
},
|
|
10
14
|
};
|
|
11
15
|
|
|
12
16
|
const Template = (args) => <Page {...args} />;
|
|
13
17
|
|
|
14
|
-
export const LoggedIn = Template.bind({});
|
|
15
|
-
LoggedIn.args = {
|
|
16
|
-
// More on composing args: https://storybook.js.org/docs/preact/writing-stories/args#args-composition
|
|
17
|
-
...HeaderStories.LoggedIn.args,
|
|
18
|
-
};
|
|
19
|
-
|
|
20
18
|
export const LoggedOut = Template.bind({});
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
|
|
20
|
+
// More on interaction testing: https://storybook.js.org/docs/preact/writing-tests/interaction-testing
|
|
21
|
+
export const LoggedIn = Template.bind({});
|
|
22
|
+
LoggedIn.play = async ({ canvasElement }) => {
|
|
23
|
+
const canvas = within(canvasElement);
|
|
24
|
+
const loginButton = await canvas.getByRole('button', { name: /Log in/i });
|
|
25
|
+
await userEvent.click(loginButton);
|
|
23
26
|
};
|
|
@@ -28,7 +28,12 @@ export const Header = ({ user, onLogin, onLogout, onCreateAccount }) => (
|
|
|
28
28
|
</div>
|
|
29
29
|
<div>
|
|
30
30
|
{user ? (
|
|
31
|
-
|
|
31
|
+
<>
|
|
32
|
+
<span className="welcome">
|
|
33
|
+
Welcome, <b>{user.name}</b>!
|
|
34
|
+
</span>
|
|
35
|
+
<Button size="small" onClick={onLogout} label="Log out" />
|
|
36
|
+
</>
|
|
32
37
|
) : (
|
|
33
38
|
<>
|
|
34
39
|
<Button size="small" onClick={onLogin} label="Log in" />
|
|
@@ -5,13 +5,19 @@ import { Header } from './Header';
|
|
|
5
5
|
export default {
|
|
6
6
|
title: 'Example/Header',
|
|
7
7
|
component: Header,
|
|
8
|
+
parameters: {
|
|
9
|
+
// More on Story layout: https://storybook.js.org/docs/react/configure/story-layout
|
|
10
|
+
layout: 'fullscreen',
|
|
11
|
+
},
|
|
8
12
|
};
|
|
9
13
|
|
|
10
14
|
const Template = (args) => <Header {...args} />;
|
|
11
15
|
|
|
12
16
|
export const LoggedIn = Template.bind({});
|
|
13
17
|
LoggedIn.args = {
|
|
14
|
-
user: {
|
|
18
|
+
user: {
|
|
19
|
+
name: 'Jane Doe',
|
|
20
|
+
},
|
|
15
21
|
};
|
|
16
22
|
|
|
17
23
|
export const LoggedOut = Template.bind({});
|