UNPKG

@nx/nuxt

Version:

The Nuxt plugin for Nx contains executors and generators for managing Nuxt applications and libraries within an Nx workspace. It provides: - Integration with libraries such as Vitest, Playwright, Cypress, and Storybook. - Generators for applications, l

86 lines (85 loc) 3.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getNuxtDependenciesVersionsToInstall = getNuxtDependenciesVersionsToInstall; exports.isNuxtV3 = isNuxtV3; exports.isNuxtV4 = isNuxtV4; exports.getInstalledNuxtVersion = getInstalledNuxtVersion; exports.getInstalledNuxtMajorVersion = getInstalledNuxtMajorVersion; exports.getInstalledNuxtVersionFromGraph = getInstalledNuxtVersionFromGraph; const devkit_1 = require("@nx/devkit"); const semver_1 = require("semver"); const versions_1 = require("./versions"); async function getNuxtDependenciesVersionsToInstall(tree) { if (await isNuxtV3(tree)) { return { nuxt: versions_1.nuxtV3Version, nuxtKit: versions_1.nuxtKitV3Version, h3: versions_1.h3Version, nuxtDevtools: versions_1.nuxtDevtoolsV3Version, nuxtUiTemplates: versions_1.nuxtUiTemplatesVersion, }; } else { // Default to latest (v4) return { nuxt: versions_1.nuxtVersion, nuxtKit: versions_1.nuxtKitVersion, h3: versions_1.h3Version, nuxtDevtools: versions_1.nuxtDevtoolsVersion, nuxtUiTemplates: versions_1.nuxtUiTemplatesVersion, }; } } async function isNuxtV3(tree) { let installedNuxtVersion = await getInstalledNuxtVersionFromGraph(); if (!installedNuxtVersion) { installedNuxtVersion = getInstalledNuxtVersion(tree); } if (!installedNuxtVersion) { return false; // No Nuxt installed, default to v4 } return (0, semver_1.major)(installedNuxtVersion) === 3; } async function isNuxtV4(tree) { let installedNuxtVersion = await getInstalledNuxtVersionFromGraph(); if (!installedNuxtVersion) { installedNuxtVersion = getInstalledNuxtVersion(tree); } if (!installedNuxtVersion) { return true; // No Nuxt installed, default to v4 } return (0, semver_1.major)(installedNuxtVersion) >= 4; } function getInstalledNuxtVersion(tree) { const installedNuxtVersion = (0, devkit_1.getDependencyVersionFromPackageJson)(tree, 'nuxt'); if (!installedNuxtVersion || installedNuxtVersion === 'latest' || installedNuxtVersion === 'beta') { return undefined; } return (0, semver_1.clean)(installedNuxtVersion) ?? (0, semver_1.coerce)(installedNuxtVersion)?.version; } function getInstalledNuxtMajorVersion(tree) { const installedNuxtVersion = getInstalledNuxtVersion(tree); if (!installedNuxtVersion) { return undefined; } const installedMajor = (0, semver_1.major)(installedNuxtVersion); if (installedMajor < 3 || installedMajor > 4) { return undefined; } return installedMajor; } async function getInstalledNuxtVersionFromGraph() { try { const graph = await (0, devkit_1.createProjectGraphAsync)(); const nuxtDep = graph.externalNodes?.['npm:nuxt']; if (!nuxtDep) { return undefined; } return (0, semver_1.clean)(nuxtDep.data.version) ?? (0, semver_1.coerce)(nuxtDep.data.version)?.version; } catch { return undefined; } }