UNPKG

@nx/cypress

Version:

The Nx Plugin for Cypress contains executors and generators allowing your workspace to use the powerful Cypress integration testing capabilities.

73 lines (72 loc) 3.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.htmlWebpackPluginVersion = exports.viteVersion = exports.cypressWebpackVersion = exports.cypressVersion = exports.cypressViteDevServerVersion = exports.typesNodeVersion = exports.eslintPluginCypressVersion = exports.minSupportedCypressVersion = exports.nxVersion = void 0; exports.versions = versions; exports.getInstalledCypressVersion = getInstalledCypressVersion; exports.getInstalledCypressMajorVersion = getInstalledCypressMajorVersion; exports.assertMinimumCypressVersion = assertMinimumCypressVersion; const internal_1 = require("@nx/devkit/internal"); const path_1 = require("path"); const semver_1 = require("semver"); exports.nxVersion = require((0, path_1.join)('@nx/cypress', 'package.json')).version; exports.minSupportedCypressVersion = '13.0.0'; exports.eslintPluginCypressVersion = '^3.5.0'; exports.typesNodeVersion = '^22.0.0'; exports.cypressViteDevServerVersion = '^7.3.1'; exports.cypressVersion = '^15.17.0'; exports.cypressWebpackVersion = '^5.4.1'; exports.viteVersion = '^6.0.0'; exports.htmlWebpackPluginVersion = '^5.5.0'; const latestVersions = { eslintPluginCypressVersion: exports.eslintPluginCypressVersion, typesNodeVersion: exports.typesNodeVersion, cypressViteDevServerVersion: exports.cypressViteDevServerVersion, cypressVersion: exports.cypressVersion, cypressWebpackVersion: exports.cypressWebpackVersion, viteVersion: exports.viteVersion, htmlWebpackPluginVersion: exports.htmlWebpackPluginVersion, }; const versionMap = { 13: { eslintPluginCypressVersion: '^3.5.0', typesNodeVersion: '^22.0.0', cypressViteDevServerVersion: '^2.2.1', cypressVersion: '^13.13.0', cypressWebpackVersion: '^3.8.0', viteVersion: '~5.0.0', htmlWebpackPluginVersion: '^5.5.0', }, 14: { eslintPluginCypressVersion: '^3.5.0', typesNodeVersion: '^22.0.0', cypressViteDevServerVersion: '^6.0.3', cypressVersion: '^14.2.1', cypressWebpackVersion: '^4.0.2', viteVersion: '^6.0.0', htmlWebpackPluginVersion: '^5.5.0', }, }; function versions(tree) { const installedCypressVersion = getInstalledCypressVersion(tree); if (!installedCypressVersion) { return latestVersions; } const cypressMajorVersion = (0, semver_1.major)(installedCypressVersion); return versionMap[cypressMajorVersion] ?? latestVersions; } function getInstalledCypressVersion(tree) { if (!tree) { return (0, internal_1.getInstalledPackageVersion)('cypress'); } return (0, internal_1.getDeclaredPackageVersion)(tree, 'cypress'); } function getInstalledCypressMajorVersion(tree) { const installedCypressVersion = getInstalledCypressVersion(tree); return installedCypressVersion ? (0, semver_1.major)(installedCypressVersion) : null; } function assertMinimumCypressVersion(minVersion, tree) { const version = getInstalledCypressMajorVersion(tree); if (version && version < minVersion) { throw new Error(`Cypress version of ${minVersion} or higher is not installed. Expected Cypress v${minVersion}+, found Cypress v${version} instead.`); } }