@nx/storybook
Version:
58 lines (57 loc) • 2.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.coreJsVersion = exports.viteVersion = exports.reactVersion = exports.storybookVersion = exports.minSupportedStorybookVersion = exports.tsLibVersion = exports.tsNodeVersion = exports.litVersion = exports.nxVersion = void 0;
exports.versions = versions;
exports.storybookMajorVersion = storybookMajorVersion;
exports.getInstalledStorybookVersion = getInstalledStorybookVersion;
const devkit_1 = require("@nx/devkit");
const semver_1 = require("semver");
const path_1 = require("path");
exports.nxVersion = require((0, path_1.join)('@nx/storybook', 'package.json')).version;
exports.litVersion = '^2.6.1';
exports.tsNodeVersion = '10.9.1';
exports.tsLibVersion = '^2.3.0';
exports.minSupportedStorybookVersion = '8.0.0';
// Fresh-install default. Latest supported major.
exports.storybookVersion = '^10.5.0';
exports.reactVersion = '^18.2.0';
exports.viteVersion = '^6.0.0';
exports.coreJsVersion = '^3.36.1';
const latestVersions = {
storybookVersion: exports.storybookVersion,
};
const versionMap = {
8: { storybookVersion: '^8.6.11' },
9: { storybookVersion: '^9.0.5' },
10: { storybookVersion: '^10.5.0' },
};
function versions(tree) {
const installedStorybookMajor = storybookMajorVersion(tree);
if (installedStorybookMajor === undefined) {
return latestVersions;
}
return (versionMap[installedStorybookMajor] ?? latestVersions);
}
function storybookMajorVersion(tree) {
const installedVersion = getInstalledStorybookVersion(tree);
if (!installedVersion) {
return undefined;
}
const coerced = (0, semver_1.coerce)(installedVersion);
return coerced ? (0, semver_1.major)(coerced) : undefined;
}
function getInstalledStorybookVersion(tree) {
if (tree) {
const declared = (0, devkit_1.getDependencyVersionFromPackageJson)(tree, 'storybook');
if (declared) {
return declared;
}
}
// Fall back to resolving from disk when no tree declaration is available.
try {
return require((0, path_1.join)('storybook', 'package.json')).version;
}
catch {
return undefined;
}
}