@eagleoutice/flowr-dev
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
29 lines • 1.24 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.supportedNodeVersions = supportedNodeVersions;
exports.minimumNodeMajor = minimumNodeMajor;
/**
* The node version flowR requires, taken from the `engines.node` field of the package.json so that the
* package manager, the setup script, and the documentation all state the same thing.
* @module
*/
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
let cached = undefined;
/** The `engines.node` range of the package.json, e.g. `>=22`. */
function supportedNodeVersions() {
if (cached === undefined) {
const raw = fs_1.default.readFileSync(path_1.default.join(__dirname, '..', '..', 'package.json'), 'utf-8');
const { engines } = JSON.parse(raw);
cached = engines?.node ?? '>=22';
}
return cached;
}
/** The oldest major node version flowR runs on, derived from {@link supportedNodeVersions}. */
function minimumNodeMajor() {
return Number(/\d+/.exec(supportedNodeVersions())?.[0] ?? 22);
}
//# sourceMappingURL=node-version.js.map