|
1 | | -import { lt, gte } from '@storybook/semver'; |
| 1 | +import { validRange, minVersion } from '@storybook/semver'; |
| 2 | + |
| 3 | +function ltMajor(versionRange: string, major: number) { |
| 4 | + // Uses validRange to avoid a throw from minVersion if an invalid range gets passed |
| 5 | + return validRange(versionRange) && minVersion(versionRange).major < major; |
| 6 | +} |
| 7 | + |
| 8 | +function eqMajor(versionRange: string, major: number) { |
| 9 | + // Uses validRange to avoid a throw from minVersion if an invalid range gets passed |
| 10 | + return validRange(versionRange) && minVersion(versionRange).major === major; |
| 11 | +} |
2 | 12 |
|
3 | 13 | // Should match @storybook/<framework> |
4 | 14 | export type SupportedFrameworks = |
@@ -118,8 +128,8 @@ export const supportedTemplates: TemplateConfiguration[] = [ |
118 | 128 | // The Vue template only works with Vue or Nuxt under v3 |
119 | 129 | // In a future update, a new Vue3 template will be added |
120 | 130 | dependencies: { |
121 | | - vue: (version) => lt(version, '3.0.0'), |
122 | | - nuxt: (version) => lt(version, '3.0.0'), |
| 131 | + vue: (versionRange) => ltMajor(versionRange, 3), |
| 132 | + nuxt: (versionRange) => ltMajor(versionRange, 3), |
123 | 133 | }, |
124 | 134 | matcherFunction: ({ dependencies }) => { |
125 | 135 | return dependencies.some(Boolean); |
@@ -249,9 +259,9 @@ export const unsupportedTemplate: TemplateConfiguration = { |
249 | 259 | preset: ProjectType.UNSUPPORTED, |
250 | 260 | dependencies: { |
251 | 261 | // TODO(blaine): Remove when we support Vue 3 |
252 | | - vue: (version) => version === 'next' || gte(version, '3.0.0'), |
| 262 | + vue: (versionRange) => versionRange === 'next' || eqMajor(versionRange, 3), |
253 | 263 | // TODO(blaine): Remove when we support Vue 3 |
254 | | - nuxt: (version) => gte(version, '3.0.0'), |
| 264 | + nuxt: (versionRange) => eqMajor(versionRange, 3), |
255 | 265 | }, |
256 | 266 | matcherFunction: ({ dependencies }) => { |
257 | 267 | return dependencies.some(Boolean); |
|
0 commit comments