UNPKG

@nx/rsbuild

Version:

The Nx Plugin for Rsbuild contains an Nx plugin, executors and utilities that support building applications using Rsbuild.

54 lines (53 loc) 2.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getInstalledRsbuildMajorVersion = getInstalledRsbuildMajorVersion; exports.getInstalledRsbuildVersionRuntime = getInstalledRsbuildVersionRuntime; exports.getRsbuildVersionsForInstalledMajor = getRsbuildVersionsForInstalledMajor; const internal_1 = require("@nx/devkit/internal"); const semver_1 = require("semver"); const versions_1 = require("./versions"); const RSBUILD_CORE_PACKAGE = '@rsbuild/core'; /** * Returns the declared @rsbuild/core major version from the workspace's * package.json when it matches a supported major, or `undefined` otherwise * (fresh install, dist tag, unknown major). Below-floor enforcement is * handled at generator entry points via `assertSupportedRsbuildVersion`. */ function getInstalledRsbuildMajorVersion(tree) { const declared = (0, internal_1.getDeclaredPackageVersion)(tree, RSBUILD_CORE_PACKAGE); if (!declared) { return undefined; } const installedMajor = (0, semver_1.major)(declared); return installedMajor in versions_1.backwardCompatibleRsbuildVersions ? installedMajor : undefined; } /** * Returns the installed @rsbuild/core major version resolved at runtime from * node_modules. For use in executors and runtime code where no Tree is * available. Returns `null` when @rsbuild/core can't be resolved or the * installed major isn't supported. */ function getInstalledRsbuildVersionRuntime() { const version = (0, internal_1.getInstalledPackageVersion)(RSBUILD_CORE_PACKAGE); if (!version) { return null; } const installedMajor = (0, semver_1.major)(version); return installedMajor in versions_1.backwardCompatibleRsbuildVersions ? installedMajor : null; } /** * Returns the version-map entry for the installed major, falling back to the * latest supported map when no installed version is detected (fresh install) * or the detected major is outside the supported window. */ function getRsbuildVersionsForInstalledMajor(tree) { const installed = getInstalledRsbuildMajorVersion(tree); if (installed === undefined) { return versions_1.latestRsbuildVersions; } return versions_1.backwardCompatibleRsbuildVersions[installed]; }