@storybook/cli 7.0.0-alpha.0 → 7.0.0-alpha.3
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/index.js +9 -3
- package/dist/cjs/babel-config.js +5 -4
- package/dist/cjs/frameworks/angular/Button.stories.ts +5 -3
- package/dist/cjs/generate.js +1 -1
- package/dist/cjs/generators/ANGULAR/index.js +24 -1
- package/dist/cjs/generators/baseGenerator.js +36 -36
- package/dist/cjs/generators/configure.js +16 -18
- package/dist/cjs/generators/types.js +5 -0
- package/dist/cjs/helpers.js +10 -12
- package/dist/cjs/initiate.js +2 -1
- package/dist/cjs/js-package-manager/JsPackageManager.js +3 -3
- package/dist/cjs/repro-generators/configs.js +22 -24
- package/dist/cjs/repro-generators/scripts.js +23 -13
- package/dist/cjs/versions.js +73 -71
- package/dist/esm/automigrate/index.js +9 -3
- package/dist/esm/babel-config.js +5 -4
- package/dist/esm/frameworks/angular/Button.stories.ts +5 -3
- package/dist/esm/generate.js +1 -1
- package/dist/esm/generators/ANGULAR/index.js +24 -1
- package/dist/esm/generators/baseGenerator.js +36 -36
- package/dist/esm/generators/configure.js +16 -18
- package/dist/esm/generators/types.js +5 -0
- package/dist/esm/helpers.js +10 -12
- package/dist/esm/initiate.js +2 -1
- package/dist/esm/js-package-manager/JsPackageManager.js +3 -3
- package/dist/esm/repro-generators/configs.js +22 -24
- package/dist/esm/repro-generators/scripts.js +23 -13
- package/dist/esm/versions.js +73 -71
- package/dist/types/generators/ANGULAR/index.d.ts +1 -1
- package/dist/types/generators/AURELIA/index.d.ts +1 -1
- package/dist/types/generators/EMBER/index.d.ts +1 -1
- package/dist/types/generators/HTML/index.d.ts +1 -1
- package/dist/types/generators/MARIONETTE/index.d.ts +1 -1
- package/dist/types/generators/MARKO/index.d.ts +1 -1
- package/dist/types/generators/MITHRIL/index.d.ts +1 -1
- package/dist/types/generators/PREACT/index.d.ts +1 -1
- package/dist/types/generators/RAX/index.d.ts +1 -1
- package/dist/types/generators/REACT/index.d.ts +1 -1
- package/dist/types/generators/REACT_SCRIPTS/index.d.ts +1 -1
- package/dist/types/generators/RIOT/index.d.ts +1 -1
- package/dist/types/generators/SERVER/index.d.ts +1 -1
- package/dist/types/generators/SFC_VUE/index.d.ts +1 -1
- package/dist/types/generators/SVELTE/index.d.ts +1 -1
- package/dist/types/generators/VUE/index.d.ts +1 -1
- package/dist/types/generators/VUE3/index.d.ts +1 -1
- package/dist/types/generators/WEB-COMPONENTS/index.d.ts +1 -1
- package/dist/types/generators/WEBPACK_REACT/index.d.ts +1 -1
- package/dist/types/generators/baseGenerator.d.ts +3 -20
- package/dist/types/generators/configure.d.ts +2 -1
- package/dist/types/generators/types.d.ts +36 -0
- package/dist/types/helpers.d.ts +1 -1
- package/dist/types/initiate.d.ts +1 -15
- package/dist/types/repro-generators/configs.d.ts +1 -4
- package/dist/types/repro-generators/scripts.d.ts +1 -1
- package/dist/types/versions.d.ts +2 -0
- package/package.json +9 -9
package/dist/cjs/versions.js
CHANGED
|
@@ -6,76 +6,78 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
// auto generated file, do not edit
|
|
8
8
|
var _default = {
|
|
9
|
-
'@storybook/addon-a11y': '7.0.0-alpha.
|
|
10
|
-
'@storybook/addon-actions': '7.0.0-alpha.
|
|
11
|
-
'@storybook/addon-backgrounds': '7.0.0-alpha.
|
|
12
|
-
'@storybook/addon-controls': '7.0.0-alpha.
|
|
13
|
-
'@storybook/addon-docs': '7.0.0-alpha.
|
|
14
|
-
'@storybook/addon-essentials': '7.0.0-alpha.
|
|
15
|
-
'@storybook/addon-interactions': '7.0.0-alpha.
|
|
16
|
-
'@storybook/addon-jest': '7.0.0-alpha.
|
|
17
|
-
'@storybook/addon-links': '7.0.0-alpha.
|
|
18
|
-
'@storybook/addon-measure': '7.0.0-alpha.
|
|
19
|
-
'@storybook/addon-outline': '7.0.0-alpha.
|
|
20
|
-
'@storybook/addon-storyshots': '7.0.0-alpha.
|
|
21
|
-
'@storybook/addon-storyshots-puppeteer': '7.0.0-alpha.
|
|
22
|
-
'@storybook/addon-storysource': '7.0.0-alpha.
|
|
23
|
-
'@storybook/addon-toolbars': '7.0.0-alpha.
|
|
24
|
-
'@storybook/addon-viewport': '7.0.0-alpha.
|
|
25
|
-
'@storybook/addons': '7.0.0-alpha.
|
|
26
|
-
'@storybook/angular': '7.0.0-alpha.
|
|
27
|
-
'@storybook/api': '7.0.0-alpha.
|
|
28
|
-
'@storybook/builder-webpack5': '7.0.0-alpha.
|
|
29
|
-
'@storybook/channel-postmessage': '7.0.0-alpha.
|
|
30
|
-
'@storybook/channel-websocket': '7.0.0-alpha.
|
|
31
|
-
'@storybook/channels': '7.0.0-alpha.
|
|
32
|
-
'@storybook/cli': '7.0.0-alpha.
|
|
33
|
-
'@storybook/client-api': '7.0.0-alpha.
|
|
34
|
-
'@storybook/client-logger': '7.0.0-alpha.
|
|
35
|
-
'@storybook/codemod': '7.0.0-alpha.
|
|
36
|
-
'@storybook/components': '7.0.0-alpha.
|
|
37
|
-
'@storybook/core-client': '7.0.0-alpha.
|
|
38
|
-
'@storybook/core-common': '7.0.0-alpha.
|
|
39
|
-
'@storybook/core-events': '7.0.0-alpha.
|
|
40
|
-
'@storybook/core-server': '7.0.0-alpha.
|
|
41
|
-
'@storybook/core-webpack': '7.0.0-alpha.
|
|
42
|
-
'@storybook/csf-tools': '7.0.0-alpha.
|
|
43
|
-
'@storybook/docs-tools': '7.0.0-alpha.
|
|
44
|
-
'@storybook/ember': '7.0.0-alpha.
|
|
45
|
-
'@storybook/html': '7.0.0-alpha.
|
|
46
|
-
'@storybook/html-webpack5': '7.0.0-alpha.
|
|
47
|
-
'@storybook/instrumenter': '7.0.0-alpha.
|
|
48
|
-
'@storybook/manager-webpack5': '7.0.0-alpha.
|
|
49
|
-
'@storybook/node-logger': '7.0.0-alpha.
|
|
50
|
-
'@storybook/postinstall': '7.0.0-alpha.
|
|
51
|
-
'@storybook/preact': '7.0.0-alpha.
|
|
52
|
-
'@storybook/preact-webpack5': '7.0.0-alpha.
|
|
53
|
-
'@storybook/preset-html-webpack': '7.0.0-alpha.
|
|
54
|
-
'@storybook/preset-preact-webpack': '7.0.0-alpha.
|
|
55
|
-
'@storybook/preset-react-webpack': '7.0.0-alpha.
|
|
56
|
-
'@storybook/preset-server-webpack': '7.0.0-alpha.
|
|
57
|
-
'@storybook/preset-svelte-webpack': '7.0.0-alpha.
|
|
58
|
-
'@storybook/preset-vue-webpack': '7.0.0-alpha.
|
|
59
|
-
'@storybook/preset-vue3-webpack': '7.0.0-alpha.
|
|
60
|
-
'@storybook/preset-web-components-webpack': '7.0.0-alpha.
|
|
61
|
-
'@storybook/preview-web': '7.0.0-alpha.
|
|
62
|
-
'@storybook/react': '7.0.0-alpha.
|
|
63
|
-
'@storybook/react-webpack5': '7.0.0-alpha.
|
|
64
|
-
'@storybook/router': '7.0.0-alpha.
|
|
65
|
-
'@storybook/server': '7.0.0-alpha.
|
|
66
|
-
'@storybook/server-webpack5': '7.0.0-alpha.
|
|
67
|
-
'@storybook/source-loader': '7.0.0-alpha.
|
|
68
|
-
'@storybook/store': '7.0.0-alpha.
|
|
69
|
-
'@storybook/svelte': '7.0.0-alpha.
|
|
70
|
-
'@storybook/svelte-webpack5': '7.0.0-alpha.
|
|
71
|
-
'@storybook/telemetry': '7.0.0-alpha.
|
|
72
|
-
'@storybook/theming': '7.0.0-alpha.
|
|
73
|
-
'@storybook/ui': '7.0.0-alpha.
|
|
74
|
-
'@storybook/vue': '7.0.0-alpha.
|
|
75
|
-
'@storybook/vue-webpack5': '7.0.0-alpha.
|
|
76
|
-
'@storybook/vue3': '7.0.0-alpha.
|
|
77
|
-
'@storybook/vue3-webpack5': '7.0.0-alpha.
|
|
78
|
-
'@storybook/web-components': '7.0.0-alpha.
|
|
79
|
-
'@storybook/web-components-webpack5': '7.0.0-alpha.
|
|
9
|
+
'@storybook/addon-a11y': '7.0.0-alpha.3',
|
|
10
|
+
'@storybook/addon-actions': '7.0.0-alpha.3',
|
|
11
|
+
'@storybook/addon-backgrounds': '7.0.0-alpha.3',
|
|
12
|
+
'@storybook/addon-controls': '7.0.0-alpha.3',
|
|
13
|
+
'@storybook/addon-docs': '7.0.0-alpha.3',
|
|
14
|
+
'@storybook/addon-essentials': '7.0.0-alpha.3',
|
|
15
|
+
'@storybook/addon-interactions': '7.0.0-alpha.3',
|
|
16
|
+
'@storybook/addon-jest': '7.0.0-alpha.3',
|
|
17
|
+
'@storybook/addon-links': '7.0.0-alpha.3',
|
|
18
|
+
'@storybook/addon-measure': '7.0.0-alpha.3',
|
|
19
|
+
'@storybook/addon-outline': '7.0.0-alpha.3',
|
|
20
|
+
'@storybook/addon-storyshots': '7.0.0-alpha.3',
|
|
21
|
+
'@storybook/addon-storyshots-puppeteer': '7.0.0-alpha.3',
|
|
22
|
+
'@storybook/addon-storysource': '7.0.0-alpha.3',
|
|
23
|
+
'@storybook/addon-toolbars': '7.0.0-alpha.3',
|
|
24
|
+
'@storybook/addon-viewport': '7.0.0-alpha.3',
|
|
25
|
+
'@storybook/addons': '7.0.0-alpha.3',
|
|
26
|
+
'@storybook/angular': '7.0.0-alpha.3',
|
|
27
|
+
'@storybook/api': '7.0.0-alpha.3',
|
|
28
|
+
'@storybook/builder-webpack5': '7.0.0-alpha.3',
|
|
29
|
+
'@storybook/channel-postmessage': '7.0.0-alpha.3',
|
|
30
|
+
'@storybook/channel-websocket': '7.0.0-alpha.3',
|
|
31
|
+
'@storybook/channels': '7.0.0-alpha.3',
|
|
32
|
+
'@storybook/cli': '7.0.0-alpha.3',
|
|
33
|
+
'@storybook/client-api': '7.0.0-alpha.3',
|
|
34
|
+
'@storybook/client-logger': '7.0.0-alpha.3',
|
|
35
|
+
'@storybook/codemod': '7.0.0-alpha.3',
|
|
36
|
+
'@storybook/components': '7.0.0-alpha.3',
|
|
37
|
+
'@storybook/core-client': '7.0.0-alpha.3',
|
|
38
|
+
'@storybook/core-common': '7.0.0-alpha.3',
|
|
39
|
+
'@storybook/core-events': '7.0.0-alpha.3',
|
|
40
|
+
'@storybook/core-server': '7.0.0-alpha.3',
|
|
41
|
+
'@storybook/core-webpack': '7.0.0-alpha.3',
|
|
42
|
+
'@storybook/csf-tools': '7.0.0-alpha.3',
|
|
43
|
+
'@storybook/docs-tools': '7.0.0-alpha.3',
|
|
44
|
+
'@storybook/ember': '7.0.0-alpha.3',
|
|
45
|
+
'@storybook/html': '7.0.0-alpha.3',
|
|
46
|
+
'@storybook/html-webpack5': '7.0.0-alpha.3',
|
|
47
|
+
'@storybook/instrumenter': '7.0.0-alpha.3',
|
|
48
|
+
'@storybook/manager-webpack5': '7.0.0-alpha.3',
|
|
49
|
+
'@storybook/node-logger': '7.0.0-alpha.3',
|
|
50
|
+
'@storybook/postinstall': '7.0.0-alpha.3',
|
|
51
|
+
'@storybook/preact': '7.0.0-alpha.3',
|
|
52
|
+
'@storybook/preact-webpack5': '7.0.0-alpha.3',
|
|
53
|
+
'@storybook/preset-html-webpack': '7.0.0-alpha.3',
|
|
54
|
+
'@storybook/preset-preact-webpack': '7.0.0-alpha.3',
|
|
55
|
+
'@storybook/preset-react-webpack': '7.0.0-alpha.3',
|
|
56
|
+
'@storybook/preset-server-webpack': '7.0.0-alpha.3',
|
|
57
|
+
'@storybook/preset-svelte-webpack': '7.0.0-alpha.3',
|
|
58
|
+
'@storybook/preset-vue-webpack': '7.0.0-alpha.3',
|
|
59
|
+
'@storybook/preset-vue3-webpack': '7.0.0-alpha.3',
|
|
60
|
+
'@storybook/preset-web-components-webpack': '7.0.0-alpha.3',
|
|
61
|
+
'@storybook/preview-web': '7.0.0-alpha.3',
|
|
62
|
+
'@storybook/react': '7.0.0-alpha.3',
|
|
63
|
+
'@storybook/react-webpack5': '7.0.0-alpha.3',
|
|
64
|
+
'@storybook/router': '7.0.0-alpha.3',
|
|
65
|
+
'@storybook/server': '7.0.0-alpha.3',
|
|
66
|
+
'@storybook/server-webpack5': '7.0.0-alpha.3',
|
|
67
|
+
'@storybook/source-loader': '7.0.0-alpha.3',
|
|
68
|
+
'@storybook/store': '7.0.0-alpha.3',
|
|
69
|
+
'@storybook/svelte': '7.0.0-alpha.3',
|
|
70
|
+
'@storybook/svelte-webpack5': '7.0.0-alpha.3',
|
|
71
|
+
'@storybook/telemetry': '7.0.0-alpha.3',
|
|
72
|
+
'@storybook/theming': '7.0.0-alpha.3',
|
|
73
|
+
'@storybook/ui': '7.0.0-alpha.3',
|
|
74
|
+
'@storybook/vue': '7.0.0-alpha.3',
|
|
75
|
+
'@storybook/vue-webpack5': '7.0.0-alpha.3',
|
|
76
|
+
'@storybook/vue3': '7.0.0-alpha.3',
|
|
77
|
+
'@storybook/vue3-webpack5': '7.0.0-alpha.3',
|
|
78
|
+
'@storybook/web-components': '7.0.0-alpha.3',
|
|
79
|
+
'@storybook/web-components-webpack5': '7.0.0-alpha.3',
|
|
80
|
+
sb: '7.0.0-alpha.3',
|
|
81
|
+
storybook: '7.0.0-alpha.3'
|
|
80
82
|
};
|
|
81
83
|
exports.default = _default;
|
|
@@ -34,9 +34,15 @@ const automigrate = async ({
|
|
|
34
34
|
|
|
35
35
|
for (let i = 0; i < filtered.length; i += 1) {
|
|
36
36
|
const f = _fixes.fixes[i];
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
let result;
|
|
38
|
+
|
|
39
|
+
try {
|
|
40
|
+
result = await f.check({
|
|
41
|
+
packageManager
|
|
42
|
+
});
|
|
43
|
+
} catch (e) {
|
|
44
|
+
logger.info(`failed to check fix: ${f.id}`);
|
|
45
|
+
}
|
|
40
46
|
|
|
41
47
|
if (result) {
|
|
42
48
|
logger.info(`🔎 found a '${_chalk.default.cyan(f.id)}' migration:`);
|
package/dist/esm/babel-config.js
CHANGED
|
@@ -11,8 +11,6 @@ var _fsExtra = require("fs-extra");
|
|
|
11
11
|
|
|
12
12
|
var _nodeLogger = require("@storybook/node-logger");
|
|
13
13
|
|
|
14
|
-
var _coreCommon = require("@storybook/core-common");
|
|
15
|
-
|
|
16
14
|
var _path = _interopRequireDefault(require("path"));
|
|
17
15
|
|
|
18
16
|
var _prompts = _interopRequireDefault(require("prompts"));
|
|
@@ -33,8 +31,11 @@ const generateStorybookBabelConfig = async ({
|
|
|
33
31
|
}) => {
|
|
34
32
|
_nodeLogger.logger.info(`Generating the storybook default babel config at ${target}`);
|
|
35
33
|
|
|
36
|
-
const
|
|
37
|
-
|
|
34
|
+
const contents = JSON.stringify({
|
|
35
|
+
sourceType: 'unambiguous',
|
|
36
|
+
presets: [],
|
|
37
|
+
plugins: []
|
|
38
|
+
}, null, 2);
|
|
38
39
|
const fileName = '.babelrc.json';
|
|
39
40
|
|
|
40
41
|
const location = _path.default.join(target, fileName);
|
|
@@ -13,9 +13,11 @@ export default {
|
|
|
13
13
|
} as Meta;
|
|
14
14
|
|
|
15
15
|
// More on component templates: https://storybook.js.org/docs/angular/writing-stories/introduction#using-args
|
|
16
|
-
const Template: Story<Button> = (args: Button) =>
|
|
17
|
-
|
|
18
|
-
}
|
|
16
|
+
const Template: Story<Button> = (args: Button) => {
|
|
17
|
+
return {
|
|
18
|
+
props: { backgroundColor: null, ...args },
|
|
19
|
+
};
|
|
20
|
+
};
|
|
19
21
|
|
|
20
22
|
export const Primary = Template.bind({});
|
|
21
23
|
// More on args: https://storybook.js.org/docs/angular/writing-stories/args
|
package/dist/esm/generate.js
CHANGED
|
@@ -52,7 +52,7 @@ process.env.STORYBOOK_DISABLE_TELEMETRY && process.env.STORYBOOK_DISABLE_TELEMET
|
|
|
52
52
|
|
|
53
53
|
_commander.default.option('--enable-crash-reports', 'enable sending crash reports to telemetry data');
|
|
54
54
|
|
|
55
|
-
_commander.default.command('init').description('Initialize Storybook into your project.').option('-f --force', 'Force add Storybook').option('-s --skip-install', 'Skip installing deps').option('-N --use-npm', 'Use npm to install deps').option('-p --parser <babel | babylon | flow | ts | tsx>', 'jscodeshift parser').option('-t --type <type>', 'Add Storybook for a specific project type').option('-y --yes', 'Answer yes to all prompts').option('-b --builder <builder>', 'Builder library').option('-l --linkable', 'Prepare installation for link (contributor helper)').action(options => (0, _initiate.initiate)(options, pkg));
|
|
55
|
+
_commander.default.command('init').description('Initialize Storybook into your project.').option('-f --force', 'Force add Storybook').option('-s --skip-install', 'Skip installing deps').option('-N --use-npm', 'Use npm to install deps').option('--use-pnp', 'Enable pnp mode').option('-p --parser <babel | babylon | flow | ts | tsx>', 'jscodeshift parser').option('-t --type <type>', 'Add Storybook for a specific project type').option('-y --yes', 'Answer yes to all prompts').option('-b --builder <builder>', 'Builder library').option('-l --linkable', 'Prepare installation for link (contributor helper)').action(options => (0, _initiate.initiate)(options, pkg));
|
|
56
56
|
|
|
57
57
|
_commander.default.command('add <addon>').description('Add an addon to your Storybook').option('-N --use-npm', 'Use NPM to build the Storybook server').option('-s --skip-postinstall', 'Skip package specific postinstall config modifications').action((addonName, options) => (0, _add.add)(addonName, options));
|
|
58
58
|
|
|
@@ -57,7 +57,30 @@ const generator = async (packageManager, npmOptions, options) => {
|
|
|
57
57
|
addScripts: false
|
|
58
58
|
});
|
|
59
59
|
(0, _helpers.copyTemplate)(__dirname);
|
|
60
|
-
editAngularAppTsConfig();
|
|
60
|
+
editAngularAppTsConfig(); // TODO: we need to add the following:
|
|
61
|
+
|
|
62
|
+
/*
|
|
63
|
+
"storybook": {
|
|
64
|
+
"builder": "@storybook/angular:start-storybook",
|
|
65
|
+
"options": {
|
|
66
|
+
"browserTarget": "angular-cli:build",
|
|
67
|
+
"port": 4400
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"build-storybook": {
|
|
71
|
+
"builder": "@storybook/angular:build-storybook",
|
|
72
|
+
"options": {
|
|
73
|
+
"browserTarget": "angular-cli:build"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
*/
|
|
77
|
+
// to the user's angular.json file. see: https://github.com/storybookjs/storybook/blob/next/examples/angular-cli/angular.json#L78
|
|
78
|
+
// then we want to add these scripts to package.json
|
|
79
|
+
// packageManager.addScripts({
|
|
80
|
+
// storybook: 'ng storybook',
|
|
81
|
+
// 'build-storybook': 'ng build-storybook',
|
|
82
|
+
// });
|
|
83
|
+
|
|
61
84
|
(0, _angularHelpers.editStorybookTsConfig)(_path.default.resolve('./.storybook/tsconfig.json')); // edit scripts to generate docs
|
|
62
85
|
|
|
63
86
|
const tsConfigFile = await (0, _angularHelpers.getBaseTsConfigName)();
|
|
@@ -54,33 +54,39 @@ const getBuilderDetails = builder => {
|
|
|
54
54
|
return builder;
|
|
55
55
|
};
|
|
56
56
|
|
|
57
|
-
const
|
|
57
|
+
const wrapForPnp = packageName => `%%path.dirname(require.resolve(path.join('${packageName}', 'package.json')))%%`;
|
|
58
|
+
|
|
59
|
+
const getFrameworkDetails = (renderer, builder, pnp) => {
|
|
58
60
|
const frameworkPackage = `@storybook/${renderer}-${builder}`;
|
|
61
|
+
const frameworkPackagePath = pnp ? wrapForPnp(frameworkPackage) : frameworkPackage;
|
|
59
62
|
const rendererPackage = `@storybook/${renderer}`;
|
|
63
|
+
const rendererPackagePath = pnp ? wrapForPnp(rendererPackage) : rendererPackage;
|
|
64
|
+
const builderPackage = getBuilderDetails(builder);
|
|
65
|
+
const builderPackagePath = pnp ? wrapForPnp(builderPackage) : builderPackage;
|
|
60
66
|
const isKnownFramework = !!_versions.default[frameworkPackage];
|
|
61
67
|
const isKnownRenderer = !!_versions.default[rendererPackage];
|
|
62
|
-
const builderPackage = getBuilderDetails(builder);
|
|
63
68
|
|
|
64
69
|
if (renderer === 'angular') {
|
|
65
70
|
return {
|
|
66
|
-
|
|
67
|
-
|
|
71
|
+
packages: [rendererPackage],
|
|
72
|
+
framework: rendererPackagePath,
|
|
68
73
|
type: 'framework'
|
|
69
74
|
};
|
|
70
75
|
}
|
|
71
76
|
|
|
72
77
|
if (isKnownFramework) {
|
|
73
78
|
return {
|
|
74
|
-
|
|
75
|
-
|
|
79
|
+
packages: [frameworkPackage],
|
|
80
|
+
framework: frameworkPackagePath,
|
|
76
81
|
type: 'framework'
|
|
77
82
|
};
|
|
78
83
|
}
|
|
79
84
|
|
|
80
85
|
if (isKnownRenderer) {
|
|
81
86
|
return {
|
|
82
|
-
|
|
83
|
-
builder:
|
|
87
|
+
packages: [rendererPackage, builderPackage],
|
|
88
|
+
builder: builderPackagePath,
|
|
89
|
+
renderer: rendererPackagePath,
|
|
84
90
|
type: 'renderer'
|
|
85
91
|
};
|
|
86
92
|
}
|
|
@@ -94,7 +100,8 @@ const hasInteractiveStories = framework => ['react', 'angular', 'preact', 'svelt
|
|
|
94
100
|
|
|
95
101
|
async function baseGenerator(packageManager, npmOptions, {
|
|
96
102
|
language,
|
|
97
|
-
builder = _project_types.CoreBuilder.Webpack5
|
|
103
|
+
builder = _project_types.CoreBuilder.Webpack5,
|
|
104
|
+
pnp
|
|
98
105
|
}, renderer, options = defaultOptions) {
|
|
99
106
|
const {
|
|
100
107
|
extraAddons: extraAddonPackages,
|
|
@@ -109,9 +116,9 @@ async function baseGenerator(packageManager, npmOptions, {
|
|
|
109
116
|
} = Object.assign({}, defaultOptions, options); // added to main.js
|
|
110
117
|
// make sure to update `canUsePrebuiltManager` in dev-server.js and build-manager-config/main.js when this list changes
|
|
111
118
|
|
|
112
|
-
const addons = ['@storybook/addon-links', '@storybook/addon-essentials']; // added to package.json
|
|
119
|
+
const addons = ['@storybook/addon-links', '@storybook/addon-essentials', ...stripVersions(extraAddonPackages)]; // added to package.json
|
|
113
120
|
|
|
114
|
-
const addonPackages = [
|
|
121
|
+
const addonPackages = ['@storybook/addon-links', '@storybook/addon-essentials', '@storybook/addon-actions', ...extraAddonPackages];
|
|
115
122
|
|
|
116
123
|
if (hasInteractiveStories(renderer)) {
|
|
117
124
|
addons.push('@storybook/addon-interactions');
|
|
@@ -123,20 +130,15 @@ async function baseGenerator(packageManager, npmOptions, {
|
|
|
123
130
|
const packageJson = packageManager.retrievePackageJson();
|
|
124
131
|
const installedDependencies = new Set(Object.keys(Object.assign({}, packageJson.dependencies, packageJson.devDependencies)));
|
|
125
132
|
const {
|
|
126
|
-
|
|
133
|
+
packages: frameworkPackages,
|
|
127
134
|
type,
|
|
128
|
-
|
|
129
|
-
|
|
135
|
+
// @ts-ignore
|
|
136
|
+
renderer: rendererInclude,
|
|
137
|
+
framework: frameworkInclude,
|
|
138
|
+
builder: builderInclude
|
|
139
|
+
} = getFrameworkDetails(renderer, builder, pnp); // TODO: We need to start supporting this at some point
|
|
130
140
|
|
|
131
141
|
if (type === 'renderer') {
|
|
132
|
-
console.log({
|
|
133
|
-
language,
|
|
134
|
-
builder,
|
|
135
|
-
renderer,
|
|
136
|
-
builderPackage,
|
|
137
|
-
frameworkPackage,
|
|
138
|
-
type
|
|
139
|
-
});
|
|
140
142
|
throw new Error((0, _tsDedent.default)`
|
|
141
143
|
Sorry, for now, you can not do this, please use a framework such as @storybook/react-webpack5
|
|
142
144
|
|
|
@@ -144,32 +146,30 @@ async function baseGenerator(packageManager, npmOptions, {
|
|
|
144
146
|
`);
|
|
145
147
|
}
|
|
146
148
|
|
|
147
|
-
const packages = ['
|
|
149
|
+
const packages = ['storybook', ...frameworkPackages, ...addonPackages, ...extraPackages, ...yarn2ExtraPackages].filter(Boolean).filter(packageToInstall => !installedDependencies.has((0, _jsPackageManager.getPackageDetails)(packageToInstall)[0]));
|
|
148
150
|
const versionedPackages = await packageManager.getVersionedPackages(packages);
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
});
|
|
152
|
-
const mainOptions = type !== 'framework' ? Object.assign({
|
|
153
|
-
core: {
|
|
154
|
-
builder: builderPackage
|
|
155
|
-
}
|
|
156
|
-
}, extraMain) : extraMain;
|
|
157
|
-
(0, _configure.configure)(renderer, Object.assign({
|
|
151
|
+
await _fsExtra.default.ensureDir('./.storybook');
|
|
152
|
+
await (0, _configure.configureMain)(Object.assign({
|
|
158
153
|
framework: {
|
|
159
|
-
name:
|
|
154
|
+
name: frameworkInclude,
|
|
160
155
|
options: {}
|
|
161
156
|
},
|
|
162
|
-
addons:
|
|
157
|
+
addons: pnp ? addons.map(wrapForPnp) : addons,
|
|
163
158
|
extensions,
|
|
164
159
|
commonJs: options.commonJs
|
|
165
|
-
},
|
|
160
|
+
}, extraMain, type !== 'framework' ? {
|
|
161
|
+
core: {
|
|
162
|
+
builder: builderInclude
|
|
163
|
+
}
|
|
164
|
+
} : {}));
|
|
165
|
+
await (0, _configure.configurePreview)(renderer, options.commonJs);
|
|
166
166
|
|
|
167
167
|
if (addComponents) {
|
|
168
168
|
(0, _helpers.copyComponents)(renderer, language);
|
|
169
169
|
} // FIXME: temporary workaround for https://github.com/storybookjs/storybook/issues/17516
|
|
170
170
|
|
|
171
171
|
|
|
172
|
-
if (
|
|
172
|
+
if (frameworkPackages.includes('@storybook/builder-vite')) {
|
|
173
173
|
const previewHead = (0, _tsDedent.default)`
|
|
174
174
|
<script>
|
|
175
175
|
window.global = window;
|
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.configureMain = configureMain;
|
|
7
|
+
exports.configurePreview = configurePreview;
|
|
8
|
+
|
|
9
|
+
require("core-js/modules/es.promise.js");
|
|
7
10
|
|
|
8
11
|
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
9
12
|
|
|
@@ -15,7 +18,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
15
18
|
|
|
16
19
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
17
20
|
|
|
18
|
-
function configureMain(_ref) {
|
|
21
|
+
async function configureMain(_ref) {
|
|
19
22
|
let {
|
|
20
23
|
addons,
|
|
21
24
|
extensions = ['js', 'jsx', 'ts', 'tsx'],
|
|
@@ -23,17 +26,20 @@ function configureMain(_ref) {
|
|
|
23
26
|
} = _ref,
|
|
24
27
|
custom = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
25
28
|
|
|
26
|
-
const prefix = _fsExtra.default.
|
|
29
|
+
const prefix = (await _fsExtra.default.pathExists('./src')) ? '../src' : '../stories';
|
|
27
30
|
const config = Object.assign({
|
|
28
31
|
stories: [`${prefix}/**/*.stories.mdx`, `${prefix}/**/*.stories.@(${extensions.join('|')})`],
|
|
29
32
|
addons
|
|
30
33
|
}, custom); // replace escaped values and delimiters
|
|
31
34
|
|
|
32
|
-
const stringified = `module.exports = ${JSON.stringify(config, null, 2).replace(/\\"/g, '"').replace(/['"]%%/g, '').replace(/%%['"]
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
const stringified = `module.exports = ${JSON.stringify(config, null, 2).replace(/\\"/g, '"').replace(/['"]%%/g, '').replace(/%%['"]/g, '').replace(/\\n/g, '\r\n')}`; // main.js isn't actually JSON, but we used JSON.stringify to convert the runtime-object into code.
|
|
36
|
+
// un-stringify the value for referencing packages by string
|
|
37
|
+
// .replaceAll(/"(path\.dirname\(require\.resolve\(path\.join\('.*\))"/g, (_, a) => a)}`;
|
|
35
38
|
|
|
36
|
-
_fsExtra.default.
|
|
39
|
+
await _fsExtra.default.writeFile(`./.storybook/main.${commonJs ? 'cjs' : 'js'}`, (0, _tsDedent.default)`
|
|
40
|
+
const path = require('path');
|
|
41
|
+
${stringified}
|
|
42
|
+
`, {
|
|
37
43
|
encoding: 'utf8'
|
|
38
44
|
});
|
|
39
45
|
}
|
|
@@ -50,14 +56,14 @@ const frameworkToPreviewParts = {
|
|
|
50
56
|
}
|
|
51
57
|
};
|
|
52
58
|
|
|
53
|
-
function configurePreview(framework, commonJs) {
|
|
59
|
+
async function configurePreview(framework, commonJs) {
|
|
54
60
|
const {
|
|
55
61
|
prefix = '',
|
|
56
62
|
extraParameters = ''
|
|
57
63
|
} = frameworkToPreviewParts[framework] || {};
|
|
58
64
|
const previewPath = `./.storybook/preview.${commonJs ? 'cjs' : 'js'}`; // If the framework template included a preview then we have nothing to do
|
|
59
65
|
|
|
60
|
-
if (_fsExtra.default.
|
|
66
|
+
if (await _fsExtra.default.pathExists(previewPath)) {
|
|
61
67
|
return;
|
|
62
68
|
}
|
|
63
69
|
|
|
@@ -73,15 +79,7 @@ function configurePreview(framework, commonJs) {
|
|
|
73
79
|
},
|
|
74
80
|
${extraParameters}
|
|
75
81
|
}`.replace(' \n', '').trim();
|
|
76
|
-
|
|
77
|
-
_fsExtra.default.writeFileSync(previewPath, preview, {
|
|
82
|
+
await _fsExtra.default.writeFile(previewPath, preview, {
|
|
78
83
|
encoding: 'utf8'
|
|
79
84
|
});
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function configure(framework, mainOptions) {
|
|
83
|
-
_fsExtra.default.ensureDirSync('./.storybook');
|
|
84
|
-
|
|
85
|
-
configureMain(mainOptions);
|
|
86
|
-
configurePreview(framework, mainOptions.commonJs);
|
|
87
85
|
}
|
package/dist/esm/helpers.js
CHANGED
|
@@ -189,51 +189,49 @@ function copyTemplate(templateRoot) {
|
|
|
189
189
|
});
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
-
function copyComponents(framework, language) {
|
|
192
|
+
async function copyComponents(framework, language) {
|
|
193
193
|
const languageFolderMapping = {
|
|
194
194
|
javascript: 'js',
|
|
195
195
|
typescript: 'ts'
|
|
196
196
|
};
|
|
197
197
|
|
|
198
|
-
const componentsPath = () => {
|
|
198
|
+
const componentsPath = async () => {
|
|
199
199
|
const frameworkPath = `frameworks/${framework}`;
|
|
200
200
|
|
|
201
201
|
const languageSpecific = _path.default.resolve(__dirname, `${frameworkPath}/${languageFolderMapping[language]}`);
|
|
202
202
|
|
|
203
|
-
if (_fsExtra.default.
|
|
203
|
+
if (await _fsExtra.default.pathExists(languageSpecific)) {
|
|
204
204
|
return languageSpecific;
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
const jsFallback = _path.default.resolve(__dirname, `${frameworkPath}/${languageFolderMapping.javascript}`);
|
|
208
208
|
|
|
209
|
-
if (_fsExtra.default.
|
|
209
|
+
if (await _fsExtra.default.pathExists(jsFallback)) {
|
|
210
210
|
return jsFallback;
|
|
211
211
|
}
|
|
212
212
|
|
|
213
213
|
const frameworkRootPath = _path.default.resolve(__dirname, frameworkPath);
|
|
214
214
|
|
|
215
|
-
if (_fsExtra.default.
|
|
215
|
+
if (await _fsExtra.default.pathExists(frameworkRootPath)) {
|
|
216
216
|
return frameworkRootPath;
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
throw new Error(`Unsupported framework: ${framework}`);
|
|
220
220
|
};
|
|
221
221
|
|
|
222
|
-
const targetPath = () => {
|
|
223
|
-
if (_fsExtra.default.
|
|
222
|
+
const targetPath = async () => {
|
|
223
|
+
if (await _fsExtra.default.pathExists('./src')) {
|
|
224
224
|
return './src/stories';
|
|
225
225
|
}
|
|
226
226
|
|
|
227
227
|
return './stories';
|
|
228
228
|
};
|
|
229
229
|
|
|
230
|
-
const destinationPath = targetPath();
|
|
231
|
-
|
|
232
|
-
_fsExtra.default.copySync(componentsPath(), destinationPath, {
|
|
230
|
+
const destinationPath = await targetPath();
|
|
231
|
+
await _fsExtra.default.copy(await componentsPath(), destinationPath, {
|
|
233
232
|
overwrite: true
|
|
234
233
|
});
|
|
235
|
-
|
|
236
|
-
_fsExtra.default.copySync(_path.default.resolve(__dirname, 'frameworks/common'), destinationPath, {
|
|
234
|
+
await _fsExtra.default.copy(_path.default.resolve(__dirname, 'frameworks/common'), destinationPath, {
|
|
237
235
|
overwrite: true
|
|
238
236
|
});
|
|
239
237
|
}
|
package/dist/esm/initiate.js
CHANGED
|
@@ -81,7 +81,8 @@ const installStorybook = (projectType, packageManager, options) => {
|
|
|
81
81
|
language,
|
|
82
82
|
builder: options.builder || (0, _detect.detectBuilder)(packageManager),
|
|
83
83
|
linkable: !!options.linkable,
|
|
84
|
-
commonJs: options.commonJs
|
|
84
|
+
commonJs: options.commonJs,
|
|
85
|
+
pnp: options.usePnp
|
|
85
86
|
};
|
|
86
87
|
|
|
87
88
|
const runGenerator = async () => {
|
|
@@ -176,7 +176,7 @@ class JsPackageManager {
|
|
|
176
176
|
async getVersion(packageName, constraint) {
|
|
177
177
|
let current;
|
|
178
178
|
|
|
179
|
-
if (
|
|
179
|
+
if (/(@storybook|^sb$|^storybook$)/.test(packageName)) {
|
|
180
180
|
// @ts-ignore
|
|
181
181
|
current = _versions.default[packageName];
|
|
182
182
|
}
|
|
@@ -221,8 +221,8 @@ class JsPackageManager {
|
|
|
221
221
|
var _options$port;
|
|
222
222
|
|
|
223
223
|
const sbPort = (_options$port = options === null || options === void 0 ? void 0 : options.port) !== null && _options$port !== void 0 ? _options$port : 6006;
|
|
224
|
-
const storybookCmd = options !== null && options !== void 0 && options.staticFolder ? `npx
|
|
225
|
-
const buildStorybookCmd = options !== null && options !== void 0 && options.staticFolder ? `npx
|
|
224
|
+
const storybookCmd = options !== null && options !== void 0 && options.staticFolder ? `npx storybook dev -p ${sbPort} -s ${options.staticFolder}` : `npx storybook dev -p ${sbPort}`;
|
|
225
|
+
const buildStorybookCmd = options !== null && options !== void 0 && options.staticFolder ? `npx storybook build -s ${options.staticFolder}` : `npx storybook build`;
|
|
226
226
|
const preCommand = options !== null && options !== void 0 && options.preCommand ? this.getRunCommand(options.preCommand) : undefined;
|
|
227
227
|
this.addScripts({
|
|
228
228
|
storybook: [preCommand, storybookCmd].filter(Boolean).join(' && '),
|