UNPKG

@nx/vite

Version:

The Nx Plugin for building and testing applications using Vite

51 lines (50 loc) 2.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getVitestDependenciesVersionsToInstall = getVitestDependenciesVersionsToInstall; exports.isVitestV1 = isVitestV1; exports.getInstalledVitestVersion = getInstalledVitestVersion; exports.getInstalledVitestVersionFromGraph = getInstalledVitestVersionFromGraph; const versions_1 = require("./versions"); const semver_1 = require("semver"); const devkit_1 = require("@nx/devkit"); async function getVitestDependenciesVersionsToInstall(tree) { if (await isVitestV1(tree)) { return { vitest: versions_1.vitestV1Version, vitestCoverageV8: versions_1.vitestV1CoverageV8Version, vitestCoverageIstanbul: versions_1.vitestV1CoverageIstanbulVersion, }; } else { return { vitest: versions_1.vitestVersion, vitestCoverageV8: versions_1.vitestCoverageV8Version, vitestCoverageIstanbul: versions_1.vitestCoverageIstanbulVersion, }; } } async function isVitestV1(tree) { let installedVitestVersion = await getInstalledVitestVersionFromGraph(); if (!installedVitestVersion) { installedVitestVersion = getInstalledVitestVersion(tree); } return (0, semver_1.major)(installedVitestVersion) === 1; } function getInstalledVitestVersion(tree) { const pkgJson = (0, devkit_1.readJson)(tree, 'package.json'); const installedVitestVersion = pkgJson.dependencies && pkgJson.dependencies['vitest']; if (!installedVitestVersion || installedVitestVersion === 'latest' || installedVitestVersion === 'beta') { return (0, semver_1.clean)(versions_1.vitestVersion) ?? (0, semver_1.coerce)(versions_1.vitestVersion).version; } return ((0, semver_1.clean)(installedVitestVersion) ?? (0, semver_1.coerce)(installedVitestVersion).version); } async function getInstalledVitestVersionFromGraph() { const graph = await (0, devkit_1.createProjectGraphAsync)(); const vitestDep = graph.externalNodes?.['npm:vitest']; if (!vitestDep) { return undefined; } return ((0, semver_1.clean)(vitestDep.data.version) ?? (0, semver_1.coerce)(vitestDep.data.version).version); }