UNPKG

2.86 kBJavaScriptView Raw
1var __create = Object.create;
2var __defProp = Object.defineProperty;
3var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4var __getOwnPropNames = Object.getOwnPropertyNames;
5var __getProtoOf = Object.getPrototypeOf;
6var __hasOwnProp = Object.prototype.hasOwnProperty;
7var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8var __export = (target, all) => {
9 __markAsModule(target);
10 for (var name in all)
11 __defProp(target, name, { get: all[name], enumerable: true });
12};
13var __reExport = (target, module2, desc) => {
14 if (module2 && typeof module2 === "object" || typeof module2 === "function") {
15 for (let key of __getOwnPropNames(module2))
16 if (!__hasOwnProp.call(target, key) && key !== "default")
17 __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
18 }
19 return target;
20};
21var __toModule = (module2) => {
22 return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
23};
24__export(exports, {
25 exec: () => exec,
26 formatVersion: () => formatVersion,
27 matchVersion: () => matchVersion
28});
29var import_child_process = __toModule(require("child_process"));
30const exec = (options) => {
31 const { cmd, baseDir, timeout } = options;
32 return new Promise((resolved, rejected) => {
33 let timeoutHandler;
34 if (timeout) {
35 timeoutHandler = setTimeout(() => {
36 rejected("timeout");
37 }, timeout);
38 }
39 const execProcess = (0, import_child_process.exec)(cmd, {
40 cwd: baseDir
41 }, (err, result) => {
42 clearTimeout(timeoutHandler);
43 if (err) {
44 return rejected(err);
45 }
46 resolved(result);
47 });
48 execProcess.stdout.on("data", (data) => {
49 });
50 });
51};
52const formatVersion = (version) => {
53 const versionParts = version.replace(/[^\d\.]/g, "").split(".");
54 const versionInfo = {
55 version,
56 major: +(versionParts[0] || 0),
57 minor: +(versionParts[1] || 0),
58 pacth: +(versionParts[2] || 0),
59 tag: ["beta", "alpha"].find((tag) => version.includes(tag)),
60 score: 0
61 };
62 versionInfo.score = versionInfo.major * 1e12 + versionInfo.minor * 1e6 + versionInfo.pacth;
63 return versionInfo;
64};
65const matchVersion = (version, matchRule) => {
66 const rule = matchRule.replace(/[^\d\.]/g, "").split(".");
67 if (rule[0] && version.major !== +rule[0]) {
68 return false;
69 }
70 if (rule[1] && version.minor !== +rule[1]) {
71 return false;
72 }
73 if (rule[2] && version.pacth !== +rule[2]) {
74 return false;
75 }
76 return true;
77};
78// Annotate the CommonJS export names for ESM import in node:
790 && (module.exports = {
80 exec,
81 formatVersion,
82 matchVersion
83});