@nx/detox
Version:
29 lines (28 loc) • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getInstalledExpoVersion = getInstalledExpoVersion;
exports.isExpoV54OrAbove = isExpoV54OrAbove;
const devkit_1 = require("@nx/devkit");
const semver_1 = require("semver");
/**
* Get the installed Expo version from package.json.
*/
function getInstalledExpoVersion(tree) {
const installedExpoVersion = (0, devkit_1.getDependencyVersionFromPackageJson)(tree, 'expo');
if (!installedExpoVersion ||
installedExpoVersion === 'latest' ||
installedExpoVersion === 'beta') {
return null;
}
return ((0, semver_1.clean)(installedExpoVersion) ?? (0, semver_1.coerce)(installedExpoVersion)?.version ?? null);
}
/**
* Check if the workspace is using Expo v54 or above.
*/
function isExpoV54OrAbove(tree) {
const installedExpoVersion = getInstalledExpoVersion(tree);
if (!installedExpoVersion) {
return true; // No Expo installed or new project, default to latest (v54+)
}
return (0, semver_1.major)(installedExpoVersion) >= 54;
}