@nx/next
Version:
29 lines (28 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getInstalledNextVersionRuntime = getInstalledNextVersionRuntime;
const semver_1 = require("semver");
const devkit_1 = require("@nx/devkit");
/**
* Get the installed Next.js major version at runtime without requiring a Tree object.
* This is useful for executors that need to detect the Next.js version during execution.
*
* @returns The major version number of the installed Next.js package, or null if not found
*/
function getInstalledNextVersionRuntime() {
try {
const nextPackageJsonPath = require.resolve('next/package.json', {
paths: [process.cwd()],
});
const nextPackageJson = (0, devkit_1.readJsonFile)(nextPackageJsonPath);
const cleanedVersion = (0, semver_1.clean)(nextPackageJson.version) ??
(0, semver_1.coerce)(nextPackageJson.version)?.version;
if (!cleanedVersion) {
return null;
}
return (0, semver_1.major)(cleanedVersion);
}
catch {
return null;
}
}