@storybook/cli 7.0.0-alpha.23 → 7.0.0-alpha.26

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.
@@ -35,8 +35,9 @@ const packagesMap = {
35
35
  webpack5: '@storybook/angular'
36
36
  },
37
37
  '@storybook/vue': {
38
- webpack5: '@storybook/vue-webpack5',
39
- vite: '@storybook/vue-vite'
38
+ webpack5: '@storybook/vue-webpack5' // TODO: bring this back if we ever want to support vue 2 + vite. Else delete this!
39
+ // vite: '@storybook/vue-vite',
40
+
40
41
  },
41
42
  '@storybook/vue3': {
42
43
  webpack5: '@storybook/vue3-webpack5',
@@ -44,6 +45,7 @@ const packagesMap = {
44
45
  },
45
46
  '@storybook/svelte': {
46
47
  webpack5: '@storybook/svelte-webpack5',
48
+ // TODO: bring this back once we have the svelte-vite package
47
49
  vite: '@storybook/svelte-vite'
48
50
  },
49
51
  '@storybook/web-components': {
@@ -135,16 +137,23 @@ const newFrameworks = {
135
137
  const builderInfo = {
136
138
  name: getBuilder(builder),
137
139
  options: main.getFieldValue(['core', 'builder', 'options']) || {}
138
- }; // TODO: once we have vite frameworks e.g. @storybook/react-vite, then we support it here
139
- // and remove ['storybook-builder-vite', '@storybook/builder-vite'] from deps
140
+ };
141
+ const newFrameworkPackage = packagesMap[frameworkPackage][builderInfo.name]; // not all frameworks support vite yet e.g. Svelte
140
142
 
141
- if (builderInfo.name === 'vite') {
143
+ if (!newFrameworkPackage) {
144
+ return null;
145
+ }
146
+
147
+ if (allDeps.vite && _semver.default.lt(_semver.default.coerce(allDeps.vite).version, '3.0.0')) {
148
+ logger.warn((0, _tsDedent.default)`
149
+ ❌ Detected Vite ${allDeps.vite}, which is unsupported in Storybook 7.0, so the ${_chalk.default.cyan('newFrameworks')} fix will be skipped.
150
+ Please upgrade vite to 3.0.0 or higher and rerun this automigration with "npx storybook@future automigrate".
151
+ `);
142
152
  return null;
143
153
  }
144
154
 
145
155
  const frameworkOptions = getFrameworkOptions(framework, main);
146
- const dependenciesToRemove = ['@storybook/builder-webpack5', '@storybook/manager-webpack5', '@storybook/builder-webpack4', '@storybook/manager-webpack4'].filter(dep => allDeps[dep]);
147
- const newFrameworkPackage = packagesMap[frameworkPackage][builderInfo.name];
156
+ const dependenciesToRemove = ['@storybook/builder-webpack5', '@storybook/manager-webpack5', '@storybook/builder-webpack4', '@storybook/manager-webpack4', '@storybook/builder-vite', 'storybook-builder-vite'].filter(dep => allDeps[dep]);
148
157
  const dependenciesToAdd = []; // some frameworks didn't change e.g. Angular, Ember
149
158
 
150
159
  if (newFrameworkPackage !== frameworkPackage) {
@@ -69,6 +69,7 @@ const getFrameworkDetails = (renderer, builder, pnp) => {
69
69
  return {
70
70
  packages: [rendererPackage],
71
71
  framework: rendererPackagePath,
72
+ rendererId: 'angular',
72
73
  type: 'framework'
73
74
  };
74
75
  }
@@ -77,6 +78,7 @@ const getFrameworkDetails = (renderer, builder, pnp) => {
77
78
  return {
78
79
  packages: [frameworkPackage],
79
80
  framework: frameworkPackagePath,
81
+ rendererId: renderer,
80
82
  type: 'framework'
81
83
  };
82
84
  }
@@ -86,6 +88,7 @@ const getFrameworkDetails = (renderer, builder, pnp) => {
86
88
  packages: [rendererPackage, builderPackage],
87
89
  builder: builderPackagePath,
88
90
  renderer: rendererPackagePath,
91
+ rendererId: renderer,
89
92
  type: 'renderer'
90
93
  };
91
94
  }
@@ -95,7 +98,7 @@ const getFrameworkDetails = (renderer, builder, pnp) => {
95
98
 
96
99
  const stripVersions = addons => addons.map(addon => (0, _jsPackageManager.getPackageDetails)(addon)[0]);
97
100
 
98
- const hasInteractiveStories = framework => ['react', 'angular', 'preact', 'svelte', 'vue', 'vue3', 'html'].includes(framework);
101
+ const hasInteractiveStories = rendererId => ['react', 'angular', 'preact', 'svelte', 'vue', 'vue3', 'html'].includes(rendererId);
99
102
 
100
103
  async function baseGenerator(packageManager, npmOptions, {
101
104
  language,
@@ -113,13 +116,23 @@ async function baseGenerator(packageManager, npmOptions, {
113
116
  addESLint,
114
117
  extraMain,
115
118
  extensions
116
- } = Object.assign({}, defaultOptions, options); // added to main.js
119
+ } = Object.assign({}, defaultOptions, options);
120
+ const {
121
+ packages: frameworkPackages,
122
+ type,
123
+ // @ts-ignore
124
+ renderer: rendererInclude,
125
+ // deepscan-disable-line UNUSED_DECL
126
+ rendererId,
127
+ framework: frameworkInclude,
128
+ builder: builderInclude
129
+ } = getFrameworkDetails(renderer, builder, pnp); // added to main.js
117
130
 
118
131
  const addons = ['@storybook/addon-links', '@storybook/addon-essentials', ...stripVersions(extraAddonPackages)]; // added to package.json
119
132
 
120
133
  const addonPackages = ['@storybook/addon-links', '@storybook/addon-essentials', ...extraAddonPackages];
121
134
 
122
- if (hasInteractiveStories(renderer)) {
135
+ if (hasInteractiveStories(rendererId)) {
123
136
  addons.push('@storybook/addon-interactions');
124
137
  addonPackages.push('@storybook/addon-interactions', '@storybook/testing-library');
125
138
  }
@@ -127,16 +140,7 @@ async function baseGenerator(packageManager, npmOptions, {
127
140
  const yarn2ExtraPackages = packageManager.type === 'yarn2' ? ['@storybook/addon-docs', '@mdx-js/react@1.x.x'] : [];
128
141
  const files = await _fsExtra.default.readdir(process.cwd());
129
142
  const packageJson = packageManager.retrievePackageJson();
130
- const installedDependencies = new Set(Object.keys(Object.assign({}, packageJson.dependencies, packageJson.devDependencies)));
131
- const {
132
- packages: frameworkPackages,
133
- type,
134
- // @ts-ignore
135
- renderer: rendererInclude,
136
- // deepscan-disable-line UNUSED_DECL
137
- framework: frameworkInclude,
138
- builder: builderInclude
139
- } = getFrameworkDetails(renderer, builder, pnp); // TODO: We need to start supporting this at some point
143
+ const installedDependencies = new Set(Object.keys(Object.assign({}, packageJson.dependencies, packageJson.devDependencies))); // TODO: We need to start supporting this at some point
140
144
 
141
145
  if (type === 'renderer') {
142
146
  throw new Error((0, _tsDedent.dedent)`
@@ -169,7 +173,7 @@ async function baseGenerator(packageManager, npmOptions, {
169
173
  } // FIXME: temporary workaround for https://github.com/storybookjs/storybook/issues/17516
170
174
 
171
175
 
172
- if (frameworkPackages.includes('@storybook/builder-vite')) {
176
+ if (frameworkPackages.find(pkg => pkg.match(/^@storybook\/.*-vite$/))) {
173
177
  const previewHead = (0, _tsDedent.dedent)`
174
178
  <script>
175
179
  window.global = window;
@@ -273,7 +273,7 @@ async function initiate(options, pkg) {
273
273
  }
274
274
 
275
275
  await (0, _automigrate.automigrate)({
276
- yes: process.env.CI === 'true'
276
+ yes: options.yes || process.env.CI === 'true'
277
277
  });
278
278
  logger.log('\nTo run your Storybook, type:\n');
279
279
  (0, _helpers.codeLog)([packageManager.getRunStorybookCommand()]);
@@ -44,6 +44,21 @@ function getPackageDetails(pkg) {
44
44
  }
45
45
 
46
46
  class JsPackageManager {
47
+ // NOTE: for some reason yarn prefers the npm registry in
48
+ // local development, so always use npm
49
+ setRegistryURL(url) {
50
+ if (url) {
51
+ this.executeCommand('npm', ['config', 'set', 'registry', url]);
52
+ } else {
53
+ this.executeCommand('npm', ['config', 'delete', 'registry']);
54
+ }
55
+ }
56
+
57
+ getRegistryURL() {
58
+ const url = this.executeCommand('npm', ['config', 'get', 'registry']).trim();
59
+ return url === 'undefined' ? undefined : url;
60
+ }
61
+
47
62
  constructor(options) {
48
63
  this.type = void 0;
49
64
  this.cwd = void 0;
@@ -64,19 +64,6 @@ class NPMProxy extends _JsPackageManager.JsPackageManager {
64
64
  return this.uninstallArgs;
65
65
  }
66
66
 
67
- setRegistryURL(url) {
68
- if (url) {
69
- this.executeCommand('npm', ['config', 'set', 'registry', url]);
70
- } else {
71
- this.executeCommand('npm', ['config', 'delete', 'registry']);
72
- }
73
- }
74
-
75
- getRegistryURL() {
76
- const url = this.executeCommand('npm', ['config', 'get', 'registry']).trim();
77
- return url === 'undefined' ? undefined : url;
78
- }
79
-
80
67
  getResolutions(packageJson, versions) {
81
68
  return {
82
69
  overrides: Object.assign({}, packageJson.overrides, versions)
@@ -25,19 +25,6 @@ class Yarn1Proxy extends _JsPackageManager.JsPackageManager {
25
25
  return `yarn ${command}`;
26
26
  }
27
27
 
28
- setRegistryURL(url) {
29
- if (url) {
30
- this.executeCommand('yarn', ['config', 'set', 'npmRegistryServer', url]);
31
- } else {
32
- this.executeCommand('yarn', ['config', 'delete', 'npmRegistryServer']);
33
- }
34
- }
35
-
36
- getRegistryURL() {
37
- const url = this.executeCommand('yarn', ['config', 'get', 'npmRegistryServer']).trim();
38
- return url === 'undefined' ? undefined : url;
39
- }
40
-
41
28
  getResolutions(packageJson, versions) {
42
29
  return {
43
30
  resolutions: Object.assign({}, packageJson.resolutions, versions)
@@ -25,19 +25,6 @@ class Yarn2Proxy extends _JsPackageManager.JsPackageManager {
25
25
  return `yarn ${command}`;
26
26
  }
27
27
 
28
- setRegistryURL(url) {
29
- if (url) {
30
- this.executeCommand('yarn', ['config', 'set', 'npmRegistryServer', url]);
31
- } else {
32
- this.executeCommand('yarn', ['config', 'delete', 'npmRegistryServer']);
33
- }
34
- }
35
-
36
- getRegistryURL() {
37
- const url = this.executeCommand('yarn', ['config', 'get', 'npmRegistryServer']).trim();
38
- return url === 'undefined' ? undefined : url;
39
- }
40
-
41
28
  getResolutions(packageJson, versions) {
42
29
  return {
43
30
  resolutions: Object.assign({}, packageJson.resolutions, versions)
@@ -138,7 +138,7 @@ const configureYarn2ForE2E = async ({
138
138
  cwd
139
139
  }) => {
140
140
  const command = [// ⚠️ Need to set registry because Yarn 2 is not using the conf of Yarn 1 (URL is hardcoded in CircleCI config.yml)
141
- `yarn config set npmScopes --json '{ "storybook": { "npmRegistryServer": "http://localhost:6000/" } }'`, // Some required magic to be able to fetch deps from local registry
141
+ `yarn config set npmScopes --json '{ "storybook": { "npmRegistryServer": "http://localhost:6001/" } }'`, // Some required magic to be able to fetch deps from local registry
142
142
  `yarn config set unsafeHttpWhitelist --json '["localhost"]'`, // Disable fallback mode to make sure everything is required correctly
143
143
  `yarn config set pnpFallbackMode none`, // We need to be able to update lockfile when bootstrapping the examples
144
144
  `yarn config set enableImmutableInstalls false`, // Discard all YN0013 - FETCH_NOT_CACHED messages
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _default = {
7
+ const craTemplates = {
8
8
  'cra/default-js': {
9
9
  name: 'Create React App (Javascript)',
10
10
  script: 'npx create-react-app .',
@@ -24,18 +24,75 @@ var _default = {
24
24
  renderer: '@storybook/react',
25
25
  builder: '@storybook/builder-webpack5'
26
26
  }
27
- } // FIXME: missing documentation.json
28
- // 'angular/latest': {
29
- // name: 'Angular (latest)',
30
- // script:
31
- // 'npx -p @angular/cli ng new angular-latest --directory . --routing=true --minimal=true --style=scss --skip-install=true --strict',
32
- // cadence: ['ci', 'daily', 'weekly'],
33
- // expected: {
34
- // framework: '@storybook/angular',
35
- // renderer: '@storybook/angular',
36
- // builder: '@storybook/builder-webpack5',
37
- // },
38
- // },
39
-
27
+ }
40
28
  };
29
+ const reactViteTemplates = {
30
+ 'react-vite/default-js': {
31
+ name: 'React Vite (JS)',
32
+ script: 'yarn create vite . --template react',
33
+ cadence: ['ci', 'daily', 'weekly'],
34
+ expected: {
35
+ framework: '@storybook/react-vite',
36
+ renderer: '@storybook/react',
37
+ builder: '@storybook/builder-vite'
38
+ }
39
+ },
40
+ 'react-vite/default-ts': {
41
+ name: 'React Vite (TS)',
42
+ script: 'yarn create vite . --template react-ts',
43
+ cadence: ['ci', 'daily', 'weekly'],
44
+ expected: {
45
+ framework: '@storybook/react-vite',
46
+ renderer: '@storybook/react',
47
+ builder: '@storybook/builder-vite'
48
+ }
49
+ }
50
+ };
51
+ const vue3ViteTemplates = {
52
+ 'vue3-vite/default-js': {
53
+ name: 'Vue3 Vite (JS)',
54
+ script: 'yarn create vite . --template vue',
55
+ cadence: ['ci', 'daily', 'weekly'],
56
+ expected: {
57
+ framework: '@storybook/vue3-vite',
58
+ renderer: '@storybook/vue3',
59
+ builder: '@storybook/builder-vite'
60
+ }
61
+ },
62
+ 'vue3-vite/default-ts': {
63
+ name: 'Vue3 Vite (TS)',
64
+ script: 'yarn create vite . --template vue-ts',
65
+ cadence: ['ci', 'daily', 'weekly'],
66
+ expected: {
67
+ framework: '@storybook/vue3-vite',
68
+ renderer: '@storybook/vue3',
69
+ builder: '@storybook/builder-vite'
70
+ }
71
+ }
72
+ };
73
+ const svelteViteTemplates = {
74
+ 'svelte-vite/default-js': {
75
+ name: 'Svelte Vite (JS)',
76
+ script: 'yarn create vite . --template svelte',
77
+ cadence: ['ci', 'daily', 'weekly'],
78
+ expected: {
79
+ framework: '@storybook/svelte-vite',
80
+ renderer: '@storybook/svelte',
81
+ builder: '@storybook/builder-vite'
82
+ }
83
+ },
84
+ 'svelte-vite/default-ts': {
85
+ name: 'Svelte Vite (TS)',
86
+ script: 'yarn create vite . --template svelte-ts',
87
+ cadence: ['ci', 'daily', 'weekly'],
88
+ expected: {
89
+ framework: '@storybook/svelte-vite',
90
+ renderer: '@storybook/svelte',
91
+ builder: '@storybook/builder-vite'
92
+ }
93
+ }
94
+ };
95
+
96
+ var _default = Object.assign({}, craTemplates, reactViteTemplates, vue3ViteTemplates, svelteViteTemplates);
97
+
41
98
  exports.default = _default;
@@ -6,80 +6,84 @@ 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.23',
10
- '@storybook/addon-actions': '7.0.0-alpha.23',
11
- '@storybook/addon-backgrounds': '7.0.0-alpha.23',
12
- '@storybook/addon-controls': '7.0.0-alpha.23',
13
- '@storybook/addon-docs': '7.0.0-alpha.23',
14
- '@storybook/addon-essentials': '7.0.0-alpha.23',
15
- '@storybook/addon-highlight': '7.0.0-alpha.23',
16
- '@storybook/addon-interactions': '7.0.0-alpha.23',
17
- '@storybook/addon-jest': '7.0.0-alpha.23',
18
- '@storybook/addon-links': '7.0.0-alpha.23',
19
- '@storybook/addon-measure': '7.0.0-alpha.23',
20
- '@storybook/addon-outline': '7.0.0-alpha.23',
21
- '@storybook/addon-storyshots': '7.0.0-alpha.23',
22
- '@storybook/addon-storyshots-puppeteer': '7.0.0-alpha.23',
23
- '@storybook/addon-storysource': '7.0.0-alpha.23',
24
- '@storybook/addon-toolbars': '7.0.0-alpha.23',
25
- '@storybook/addon-viewport': '7.0.0-alpha.23',
26
- '@storybook/addons': '7.0.0-alpha.23',
27
- '@storybook/angular': '7.0.0-alpha.23',
28
- '@storybook/api': '7.0.0-alpha.23',
29
- '@storybook/blocks': '7.0.0-alpha.23',
30
- '@storybook/builder-manager': '7.0.0-alpha.23',
31
- '@storybook/builder-webpack5': '7.0.0-alpha.23',
32
- '@storybook/channel-postmessage': '7.0.0-alpha.23',
33
- '@storybook/channel-websocket': '7.0.0-alpha.23',
34
- '@storybook/channels': '7.0.0-alpha.23',
35
- '@storybook/cli': '7.0.0-alpha.23',
36
- '@storybook/client-api': '7.0.0-alpha.23',
37
- '@storybook/client-logger': '7.0.0-alpha.23',
38
- '@storybook/codemod': '7.0.0-alpha.23',
39
- '@storybook/components': '7.0.0-alpha.23',
40
- '@storybook/core-client': '7.0.0-alpha.23',
41
- '@storybook/core-common': '7.0.0-alpha.23',
42
- '@storybook/core-events': '7.0.0-alpha.23',
43
- '@storybook/core-server': '7.0.0-alpha.23',
44
- '@storybook/core-webpack': '7.0.0-alpha.23',
45
- '@storybook/csf-tools': '7.0.0-alpha.23',
46
- '@storybook/docs-tools': '7.0.0-alpha.23',
47
- '@storybook/ember': '7.0.0-alpha.23',
48
- '@storybook/html': '7.0.0-alpha.23',
49
- '@storybook/html-webpack5': '7.0.0-alpha.23',
50
- '@storybook/instrumenter': '7.0.0-alpha.23',
51
- '@storybook/node-logger': '7.0.0-alpha.23',
52
- '@storybook/postinstall': '7.0.0-alpha.23',
53
- '@storybook/preact': '7.0.0-alpha.23',
54
- '@storybook/preact-webpack5': '7.0.0-alpha.23',
55
- '@storybook/preset-html-webpack': '7.0.0-alpha.23',
56
- '@storybook/preset-preact-webpack': '7.0.0-alpha.23',
57
- '@storybook/preset-react-webpack': '7.0.0-alpha.23',
58
- '@storybook/preset-server-webpack': '7.0.0-alpha.23',
59
- '@storybook/preset-svelte-webpack': '7.0.0-alpha.23',
60
- '@storybook/preset-vue-webpack': '7.0.0-alpha.23',
61
- '@storybook/preset-vue3-webpack': '7.0.0-alpha.23',
62
- '@storybook/preset-web-components-webpack': '7.0.0-alpha.23',
63
- '@storybook/preview-web': '7.0.0-alpha.23',
64
- '@storybook/react': '7.0.0-alpha.23',
65
- '@storybook/react-webpack5': '7.0.0-alpha.23',
66
- '@storybook/router': '7.0.0-alpha.23',
67
- '@storybook/server': '7.0.0-alpha.23',
68
- '@storybook/server-webpack5': '7.0.0-alpha.23',
69
- '@storybook/source-loader': '7.0.0-alpha.23',
70
- '@storybook/store': '7.0.0-alpha.23',
71
- '@storybook/svelte': '7.0.0-alpha.23',
72
- '@storybook/svelte-webpack5': '7.0.0-alpha.23',
73
- '@storybook/telemetry': '7.0.0-alpha.23',
74
- '@storybook/theming': '7.0.0-alpha.23',
75
- '@storybook/ui': '7.0.0-alpha.23',
76
- '@storybook/vue': '7.0.0-alpha.23',
77
- '@storybook/vue-webpack5': '7.0.0-alpha.23',
78
- '@storybook/vue3': '7.0.0-alpha.23',
79
- '@storybook/vue3-webpack5': '7.0.0-alpha.23',
80
- '@storybook/web-components': '7.0.0-alpha.23',
81
- '@storybook/web-components-webpack5': '7.0.0-alpha.23',
82
- sb: '7.0.0-alpha.23',
83
- storybook: '7.0.0-alpha.23'
9
+ '@storybook/addon-a11y': '7.0.0-alpha.26',
10
+ '@storybook/addon-actions': '7.0.0-alpha.26',
11
+ '@storybook/addon-backgrounds': '7.0.0-alpha.26',
12
+ '@storybook/addon-controls': '7.0.0-alpha.26',
13
+ '@storybook/addon-docs': '7.0.0-alpha.26',
14
+ '@storybook/addon-essentials': '7.0.0-alpha.26',
15
+ '@storybook/addon-highlight': '7.0.0-alpha.26',
16
+ '@storybook/addon-interactions': '7.0.0-alpha.26',
17
+ '@storybook/addon-jest': '7.0.0-alpha.26',
18
+ '@storybook/addon-links': '7.0.0-alpha.26',
19
+ '@storybook/addon-measure': '7.0.0-alpha.26',
20
+ '@storybook/addon-outline': '7.0.0-alpha.26',
21
+ '@storybook/addon-storyshots': '7.0.0-alpha.26',
22
+ '@storybook/addon-storyshots-puppeteer': '7.0.0-alpha.26',
23
+ '@storybook/addon-storysource': '7.0.0-alpha.26',
24
+ '@storybook/addon-toolbars': '7.0.0-alpha.26',
25
+ '@storybook/addon-viewport': '7.0.0-alpha.26',
26
+ '@storybook/addons': '7.0.0-alpha.26',
27
+ '@storybook/angular': '7.0.0-alpha.26',
28
+ '@storybook/api': '7.0.0-alpha.26',
29
+ '@storybook/blocks': '7.0.0-alpha.26',
30
+ '@storybook/builder-manager': '7.0.0-alpha.26',
31
+ '@storybook/builder-vite': '7.0.0-alpha.26',
32
+ '@storybook/builder-webpack5': '7.0.0-alpha.26',
33
+ '@storybook/channel-postmessage': '7.0.0-alpha.26',
34
+ '@storybook/channel-websocket': '7.0.0-alpha.26',
35
+ '@storybook/channels': '7.0.0-alpha.26',
36
+ '@storybook/cli': '7.0.0-alpha.26',
37
+ '@storybook/client-api': '7.0.0-alpha.26',
38
+ '@storybook/client-logger': '7.0.0-alpha.26',
39
+ '@storybook/codemod': '7.0.0-alpha.26',
40
+ '@storybook/components': '7.0.0-alpha.26',
41
+ '@storybook/core-client': '7.0.0-alpha.26',
42
+ '@storybook/core-common': '7.0.0-alpha.26',
43
+ '@storybook/core-events': '7.0.0-alpha.26',
44
+ '@storybook/core-server': '7.0.0-alpha.26',
45
+ '@storybook/core-webpack': '7.0.0-alpha.26',
46
+ '@storybook/csf-tools': '7.0.0-alpha.26',
47
+ '@storybook/docs-tools': '7.0.0-alpha.26',
48
+ '@storybook/ember': '7.0.0-alpha.26',
49
+ '@storybook/html': '7.0.0-alpha.26',
50
+ '@storybook/html-webpack5': '7.0.0-alpha.26',
51
+ '@storybook/instrumenter': '7.0.0-alpha.26',
52
+ '@storybook/node-logger': '7.0.0-alpha.26',
53
+ '@storybook/postinstall': '7.0.0-alpha.26',
54
+ '@storybook/preact': '7.0.0-alpha.26',
55
+ '@storybook/preact-webpack5': '7.0.0-alpha.26',
56
+ '@storybook/preset-html-webpack': '7.0.0-alpha.26',
57
+ '@storybook/preset-preact-webpack': '7.0.0-alpha.26',
58
+ '@storybook/preset-react-webpack': '7.0.0-alpha.26',
59
+ '@storybook/preset-server-webpack': '7.0.0-alpha.26',
60
+ '@storybook/preset-svelte-webpack': '7.0.0-alpha.26',
61
+ '@storybook/preset-vue-webpack': '7.0.0-alpha.26',
62
+ '@storybook/preset-vue3-webpack': '7.0.0-alpha.26',
63
+ '@storybook/preset-web-components-webpack': '7.0.0-alpha.26',
64
+ '@storybook/preview-web': '7.0.0-alpha.26',
65
+ '@storybook/react': '7.0.0-alpha.26',
66
+ '@storybook/react-vite': '7.0.0-alpha.26',
67
+ '@storybook/react-webpack5': '7.0.0-alpha.26',
68
+ '@storybook/router': '7.0.0-alpha.26',
69
+ '@storybook/server': '7.0.0-alpha.26',
70
+ '@storybook/server-webpack5': '7.0.0-alpha.26',
71
+ '@storybook/source-loader': '7.0.0-alpha.26',
72
+ '@storybook/store': '7.0.0-alpha.26',
73
+ '@storybook/svelte': '7.0.0-alpha.26',
74
+ '@storybook/svelte-vite': '7.0.0-alpha.26',
75
+ '@storybook/svelte-webpack5': '7.0.0-alpha.26',
76
+ '@storybook/telemetry': '7.0.0-alpha.26',
77
+ '@storybook/theming': '7.0.0-alpha.26',
78
+ '@storybook/ui': '7.0.0-alpha.26',
79
+ '@storybook/vue': '7.0.0-alpha.26',
80
+ '@storybook/vue-webpack5': '7.0.0-alpha.26',
81
+ '@storybook/vue3': '7.0.0-alpha.26',
82
+ '@storybook/vue3-vite': '7.0.0-alpha.26',
83
+ '@storybook/vue3-webpack5': '7.0.0-alpha.26',
84
+ '@storybook/web-components': '7.0.0-alpha.26',
85
+ '@storybook/web-components-webpack5': '7.0.0-alpha.26',
86
+ sb: '7.0.0-alpha.26',
87
+ storybook: '7.0.0-alpha.26'
84
88
  };
85
89
  exports.default = _default;
@@ -20,8 +20,9 @@ const packagesMap = {
20
20
  webpack5: '@storybook/angular'
21
21
  },
22
22
  '@storybook/vue': {
23
- webpack5: '@storybook/vue-webpack5',
24
- vite: '@storybook/vue-vite'
23
+ webpack5: '@storybook/vue-webpack5' // TODO: bring this back if we ever want to support vue 2 + vite. Else delete this!
24
+ // vite: '@storybook/vue-vite',
25
+
25
26
  },
26
27
  '@storybook/vue3': {
27
28
  webpack5: '@storybook/vue3-webpack5',
@@ -29,6 +30,7 @@ const packagesMap = {
29
30
  },
30
31
  '@storybook/svelte': {
31
32
  webpack5: '@storybook/svelte-webpack5',
33
+ // TODO: bring this back once we have the svelte-vite package
32
34
  vite: '@storybook/svelte-vite'
33
35
  },
34
36
  '@storybook/web-components': {
@@ -112,16 +114,23 @@ export const newFrameworks = {
112
114
  const builderInfo = {
113
115
  name: getBuilder(builder),
114
116
  options: main.getFieldValue(['core', 'builder', 'options']) || {}
115
- }; // TODO: once we have vite frameworks e.g. @storybook/react-vite, then we support it here
116
- // and remove ['storybook-builder-vite', '@storybook/builder-vite'] from deps
117
+ };
118
+ const newFrameworkPackage = packagesMap[frameworkPackage][builderInfo.name]; // not all frameworks support vite yet e.g. Svelte
117
119
 
118
- if (builderInfo.name === 'vite') {
120
+ if (!newFrameworkPackage) {
121
+ return null;
122
+ }
123
+
124
+ if (allDeps.vite && semver.lt(semver.coerce(allDeps.vite).version, '3.0.0')) {
125
+ logger.warn(dedent`
126
+ ❌ Detected Vite ${allDeps.vite}, which is unsupported in Storybook 7.0, so the ${chalk.cyan('newFrameworks')} fix will be skipped.
127
+ Please upgrade vite to 3.0.0 or higher and rerun this automigration with "npx storybook@future automigrate".
128
+ `);
119
129
  return null;
120
130
  }
121
131
 
122
132
  const frameworkOptions = getFrameworkOptions(framework, main);
123
- const dependenciesToRemove = ['@storybook/builder-webpack5', '@storybook/manager-webpack5', '@storybook/builder-webpack4', '@storybook/manager-webpack4'].filter(dep => allDeps[dep]);
124
- const newFrameworkPackage = packagesMap[frameworkPackage][builderInfo.name];
133
+ const dependenciesToRemove = ['@storybook/builder-webpack5', '@storybook/manager-webpack5', '@storybook/builder-webpack4', '@storybook/manager-webpack4', '@storybook/builder-vite', 'storybook-builder-vite'].filter(dep => allDeps[dep]);
125
134
  const dependenciesToAdd = []; // some frameworks didn't change e.g. Angular, Ember
126
135
 
127
136
  if (newFrameworkPackage !== frameworkPackage) {
@@ -52,6 +52,7 @@ const getFrameworkDetails = (renderer, builder, pnp) => {
52
52
  return {
53
53
  packages: [rendererPackage],
54
54
  framework: rendererPackagePath,
55
+ rendererId: 'angular',
55
56
  type: 'framework'
56
57
  };
57
58
  }
@@ -60,6 +61,7 @@ const getFrameworkDetails = (renderer, builder, pnp) => {
60
61
  return {
61
62
  packages: [frameworkPackage],
62
63
  framework: frameworkPackagePath,
64
+ rendererId: renderer,
63
65
  type: 'framework'
64
66
  };
65
67
  }
@@ -69,6 +71,7 @@ const getFrameworkDetails = (renderer, builder, pnp) => {
69
71
  packages: [rendererPackage, builderPackage],
70
72
  builder: builderPackagePath,
71
73
  renderer: rendererPackagePath,
74
+ rendererId: renderer,
72
75
  type: 'renderer'
73
76
  };
74
77
  }
@@ -78,7 +81,7 @@ const getFrameworkDetails = (renderer, builder, pnp) => {
78
81
 
79
82
  const stripVersions = addons => addons.map(addon => getPackageDetails(addon)[0]);
80
83
 
81
- const hasInteractiveStories = framework => ['react', 'angular', 'preact', 'svelte', 'vue', 'vue3', 'html'].includes(framework);
84
+ const hasInteractiveStories = rendererId => ['react', 'angular', 'preact', 'svelte', 'vue', 'vue3', 'html'].includes(rendererId);
82
85
 
83
86
  export async function baseGenerator(packageManager, npmOptions, {
84
87
  language,
@@ -96,13 +99,23 @@ export async function baseGenerator(packageManager, npmOptions, {
96
99
  addESLint,
97
100
  extraMain,
98
101
  extensions
99
- } = Object.assign({}, defaultOptions, options); // added to main.js
102
+ } = Object.assign({}, defaultOptions, options);
103
+ const {
104
+ packages: frameworkPackages,
105
+ type,
106
+ // @ts-ignore
107
+ renderer: rendererInclude,
108
+ // deepscan-disable-line UNUSED_DECL
109
+ rendererId,
110
+ framework: frameworkInclude,
111
+ builder: builderInclude
112
+ } = getFrameworkDetails(renderer, builder, pnp); // added to main.js
100
113
 
101
114
  const addons = ['@storybook/addon-links', '@storybook/addon-essentials', ...stripVersions(extraAddonPackages)]; // added to package.json
102
115
 
103
116
  const addonPackages = ['@storybook/addon-links', '@storybook/addon-essentials', ...extraAddonPackages];
104
117
 
105
- if (hasInteractiveStories(renderer)) {
118
+ if (hasInteractiveStories(rendererId)) {
106
119
  addons.push('@storybook/addon-interactions');
107
120
  addonPackages.push('@storybook/addon-interactions', '@storybook/testing-library');
108
121
  }
@@ -110,16 +123,7 @@ export async function baseGenerator(packageManager, npmOptions, {
110
123
  const yarn2ExtraPackages = packageManager.type === 'yarn2' ? ['@storybook/addon-docs', '@mdx-js/react@1.x.x'] : [];
111
124
  const files = await fse.readdir(process.cwd());
112
125
  const packageJson = packageManager.retrievePackageJson();
113
- const installedDependencies = new Set(Object.keys(Object.assign({}, packageJson.dependencies, packageJson.devDependencies)));
114
- const {
115
- packages: frameworkPackages,
116
- type,
117
- // @ts-ignore
118
- renderer: rendererInclude,
119
- // deepscan-disable-line UNUSED_DECL
120
- framework: frameworkInclude,
121
- builder: builderInclude
122
- } = getFrameworkDetails(renderer, builder, pnp); // TODO: We need to start supporting this at some point
126
+ const installedDependencies = new Set(Object.keys(Object.assign({}, packageJson.dependencies, packageJson.devDependencies))); // TODO: We need to start supporting this at some point
123
127
 
124
128
  if (type === 'renderer') {
125
129
  throw new Error(dedent`
@@ -152,7 +156,7 @@ export async function baseGenerator(packageManager, npmOptions, {
152
156
  } // FIXME: temporary workaround for https://github.com/storybookjs/storybook/issues/17516
153
157
 
154
158
 
155
- if (frameworkPackages.includes('@storybook/builder-vite')) {
159
+ if (frameworkPackages.find(pkg => pkg.match(/^@storybook\/.*-vite$/))) {
156
160
  const previewHead = dedent`
157
161
  <script>
158
162
  window.global = window;
@@ -232,7 +232,7 @@ export async function initiate(options, pkg) {
232
232
  }
233
233
 
234
234
  await automigrate({
235
- yes: process.env.CI === 'true'
235
+ yes: options.yes || process.env.CI === 'true'
236
236
  });
237
237
  logger.log('\nTo run your Storybook, type:\n');
238
238
  codeLog([packageManager.getRunStorybookCommand()]);
@@ -26,6 +26,21 @@ export function getPackageDetails(pkg) {
26
26
  return [packageName, packageVersion];
27
27
  }
28
28
  export class JsPackageManager {
29
+ // NOTE: for some reason yarn prefers the npm registry in
30
+ // local development, so always use npm
31
+ setRegistryURL(url) {
32
+ if (url) {
33
+ this.executeCommand('npm', ['config', 'set', 'registry', url]);
34
+ } else {
35
+ this.executeCommand('npm', ['config', 'delete', 'registry']);
36
+ }
37
+ }
38
+
39
+ getRegistryURL() {
40
+ const url = this.executeCommand('npm', ['config', 'get', 'registry']).trim();
41
+ return url === 'undefined' ? undefined : url;
42
+ }
43
+
29
44
  constructor(options) {
30
45
  this.type = void 0;
31
46
  this.cwd = void 0;
@@ -53,19 +53,6 @@ export class NPMProxy extends JsPackageManager {
53
53
  return this.uninstallArgs;
54
54
  }
55
55
 
56
- setRegistryURL(url) {
57
- if (url) {
58
- this.executeCommand('npm', ['config', 'set', 'registry', url]);
59
- } else {
60
- this.executeCommand('npm', ['config', 'delete', 'registry']);
61
- }
62
- }
63
-
64
- getRegistryURL() {
65
- const url = this.executeCommand('npm', ['config', 'get', 'registry']).trim();
66
- return url === 'undefined' ? undefined : url;
67
- }
68
-
69
56
  getResolutions(packageJson, versions) {
70
57
  return {
71
58
  overrides: Object.assign({}, packageJson.overrides, versions)
@@ -17,19 +17,6 @@ export class Yarn1Proxy extends JsPackageManager {
17
17
  return `yarn ${command}`;
18
18
  }
19
19
 
20
- setRegistryURL(url) {
21
- if (url) {
22
- this.executeCommand('yarn', ['config', 'set', 'npmRegistryServer', url]);
23
- } else {
24
- this.executeCommand('yarn', ['config', 'delete', 'npmRegistryServer']);
25
- }
26
- }
27
-
28
- getRegistryURL() {
29
- const url = this.executeCommand('yarn', ['config', 'get', 'npmRegistryServer']).trim();
30
- return url === 'undefined' ? undefined : url;
31
- }
32
-
33
20
  getResolutions(packageJson, versions) {
34
21
  return {
35
22
  resolutions: Object.assign({}, packageJson.resolutions, versions)
@@ -17,19 +17,6 @@ export class Yarn2Proxy extends JsPackageManager {
17
17
  return `yarn ${command}`;
18
18
  }
19
19
 
20
- setRegistryURL(url) {
21
- if (url) {
22
- this.executeCommand('yarn', ['config', 'set', 'npmRegistryServer', url]);
23
- } else {
24
- this.executeCommand('yarn', ['config', 'delete', 'npmRegistryServer']);
25
- }
26
- }
27
-
28
- getRegistryURL() {
29
- const url = this.executeCommand('yarn', ['config', 'get', 'npmRegistryServer']).trim();
30
- return url === 'undefined' ? undefined : url;
31
- }
32
-
33
20
  getResolutions(packageJson, versions) {
34
21
  return {
35
22
  resolutions: Object.assign({}, packageJson.resolutions, versions)
@@ -112,7 +112,7 @@ const configureYarn2ForE2E = async ({
112
112
  cwd
113
113
  }) => {
114
114
  const command = [// ⚠️ Need to set registry because Yarn 2 is not using the conf of Yarn 1 (URL is hardcoded in CircleCI config.yml)
115
- `yarn config set npmScopes --json '{ "storybook": { "npmRegistryServer": "http://localhost:6000/" } }'`, // Some required magic to be able to fetch deps from local registry
115
+ `yarn config set npmScopes --json '{ "storybook": { "npmRegistryServer": "http://localhost:6001/" } }'`, // Some required magic to be able to fetch deps from local registry
116
116
  `yarn config set unsafeHttpWhitelist --json '["localhost"]'`, // Disable fallback mode to make sure everything is required correctly
117
117
  `yarn config set pnpFallbackMode none`, // We need to be able to update lockfile when bootstrapping the examples
118
118
  `yarn config set enableImmutableInstalls false`, // Discard all YN0013 - FETCH_NOT_CACHED messages
@@ -1,4 +1,4 @@
1
- export default {
1
+ const craTemplates = {
2
2
  'cra/default-js': {
3
3
  name: 'Create React App (Javascript)',
4
4
  script: 'npx create-react-app .',
@@ -18,17 +18,72 @@ export default {
18
18
  renderer: '@storybook/react',
19
19
  builder: '@storybook/builder-webpack5'
20
20
  }
21
- } // FIXME: missing documentation.json
22
- // 'angular/latest': {
23
- // name: 'Angular (latest)',
24
- // script:
25
- // 'npx -p @angular/cli ng new angular-latest --directory . --routing=true --minimal=true --style=scss --skip-install=true --strict',
26
- // cadence: ['ci', 'daily', 'weekly'],
27
- // expected: {
28
- // framework: '@storybook/angular',
29
- // renderer: '@storybook/angular',
30
- // builder: '@storybook/builder-webpack5',
31
- // },
32
- // },
33
-
34
- };
21
+ }
22
+ };
23
+ const reactViteTemplates = {
24
+ 'react-vite/default-js': {
25
+ name: 'React Vite (JS)',
26
+ script: 'yarn create vite . --template react',
27
+ cadence: ['ci', 'daily', 'weekly'],
28
+ expected: {
29
+ framework: '@storybook/react-vite',
30
+ renderer: '@storybook/react',
31
+ builder: '@storybook/builder-vite'
32
+ }
33
+ },
34
+ 'react-vite/default-ts': {
35
+ name: 'React Vite (TS)',
36
+ script: 'yarn create vite . --template react-ts',
37
+ cadence: ['ci', 'daily', 'weekly'],
38
+ expected: {
39
+ framework: '@storybook/react-vite',
40
+ renderer: '@storybook/react',
41
+ builder: '@storybook/builder-vite'
42
+ }
43
+ }
44
+ };
45
+ const vue3ViteTemplates = {
46
+ 'vue3-vite/default-js': {
47
+ name: 'Vue3 Vite (JS)',
48
+ script: 'yarn create vite . --template vue',
49
+ cadence: ['ci', 'daily', 'weekly'],
50
+ expected: {
51
+ framework: '@storybook/vue3-vite',
52
+ renderer: '@storybook/vue3',
53
+ builder: '@storybook/builder-vite'
54
+ }
55
+ },
56
+ 'vue3-vite/default-ts': {
57
+ name: 'Vue3 Vite (TS)',
58
+ script: 'yarn create vite . --template vue-ts',
59
+ cadence: ['ci', 'daily', 'weekly'],
60
+ expected: {
61
+ framework: '@storybook/vue3-vite',
62
+ renderer: '@storybook/vue3',
63
+ builder: '@storybook/builder-vite'
64
+ }
65
+ }
66
+ };
67
+ const svelteViteTemplates = {
68
+ 'svelte-vite/default-js': {
69
+ name: 'Svelte Vite (JS)',
70
+ script: 'yarn create vite . --template svelte',
71
+ cadence: ['ci', 'daily', 'weekly'],
72
+ expected: {
73
+ framework: '@storybook/svelte-vite',
74
+ renderer: '@storybook/svelte',
75
+ builder: '@storybook/builder-vite'
76
+ }
77
+ },
78
+ 'svelte-vite/default-ts': {
79
+ name: 'Svelte Vite (TS)',
80
+ script: 'yarn create vite . --template svelte-ts',
81
+ cadence: ['ci', 'daily', 'weekly'],
82
+ expected: {
83
+ framework: '@storybook/svelte-vite',
84
+ renderer: '@storybook/svelte',
85
+ builder: '@storybook/builder-vite'
86
+ }
87
+ }
88
+ };
89
+ export default Object.assign({}, craTemplates, reactViteTemplates, vue3ViteTemplates, svelteViteTemplates);
@@ -1,78 +1,82 @@
1
1
  // auto generated file, do not edit
2
2
  export default {
3
- '@storybook/addon-a11y': '7.0.0-alpha.23',
4
- '@storybook/addon-actions': '7.0.0-alpha.23',
5
- '@storybook/addon-backgrounds': '7.0.0-alpha.23',
6
- '@storybook/addon-controls': '7.0.0-alpha.23',
7
- '@storybook/addon-docs': '7.0.0-alpha.23',
8
- '@storybook/addon-essentials': '7.0.0-alpha.23',
9
- '@storybook/addon-highlight': '7.0.0-alpha.23',
10
- '@storybook/addon-interactions': '7.0.0-alpha.23',
11
- '@storybook/addon-jest': '7.0.0-alpha.23',
12
- '@storybook/addon-links': '7.0.0-alpha.23',
13
- '@storybook/addon-measure': '7.0.0-alpha.23',
14
- '@storybook/addon-outline': '7.0.0-alpha.23',
15
- '@storybook/addon-storyshots': '7.0.0-alpha.23',
16
- '@storybook/addon-storyshots-puppeteer': '7.0.0-alpha.23',
17
- '@storybook/addon-storysource': '7.0.0-alpha.23',
18
- '@storybook/addon-toolbars': '7.0.0-alpha.23',
19
- '@storybook/addon-viewport': '7.0.0-alpha.23',
20
- '@storybook/addons': '7.0.0-alpha.23',
21
- '@storybook/angular': '7.0.0-alpha.23',
22
- '@storybook/api': '7.0.0-alpha.23',
23
- '@storybook/blocks': '7.0.0-alpha.23',
24
- '@storybook/builder-manager': '7.0.0-alpha.23',
25
- '@storybook/builder-webpack5': '7.0.0-alpha.23',
26
- '@storybook/channel-postmessage': '7.0.0-alpha.23',
27
- '@storybook/channel-websocket': '7.0.0-alpha.23',
28
- '@storybook/channels': '7.0.0-alpha.23',
29
- '@storybook/cli': '7.0.0-alpha.23',
30
- '@storybook/client-api': '7.0.0-alpha.23',
31
- '@storybook/client-logger': '7.0.0-alpha.23',
32
- '@storybook/codemod': '7.0.0-alpha.23',
33
- '@storybook/components': '7.0.0-alpha.23',
34
- '@storybook/core-client': '7.0.0-alpha.23',
35
- '@storybook/core-common': '7.0.0-alpha.23',
36
- '@storybook/core-events': '7.0.0-alpha.23',
37
- '@storybook/core-server': '7.0.0-alpha.23',
38
- '@storybook/core-webpack': '7.0.0-alpha.23',
39
- '@storybook/csf-tools': '7.0.0-alpha.23',
40
- '@storybook/docs-tools': '7.0.0-alpha.23',
41
- '@storybook/ember': '7.0.0-alpha.23',
42
- '@storybook/html': '7.0.0-alpha.23',
43
- '@storybook/html-webpack5': '7.0.0-alpha.23',
44
- '@storybook/instrumenter': '7.0.0-alpha.23',
45
- '@storybook/node-logger': '7.0.0-alpha.23',
46
- '@storybook/postinstall': '7.0.0-alpha.23',
47
- '@storybook/preact': '7.0.0-alpha.23',
48
- '@storybook/preact-webpack5': '7.0.0-alpha.23',
49
- '@storybook/preset-html-webpack': '7.0.0-alpha.23',
50
- '@storybook/preset-preact-webpack': '7.0.0-alpha.23',
51
- '@storybook/preset-react-webpack': '7.0.0-alpha.23',
52
- '@storybook/preset-server-webpack': '7.0.0-alpha.23',
53
- '@storybook/preset-svelte-webpack': '7.0.0-alpha.23',
54
- '@storybook/preset-vue-webpack': '7.0.0-alpha.23',
55
- '@storybook/preset-vue3-webpack': '7.0.0-alpha.23',
56
- '@storybook/preset-web-components-webpack': '7.0.0-alpha.23',
57
- '@storybook/preview-web': '7.0.0-alpha.23',
58
- '@storybook/react': '7.0.0-alpha.23',
59
- '@storybook/react-webpack5': '7.0.0-alpha.23',
60
- '@storybook/router': '7.0.0-alpha.23',
61
- '@storybook/server': '7.0.0-alpha.23',
62
- '@storybook/server-webpack5': '7.0.0-alpha.23',
63
- '@storybook/source-loader': '7.0.0-alpha.23',
64
- '@storybook/store': '7.0.0-alpha.23',
65
- '@storybook/svelte': '7.0.0-alpha.23',
66
- '@storybook/svelte-webpack5': '7.0.0-alpha.23',
67
- '@storybook/telemetry': '7.0.0-alpha.23',
68
- '@storybook/theming': '7.0.0-alpha.23',
69
- '@storybook/ui': '7.0.0-alpha.23',
70
- '@storybook/vue': '7.0.0-alpha.23',
71
- '@storybook/vue-webpack5': '7.0.0-alpha.23',
72
- '@storybook/vue3': '7.0.0-alpha.23',
73
- '@storybook/vue3-webpack5': '7.0.0-alpha.23',
74
- '@storybook/web-components': '7.0.0-alpha.23',
75
- '@storybook/web-components-webpack5': '7.0.0-alpha.23',
76
- sb: '7.0.0-alpha.23',
77
- storybook: '7.0.0-alpha.23'
3
+ '@storybook/addon-a11y': '7.0.0-alpha.26',
4
+ '@storybook/addon-actions': '7.0.0-alpha.26',
5
+ '@storybook/addon-backgrounds': '7.0.0-alpha.26',
6
+ '@storybook/addon-controls': '7.0.0-alpha.26',
7
+ '@storybook/addon-docs': '7.0.0-alpha.26',
8
+ '@storybook/addon-essentials': '7.0.0-alpha.26',
9
+ '@storybook/addon-highlight': '7.0.0-alpha.26',
10
+ '@storybook/addon-interactions': '7.0.0-alpha.26',
11
+ '@storybook/addon-jest': '7.0.0-alpha.26',
12
+ '@storybook/addon-links': '7.0.0-alpha.26',
13
+ '@storybook/addon-measure': '7.0.0-alpha.26',
14
+ '@storybook/addon-outline': '7.0.0-alpha.26',
15
+ '@storybook/addon-storyshots': '7.0.0-alpha.26',
16
+ '@storybook/addon-storyshots-puppeteer': '7.0.0-alpha.26',
17
+ '@storybook/addon-storysource': '7.0.0-alpha.26',
18
+ '@storybook/addon-toolbars': '7.0.0-alpha.26',
19
+ '@storybook/addon-viewport': '7.0.0-alpha.26',
20
+ '@storybook/addons': '7.0.0-alpha.26',
21
+ '@storybook/angular': '7.0.0-alpha.26',
22
+ '@storybook/api': '7.0.0-alpha.26',
23
+ '@storybook/blocks': '7.0.0-alpha.26',
24
+ '@storybook/builder-manager': '7.0.0-alpha.26',
25
+ '@storybook/builder-vite': '7.0.0-alpha.26',
26
+ '@storybook/builder-webpack5': '7.0.0-alpha.26',
27
+ '@storybook/channel-postmessage': '7.0.0-alpha.26',
28
+ '@storybook/channel-websocket': '7.0.0-alpha.26',
29
+ '@storybook/channels': '7.0.0-alpha.26',
30
+ '@storybook/cli': '7.0.0-alpha.26',
31
+ '@storybook/client-api': '7.0.0-alpha.26',
32
+ '@storybook/client-logger': '7.0.0-alpha.26',
33
+ '@storybook/codemod': '7.0.0-alpha.26',
34
+ '@storybook/components': '7.0.0-alpha.26',
35
+ '@storybook/core-client': '7.0.0-alpha.26',
36
+ '@storybook/core-common': '7.0.0-alpha.26',
37
+ '@storybook/core-events': '7.0.0-alpha.26',
38
+ '@storybook/core-server': '7.0.0-alpha.26',
39
+ '@storybook/core-webpack': '7.0.0-alpha.26',
40
+ '@storybook/csf-tools': '7.0.0-alpha.26',
41
+ '@storybook/docs-tools': '7.0.0-alpha.26',
42
+ '@storybook/ember': '7.0.0-alpha.26',
43
+ '@storybook/html': '7.0.0-alpha.26',
44
+ '@storybook/html-webpack5': '7.0.0-alpha.26',
45
+ '@storybook/instrumenter': '7.0.0-alpha.26',
46
+ '@storybook/node-logger': '7.0.0-alpha.26',
47
+ '@storybook/postinstall': '7.0.0-alpha.26',
48
+ '@storybook/preact': '7.0.0-alpha.26',
49
+ '@storybook/preact-webpack5': '7.0.0-alpha.26',
50
+ '@storybook/preset-html-webpack': '7.0.0-alpha.26',
51
+ '@storybook/preset-preact-webpack': '7.0.0-alpha.26',
52
+ '@storybook/preset-react-webpack': '7.0.0-alpha.26',
53
+ '@storybook/preset-server-webpack': '7.0.0-alpha.26',
54
+ '@storybook/preset-svelte-webpack': '7.0.0-alpha.26',
55
+ '@storybook/preset-vue-webpack': '7.0.0-alpha.26',
56
+ '@storybook/preset-vue3-webpack': '7.0.0-alpha.26',
57
+ '@storybook/preset-web-components-webpack': '7.0.0-alpha.26',
58
+ '@storybook/preview-web': '7.0.0-alpha.26',
59
+ '@storybook/react': '7.0.0-alpha.26',
60
+ '@storybook/react-vite': '7.0.0-alpha.26',
61
+ '@storybook/react-webpack5': '7.0.0-alpha.26',
62
+ '@storybook/router': '7.0.0-alpha.26',
63
+ '@storybook/server': '7.0.0-alpha.26',
64
+ '@storybook/server-webpack5': '7.0.0-alpha.26',
65
+ '@storybook/source-loader': '7.0.0-alpha.26',
66
+ '@storybook/store': '7.0.0-alpha.26',
67
+ '@storybook/svelte': '7.0.0-alpha.26',
68
+ '@storybook/svelte-vite': '7.0.0-alpha.26',
69
+ '@storybook/svelte-webpack5': '7.0.0-alpha.26',
70
+ '@storybook/telemetry': '7.0.0-alpha.26',
71
+ '@storybook/theming': '7.0.0-alpha.26',
72
+ '@storybook/ui': '7.0.0-alpha.26',
73
+ '@storybook/vue': '7.0.0-alpha.26',
74
+ '@storybook/vue-webpack5': '7.0.0-alpha.26',
75
+ '@storybook/vue3': '7.0.0-alpha.26',
76
+ '@storybook/vue3-vite': '7.0.0-alpha.26',
77
+ '@storybook/vue3-webpack5': '7.0.0-alpha.26',
78
+ '@storybook/web-components': '7.0.0-alpha.26',
79
+ '@storybook/web-components-webpack5': '7.0.0-alpha.26',
80
+ sb: '7.0.0-alpha.26',
81
+ storybook: '7.0.0-alpha.26'
78
82
  };
@@ -14,8 +14,8 @@ export declare abstract class JsPackageManager {
14
14
  abstract initPackageJson(): void;
15
15
  abstract getRunStorybookCommand(): string;
16
16
  abstract getRunCommand(command: string): string;
17
- abstract setRegistryURL(url: string): void;
18
- abstract getRegistryURL(): string;
17
+ setRegistryURL(url: string): void;
18
+ getRegistryURL(): string;
19
19
  readonly cwd?: string;
20
20
  constructor(options?: JsPackageManagerOptions);
21
21
  /**
@@ -13,8 +13,6 @@ export declare class NPMProxy extends JsPackageManager {
13
13
  needsLegacyPeerDeps(version: string): boolean;
14
14
  getInstallArgs(): string[];
15
15
  getUninstallArgs(): string[];
16
- setRegistryURL(url: string): void;
17
- getRegistryURL(): string;
18
16
  protected getResolutions(packageJson: PackageJson, versions: Record<string, string>): {
19
17
  overrides: any;
20
18
  };
@@ -5,8 +5,6 @@ export declare class Yarn1Proxy extends JsPackageManager {
5
5
  initPackageJson(): string;
6
6
  getRunStorybookCommand(): string;
7
7
  getRunCommand(command: string): string;
8
- setRegistryURL(url: string): void;
9
- getRegistryURL(): string;
10
8
  protected getResolutions(packageJson: PackageJson, versions: Record<string, string>): {
11
9
  resolutions: {
12
10
  [x: string]: string;
@@ -5,8 +5,6 @@ export declare class Yarn2Proxy extends JsPackageManager {
5
5
  initPackageJson(): string;
6
6
  getRunStorybookCommand(): string;
7
7
  getRunCommand(command: string): string;
8
- setRegistryURL(url: string): void;
9
- getRegistryURL(): string;
10
8
  protected getResolutions(packageJson: PackageJson, versions: Record<string, string>): {
11
9
  resolutions: {
12
10
  [x: string]: string;
@@ -1,22 +1,82 @@
1
1
  declare const _default: {
2
+ readonly 'svelte-vite/default-js': {
3
+ name: string;
4
+ script: string;
5
+ cadence: string[];
6
+ expected: {
7
+ framework: string;
8
+ renderer: string;
9
+ builder: string;
10
+ };
11
+ };
12
+ readonly 'svelte-vite/default-ts': {
13
+ name: string;
14
+ script: string;
15
+ cadence: string[];
16
+ expected: {
17
+ framework: string;
18
+ renderer: string;
19
+ builder: string;
20
+ };
21
+ };
22
+ readonly 'vue3-vite/default-js': {
23
+ name: string;
24
+ script: string;
25
+ cadence: string[];
26
+ expected: {
27
+ framework: string;
28
+ renderer: string;
29
+ builder: string;
30
+ };
31
+ };
32
+ readonly 'vue3-vite/default-ts': {
33
+ name: string;
34
+ script: string;
35
+ cadence: string[];
36
+ expected: {
37
+ framework: string;
38
+ renderer: string;
39
+ builder: string;
40
+ };
41
+ };
42
+ readonly 'react-vite/default-js': {
43
+ name: string;
44
+ script: string;
45
+ cadence: string[];
46
+ expected: {
47
+ framework: string;
48
+ renderer: string;
49
+ builder: string;
50
+ };
51
+ };
52
+ readonly 'react-vite/default-ts': {
53
+ name: string;
54
+ script: string;
55
+ cadence: string[];
56
+ expected: {
57
+ framework: string;
58
+ renderer: string;
59
+ builder: string;
60
+ };
61
+ };
2
62
  readonly 'cra/default-js': {
3
- readonly name: "Create React App (Javascript)";
4
- readonly script: "npx create-react-app .";
5
- readonly cadence: readonly ["ci", "daily", "weekly"];
6
- readonly expected: {
7
- readonly framework: "@storybook/cra";
8
- readonly renderer: "@storybook/react";
9
- readonly builder: "@storybook/builder-webpack5";
63
+ name: string;
64
+ script: string;
65
+ cadence: string[];
66
+ expected: {
67
+ framework: string;
68
+ renderer: string;
69
+ builder: string;
10
70
  };
11
71
  };
12
72
  readonly 'cra/default-ts': {
13
- readonly name: "Create React App (Typescript)";
14
- readonly script: "npx create-react-app . --template typescript";
15
- readonly cadence: readonly ["ci", "daily", "weekly"];
16
- readonly expected: {
17
- readonly framework: "@storybook/cra";
18
- readonly renderer: "@storybook/react";
19
- readonly builder: "@storybook/builder-webpack5";
73
+ name: string;
74
+ script: string;
75
+ cadence: string[];
76
+ expected: {
77
+ framework: string;
78
+ renderer: string;
79
+ builder: string;
20
80
  };
21
81
  };
22
82
  };
@@ -21,6 +21,7 @@ declare const _default: {
21
21
  '@storybook/api': string;
22
22
  '@storybook/blocks': string;
23
23
  '@storybook/builder-manager': string;
24
+ '@storybook/builder-vite': string;
24
25
  '@storybook/builder-webpack5': string;
25
26
  '@storybook/channel-postmessage': string;
26
27
  '@storybook/channel-websocket': string;
@@ -55,6 +56,7 @@ declare const _default: {
55
56
  '@storybook/preset-web-components-webpack': string;
56
57
  '@storybook/preview-web': string;
57
58
  '@storybook/react': string;
59
+ '@storybook/react-vite': string;
58
60
  '@storybook/react-webpack5': string;
59
61
  '@storybook/router': string;
60
62
  '@storybook/server': string;
@@ -62,6 +64,7 @@ declare const _default: {
62
64
  '@storybook/source-loader': string;
63
65
  '@storybook/store': string;
64
66
  '@storybook/svelte': string;
67
+ '@storybook/svelte-vite': string;
65
68
  '@storybook/svelte-webpack5': string;
66
69
  '@storybook/telemetry': string;
67
70
  '@storybook/theming': string;
@@ -69,6 +72,7 @@ declare const _default: {
69
72
  '@storybook/vue': string;
70
73
  '@storybook/vue-webpack5': string;
71
74
  '@storybook/vue3': string;
75
+ '@storybook/vue3-vite': string;
72
76
  '@storybook/vue3-webpack5': string;
73
77
  '@storybook/web-components': string;
74
78
  '@storybook/web-components-webpack5': string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/cli",
3
- "version": "7.0.0-alpha.23",
3
+ "version": "7.0.0-alpha.26",
4
4
  "description": "Storybook's CLI - easiest method of adding storybook to your projects",
5
5
  "keywords": [
6
6
  "cli",
@@ -22,13 +22,6 @@
22
22
  },
23
23
  "license": "MIT",
24
24
  "author": "Storybook Team",
25
- "typesVersions": {
26
- "<3.8": {
27
- "*": [
28
- "ts3.4/*"
29
- ]
30
- }
31
- },
32
25
  "bin": {
33
26
  "getstorybook": "./bin/index.js",
34
27
  "sb": "./bin/index.js"
@@ -48,13 +41,13 @@
48
41
  "dependencies": {
49
42
  "@babel/core": "^7.12.10",
50
43
  "@babel/preset-env": "^7.12.11",
51
- "@storybook/codemod": "7.0.0-alpha.23",
52
- "@storybook/core-common": "7.0.0-alpha.23",
53
- "@storybook/core-server": "7.0.0-alpha.23",
54
- "@storybook/csf-tools": "7.0.0-alpha.23",
55
- "@storybook/node-logger": "7.0.0-alpha.23",
44
+ "@storybook/codemod": "7.0.0-alpha.26",
45
+ "@storybook/core-common": "7.0.0-alpha.26",
46
+ "@storybook/core-server": "7.0.0-alpha.26",
47
+ "@storybook/csf-tools": "7.0.0-alpha.26",
48
+ "@storybook/node-logger": "7.0.0-alpha.26",
56
49
  "@storybook/semver": "^7.3.2",
57
- "@storybook/telemetry": "7.0.0-alpha.23",
50
+ "@storybook/telemetry": "7.0.0-alpha.26",
58
51
  "boxen": "^5.1.2",
59
52
  "chalk": "^4.1.0",
60
53
  "commander": "^6.2.1",
@@ -81,7 +74,7 @@
81
74
  "update-notifier": "^5.0.1"
82
75
  },
83
76
  "devDependencies": {
84
- "@storybook/client-api": "7.0.0-alpha.23",
77
+ "@storybook/client-api": "7.0.0-alpha.26",
85
78
  "@types/cross-spawn": "^6.0.2",
86
79
  "@types/degit": "^2.8.3",
87
80
  "@types/prompts": "^2.0.9",
@@ -96,5 +89,5 @@
96
89
  "publishConfig": {
97
90
  "access": "public"
98
91
  },
99
- "gitHead": "0900e20acfbc12551c6a3f788b8de5dd6af5f80a"
92
+ "gitHead": "e5c9cfe1d0482132e59734d9cfce57477045914f"
100
93
  }