@storybook/cli 7.0.0-alpha.31 → 7.0.0-alpha.34
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/.eslintrc.js +35 -0
- package/bin/index.js +1 -1
- package/dist/generate.d.ts +1 -0
- package/dist/generate.js +265 -0
- package/dist/generate.mjs +265 -0
- package/package.json +18 -12
- package/rendererAssets/svelte/Button.svelte +4 -3
- package/{dist/cjs/generators/ANGULAR → templates/angular}/template-csf/.storybook/tsconfig.json +0 -0
- package/{dist/cjs/generators/ANGULAR → templates/angular}/template-csf/.storybook/typings.d.ts +0 -0
- package/{dist/cjs/generators/AURELIA → templates/aurelia}/template-csf/.storybook/tsconfig.json +0 -0
- package/{dist/cjs/generators/AURELIA → templates/aurelia}/template-csf/.storybook/typings.d.ts +0 -0
- package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/addons.js +1 -1
- package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/index.js +13 -6
- package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/rn-addons.js +1 -1
- package/templates/react-native/template-csf/storybook/stories/Button/Button.stories.js +20 -0
- package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/stories/Button/index.js +8 -10
- package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/stories/CenterView/index.js +8 -9
- package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/stories/CenterView/style.js +3 -3
- package/{dist/esm/generators/REACT_NATIVE → templates/react-native}/template-csf/storybook/stories/Welcome/Welcome.stories.js +2 -3
- package/templates/react-native/template-csf/storybook/stories/Welcome/index.js +57 -0
- package/templates/react-native/template-csf/storybook/stories/index.js +2 -0
- package/templates/server/template-csf/.storybook/preview.js +5 -0
- package/dist/cjs/NpmOptions.js +0 -1
- package/dist/cjs/add.js +0 -149
- package/dist/cjs/automigrate/fixes/angular12.js +0 -74
- package/dist/cjs/automigrate/fixes/builder-vite.js +0 -118
- package/dist/cjs/automigrate/fixes/cra5.js +0 -82
- package/dist/cjs/automigrate/fixes/eslint-plugin.js +0 -126
- package/dist/cjs/automigrate/fixes/index.js +0 -45
- package/dist/cjs/automigrate/fixes/mainjsFramework.js +0 -94
- package/dist/cjs/automigrate/fixes/new-frameworks.js +0 -258
- package/dist/cjs/automigrate/fixes/npm7.js +0 -57
- package/dist/cjs/automigrate/fixes/sb-scripts.js +0 -140
- package/dist/cjs/automigrate/fixes/vue3.js +0 -77
- package/dist/cjs/automigrate/fixes/webpack5.js +0 -151
- package/dist/cjs/automigrate/helpers/getEslintInfo.js +0 -28
- package/dist/cjs/automigrate/index.js +0 -98
- package/dist/cjs/automigrate/types.js +0 -5
- package/dist/cjs/babel-config.js +0 -65
- package/dist/cjs/build.js +0 -36
- package/dist/cjs/detect-nextjs.js +0 -33
- package/dist/cjs/detect-webpack.js +0 -39
- package/dist/cjs/detect.js +0 -179
- package/dist/cjs/dev.js +0 -66
- package/dist/cjs/dirs.js +0 -12
- package/dist/cjs/extract.js +0 -93
- package/dist/cjs/generate.js +0 -215
- package/dist/cjs/generators/ANGULAR/angular-helpers.js +0 -106
- package/dist/cjs/generators/ANGULAR/index.js +0 -95
- package/dist/cjs/generators/AURELIA/index.js +0 -41
- package/dist/cjs/generators/EMBER/index.js +0 -20
- package/dist/cjs/generators/HTML/index.js +0 -15
- package/dist/cjs/generators/MARIONETTE/index.js +0 -15
- package/dist/cjs/generators/MARKO/index.js +0 -15
- package/dist/cjs/generators/MITHRIL/index.js +0 -15
- package/dist/cjs/generators/PREACT/index.js +0 -15
- package/dist/cjs/generators/RAX/index.js +0 -28
- package/dist/cjs/generators/REACT/index.js +0 -15
- package/dist/cjs/generators/REACT_NATIVE/index.js +0 -55
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/addons.js +0 -7
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/index.js +0 -31
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/rn-addons.js +0 -5
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Button/Button.stories.js +0 -23
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Button/index.js +0 -32
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/CenterView/index.js +0 -31
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/CenterView/style.js +0 -15
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Welcome/Welcome.stories.js +0 -15
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Welcome/index.js +0 -68
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/index.js +0 -5
- package/dist/cjs/generators/REACT_SCRIPTS/index.js +0 -68
- package/dist/cjs/generators/RIOT/index.js +0 -17
- package/dist/cjs/generators/SERVER/index.js +0 -20
- package/dist/cjs/generators/SERVER/template-csf/.storybook/preview.js +0 -12
- package/dist/cjs/generators/SFC_VUE/index.js +0 -15
- package/dist/cjs/generators/SVELTE/index.js +0 -59
- package/dist/cjs/generators/VUE/index.js +0 -17
- package/dist/cjs/generators/VUE3/index.js +0 -17
- package/dist/cjs/generators/WEB-COMPONENTS/index.js +0 -17
- package/dist/cjs/generators/WEBPACK_REACT/index.js +0 -15
- package/dist/cjs/generators/baseGenerator.js +0 -208
- package/dist/cjs/generators/configure.js +0 -83
- package/dist/cjs/generators/types.js +0 -5
- package/dist/cjs/helpers.js +0 -258
- package/dist/cjs/initiate.js +0 -295
- package/dist/cjs/js-package-manager/JsPackageManager.js +0 -358
- package/dist/cjs/js-package-manager/JsPackageManagerFactory.js +0 -71
- package/dist/cjs/js-package-manager/NPMProxy.js +0 -112
- package/dist/cjs/js-package-manager/PackageJson.js +0 -5
- package/dist/cjs/js-package-manager/Yarn1Proxy.js +0 -72
- package/dist/cjs/js-package-manager/Yarn2Proxy.js +0 -68
- package/dist/cjs/js-package-manager/index.js +0 -44
- package/dist/cjs/link.js +0 -99
- package/dist/cjs/migrate.js +0 -33
- package/dist/cjs/project_types.js +0 -263
- package/dist/cjs/repro-generators/configs.js +0 -201
- package/dist/cjs/repro-generators/scripts.js +0 -338
- package/dist/cjs/repro-next.js +0 -182
- package/dist/cjs/repro-templates.js +0 -103
- package/dist/cjs/repro.js +0 -194
- package/dist/cjs/typings.d.ts +0 -3
- package/dist/cjs/upgrade.js +0 -170
- package/dist/cjs/utils.js +0 -22
- package/dist/cjs/versions.js +0 -89
- package/dist/cjs/warn.js +0 -32
- package/dist/cjs/window.d.js +0 -5
- package/dist/esm/NpmOptions.js +0 -0
- package/dist/esm/add.js +0 -121
- package/dist/esm/automigrate/fixes/angular12.js +0 -58
- package/dist/esm/automigrate/fixes/builder-vite.js +0 -103
- package/dist/esm/automigrate/fixes/cra5.js +0 -66
- package/dist/esm/automigrate/fixes/eslint-plugin.js +0 -111
- package/dist/esm/automigrate/fixes/index.js +0 -12
- package/dist/esm/automigrate/fixes/mainjsFramework.js +0 -76
- package/dist/esm/automigrate/fixes/new-frameworks.js +0 -234
- package/dist/esm/automigrate/fixes/npm7.js +0 -45
- package/dist/esm/automigrate/fixes/sb-scripts.js +0 -119
- package/dist/esm/automigrate/fixes/vue3.js +0 -60
- package/dist/esm/automigrate/fixes/webpack5.js +0 -131
- package/dist/esm/automigrate/helpers/getEslintInfo.js +0 -14
- package/dist/esm/automigrate/index.js +0 -80
- package/dist/esm/automigrate/types.js +0 -1
- package/dist/esm/babel-config.js +0 -42
- package/dist/esm/build.js +0 -22
- package/dist/esm/detect-nextjs.js +0 -24
- package/dist/esm/detect-webpack.js +0 -30
- package/dist/esm/detect.js +0 -152
- package/dist/esm/dev.js +0 -47
- package/dist/esm/dirs.js +0 -4
- package/dist/esm/extract.js +0 -77
- package/dist/esm/generate.js +0 -162
- package/dist/esm/generators/ANGULAR/angular-helpers.js +0 -82
- package/dist/esm/generators/ANGULAR/index.js +0 -76
- package/dist/esm/generators/ANGULAR/template-csf/.storybook/tsconfig.json +0 -10
- package/dist/esm/generators/ANGULAR/template-csf/.storybook/typings.d.ts +0 -4
- package/dist/esm/generators/AURELIA/index.js +0 -32
- package/dist/esm/generators/AURELIA/template-csf/.storybook/tsconfig.json +0 -9
- package/dist/esm/generators/AURELIA/template-csf/.storybook/typings.d.ts +0 -4
- package/dist/esm/generators/EMBER/index.js +0 -12
- package/dist/esm/generators/HTML/index.js +0 -7
- package/dist/esm/generators/MARIONETTE/index.js +0 -7
- package/dist/esm/generators/MARKO/index.js +0 -7
- package/dist/esm/generators/MITHRIL/index.js +0 -7
- package/dist/esm/generators/PREACT/index.js +0 -7
- package/dist/esm/generators/RAX/index.js +0 -20
- package/dist/esm/generators/REACT/index.js +0 -7
- package/dist/esm/generators/REACT_NATIVE/index.js +0 -42
- package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/Button/Button.stories.js +0 -12
- package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/Welcome/index.js +0 -54
- package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/index.js +0 -2
- package/dist/esm/generators/REACT_SCRIPTS/index.js +0 -49
- package/dist/esm/generators/RIOT/index.js +0 -9
- package/dist/esm/generators/SERVER/index.js +0 -11
- package/dist/esm/generators/SERVER/template-csf/.storybook/preview.js +0 -5
- package/dist/esm/generators/SFC_VUE/index.js +0 -7
- package/dist/esm/generators/SVELTE/index.js +0 -44
- package/dist/esm/generators/VUE/index.js +0 -9
- package/dist/esm/generators/VUE3/index.js +0 -9
- package/dist/esm/generators/WEB-COMPONENTS/index.js +0 -9
- package/dist/esm/generators/WEBPACK_REACT/index.js +0 -7
- package/dist/esm/generators/baseGenerator.js +0 -191
- package/dist/esm/generators/configure.js +0 -69
- package/dist/esm/generators/types.js +0 -1
- package/dist/esm/helpers.js +0 -207
- package/dist/esm/initiate.js +0 -254
- package/dist/esm/js-package-manager/JsPackageManager.js +0 -334
- package/dist/esm/js-package-manager/JsPackageManagerFactory.js +0 -57
- package/dist/esm/js-package-manager/NPMProxy.js +0 -99
- package/dist/esm/js-package-manager/PackageJson.js +0 -1
- package/dist/esm/js-package-manager/Yarn1Proxy.js +0 -62
- package/dist/esm/js-package-manager/Yarn2Proxy.js +0 -58
- package/dist/esm/js-package-manager/index.js +0 -3
- package/dist/esm/link.js +0 -69
- package/dist/esm/migrate.js +0 -25
- package/dist/esm/project_types.js +0 -248
- package/dist/esm/repro-generators/configs.js +0 -174
- package/dist/esm/repro-generators/scripts.js +0 -307
- package/dist/esm/repro-next.js +0 -163
- package/dist/esm/repro-templates.js +0 -94
- package/dist/esm/repro.js +0 -170
- package/dist/esm/typings.d.ts +0 -3
- package/dist/esm/upgrade.js +0 -132
- package/dist/esm/utils.js +0 -13
- package/dist/esm/versions.js +0 -82
- package/dist/esm/warn.js +0 -16
- package/dist/esm/window.d.js +0 -1
- package/dist/types/NpmOptions.d.ts +0 -4
- package/dist/types/add.d.ts +0 -10
- package/dist/types/automigrate/fixes/angular12.d.ts +0 -15
- package/dist/types/automigrate/fixes/builder-vite.d.ts +0 -19
- package/dist/types/automigrate/fixes/cra5.d.ts +0 -15
- package/dist/types/automigrate/fixes/eslint-plugin.d.ts +0 -15
- package/dist/types/automigrate/fixes/index.d.ts +0 -3
- package/dist/types/automigrate/fixes/mainjsFramework.d.ts +0 -8
- package/dist/types/automigrate/fixes/new-frameworks.d.ts +0 -31
- package/dist/types/automigrate/fixes/npm7.d.ts +0 -9
- package/dist/types/automigrate/fixes/sb-scripts.d.ts +0 -23
- package/dist/types/automigrate/fixes/vue3.d.ts +0 -15
- package/dist/types/automigrate/fixes/webpack5.d.ts +0 -26
- package/dist/types/automigrate/helpers/getEslintInfo.d.ts +0 -2
- package/dist/types/automigrate/index.d.ts +0 -7
- package/dist/types/automigrate/types.d.ts +0 -15
- package/dist/types/babel-config.d.ts +0 -4
- package/dist/types/build.d.ts +0 -1
- package/dist/types/detect-nextjs.d.ts +0 -2
- package/dist/types/detect-webpack.d.ts +0 -2
- package/dist/types/detect.d.ts +0 -16
- package/dist/types/dev.d.ts +0 -1
- package/dist/types/dirs.d.ts +0 -1
- package/dist/types/extract.d.ts +0 -1
- package/dist/types/generate.d.ts +0 -1
- package/dist/types/generators/ANGULAR/angular-helpers.d.ts +0 -6
- package/dist/types/generators/ANGULAR/index.d.ts +0 -3
- package/dist/types/generators/AURELIA/index.d.ts +0 -3
- package/dist/types/generators/EMBER/index.d.ts +0 -3
- package/dist/types/generators/HTML/index.d.ts +0 -3
- package/dist/types/generators/MARIONETTE/index.d.ts +0 -3
- package/dist/types/generators/MARKO/index.d.ts +0 -3
- package/dist/types/generators/MITHRIL/index.d.ts +0 -3
- package/dist/types/generators/PREACT/index.d.ts +0 -3
- package/dist/types/generators/RAX/index.d.ts +0 -3
- package/dist/types/generators/REACT/index.d.ts +0 -3
- package/dist/types/generators/REACT_NATIVE/index.d.ts +0 -4
- package/dist/types/generators/REACT_SCRIPTS/index.d.ts +0 -3
- package/dist/types/generators/RIOT/index.d.ts +0 -3
- package/dist/types/generators/SERVER/index.d.ts +0 -3
- package/dist/types/generators/SFC_VUE/index.d.ts +0 -3
- package/dist/types/generators/SVELTE/index.d.ts +0 -3
- package/dist/types/generators/VUE/index.d.ts +0 -3
- package/dist/types/generators/VUE3/index.d.ts +0 -3
- package/dist/types/generators/WEB-COMPONENTS/index.d.ts +0 -3
- package/dist/types/generators/WEBPACK_REACT/index.d.ts +0 -3
- package/dist/types/generators/baseGenerator.d.ts +0 -5
- package/dist/types/generators/configure.d.ts +0 -19
- package/dist/types/generators/types.d.ts +0 -38
- package/dist/types/helpers.d.ts +0 -26
- package/dist/types/initiate.d.ts +0 -3
- package/dist/types/js-package-manager/JsPackageManager.d.ts +0 -118
- package/dist/types/js-package-manager/JsPackageManagerFactory.d.ts +0 -4
- package/dist/types/js-package-manager/NPMProxy.d.ts +0 -23
- package/dist/types/js-package-manager/PackageJson.d.ts +0 -4
- package/dist/types/js-package-manager/Yarn1Proxy.d.ts +0 -17
- package/dist/types/js-package-manager/Yarn2Proxy.d.ts +0 -17
- package/dist/types/js-package-manager/index.d.ts +0 -3
- package/dist/types/link.d.ts +0 -7
- package/dist/types/migrate.d.ts +0 -1
- package/dist/types/project_types.d.ts +0 -64
- package/dist/types/repro-generators/configs.d.ts +0 -44
- package/dist/types/repro-generators/scripts.d.ts +0 -44
- package/dist/types/repro-next.d.ts +0 -8
- package/dist/types/repro-templates.d.ts +0 -73
- package/dist/types/repro.d.ts +0 -14
- package/dist/types/upgrade.d.ts +0 -19
- package/dist/types/utils.d.ts +0 -2
- package/dist/types/versions.d.ts +0 -82
- package/dist/types/warn.d.ts +0 -5
package/dist/cjs/repro.js
DELETED
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.repro = void 0;
|
|
7
|
-
|
|
8
|
-
var _prompts = _interopRequireDefault(require("prompts"));
|
|
9
|
-
|
|
10
|
-
var _fs = _interopRequireDefault(require("fs"));
|
|
11
|
-
|
|
12
|
-
var _path = _interopRequireDefault(require("path"));
|
|
13
|
-
|
|
14
|
-
var _chalk = _interopRequireDefault(require("chalk"));
|
|
15
|
-
|
|
16
|
-
var _boxen = _interopRequireDefault(require("boxen"));
|
|
17
|
-
|
|
18
|
-
var _tsDedent = require("ts-dedent");
|
|
19
|
-
|
|
20
|
-
var _scripts = require("./repro-generators/scripts");
|
|
21
|
-
|
|
22
|
-
var configs = _interopRequireWildcard(require("./repro-generators/configs"));
|
|
23
|
-
|
|
24
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
-
|
|
26
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
-
|
|
28
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
-
|
|
30
|
-
const logger = console;
|
|
31
|
-
const TEMPLATES = configs; // Create a curate list of template because some of them only make sense in E2E
|
|
32
|
-
// context, fon instance react_in_yarn_workspace
|
|
33
|
-
|
|
34
|
-
const CURATED_TEMPLATES = Object.fromEntries(Object.entries(configs).filter(entry => entry[0] !== 'react_in_yarn_workspace'));
|
|
35
|
-
const RENDERERS = Object.values(CURATED_TEMPLATES).reduce((acc, cur) => {
|
|
36
|
-
acc[cur.renderer] = [...(acc[cur.renderer] || []), cur];
|
|
37
|
-
return acc;
|
|
38
|
-
}, {});
|
|
39
|
-
|
|
40
|
-
const repro = async ({
|
|
41
|
-
outputDirectory,
|
|
42
|
-
list,
|
|
43
|
-
template,
|
|
44
|
-
renderer,
|
|
45
|
-
generator,
|
|
46
|
-
e2e,
|
|
47
|
-
local,
|
|
48
|
-
registry,
|
|
49
|
-
pnp
|
|
50
|
-
}) => {
|
|
51
|
-
logger.info((0, _boxen.default)((0, _tsDedent.dedent)`
|
|
52
|
-
🤗 Welcome to ${_chalk.default.yellow('sb repro')}! 🤗
|
|
53
|
-
|
|
54
|
-
Create a ${_chalk.default.green('new project')} to minimally reproduce Storybook issues.
|
|
55
|
-
|
|
56
|
-
1. select an environment that most closely matches your project setup.
|
|
57
|
-
2. select a location for the reproduction, outside of your project.
|
|
58
|
-
|
|
59
|
-
After the reproduction is ready, we'll guide you through the next steps.
|
|
60
|
-
`.trim(), {
|
|
61
|
-
borderStyle: 'round',
|
|
62
|
-
padding: 1,
|
|
63
|
-
borderColor: '#F1618C'
|
|
64
|
-
}));
|
|
65
|
-
|
|
66
|
-
if (list) {
|
|
67
|
-
logger.info('🌈 Available templates');
|
|
68
|
-
Object.entries(RENDERERS).forEach(([r, templates]) => {
|
|
69
|
-
logger.info(r);
|
|
70
|
-
templates.forEach(t => logger.info(`- ${t.name}`));
|
|
71
|
-
|
|
72
|
-
if (r === 'other') {
|
|
73
|
-
logger.info('- blank');
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
let selectedTemplate = template;
|
|
80
|
-
let selectedRenderer = renderer;
|
|
81
|
-
|
|
82
|
-
if (!selectedTemplate && !generator) {
|
|
83
|
-
if (!selectedRenderer) {
|
|
84
|
-
const {
|
|
85
|
-
renderer: rendererOpt
|
|
86
|
-
} = await (0, _prompts.default)({
|
|
87
|
-
type: 'select',
|
|
88
|
-
message: '🌈 Select the repro renderer',
|
|
89
|
-
name: 'renderer',
|
|
90
|
-
choices: Object.keys(RENDERERS).map(f => ({
|
|
91
|
-
title: f,
|
|
92
|
-
value: f
|
|
93
|
-
}))
|
|
94
|
-
});
|
|
95
|
-
selectedRenderer = rendererOpt;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
if (!selectedRenderer) {
|
|
99
|
-
throw new Error('🚨 Repro: please select a renderer!');
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
selectedTemplate = (await (0, _prompts.default)({
|
|
103
|
-
type: 'select',
|
|
104
|
-
message: '📝 Select the repro base template',
|
|
105
|
-
name: 'template',
|
|
106
|
-
choices: RENDERERS[selectedRenderer].map(f => ({
|
|
107
|
-
title: f.name,
|
|
108
|
-
value: f.name
|
|
109
|
-
}))
|
|
110
|
-
})).template;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
const selectedConfig = !generator ? TEMPLATES[selectedTemplate] : {
|
|
114
|
-
name: 'custom',
|
|
115
|
-
version: 'custom',
|
|
116
|
-
generator
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
if (!selectedConfig) {
|
|
120
|
-
throw new Error('🚨 Repro: please specify a valid template type');
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
let selectedDirectory = outputDirectory;
|
|
124
|
-
|
|
125
|
-
if (!selectedDirectory) {
|
|
126
|
-
const {
|
|
127
|
-
directory
|
|
128
|
-
} = await (0, _prompts.default)({
|
|
129
|
-
type: 'text',
|
|
130
|
-
message: 'Enter the output directory',
|
|
131
|
-
name: 'directory',
|
|
132
|
-
initial: selectedConfig.name,
|
|
133
|
-
validate: directoryName => _fs.default.existsSync(directoryName) ? `${directoryName} already exists. Please choose another name.` : true
|
|
134
|
-
});
|
|
135
|
-
selectedDirectory = directory;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
try {
|
|
139
|
-
const cwd = _path.default.isAbsolute(selectedDirectory) ? selectedDirectory : _path.default.join(process.cwd(), selectedDirectory);
|
|
140
|
-
logger.info(`🏃 Running ${selectedTemplate} into ${cwd}`);
|
|
141
|
-
await (0, _scripts.createAndInit)(cwd, selectedConfig, {
|
|
142
|
-
registry,
|
|
143
|
-
e2e: !!e2e,
|
|
144
|
-
pnp: !!pnp,
|
|
145
|
-
local: !!local
|
|
146
|
-
});
|
|
147
|
-
|
|
148
|
-
if (!e2e) {
|
|
149
|
-
await initGitRepo(cwd);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
logger.info((0, _boxen.default)((0, _tsDedent.dedent)`
|
|
153
|
-
🎉 Your Storybook reproduction project is ready to use! 🎉
|
|
154
|
-
|
|
155
|
-
${_chalk.default.yellow(`cd ${selectedDirectory}`)}
|
|
156
|
-
${_chalk.default.yellow(`yarn storybook`)}
|
|
157
|
-
|
|
158
|
-
Once you've recreated the problem you're experiencing, please:
|
|
159
|
-
|
|
160
|
-
1. Document any additional steps in ${_chalk.default.cyan('README.md')}
|
|
161
|
-
2. Publish the repository to github
|
|
162
|
-
3. Link to the repro repository in your issue
|
|
163
|
-
|
|
164
|
-
Having a clean repro helps us solve your issue faster! 🙏
|
|
165
|
-
`.trim(), {
|
|
166
|
-
borderStyle: 'round',
|
|
167
|
-
padding: 1,
|
|
168
|
-
borderColor: '#F1618C'
|
|
169
|
-
}));
|
|
170
|
-
} catch (error) {
|
|
171
|
-
logger.error('🚨 Failed to create repro');
|
|
172
|
-
throw error;
|
|
173
|
-
}
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
exports.repro = repro;
|
|
177
|
-
|
|
178
|
-
const initGitRepo = async cwd => {
|
|
179
|
-
await (0, _scripts.exec)('git init', {
|
|
180
|
-
cwd
|
|
181
|
-
});
|
|
182
|
-
await (0, _scripts.exec)('echo "node_modules" >> .gitignore', {
|
|
183
|
-
cwd
|
|
184
|
-
});
|
|
185
|
-
await (0, _scripts.exec)('git add --all', {
|
|
186
|
-
cwd
|
|
187
|
-
});
|
|
188
|
-
await (0, _scripts.exec)('git commit -am "added storybook"', {
|
|
189
|
-
cwd
|
|
190
|
-
});
|
|
191
|
-
await (0, _scripts.exec)('git tag repro-base', {
|
|
192
|
-
cwd
|
|
193
|
-
});
|
|
194
|
-
};
|
package/dist/cjs/typings.d.ts
DELETED
package/dist/cjs/upgrade.js
DELETED
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.upgrade = exports.isCorePackage = exports.getStorybookVersion = exports.checkVersionConsistency = exports.addExtraFlags = void 0;
|
|
7
|
-
|
|
8
|
-
var _crossSpawn = require("cross-spawn");
|
|
9
|
-
|
|
10
|
-
var _telemetry = require("@storybook/telemetry");
|
|
11
|
-
|
|
12
|
-
var _semver = _interopRequireDefault(require("@storybook/semver"));
|
|
13
|
-
|
|
14
|
-
var _nodeLogger = require("@storybook/node-logger");
|
|
15
|
-
|
|
16
|
-
var _jsPackageManager = require("./js-package-manager");
|
|
17
|
-
|
|
18
|
-
var _helpers = require("./helpers");
|
|
19
|
-
|
|
20
|
-
var _automigrate = require("./automigrate");
|
|
21
|
-
|
|
22
|
-
const _excluded = ["prerelease", "skipCheck", "useNpm", "dryRun", "yes"];
|
|
23
|
-
|
|
24
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
-
|
|
26
|
-
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; }
|
|
27
|
-
|
|
28
|
-
const versionRegex = /(@storybook\/[^@]+)@(\S+)/;
|
|
29
|
-
|
|
30
|
-
const getStorybookVersion = line => {
|
|
31
|
-
if (line.startsWith('npm ')) return null;
|
|
32
|
-
const match = versionRegex.exec(line);
|
|
33
|
-
if (!match || !_semver.default.clean(match[2])) return null;
|
|
34
|
-
return {
|
|
35
|
-
package: match[1],
|
|
36
|
-
version: match[2]
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
exports.getStorybookVersion = getStorybookVersion;
|
|
41
|
-
const excludeList = ['@storybook/linter-config', '@storybook/design-system', '@storybook/ember-cli-storybook', '@storybook/semver', '@storybook/eslint-config-storybook', '@storybook/bench', '@storybook/addon-bench', '@storybook/addon-console', '@storybook/csf', '@storybook/storybook-deployer', '@storybook/addon-postcss', '@storybook/react-docgen-typescript-plugin', '@storybook/babel-plugin-require-context-hook', '@storybook/builder-vite', '@storybook/mdx1-csf', '@storybook/mdx2-csf', '@storybook/expect', '@storybook/jest', '@storybook/test-runner', '@storybook/testing-library'];
|
|
42
|
-
|
|
43
|
-
const isCorePackage = pkg => pkg.startsWith('@storybook/') && !pkg.startsWith('@storybook/preset-') && !excludeList.includes(pkg);
|
|
44
|
-
|
|
45
|
-
exports.isCorePackage = isCorePackage;
|
|
46
|
-
const deprecatedPackages = [{
|
|
47
|
-
minVersion: '6.0.0-alpha.0',
|
|
48
|
-
url: 'https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#60-deprecations',
|
|
49
|
-
deprecations: ['@storybook/addon-notes', '@storybook/addon-info', '@storybook/addon-contexts', '@storybook/addon-options', '@storybook/addon-centered']
|
|
50
|
-
}];
|
|
51
|
-
|
|
52
|
-
const formatPackage = pkg => `${pkg.package}@${pkg.version}`;
|
|
53
|
-
|
|
54
|
-
const warnPackages = pkgs => pkgs.forEach(pkg => _nodeLogger.logger.warn(`- ${formatPackage(pkg)}`));
|
|
55
|
-
|
|
56
|
-
const checkVersionConsistency = () => {
|
|
57
|
-
const lines = (0, _crossSpawn.sync)('npm', ['ls'], {
|
|
58
|
-
stdio: 'pipe'
|
|
59
|
-
}).output.toString().split('\n');
|
|
60
|
-
const storybookPackages = lines.map(getStorybookVersion).filter(Boolean).filter(pkg => isCorePackage(pkg.package));
|
|
61
|
-
|
|
62
|
-
if (!storybookPackages.length) {
|
|
63
|
-
_nodeLogger.logger.warn('No storybook core packages found.');
|
|
64
|
-
|
|
65
|
-
_nodeLogger.logger.warn(`'npm ls | grep storybook' can show if multiple versions are installed.`);
|
|
66
|
-
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
storybookPackages.sort((a, b) => _semver.default.rcompare(a.version, b.version));
|
|
71
|
-
const latestVersion = storybookPackages[0].version;
|
|
72
|
-
const outdated = storybookPackages.filter(pkg => pkg.version !== latestVersion);
|
|
73
|
-
|
|
74
|
-
if (outdated.length > 0) {
|
|
75
|
-
_nodeLogger.logger.warn(`Found ${outdated.length} outdated packages (relative to '${formatPackage(storybookPackages[0])}')`);
|
|
76
|
-
|
|
77
|
-
_nodeLogger.logger.warn('Please make sure your packages are updated to ensure a consistent experience.');
|
|
78
|
-
|
|
79
|
-
warnPackages(outdated);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
deprecatedPackages.forEach(({
|
|
83
|
-
minVersion,
|
|
84
|
-
url,
|
|
85
|
-
deprecations
|
|
86
|
-
}) => {
|
|
87
|
-
if (_semver.default.gte(latestVersion, minVersion)) {
|
|
88
|
-
const deprecated = storybookPackages.filter(pkg => deprecations.includes(pkg.package));
|
|
89
|
-
|
|
90
|
-
if (deprecated.length > 0) {
|
|
91
|
-
_nodeLogger.logger.warn(`Found ${deprecated.length} deprecated packages since ${minVersion}`);
|
|
92
|
-
|
|
93
|
-
_nodeLogger.logger.warn(`See ${url}`);
|
|
94
|
-
|
|
95
|
-
warnPackages(deprecated);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
exports.checkVersionConsistency = checkVersionConsistency;
|
|
102
|
-
const EXTRA_FLAGS = {
|
|
103
|
-
'react-scripts@<5': ['--reject', '/preset-create-react-app/']
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
const addExtraFlags = (extraFlags, flags, {
|
|
107
|
-
dependencies,
|
|
108
|
-
devDependencies
|
|
109
|
-
}) => {
|
|
110
|
-
return Object.entries(extraFlags).reduce((acc, entry) => {
|
|
111
|
-
const [pattern, extra] = entry;
|
|
112
|
-
const [pkg, specifier] = (0, _jsPackageManager.getPackageDetails)(pattern);
|
|
113
|
-
const pkgVersion = dependencies[pkg] || devDependencies[pkg];
|
|
114
|
-
|
|
115
|
-
if (pkgVersion && _semver.default.satisfies(_semver.default.coerce(pkgVersion), specifier)) {
|
|
116
|
-
return [...acc, ...extra];
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
return acc;
|
|
120
|
-
}, [...flags]);
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
exports.addExtraFlags = addExtraFlags;
|
|
124
|
-
|
|
125
|
-
const upgrade = async _ref => {
|
|
126
|
-
let {
|
|
127
|
-
prerelease,
|
|
128
|
-
skipCheck,
|
|
129
|
-
useNpm,
|
|
130
|
-
dryRun,
|
|
131
|
-
yes
|
|
132
|
-
} = _ref,
|
|
133
|
-
options = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
134
|
-
|
|
135
|
-
const packageManager = _jsPackageManager.JsPackageManagerFactory.getPackageManager(useNpm);
|
|
136
|
-
|
|
137
|
-
(0, _helpers.commandLog)(`Checking for latest versions of '@storybook/*' packages`);
|
|
138
|
-
|
|
139
|
-
if (!options.disableTelemetry) {
|
|
140
|
-
(0, _telemetry.telemetry)('upgrade', {
|
|
141
|
-
prerelease
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
let flags = [];
|
|
146
|
-
if (!dryRun) flags.push('--upgrade');
|
|
147
|
-
flags.push('--target');
|
|
148
|
-
flags.push(prerelease ? 'greatest' : 'latest');
|
|
149
|
-
flags = addExtraFlags(EXTRA_FLAGS, flags, packageManager.retrievePackageJson());
|
|
150
|
-
const check = (0, _crossSpawn.sync)('npx', ['npm-check-updates@latest', '/storybook/', ...flags], {
|
|
151
|
-
stdio: 'pipe'
|
|
152
|
-
}).output.toString();
|
|
153
|
-
|
|
154
|
-
_nodeLogger.logger.info(check);
|
|
155
|
-
|
|
156
|
-
if (!dryRun) {
|
|
157
|
-
(0, _helpers.commandLog)(`Installing upgrades`);
|
|
158
|
-
packageManager.installDependencies();
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
if (!skipCheck) {
|
|
162
|
-
checkVersionConsistency();
|
|
163
|
-
await (0, _automigrate.automigrate)({
|
|
164
|
-
dryRun,
|
|
165
|
-
yes
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
exports.upgrade = upgrade;
|
package/dist/cjs/utils.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getEnvConfig = getEnvConfig;
|
|
7
|
-
exports.parseList = parseList;
|
|
8
|
-
|
|
9
|
-
function parseList(str) {
|
|
10
|
-
return str.split(',').map(item => item.trim()).filter(item => item.length > 0);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function getEnvConfig(program, configEnv) {
|
|
14
|
-
Object.keys(configEnv).forEach(fieldName => {
|
|
15
|
-
const envVarName = configEnv[fieldName];
|
|
16
|
-
const envVarValue = process.env[envVarName];
|
|
17
|
-
|
|
18
|
-
if (envVarValue) {
|
|
19
|
-
program[fieldName] = envVarValue; // eslint-disable-line
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
}
|
package/dist/cjs/versions.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
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': '7.0.0-alpha.31',
|
|
10
|
-
'@storybook/addon-actions': '7.0.0-alpha.31',
|
|
11
|
-
'@storybook/addon-backgrounds': '7.0.0-alpha.31',
|
|
12
|
-
'@storybook/addon-controls': '7.0.0-alpha.31',
|
|
13
|
-
'@storybook/addon-docs': '7.0.0-alpha.31',
|
|
14
|
-
'@storybook/addon-essentials': '7.0.0-alpha.31',
|
|
15
|
-
'@storybook/addon-highlight': '7.0.0-alpha.31',
|
|
16
|
-
'@storybook/addon-interactions': '7.0.0-alpha.31',
|
|
17
|
-
'@storybook/addon-jest': '7.0.0-alpha.31',
|
|
18
|
-
'@storybook/addon-links': '7.0.0-alpha.31',
|
|
19
|
-
'@storybook/addon-measure': '7.0.0-alpha.31',
|
|
20
|
-
'@storybook/addon-outline': '7.0.0-alpha.31',
|
|
21
|
-
'@storybook/addon-storyshots': '7.0.0-alpha.31',
|
|
22
|
-
'@storybook/addon-storyshots-puppeteer': '7.0.0-alpha.31',
|
|
23
|
-
'@storybook/addon-storysource': '7.0.0-alpha.31',
|
|
24
|
-
'@storybook/addon-toolbars': '7.0.0-alpha.31',
|
|
25
|
-
'@storybook/addon-viewport': '7.0.0-alpha.31',
|
|
26
|
-
'@storybook/addons': '7.0.0-alpha.31',
|
|
27
|
-
'@storybook/angular': '7.0.0-alpha.31',
|
|
28
|
-
'@storybook/api': '7.0.0-alpha.31',
|
|
29
|
-
'@storybook/blocks': '7.0.0-alpha.31',
|
|
30
|
-
'@storybook/builder-manager': '7.0.0-alpha.31',
|
|
31
|
-
'@storybook/builder-vite': '7.0.0-alpha.31',
|
|
32
|
-
'@storybook/builder-webpack5': '7.0.0-alpha.31',
|
|
33
|
-
'@storybook/channel-postmessage': '7.0.0-alpha.31',
|
|
34
|
-
'@storybook/channel-websocket': '7.0.0-alpha.31',
|
|
35
|
-
'@storybook/channels': '7.0.0-alpha.31',
|
|
36
|
-
'@storybook/cli': '7.0.0-alpha.31',
|
|
37
|
-
'@storybook/client-api': '7.0.0-alpha.31',
|
|
38
|
-
'@storybook/client-logger': '7.0.0-alpha.31',
|
|
39
|
-
'@storybook/codemod': '7.0.0-alpha.31',
|
|
40
|
-
'@storybook/components': '7.0.0-alpha.31',
|
|
41
|
-
'@storybook/core-client': '7.0.0-alpha.31',
|
|
42
|
-
'@storybook/core-common': '7.0.0-alpha.31',
|
|
43
|
-
'@storybook/core-events': '7.0.0-alpha.31',
|
|
44
|
-
'@storybook/core-server': '7.0.0-alpha.31',
|
|
45
|
-
'@storybook/core-webpack': '7.0.0-alpha.31',
|
|
46
|
-
'@storybook/csf-tools': '7.0.0-alpha.31',
|
|
47
|
-
'@storybook/docs-tools': '7.0.0-alpha.31',
|
|
48
|
-
'@storybook/ember': '7.0.0-alpha.31',
|
|
49
|
-
'@storybook/html': '7.0.0-alpha.31',
|
|
50
|
-
'@storybook/html-webpack5': '7.0.0-alpha.31',
|
|
51
|
-
'@storybook/instrumenter': '7.0.0-alpha.31',
|
|
52
|
-
'@storybook/node-logger': '7.0.0-alpha.31',
|
|
53
|
-
'@storybook/postinstall': '7.0.0-alpha.31',
|
|
54
|
-
'@storybook/preact': '7.0.0-alpha.31',
|
|
55
|
-
'@storybook/preact-webpack5': '7.0.0-alpha.31',
|
|
56
|
-
'@storybook/preset-html-webpack': '7.0.0-alpha.31',
|
|
57
|
-
'@storybook/preset-preact-webpack': '7.0.0-alpha.31',
|
|
58
|
-
'@storybook/preset-react-webpack': '7.0.0-alpha.31',
|
|
59
|
-
'@storybook/preset-server-webpack': '7.0.0-alpha.31',
|
|
60
|
-
'@storybook/preset-svelte-webpack': '7.0.0-alpha.31',
|
|
61
|
-
'@storybook/preset-vue-webpack': '7.0.0-alpha.31',
|
|
62
|
-
'@storybook/preset-vue3-webpack': '7.0.0-alpha.31',
|
|
63
|
-
'@storybook/preset-web-components-webpack': '7.0.0-alpha.31',
|
|
64
|
-
'@storybook/preview-web': '7.0.0-alpha.31',
|
|
65
|
-
'@storybook/react': '7.0.0-alpha.31',
|
|
66
|
-
'@storybook/react-vite': '7.0.0-alpha.31',
|
|
67
|
-
'@storybook/react-webpack5': '7.0.0-alpha.31',
|
|
68
|
-
'@storybook/router': '7.0.0-alpha.31',
|
|
69
|
-
'@storybook/server': '7.0.0-alpha.31',
|
|
70
|
-
'@storybook/server-webpack5': '7.0.0-alpha.31',
|
|
71
|
-
'@storybook/source-loader': '7.0.0-alpha.31',
|
|
72
|
-
'@storybook/store': '7.0.0-alpha.31',
|
|
73
|
-
'@storybook/svelte': '7.0.0-alpha.31',
|
|
74
|
-
'@storybook/svelte-vite': '7.0.0-alpha.31',
|
|
75
|
-
'@storybook/svelte-webpack5': '7.0.0-alpha.31',
|
|
76
|
-
'@storybook/telemetry': '7.0.0-alpha.31',
|
|
77
|
-
'@storybook/theming': '7.0.0-alpha.31',
|
|
78
|
-
'@storybook/ui': '7.0.0-alpha.31',
|
|
79
|
-
'@storybook/vue': '7.0.0-alpha.31',
|
|
80
|
-
'@storybook/vue-webpack5': '7.0.0-alpha.31',
|
|
81
|
-
'@storybook/vue3': '7.0.0-alpha.31',
|
|
82
|
-
'@storybook/vue3-vite': '7.0.0-alpha.31',
|
|
83
|
-
'@storybook/vue3-webpack5': '7.0.0-alpha.31',
|
|
84
|
-
'@storybook/web-components': '7.0.0-alpha.31',
|
|
85
|
-
'@storybook/web-components-webpack5': '7.0.0-alpha.31',
|
|
86
|
-
sb: '7.0.0-alpha.31',
|
|
87
|
-
storybook: '7.0.0-alpha.31'
|
|
88
|
-
};
|
|
89
|
-
exports.default = _default;
|
package/dist/cjs/warn.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.warn = void 0;
|
|
7
|
-
|
|
8
|
-
var _globby = _interopRequireDefault(require("globby"));
|
|
9
|
-
|
|
10
|
-
var _nodeLogger = require("@storybook/node-logger");
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
const warn = ({
|
|
15
|
-
hasTSDependency
|
|
16
|
-
}) => {
|
|
17
|
-
if (!hasTSDependency) {
|
|
18
|
-
const hasTSFiles = !!_globby.default.sync(['**/*.@(ts|tsx)', '!**/node_modules', '!**/*.d.ts']).length;
|
|
19
|
-
|
|
20
|
-
if (hasTSFiles) {
|
|
21
|
-
_nodeLogger.logger.warn('We have detected TypeScript files in your project directory, however TypeScript is not listed as a project dependency.');
|
|
22
|
-
|
|
23
|
-
_nodeLogger.logger.warn('Storybook will continue as though this is a JavaScript project.');
|
|
24
|
-
|
|
25
|
-
_nodeLogger.logger.line();
|
|
26
|
-
|
|
27
|
-
_nodeLogger.logger.info('For more information, see: https://storybook.js.org/docs/configurations/typescript-config/');
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
exports.warn = warn;
|
package/dist/cjs/window.d.js
DELETED
package/dist/esm/NpmOptions.js
DELETED
|
File without changes
|
package/dist/esm/add.js
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
import fs from 'fs';
|
|
3
|
-
import { sync as spawnSync } from 'cross-spawn';
|
|
4
|
-
import { commandLog } from './helpers';
|
|
5
|
-
import { JsPackageManagerFactory } from './js-package-manager';
|
|
6
|
-
const logger = console;
|
|
7
|
-
export const storybookAddonScope = '@storybook/addon-';
|
|
8
|
-
|
|
9
|
-
const isAddon = async (packageManager, name) => {
|
|
10
|
-
try {
|
|
11
|
-
await packageManager.latestVersion(name);
|
|
12
|
-
return true;
|
|
13
|
-
} catch (e) {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
const isStorybookAddon = async (packageManager, name) => isAddon(packageManager, `${storybookAddonScope}${name}`);
|
|
19
|
-
|
|
20
|
-
export const getPackageName = (addonName, isOfficialAddon) => isOfficialAddon ? storybookAddonScope + addonName : addonName;
|
|
21
|
-
export const getInstalledStorybookVersion = packageJson => packageJson.devDependencies[// This only considers the first occurrence.
|
|
22
|
-
Object.keys(packageJson.devDependencies).find(devDep => /@storybook/.test(devDep))] || false;
|
|
23
|
-
export const getPackageArg = (addonName, isOfficialAddon, packageJson) => {
|
|
24
|
-
if (isOfficialAddon) {
|
|
25
|
-
const addonNameNoTag = addonName.split('@')[0];
|
|
26
|
-
const installedStorybookVersion = getInstalledStorybookVersion(packageJson);
|
|
27
|
-
return installedStorybookVersion ? `${addonNameNoTag}@${getInstalledStorybookVersion(packageJson)}` : addonName;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return addonName;
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const installAddon = (packageManager, addonName, isOfficialAddon) => {
|
|
34
|
-
const prepareDone = commandLog(`Preparing to install the ${addonName} Storybook addon`);
|
|
35
|
-
prepareDone();
|
|
36
|
-
logger.log();
|
|
37
|
-
const packageArg = getPackageArg(addonName, isOfficialAddon, packageManager.retrievePackageJson());
|
|
38
|
-
logger.log();
|
|
39
|
-
const installDone = commandLog(`Installing the ${addonName} Storybook addon`);
|
|
40
|
-
|
|
41
|
-
try {
|
|
42
|
-
packageManager.addDependencies({}, [packageArg]);
|
|
43
|
-
} catch (e) {
|
|
44
|
-
installDone(`Something went wrong installing the addon: "${getPackageName(addonName, isOfficialAddon)}"`);
|
|
45
|
-
logger.log();
|
|
46
|
-
process.exit(1);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
installDone();
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export const addStorybookAddonToFile = (addonName, addonsFile, isOfficialAddon) => {
|
|
53
|
-
const addonNameNoTag = addonName.split('@')[0];
|
|
54
|
-
const alreadyRegistered = addonsFile.find(line => line.includes(`${addonNameNoTag}/manager`));
|
|
55
|
-
|
|
56
|
-
if (alreadyRegistered) {
|
|
57
|
-
return addonsFile;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const latestImportIndex = addonsFile.reduce((prev, curr, currIndex) => curr.startsWith('import') && curr.includes('register') ? currIndex : prev, -1);
|
|
61
|
-
return [...addonsFile.slice(0, latestImportIndex + 1), `import '${getPackageName(addonNameNoTag, isOfficialAddon)}/manager';`, ...addonsFile.slice(latestImportIndex + 1)];
|
|
62
|
-
};
|
|
63
|
-
const LEGACY_CONFIGS = ['addons', 'config', 'presets'];
|
|
64
|
-
|
|
65
|
-
const postinstallAddon = async (addonName, isOfficialAddon) => {
|
|
66
|
-
let skipMsg = null;
|
|
67
|
-
|
|
68
|
-
if (!isOfficialAddon) {
|
|
69
|
-
skipMsg = 'unofficial addon';
|
|
70
|
-
} else if (!fs.existsSync('.storybook')) {
|
|
71
|
-
skipMsg = 'no .storybook config';
|
|
72
|
-
} else {
|
|
73
|
-
skipMsg = 'no codmods found';
|
|
74
|
-
LEGACY_CONFIGS.forEach(config => {
|
|
75
|
-
try {
|
|
76
|
-
const codemod = require.resolve(`${getPackageName(addonName, isOfficialAddon)}/postinstall/${config}.js`);
|
|
77
|
-
|
|
78
|
-
commandLog(`Running postinstall script for ${addonName}`)();
|
|
79
|
-
let configFile = path.join('.storybook', `${config}.ts`);
|
|
80
|
-
|
|
81
|
-
if (!fs.existsSync(configFile)) {
|
|
82
|
-
configFile = path.join('.storybook', `${config}.js`);
|
|
83
|
-
|
|
84
|
-
if (!fs.existsSync(configFile)) {
|
|
85
|
-
fs.writeFileSync(configFile, '', 'utf8');
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
spawnSync('npx', ['jscodeshift', '-t', codemod, configFile], {
|
|
90
|
-
stdio: 'inherit'
|
|
91
|
-
});
|
|
92
|
-
skipMsg = null;
|
|
93
|
-
} catch (err) {// resolve failed, skip
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
if (skipMsg) {
|
|
99
|
-
commandLog(`Skipping postinstall for ${addonName}, ${skipMsg}`)();
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
export async function add(addonName, options) {
|
|
104
|
-
const packageManager = JsPackageManagerFactory.getPackageManager(options.useNpm);
|
|
105
|
-
const addonCheckDone = commandLog(`Verifying that ${addonName} is an addon`);
|
|
106
|
-
const isOfficialAddon = await isStorybookAddon(packageManager, addonName);
|
|
107
|
-
|
|
108
|
-
if (!isOfficialAddon) {
|
|
109
|
-
if (!(await isAddon(packageManager, addonName))) {
|
|
110
|
-
addonCheckDone(`The provided package was not a Storybook addon: ${addonName}.`);
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
addonCheckDone();
|
|
116
|
-
installAddon(packageManager, addonName, isOfficialAddon);
|
|
117
|
-
|
|
118
|
-
if (!options.skipPostinstall) {
|
|
119
|
-
await postinstallAddon(addonName, isOfficialAddon);
|
|
120
|
-
}
|
|
121
|
-
}
|