@hot-updater/plugin-core 1.0.0-rc.0 → 1.0.0-rc.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.cjs +1 -1
- package/dist/assetStorageLayout.cjs +4 -2
- package/dist/assetStorageLayout.d.cts +5 -24
- package/dist/assetStorageLayout.d.mts +5 -24
- package/dist/assetStorageLayout.mjs +4 -2
- package/dist/calculatePagination.d.cts +0 -1
- package/dist/calculatePagination.d.mts +0 -1
- package/dist/compressionFormat.cjs +12 -5
- package/dist/compressionFormat.d.cts +1 -1
- package/dist/compressionFormat.d.mts +1 -1
- package/dist/compressionFormat.mjs +11 -4
- package/dist/contentAddressedAssets.d.cts +1 -4
- package/dist/contentAddressedAssets.d.mts +1 -4
- package/dist/createDatabasePlugin.cjs +116 -42
- package/dist/createDatabasePlugin.d.cts +3 -1
- package/dist/createDatabasePlugin.d.mts +3 -1
- package/dist/createDatabasePlugin.mjs +116 -43
- package/dist/createStoragePlugin.d.cts +0 -1
- package/dist/createStoragePlugin.d.mts +0 -1
- package/dist/databaseClient.cjs +6 -1
- package/dist/databaseClient.d.cts +1 -2
- package/dist/databaseClient.d.mts +1 -2
- package/dist/databaseClient.mjs +6 -2
- package/dist/databaseClientReads.cjs +3 -1
- package/dist/databaseClientReads.mjs +3 -2
- package/dist/databaseClientUpdates.cjs +2 -1
- package/dist/databaseClientUpdates.d.cts +1 -1
- package/dist/databaseClientUpdates.d.mts +1 -1
- package/dist/databaseClientUpdates.mjs +2 -0
- package/dist/databaseJsonValue.cjs +4 -0
- package/dist/databaseJsonValue.d.cts +4 -2
- package/dist/databaseJsonValue.d.mts +4 -2
- package/dist/databaseJsonValue.mjs +2 -1
- package/dist/databaseMetadata.cjs +0 -1
- package/dist/databasePluginCrud.cjs +1 -0
- package/dist/databasePluginCrud.d.cts +4 -1
- package/dist/databasePluginCrud.d.mts +4 -1
- package/dist/databasePluginCrud.mjs +1 -1
- package/dist/databasePluginCrudValidation.d.cts +6 -1
- package/dist/databasePluginCrudValidation.d.mts +6 -1
- package/dist/databasePluginCrudValidationErrors.cjs +1 -0
- package/dist/databasePluginCrudValidationErrors.mjs +1 -0
- package/dist/databasePluginCrudValidationFields.cjs +21 -19
- package/dist/databasePluginCrudValidationFields.d.cts +1 -1
- package/dist/databasePluginCrudValidationFields.d.mts +1 -1
- package/dist/databasePluginCrudValidationFields.mjs +20 -20
- package/dist/databasePluginCrudValidationMutations.cjs +1 -1
- package/dist/databasePluginCrudValidationMutations.d.cts +1 -1
- package/dist/databasePluginCrudValidationMutations.d.mts +1 -1
- package/dist/databasePluginCrudValidationMutations.mjs +1 -1
- package/dist/databasePluginCrudValidationQueries.d.cts +2 -1
- package/dist/databasePluginCrudValidationQueries.d.mts +2 -1
- package/dist/databasePluginCrudValidationRows.cjs +2 -2
- package/dist/databasePluginCrudValidationRows.d.cts +1 -1
- package/dist/databasePluginCrudValidationRows.d.mts +1 -1
- package/dist/databasePluginCrudValidationRows.mjs +2 -2
- package/dist/databaseRows.cjs +0 -1
- package/dist/databaseRows.d.cts +2 -6
- package/dist/databaseRows.d.mts +2 -6
- package/dist/index.cjs +4 -1
- package/dist/index.d.cts +5 -4
- package/dist/index.d.mts +5 -4
- package/dist/index.mjs +3 -2
- package/dist/insightsContract.cjs +146 -0
- package/dist/insightsContract.d.cts +9 -0
- package/dist/insightsContract.d.mts +9 -0
- package/dist/insightsContract.mjs +143 -0
- package/dist/insightsLatestQueries.cjs +53 -0
- package/dist/insightsLatestQueries.d.cts +13 -0
- package/dist/insightsLatestQueries.d.mts +13 -0
- package/dist/insightsLatestQueries.mjs +52 -0
- package/dist/internal.cjs +3 -0
- package/dist/internal.d.cts +5 -3
- package/dist/internal.d.mts +5 -3
- package/dist/internal.mjs +2 -1
- package/dist/node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/comparison-DenM3wCn.cjs +136 -0
- package/dist/node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/comparison-DenM3wCn.mjs +116 -0
- package/dist/node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/range-DvX-Y6iv.cjs +167 -0
- package/dist/node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/range-DvX-Y6iv.mjs +165 -0
- package/dist/node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/set-CC5YeoYX.cjs +42 -0
- package/dist/node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/set-CC5YeoYX.mjs +39 -0
- package/dist/node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/version-CQ98ZBpL.cjs +39 -0
- package/dist/node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/version-CQ98ZBpL.mjs +37 -0
- package/dist/paginateBundles.d.cts +1 -8
- package/dist/paginateBundles.d.mts +1 -8
- package/dist/parseStorageUri.d.cts +1 -5
- package/dist/parseStorageUri.d.mts +1 -5
- package/dist/queryBundles.d.cts +0 -1
- package/dist/queryBundles.d.mts +0 -1
- package/dist/releaseCatalogCompiler.cjs +15 -12
- package/dist/releaseCatalogCompiler.d.cts +0 -1
- package/dist/releaseCatalogCompiler.d.mts +0 -1
- package/dist/releaseCatalogCompiler.mjs +11 -7
- package/dist/releaseCatalogMutation.cjs +1 -1
- package/dist/releaseCatalogMutation.d.cts +1 -1
- package/dist/releaseCatalogMutation.d.mts +1 -1
- package/dist/releaseCatalogMutation.mjs +1 -0
- package/dist/releaseManagement.cjs +3 -2
- package/dist/releaseManagement.d.cts +1 -1
- package/dist/releaseManagement.d.mts +1 -1
- package/dist/releaseManagement.mjs +3 -1
- package/dist/remoteBundleSigning.cjs +5 -7
- package/dist/remoteBundleSigning.d.cts +2 -15
- package/dist/remoteBundleSigning.d.mts +2 -15
- package/dist/remoteBundleSigning.mjs +5 -7
- package/dist/requestBundleCache.d.cts +1 -2
- package/dist/requestBundleCache.d.mts +1 -2
- package/dist/semverSatisfies.cjs +4 -3
- package/dist/semverSatisfies.mjs +2 -1
- package/dist/storageDownloadPath.cjs +2 -1
- package/dist/storageDownloadPath.d.cts +1 -3
- package/dist/storageDownloadPath.d.mts +1 -3
- package/dist/storageDownloadPath.mjs +2 -1
- package/dist/types/database.d.cts +4 -3
- package/dist/types/database.d.mts +4 -3
- package/dist/types/databaseFields.cjs +1 -5
- package/dist/types/databaseFields.d.cts +1 -1
- package/dist/types/databaseFields.d.mts +1 -1
- package/dist/types/databaseFields.mjs +1 -5
- package/dist/types/databaseOperations.d.cts +15 -12
- package/dist/types/databaseOperations.d.mts +15 -12
- package/dist/types/databasePlugin.d.cts +77 -13
- package/dist/types/databasePlugin.d.mts +77 -13
- package/dist/types/databaseQuery.d.cts +2 -3
- package/dist/types/databaseQuery.d.mts +2 -3
- package/dist/types/databaseRows.d.cts +16 -11
- package/dist/types/databaseRows.d.mts +16 -11
- package/dist/types/index.d.cts +15 -11
- package/dist/types/index.d.mts +15 -11
- package/dist/types/internal.d.cts +4 -3
- package/dist/types/internal.d.mts +4 -3
- package/dist/types/public.d.cts +4 -3
- package/dist/types/public.d.mts +4 -3
- package/dist/types/utils.d.cts +1 -1
- package/dist/types/utils.d.mts +1 -1
- package/dist/uuidv7.cjs +7 -2
- package/dist/uuidv7.d.cts +0 -1
- package/dist/uuidv7.d.mts +0 -1
- package/dist/uuidv7.mjs +1 -1
- package/package.json +4 -4
- package/dist/node_modules/.pnpm/verkit@0.3.2/node_modules/verkit/dist/index.cjs +0 -345
- package/dist/node_modules/.pnpm/verkit@0.3.2/node_modules/verkit/dist/index.mjs +0 -341
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
const require_comparison_DenM3wCn = require("./comparison-DenM3wCn.cjs");
|
|
2
|
+
const require_set_CC5YeoYX = require("./set-CC5YeoYX.cjs");
|
|
3
|
+
//#region ../../node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/range-DvX-Y6iv.js
|
|
4
|
+
const BUILD_STRIP = new RegExp(require_comparison_DenM3wCn.C, "g");
|
|
5
|
+
const BUILD_SAFE = require_comparison_DenM3wCn.F(require_comparison_DenM3wCn.C);
|
|
6
|
+
const STRICT_HYPHEN = require_comparison_DenM3wCn.F(String.raw`^\s*(${require_comparison_DenM3wCn.N})\s+-\s+(${require_comparison_DenM3wCn.N})\s*$`);
|
|
7
|
+
const LOOSE_HYPHEN = require_comparison_DenM3wCn.F(String.raw`^\s*(${require_comparison_DenM3wCn.P})\s+-\s+(${require_comparison_DenM3wCn.P})\s*$`);
|
|
8
|
+
const COMPARATOR_TRIM = require_comparison_DenM3wCn.F(String.raw`(\s*)${require_comparison_DenM3wCn.D}\s*(${require_comparison_DenM3wCn.A}|${require_comparison_DenM3wCn.N})`, "g");
|
|
9
|
+
const TILDE_TRIM = require_comparison_DenM3wCn.F(String.raw`(\s*)${require_comparison_DenM3wCn.k}\s+`, "g");
|
|
10
|
+
const CARET_TRIM = require_comparison_DenM3wCn.F(String.raw`(\s*)${require_comparison_DenM3wCn.O}\s+`, "g");
|
|
11
|
+
const STRICT_TILDE = require_comparison_DenM3wCn.F(`^${require_comparison_DenM3wCn.k}${require_comparison_DenM3wCn.N}$`);
|
|
12
|
+
const LOOSE_TILDE = require_comparison_DenM3wCn.F(`^${require_comparison_DenM3wCn.k}${require_comparison_DenM3wCn.P}$`);
|
|
13
|
+
const STRICT_CARET = require_comparison_DenM3wCn.F(`^${require_comparison_DenM3wCn.O}${require_comparison_DenM3wCn.N}$`);
|
|
14
|
+
const LOOSE_CARET = require_comparison_DenM3wCn.F(`^${require_comparison_DenM3wCn.O}${require_comparison_DenM3wCn.P}$`);
|
|
15
|
+
const STRICT_XRANGE = require_comparison_DenM3wCn.F(String.raw`^${require_comparison_DenM3wCn.D}\s*${require_comparison_DenM3wCn.N}$`);
|
|
16
|
+
const LOOSE_XRANGE = require_comparison_DenM3wCn.F(String.raw`^${require_comparison_DenM3wCn.D}\s*${require_comparison_DenM3wCn.P}$`);
|
|
17
|
+
const STAR = require_comparison_DenM3wCn.F(String.raw`(<|>)?=?\s*\*`);
|
|
18
|
+
const GTE_ZERO = /^\s*>=\s*0\.0\.0\s*$/;
|
|
19
|
+
const GTE_ZERO_PRERELEASE = /^\s*>=\s*0\.0\.0-0\s*$/;
|
|
20
|
+
const LOOSE_COMPARATOR = require_comparison_DenM3wCn.F(String.raw`^${require_comparison_DenM3wCn.D}\s*(${require_comparison_DenM3wCn.A})$|^$`);
|
|
21
|
+
function isWildcard(value) {
|
|
22
|
+
return !value || String(value).toLowerCase() === "x" || String(value) === "*";
|
|
23
|
+
}
|
|
24
|
+
function hasInvalidWildcardOrder(major, minor, patch) {
|
|
25
|
+
return isWildcard(major) && !isWildcard(minor) || isWildcard(minor) && Boolean(patch) && !isWildcard(patch);
|
|
26
|
+
}
|
|
27
|
+
function replaceTilde(comparator, options) {
|
|
28
|
+
const expression = options.loose ? LOOSE_TILDE : STRICT_TILDE;
|
|
29
|
+
const lowerPrerelease = options.includePrerelease ? "-0" : "";
|
|
30
|
+
return comparator.replace(expression, (_match, major, minor, patch, prerelease) => {
|
|
31
|
+
if (isWildcard(major)) return "";
|
|
32
|
+
if (isWildcard(minor)) return `>=${major}.0.0${lowerPrerelease} <${Number(major) + 1}.0.0-0`;
|
|
33
|
+
if (isWildcard(patch)) return `>=${major}.${minor}.0${lowerPrerelease} <${major}.${Number(minor) + 1}.0-0`;
|
|
34
|
+
return prerelease ? `>=${major}.${minor}.${patch}-${prerelease} <${major}.${Number(minor) + 1}.0-0` : `>=${major}.${minor}.${patch} <${major}.${Number(minor) + 1}.0-0`;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function replaceTildes(comparator, options) {
|
|
38
|
+
return comparator.trim().split(/\s+/).map((part) => replaceTilde(part, options)).join(" ");
|
|
39
|
+
}
|
|
40
|
+
function replaceCaret(comparator, options) {
|
|
41
|
+
const expression = options.loose ? LOOSE_CARET : STRICT_CARET;
|
|
42
|
+
const lowerPrerelease = options.includePrerelease ? "-0" : "";
|
|
43
|
+
return comparator.replace(expression, (_match, major, minor, patch, prerelease) => {
|
|
44
|
+
if (isWildcard(major)) return "";
|
|
45
|
+
if (isWildcard(minor)) return `>=${major}.0.0${lowerPrerelease} <${Number(major) + 1}.0.0-0`;
|
|
46
|
+
if (isWildcard(patch)) return major === "0" ? `>=${major}.${minor}.0${lowerPrerelease} <${major}.${Number(minor) + 1}.0-0` : `>=${major}.${minor}.0${lowerPrerelease} <${Number(major) + 1}.0.0-0`;
|
|
47
|
+
if (prerelease) return major === "0" ? minor === "0" ? `>=${major}.${minor}.${patch}-${prerelease} <${major}.${minor}.${Number(patch) + 1}-0` : `>=${major}.${minor}.${patch}-${prerelease} <${major}.${Number(minor) + 1}.0-0` : `>=${major}.${minor}.${patch}-${prerelease} <${Number(major) + 1}.0.0-0`;
|
|
48
|
+
return major === "0" ? minor === "0" ? `>=${major}.${minor}.${patch} <${major}.${minor}.${Number(patch) + 1}-0` : `>=${major}.${minor}.${patch} <${major}.${Number(minor) + 1}.0-0` : `>=${major}.${minor}.${patch} <${Number(major) + 1}.0.0-0`;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function replaceCarets(comparator, options) {
|
|
52
|
+
return comparator.trim().split(/\s+/).map((part) => replaceCaret(part, options)).join(" ");
|
|
53
|
+
}
|
|
54
|
+
function replaceXRange(comparator, options) {
|
|
55
|
+
const expression = options.loose ? LOOSE_XRANGE : STRICT_XRANGE;
|
|
56
|
+
return comparator.trim().replace(expression, (match, rawOperator, rawMajor, rawMinor, rawPatch) => {
|
|
57
|
+
let operator = rawOperator;
|
|
58
|
+
let major = rawMajor;
|
|
59
|
+
let minor = rawMinor;
|
|
60
|
+
let patch = rawPatch;
|
|
61
|
+
if (hasInvalidWildcardOrder(String(major), minor === void 0 ? void 0 : String(minor), patch === void 0 ? void 0 : String(patch))) return comparator;
|
|
62
|
+
const wildcardMajor = isWildcard(major);
|
|
63
|
+
const wildcardMinor = wildcardMajor || isWildcard(minor);
|
|
64
|
+
const wildcardPatch = wildcardMinor || isWildcard(patch);
|
|
65
|
+
if (operator === "=" && wildcardPatch) operator = "";
|
|
66
|
+
if (wildcardMajor) return operator === ">" || operator === "<" ? "<0.0.0-0" : "*";
|
|
67
|
+
let prerelease = options.includePrerelease ? "-0" : "";
|
|
68
|
+
if (operator && wildcardPatch) {
|
|
69
|
+
if (wildcardMinor) minor = 0;
|
|
70
|
+
patch = 0;
|
|
71
|
+
if (operator === ">") {
|
|
72
|
+
operator = ">=";
|
|
73
|
+
if (wildcardMinor) {
|
|
74
|
+
major = Number(major) + 1;
|
|
75
|
+
minor = 0;
|
|
76
|
+
} else minor = Number(minor) + 1;
|
|
77
|
+
} else if (operator === "<=") {
|
|
78
|
+
operator = "<";
|
|
79
|
+
if (wildcardMinor) major = Number(major) + 1;
|
|
80
|
+
else minor = Number(minor) + 1;
|
|
81
|
+
}
|
|
82
|
+
if (operator === "<") prerelease = "-0";
|
|
83
|
+
return `${operator}${major}.${minor}.${patch}${prerelease}`;
|
|
84
|
+
}
|
|
85
|
+
if (wildcardMinor) return `>=${major}.0.0${prerelease} <${Number(major) + 1}.0.0-0`;
|
|
86
|
+
if (wildcardPatch) return `>=${major}.${minor}.0${prerelease} <${major}.${Number(minor) + 1}.0-0`;
|
|
87
|
+
return match;
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function replaceXRanges(comparator, options) {
|
|
91
|
+
return comparator.split(/\s+/).map((part) => replaceXRange(part, options)).join(" ");
|
|
92
|
+
}
|
|
93
|
+
function replaceHyphenRange(range, options) {
|
|
94
|
+
const expression = options.loose ? LOOSE_HYPHEN : STRICT_HYPHEN;
|
|
95
|
+
return range.replace(expression, (_match, rawFrom, fromMajor, fromMinor, fromPatch, fromPrerelease, _fromBuild, rawTo, toMajor, toMinor, toPatch, toPrerelease) => {
|
|
96
|
+
let from = rawFrom;
|
|
97
|
+
let to = rawTo;
|
|
98
|
+
if (isWildcard(fromMajor)) from = "";
|
|
99
|
+
else if (isWildcard(fromMinor)) from = `>=${fromMajor}.0.0${options.includePrerelease ? "-0" : ""}`;
|
|
100
|
+
else if (isWildcard(fromPatch)) from = `>=${fromMajor}.${fromMinor}.0${options.includePrerelease ? "-0" : ""}`;
|
|
101
|
+
else if (fromPrerelease) from = `>=${from}`;
|
|
102
|
+
else from = `>=${from}${options.includePrerelease ? "-0" : ""}`;
|
|
103
|
+
if (isWildcard(toMajor)) to = "";
|
|
104
|
+
else if (isWildcard(toMinor)) to = `<${Number(toMajor) + 1}.0.0-0`;
|
|
105
|
+
else if (isWildcard(toPatch)) to = `<${toMajor}.${Number(toMinor) + 1}.0-0`;
|
|
106
|
+
else if (toPrerelease) to = `<=${toMajor}.${toMinor}.${toPatch}-${toPrerelease}`;
|
|
107
|
+
else if (options.includePrerelease) to = `<${toMajor}.${toMinor}.${Number(toPatch) + 1}-0`;
|
|
108
|
+
else to = `<=${to}`;
|
|
109
|
+
return `${from} ${to}`.trim();
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
function expandComparator(comparator, options) {
|
|
113
|
+
return replaceXRanges(replaceTildes(replaceCarets(comparator.replace(BUILD_SAFE, ""), options), options), options).trim().replace(STAR, "");
|
|
114
|
+
}
|
|
115
|
+
function parseSimpleRange(input, options) {
|
|
116
|
+
let parts = replaceHyphenRange(input.replace(BUILD_STRIP, ""), options).replace(COMPARATOR_TRIM, "$1$2$3").replace(TILDE_TRIM, "$1~").replace(CARET_TRIM, "$1^").split(" ").map((part) => expandComparator(part, options)).join(" ").split(/\s+/).map((part) => part.trim().replace(options.includePrerelease ? GTE_ZERO_PRERELEASE : GTE_ZERO, ""));
|
|
117
|
+
if (options.loose) parts = parts.filter((part) => LOOSE_COMPARATOR.test(part));
|
|
118
|
+
const unique = /* @__PURE__ */ new Map();
|
|
119
|
+
for (const comparator of parts.map((part) => require_set_CC5YeoYX.s(part, options))) {
|
|
120
|
+
if (comparator.value === "<0.0.0-0") return [comparator];
|
|
121
|
+
unique.set(comparator.value, comparator);
|
|
122
|
+
}
|
|
123
|
+
if (unique.size > 1) unique.delete("");
|
|
124
|
+
return [...unique.values()];
|
|
125
|
+
}
|
|
126
|
+
function parseRange(range, options = {}) {
|
|
127
|
+
if (typeof range !== "string") return range;
|
|
128
|
+
const parsedOptions = { ...options };
|
|
129
|
+
const normalizedRange = range.trim().replaceAll(/\s+/g, " ");
|
|
130
|
+
let sets = normalizedRange.split("||").map((part) => parseSimpleRange(part.trim(), parsedOptions)).filter((set) => set.length);
|
|
131
|
+
if (!sets.length) throw new TypeError(`Range contains no valid comparator sets: ${normalizedRange}`);
|
|
132
|
+
if (sets.length > 1) {
|
|
133
|
+
const first = sets[0];
|
|
134
|
+
sets = sets.filter((set) => set[0]?.value !== "<0.0.0-0");
|
|
135
|
+
if (!sets.length) sets = [first];
|
|
136
|
+
else if (sets.length > 1) {
|
|
137
|
+
const any = sets.find((set) => set.length === 1 && set[0]?.value === "");
|
|
138
|
+
if (any) sets = [any];
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return {
|
|
142
|
+
options: parsedOptions,
|
|
143
|
+
sets
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
function tryParseRange(range, options = {}) {
|
|
147
|
+
try {
|
|
148
|
+
return parseRange(range, options);
|
|
149
|
+
} catch {
|
|
150
|
+
return null;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
function testParsedRange(range, version) {
|
|
154
|
+
return range.sets.some((set) => require_set_CC5YeoYX.r(set, version, range.options));
|
|
155
|
+
}
|
|
156
|
+
function testRangeVersion(range, version) {
|
|
157
|
+
const parsed = require_comparison_DenM3wCn.S(version, range.options);
|
|
158
|
+
return parsed ? testParsedRange(range, parsed) : false;
|
|
159
|
+
}
|
|
160
|
+
function satisfies(version, range, options = {}) {
|
|
161
|
+
const parsed = tryParseRange(range, options);
|
|
162
|
+
return parsed ? testRangeVersion(parsed, version) : false;
|
|
163
|
+
}
|
|
164
|
+
//#endregion
|
|
165
|
+
exports.f = satisfies;
|
|
166
|
+
exports.h = tryParseRange;
|
|
167
|
+
exports.m = parseRange;
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { A as LOOSE_PLAIN, C as BUILD, D as GREATER_LESS_THAN, F as safeRegex, N as XRANGE_PLAIN, O as LONE_CARET, P as XRANGE_PLAIN_LOOSE, S as tryParse, k as LONE_TILDE } from "./comparison-DenM3wCn.mjs";
|
|
2
|
+
import { r as testComparatorSet, s as parseComparator } from "./set-CC5YeoYX.mjs";
|
|
3
|
+
//#region ../../node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/range-DvX-Y6iv.js
|
|
4
|
+
const BUILD_STRIP = new RegExp(BUILD, "g");
|
|
5
|
+
const BUILD_SAFE = safeRegex(BUILD);
|
|
6
|
+
const STRICT_HYPHEN = safeRegex(String.raw`^\s*(${XRANGE_PLAIN})\s+-\s+(${XRANGE_PLAIN})\s*$`);
|
|
7
|
+
const LOOSE_HYPHEN = safeRegex(String.raw`^\s*(${XRANGE_PLAIN_LOOSE})\s+-\s+(${XRANGE_PLAIN_LOOSE})\s*$`);
|
|
8
|
+
const COMPARATOR_TRIM = safeRegex(String.raw`(\s*)${GREATER_LESS_THAN}\s*(${LOOSE_PLAIN}|${XRANGE_PLAIN})`, "g");
|
|
9
|
+
const TILDE_TRIM = safeRegex(String.raw`(\s*)${LONE_TILDE}\s+`, "g");
|
|
10
|
+
const CARET_TRIM = safeRegex(String.raw`(\s*)${LONE_CARET}\s+`, "g");
|
|
11
|
+
const STRICT_TILDE = safeRegex(`^${LONE_TILDE}${XRANGE_PLAIN}$`);
|
|
12
|
+
const LOOSE_TILDE = safeRegex(`^${LONE_TILDE}${XRANGE_PLAIN_LOOSE}$`);
|
|
13
|
+
const STRICT_CARET = safeRegex(`^${LONE_CARET}${XRANGE_PLAIN}$`);
|
|
14
|
+
const LOOSE_CARET = safeRegex(`^${LONE_CARET}${XRANGE_PLAIN_LOOSE}$`);
|
|
15
|
+
const STRICT_XRANGE = safeRegex(String.raw`^${GREATER_LESS_THAN}\s*${XRANGE_PLAIN}$`);
|
|
16
|
+
const LOOSE_XRANGE = safeRegex(String.raw`^${GREATER_LESS_THAN}\s*${XRANGE_PLAIN_LOOSE}$`);
|
|
17
|
+
const STAR = safeRegex(String.raw`(<|>)?=?\s*\*`);
|
|
18
|
+
const GTE_ZERO = /^\s*>=\s*0\.0\.0\s*$/;
|
|
19
|
+
const GTE_ZERO_PRERELEASE = /^\s*>=\s*0\.0\.0-0\s*$/;
|
|
20
|
+
const LOOSE_COMPARATOR = safeRegex(String.raw`^${GREATER_LESS_THAN}\s*(${LOOSE_PLAIN})$|^$`);
|
|
21
|
+
function isWildcard(value) {
|
|
22
|
+
return !value || String(value).toLowerCase() === "x" || String(value) === "*";
|
|
23
|
+
}
|
|
24
|
+
function hasInvalidWildcardOrder(major, minor, patch) {
|
|
25
|
+
return isWildcard(major) && !isWildcard(minor) || isWildcard(minor) && Boolean(patch) && !isWildcard(patch);
|
|
26
|
+
}
|
|
27
|
+
function replaceTilde(comparator, options) {
|
|
28
|
+
const expression = options.loose ? LOOSE_TILDE : STRICT_TILDE;
|
|
29
|
+
const lowerPrerelease = options.includePrerelease ? "-0" : "";
|
|
30
|
+
return comparator.replace(expression, (_match, major, minor, patch, prerelease) => {
|
|
31
|
+
if (isWildcard(major)) return "";
|
|
32
|
+
if (isWildcard(minor)) return `>=${major}.0.0${lowerPrerelease} <${Number(major) + 1}.0.0-0`;
|
|
33
|
+
if (isWildcard(patch)) return `>=${major}.${minor}.0${lowerPrerelease} <${major}.${Number(minor) + 1}.0-0`;
|
|
34
|
+
return prerelease ? `>=${major}.${minor}.${patch}-${prerelease} <${major}.${Number(minor) + 1}.0-0` : `>=${major}.${minor}.${patch} <${major}.${Number(minor) + 1}.0-0`;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function replaceTildes(comparator, options) {
|
|
38
|
+
return comparator.trim().split(/\s+/).map((part) => replaceTilde(part, options)).join(" ");
|
|
39
|
+
}
|
|
40
|
+
function replaceCaret(comparator, options) {
|
|
41
|
+
const expression = options.loose ? LOOSE_CARET : STRICT_CARET;
|
|
42
|
+
const lowerPrerelease = options.includePrerelease ? "-0" : "";
|
|
43
|
+
return comparator.replace(expression, (_match, major, minor, patch, prerelease) => {
|
|
44
|
+
if (isWildcard(major)) return "";
|
|
45
|
+
if (isWildcard(minor)) return `>=${major}.0.0${lowerPrerelease} <${Number(major) + 1}.0.0-0`;
|
|
46
|
+
if (isWildcard(patch)) return major === "0" ? `>=${major}.${minor}.0${lowerPrerelease} <${major}.${Number(minor) + 1}.0-0` : `>=${major}.${minor}.0${lowerPrerelease} <${Number(major) + 1}.0.0-0`;
|
|
47
|
+
if (prerelease) return major === "0" ? minor === "0" ? `>=${major}.${minor}.${patch}-${prerelease} <${major}.${minor}.${Number(patch) + 1}-0` : `>=${major}.${minor}.${patch}-${prerelease} <${major}.${Number(minor) + 1}.0-0` : `>=${major}.${minor}.${patch}-${prerelease} <${Number(major) + 1}.0.0-0`;
|
|
48
|
+
return major === "0" ? minor === "0" ? `>=${major}.${minor}.${patch} <${major}.${minor}.${Number(patch) + 1}-0` : `>=${major}.${minor}.${patch} <${major}.${Number(minor) + 1}.0-0` : `>=${major}.${minor}.${patch} <${Number(major) + 1}.0.0-0`;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function replaceCarets(comparator, options) {
|
|
52
|
+
return comparator.trim().split(/\s+/).map((part) => replaceCaret(part, options)).join(" ");
|
|
53
|
+
}
|
|
54
|
+
function replaceXRange(comparator, options) {
|
|
55
|
+
const expression = options.loose ? LOOSE_XRANGE : STRICT_XRANGE;
|
|
56
|
+
return comparator.trim().replace(expression, (match, rawOperator, rawMajor, rawMinor, rawPatch) => {
|
|
57
|
+
let operator = rawOperator;
|
|
58
|
+
let major = rawMajor;
|
|
59
|
+
let minor = rawMinor;
|
|
60
|
+
let patch = rawPatch;
|
|
61
|
+
if (hasInvalidWildcardOrder(String(major), minor === void 0 ? void 0 : String(minor), patch === void 0 ? void 0 : String(patch))) return comparator;
|
|
62
|
+
const wildcardMajor = isWildcard(major);
|
|
63
|
+
const wildcardMinor = wildcardMajor || isWildcard(minor);
|
|
64
|
+
const wildcardPatch = wildcardMinor || isWildcard(patch);
|
|
65
|
+
if (operator === "=" && wildcardPatch) operator = "";
|
|
66
|
+
if (wildcardMajor) return operator === ">" || operator === "<" ? "<0.0.0-0" : "*";
|
|
67
|
+
let prerelease = options.includePrerelease ? "-0" : "";
|
|
68
|
+
if (operator && wildcardPatch) {
|
|
69
|
+
if (wildcardMinor) minor = 0;
|
|
70
|
+
patch = 0;
|
|
71
|
+
if (operator === ">") {
|
|
72
|
+
operator = ">=";
|
|
73
|
+
if (wildcardMinor) {
|
|
74
|
+
major = Number(major) + 1;
|
|
75
|
+
minor = 0;
|
|
76
|
+
} else minor = Number(minor) + 1;
|
|
77
|
+
} else if (operator === "<=") {
|
|
78
|
+
operator = "<";
|
|
79
|
+
if (wildcardMinor) major = Number(major) + 1;
|
|
80
|
+
else minor = Number(minor) + 1;
|
|
81
|
+
}
|
|
82
|
+
if (operator === "<") prerelease = "-0";
|
|
83
|
+
return `${operator}${major}.${minor}.${patch}${prerelease}`;
|
|
84
|
+
}
|
|
85
|
+
if (wildcardMinor) return `>=${major}.0.0${prerelease} <${Number(major) + 1}.0.0-0`;
|
|
86
|
+
if (wildcardPatch) return `>=${major}.${minor}.0${prerelease} <${major}.${Number(minor) + 1}.0-0`;
|
|
87
|
+
return match;
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function replaceXRanges(comparator, options) {
|
|
91
|
+
return comparator.split(/\s+/).map((part) => replaceXRange(part, options)).join(" ");
|
|
92
|
+
}
|
|
93
|
+
function replaceHyphenRange(range, options) {
|
|
94
|
+
const expression = options.loose ? LOOSE_HYPHEN : STRICT_HYPHEN;
|
|
95
|
+
return range.replace(expression, (_match, rawFrom, fromMajor, fromMinor, fromPatch, fromPrerelease, _fromBuild, rawTo, toMajor, toMinor, toPatch, toPrerelease) => {
|
|
96
|
+
let from = rawFrom;
|
|
97
|
+
let to = rawTo;
|
|
98
|
+
if (isWildcard(fromMajor)) from = "";
|
|
99
|
+
else if (isWildcard(fromMinor)) from = `>=${fromMajor}.0.0${options.includePrerelease ? "-0" : ""}`;
|
|
100
|
+
else if (isWildcard(fromPatch)) from = `>=${fromMajor}.${fromMinor}.0${options.includePrerelease ? "-0" : ""}`;
|
|
101
|
+
else if (fromPrerelease) from = `>=${from}`;
|
|
102
|
+
else from = `>=${from}${options.includePrerelease ? "-0" : ""}`;
|
|
103
|
+
if (isWildcard(toMajor)) to = "";
|
|
104
|
+
else if (isWildcard(toMinor)) to = `<${Number(toMajor) + 1}.0.0-0`;
|
|
105
|
+
else if (isWildcard(toPatch)) to = `<${toMajor}.${Number(toMinor) + 1}.0-0`;
|
|
106
|
+
else if (toPrerelease) to = `<=${toMajor}.${toMinor}.${toPatch}-${toPrerelease}`;
|
|
107
|
+
else if (options.includePrerelease) to = `<${toMajor}.${toMinor}.${Number(toPatch) + 1}-0`;
|
|
108
|
+
else to = `<=${to}`;
|
|
109
|
+
return `${from} ${to}`.trim();
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
function expandComparator(comparator, options) {
|
|
113
|
+
return replaceXRanges(replaceTildes(replaceCarets(comparator.replace(BUILD_SAFE, ""), options), options), options).trim().replace(STAR, "");
|
|
114
|
+
}
|
|
115
|
+
function parseSimpleRange(input, options) {
|
|
116
|
+
let parts = replaceHyphenRange(input.replace(BUILD_STRIP, ""), options).replace(COMPARATOR_TRIM, "$1$2$3").replace(TILDE_TRIM, "$1~").replace(CARET_TRIM, "$1^").split(" ").map((part) => expandComparator(part, options)).join(" ").split(/\s+/).map((part) => part.trim().replace(options.includePrerelease ? GTE_ZERO_PRERELEASE : GTE_ZERO, ""));
|
|
117
|
+
if (options.loose) parts = parts.filter((part) => LOOSE_COMPARATOR.test(part));
|
|
118
|
+
const unique = /* @__PURE__ */ new Map();
|
|
119
|
+
for (const comparator of parts.map((part) => parseComparator(part, options))) {
|
|
120
|
+
if (comparator.value === "<0.0.0-0") return [comparator];
|
|
121
|
+
unique.set(comparator.value, comparator);
|
|
122
|
+
}
|
|
123
|
+
if (unique.size > 1) unique.delete("");
|
|
124
|
+
return [...unique.values()];
|
|
125
|
+
}
|
|
126
|
+
function parseRange(range, options = {}) {
|
|
127
|
+
if (typeof range !== "string") return range;
|
|
128
|
+
const parsedOptions = { ...options };
|
|
129
|
+
const normalizedRange = range.trim().replaceAll(/\s+/g, " ");
|
|
130
|
+
let sets = normalizedRange.split("||").map((part) => parseSimpleRange(part.trim(), parsedOptions)).filter((set) => set.length);
|
|
131
|
+
if (!sets.length) throw new TypeError(`Range contains no valid comparator sets: ${normalizedRange}`);
|
|
132
|
+
if (sets.length > 1) {
|
|
133
|
+
const first = sets[0];
|
|
134
|
+
sets = sets.filter((set) => set[0]?.value !== "<0.0.0-0");
|
|
135
|
+
if (!sets.length) sets = [first];
|
|
136
|
+
else if (sets.length > 1) {
|
|
137
|
+
const any = sets.find((set) => set.length === 1 && set[0]?.value === "");
|
|
138
|
+
if (any) sets = [any];
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return {
|
|
142
|
+
options: parsedOptions,
|
|
143
|
+
sets
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
function tryParseRange(range, options = {}) {
|
|
147
|
+
try {
|
|
148
|
+
return parseRange(range, options);
|
|
149
|
+
} catch {
|
|
150
|
+
return null;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
function testParsedRange(range, version) {
|
|
154
|
+
return range.sets.some((set) => testComparatorSet(set, version, range.options));
|
|
155
|
+
}
|
|
156
|
+
function testRangeVersion(range, version) {
|
|
157
|
+
const parsed = tryParse(version, range.options);
|
|
158
|
+
return parsed ? testParsedRange(range, parsed) : false;
|
|
159
|
+
}
|
|
160
|
+
function satisfies(version, range, options = {}) {
|
|
161
|
+
const parsed = tryParseRange(range, options);
|
|
162
|
+
return parsed ? testRangeVersion(parsed, version) : false;
|
|
163
|
+
}
|
|
164
|
+
//#endregion
|
|
165
|
+
export { satisfies as f, tryParseRange as h, parseRange as m };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const require_comparison_DenM3wCn = require("./comparison-DenM3wCn.cjs");
|
|
2
|
+
//#region ../../node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/set-CC5YeoYX.js
|
|
3
|
+
const STRICT_COMPARATOR = require_comparison_DenM3wCn.F(String.raw`^${require_comparison_DenM3wCn.D}\s*(${require_comparison_DenM3wCn.E})$|^$`);
|
|
4
|
+
const LOOSE_COMPARATOR = require_comparison_DenM3wCn.F(String.raw`^${require_comparison_DenM3wCn.D}\s*(${require_comparison_DenM3wCn.A})$|^$`);
|
|
5
|
+
function parseComparator(comparator, options = {}) {
|
|
6
|
+
if (typeof comparator !== "string") return comparator;
|
|
7
|
+
const normalized = comparator.trim().replaceAll(/\s+/g, " ");
|
|
8
|
+
const match = normalized.match(options.loose ? LOOSE_COMPARATOR : STRICT_COMPARATOR);
|
|
9
|
+
if (!match) throw new TypeError(`Invalid comparator: ${normalized}`);
|
|
10
|
+
const operator = match[1] === "=" ? "" : match[1] || "";
|
|
11
|
+
const version = match[2] ? require_comparison_DenM3wCn.x(match[2], options) : null;
|
|
12
|
+
return {
|
|
13
|
+
operator,
|
|
14
|
+
options,
|
|
15
|
+
value: version ? `${operator}${require_comparison_DenM3wCn.y(version)}` : "",
|
|
16
|
+
version
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function testParsedComparator(comparator, version) {
|
|
20
|
+
if (!comparator.version) return true;
|
|
21
|
+
const comparison = require_comparison_DenM3wCn.a(version, comparator.version);
|
|
22
|
+
switch (comparator.operator) {
|
|
23
|
+
case "": return comparison === 0;
|
|
24
|
+
case ">": return comparison > 0;
|
|
25
|
+
case ">=": return comparison >= 0;
|
|
26
|
+
case "<": return comparison < 0;
|
|
27
|
+
case "<=": return comparison <= 0;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function comparatorAllowsPrerelease(comparator, version) {
|
|
31
|
+
const allowed = comparator.version;
|
|
32
|
+
return allowed !== null && !!allowed.prerelease?.length && allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch;
|
|
33
|
+
}
|
|
34
|
+
function testComparatorSet(set, version, options) {
|
|
35
|
+
if (set.some((comparator) => !testParsedComparator(comparator, version))) return false;
|
|
36
|
+
return !version.prerelease?.length || !!options.includePrerelease || set.some((comparator) => comparatorAllowsPrerelease(comparator, version));
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
exports.a = testParsedComparator;
|
|
40
|
+
exports.r = testComparatorSet;
|
|
41
|
+
exports.s = parseComparator;
|
|
42
|
+
exports.t = comparatorAllowsPrerelease;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { A as LOOSE_PLAIN, D as GREATER_LESS_THAN, E as FULL_PLAIN, F as safeRegex, a as compareParsed, x as parse, y as formatComparableVersion } from "./comparison-DenM3wCn.mjs";
|
|
2
|
+
//#region ../../node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/set-CC5YeoYX.js
|
|
3
|
+
const STRICT_COMPARATOR = safeRegex(String.raw`^${GREATER_LESS_THAN}\s*(${FULL_PLAIN})$|^$`);
|
|
4
|
+
const LOOSE_COMPARATOR = safeRegex(String.raw`^${GREATER_LESS_THAN}\s*(${LOOSE_PLAIN})$|^$`);
|
|
5
|
+
function parseComparator(comparator, options = {}) {
|
|
6
|
+
if (typeof comparator !== "string") return comparator;
|
|
7
|
+
const normalized = comparator.trim().replaceAll(/\s+/g, " ");
|
|
8
|
+
const match = normalized.match(options.loose ? LOOSE_COMPARATOR : STRICT_COMPARATOR);
|
|
9
|
+
if (!match) throw new TypeError(`Invalid comparator: ${normalized}`);
|
|
10
|
+
const operator = match[1] === "=" ? "" : match[1] || "";
|
|
11
|
+
const version = match[2] ? parse(match[2], options) : null;
|
|
12
|
+
return {
|
|
13
|
+
operator,
|
|
14
|
+
options,
|
|
15
|
+
value: version ? `${operator}${formatComparableVersion(version)}` : "",
|
|
16
|
+
version
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function testParsedComparator(comparator, version) {
|
|
20
|
+
if (!comparator.version) return true;
|
|
21
|
+
const comparison = compareParsed(version, comparator.version);
|
|
22
|
+
switch (comparator.operator) {
|
|
23
|
+
case "": return comparison === 0;
|
|
24
|
+
case ">": return comparison > 0;
|
|
25
|
+
case ">=": return comparison >= 0;
|
|
26
|
+
case "<": return comparison < 0;
|
|
27
|
+
case "<=": return comparison <= 0;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function comparatorAllowsPrerelease(comparator, version) {
|
|
31
|
+
const allowed = comparator.version;
|
|
32
|
+
return allowed !== null && !!allowed.prerelease?.length && allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch;
|
|
33
|
+
}
|
|
34
|
+
function testComparatorSet(set, version, options) {
|
|
35
|
+
if (set.some((comparator) => !testParsedComparator(comparator, version))) return false;
|
|
36
|
+
return !version.prerelease?.length || !!options.includePrerelease || set.some((comparator) => comparatorAllowsPrerelease(comparator, version));
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
export { testParsedComparator as a, testComparatorSet as r, parseComparator as s, comparatorAllowsPrerelease as t };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const require_comparison_DenM3wCn = require("./comparison-DenM3wCn.cjs");
|
|
2
|
+
//#region ../../node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/version-CQ98ZBpL.js
|
|
3
|
+
const COERCE_EXACT = require_comparison_DenM3wCn.F(require_comparison_DenM3wCn.w);
|
|
4
|
+
const COERCE_FULL_EXACT = require_comparison_DenM3wCn.F(require_comparison_DenM3wCn.T);
|
|
5
|
+
require_comparison_DenM3wCn.F(`^${require_comparison_DenM3wCn.j}$`);
|
|
6
|
+
require_comparison_DenM3wCn.F(`^${require_comparison_DenM3wCn.M}$`);
|
|
7
|
+
function normalizeFull(version, options = {}) {
|
|
8
|
+
const parsed = require_comparison_DenM3wCn.S(version, options);
|
|
9
|
+
return parsed ? require_comparison_DenM3wCn.b(parsed) : null;
|
|
10
|
+
}
|
|
11
|
+
function normalize(version, options = {}) {
|
|
12
|
+
const parsed = require_comparison_DenM3wCn.S(version, options);
|
|
13
|
+
return parsed ? require_comparison_DenM3wCn.y(parsed) : null;
|
|
14
|
+
}
|
|
15
|
+
function coerce(value, options = {}) {
|
|
16
|
+
if (typeof value === "object") return value;
|
|
17
|
+
const input = typeof value === "number" ? String(value) : value;
|
|
18
|
+
let match = null;
|
|
19
|
+
if (options.rtl) {
|
|
20
|
+
const source = options.includePrerelease ? require_comparison_DenM3wCn.T : require_comparison_DenM3wCn.w;
|
|
21
|
+
const expression = require_comparison_DenM3wCn.F(source, "g");
|
|
22
|
+
let next;
|
|
23
|
+
while ((next = expression.exec(input)) && (!match || match.index + match[0].length !== input.length)) {
|
|
24
|
+
if (!match || next.index + next[0].length !== match.index + match[0].length) match = next;
|
|
25
|
+
expression.lastIndex = next.index + next[1].length + next[2].length;
|
|
26
|
+
}
|
|
27
|
+
} else match = (options.includePrerelease ? COERCE_FULL_EXACT : COERCE_EXACT).exec(input);
|
|
28
|
+
if (!match) return null;
|
|
29
|
+
const major = match[2];
|
|
30
|
+
const minor = match[3] || "0";
|
|
31
|
+
const patch = match[4] || "0";
|
|
32
|
+
const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
|
|
33
|
+
const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
|
|
34
|
+
return require_comparison_DenM3wCn.S(`${major}.${minor}.${patch}${prerelease}${build}`, options);
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
exports.m = normalizeFull;
|
|
38
|
+
exports.n = coerce;
|
|
39
|
+
exports.p = normalize;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { F as safeRegex, M as PRERELEASE_LOOSE, S as tryParse, T as COERCE_FULL, b as formatFullVersion, j as PRERELEASE, w as COERCE, y as formatComparableVersion } from "./comparison-DenM3wCn.mjs";
|
|
2
|
+
//#region ../../node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/version-CQ98ZBpL.js
|
|
3
|
+
const COERCE_EXACT = safeRegex(COERCE);
|
|
4
|
+
const COERCE_FULL_EXACT = safeRegex(COERCE_FULL);
|
|
5
|
+
safeRegex(`^${PRERELEASE}$`);
|
|
6
|
+
safeRegex(`^${PRERELEASE_LOOSE}$`);
|
|
7
|
+
function normalizeFull(version, options = {}) {
|
|
8
|
+
const parsed = tryParse(version, options);
|
|
9
|
+
return parsed ? formatFullVersion(parsed) : null;
|
|
10
|
+
}
|
|
11
|
+
function normalize(version, options = {}) {
|
|
12
|
+
const parsed = tryParse(version, options);
|
|
13
|
+
return parsed ? formatComparableVersion(parsed) : null;
|
|
14
|
+
}
|
|
15
|
+
function coerce(value, options = {}) {
|
|
16
|
+
if (typeof value === "object") return value;
|
|
17
|
+
const input = typeof value === "number" ? String(value) : value;
|
|
18
|
+
let match = null;
|
|
19
|
+
if (options.rtl) {
|
|
20
|
+
const source = options.includePrerelease ? COERCE_FULL : COERCE;
|
|
21
|
+
const expression = safeRegex(source, "g");
|
|
22
|
+
let next;
|
|
23
|
+
while ((next = expression.exec(input)) && (!match || match.index + match[0].length !== input.length)) {
|
|
24
|
+
if (!match || next.index + next[0].length !== match.index + match[0].length) match = next;
|
|
25
|
+
expression.lastIndex = next.index + next[1].length + next[2].length;
|
|
26
|
+
}
|
|
27
|
+
} else match = (options.includePrerelease ? COERCE_FULL_EXACT : COERCE_EXACT).exec(input);
|
|
28
|
+
if (!match) return null;
|
|
29
|
+
const major = match[2];
|
|
30
|
+
const minor = match[3] || "0";
|
|
31
|
+
const patch = match[4] || "0";
|
|
32
|
+
const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
|
|
33
|
+
const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
|
|
34
|
+
return tryParse(`${major}.${minor}.${patch}${prerelease}${build}`, options);
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { normalizeFull as m, coerce as n, normalize as p };
|
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
import { DatabaseBundleCursor, DatabaseBundleQueryOrder, Paginated } from "./types/index.cjs";
|
|
2
|
-
|
|
3
2
|
//#region src/paginateBundles.d.ts
|
|
4
3
|
declare function paginateBundles<TBundle extends {
|
|
5
4
|
readonly id: string;
|
|
6
|
-
}>({
|
|
7
|
-
bundles,
|
|
8
|
-
limit,
|
|
9
|
-
offset,
|
|
10
|
-
cursor,
|
|
11
|
-
orderBy
|
|
12
|
-
}: {
|
|
5
|
+
}>({ bundles, limit, offset, cursor, orderBy }: {
|
|
13
6
|
bundles: readonly TBundle[];
|
|
14
7
|
limit: number;
|
|
15
8
|
offset?: number;
|
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
import { DatabaseBundleCursor, DatabaseBundleQueryOrder, Paginated } from "./types/index.mjs";
|
|
2
|
-
|
|
3
2
|
//#region src/paginateBundles.d.ts
|
|
4
3
|
declare function paginateBundles<TBundle extends {
|
|
5
4
|
readonly id: string;
|
|
6
|
-
}>({
|
|
7
|
-
bundles,
|
|
8
|
-
limit,
|
|
9
|
-
offset,
|
|
10
|
-
cursor,
|
|
11
|
-
orderBy
|
|
12
|
-
}: {
|
|
5
|
+
}>({ bundles, limit, offset, cursor, orderBy }: {
|
|
13
6
|
bundles: readonly TBundle[];
|
|
14
7
|
limit: number;
|
|
15
8
|
offset?: number;
|
|
@@ -13,11 +13,7 @@ interface CreateStorageUriInput {
|
|
|
13
13
|
* Creates a hierarchical storage identifier in the form
|
|
14
14
|
* `protocol://bucket/slash-separated-encoded-key`.
|
|
15
15
|
*/
|
|
16
|
-
declare const createStorageUri: ({
|
|
17
|
-
protocol,
|
|
18
|
-
bucket,
|
|
19
|
-
key
|
|
20
|
-
}: CreateStorageUriInput) => string;
|
|
16
|
+
declare const createStorageUri: ({ protocol, bucket, key }: CreateStorageUriInput) => string;
|
|
21
17
|
/**
|
|
22
18
|
* Parses a hierarchical storage identifier and decodes each key segment.
|
|
23
19
|
*
|
|
@@ -13,11 +13,7 @@ interface CreateStorageUriInput {
|
|
|
13
13
|
* Creates a hierarchical storage identifier in the form
|
|
14
14
|
* `protocol://bucket/slash-separated-encoded-key`.
|
|
15
15
|
*/
|
|
16
|
-
declare const createStorageUri: ({
|
|
17
|
-
protocol,
|
|
18
|
-
bucket,
|
|
19
|
-
key
|
|
20
|
-
}: CreateStorageUriInput) => string;
|
|
16
|
+
declare const createStorageUri: ({ protocol, bucket, key }: CreateStorageUriInput) => string;
|
|
21
17
|
/**
|
|
22
18
|
* Parses a hierarchical storage identifier and decodes each key segment.
|
|
23
19
|
*
|
package/dist/queryBundles.d.cts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Bundle, DatabaseBundleIdFilter, DatabaseBundleQueryOrder, DatabaseBundleQueryWhere } from "./types/index.cjs";
|
|
2
|
-
|
|
3
2
|
//#region src/queryBundles.d.ts
|
|
4
3
|
declare function bundleIdMatchesFilter(id: string, filter: DatabaseBundleIdFilter | undefined): boolean;
|
|
5
4
|
declare function bundleMatchesQueryWhere(bundle: Bundle, where: DatabaseBundleQueryWhere | undefined): boolean;
|
package/dist/queryBundles.d.mts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Bundle, DatabaseBundleIdFilter, DatabaseBundleQueryOrder, DatabaseBundleQueryWhere } from "./types/index.mjs";
|
|
2
|
-
|
|
3
2
|
//#region src/queryBundles.d.ts
|
|
4
3
|
declare function bundleIdMatchesFilter(id: string, filter: DatabaseBundleIdFilter | undefined): boolean;
|
|
5
4
|
declare function bundleMatchesQueryWhere(bundle: Bundle, where: DatabaseBundleQueryWhere | undefined): boolean;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
require("./
|
|
2
|
-
const
|
|
1
|
+
const require_comparison_DenM3wCn = require("./node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/comparison-DenM3wCn.cjs");
|
|
2
|
+
const require_range_DvX_Y6iv = require("./node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/range-DvX-Y6iv.cjs");
|
|
3
|
+
const require_version_CQ98ZBpL = require("./node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/version-CQ98ZBpL.cjs");
|
|
3
4
|
let _hot_updater_core = require("@hot-updater/core");
|
|
4
5
|
//#region src/releaseCatalogCompiler.ts
|
|
5
6
|
var ReleaseCatalogCompilationError = class extends Error {
|
|
@@ -11,7 +12,7 @@ var ReleaseCatalogCompilationError = class extends Error {
|
|
|
11
12
|
}
|
|
12
13
|
};
|
|
13
14
|
function compareBounds(left, right) {
|
|
14
|
-
return
|
|
15
|
+
return require_comparison_DenM3wCn.t(left, right);
|
|
15
16
|
}
|
|
16
17
|
function strongerLower(current, candidate) {
|
|
17
18
|
if (current === null) return candidate;
|
|
@@ -34,7 +35,7 @@ function strongerUpper(current, candidate) {
|
|
|
34
35
|
};
|
|
35
36
|
}
|
|
36
37
|
function comparatorVersion(comparator) {
|
|
37
|
-
const version = comparator.version &&
|
|
38
|
+
const version = comparator.version && require_version_CQ98ZBpL.p(comparator.version);
|
|
38
39
|
if (version === null) throw new ReleaseCatalogCompilationError("INVALID_TARGET_RANGE", `Invalid comparator: ${comparator.value}`);
|
|
39
40
|
return version;
|
|
40
41
|
}
|
|
@@ -81,7 +82,7 @@ function comparatorSetToInterval(comparators) {
|
|
|
81
82
|
}
|
|
82
83
|
function rangeToIntervals(range) {
|
|
83
84
|
try {
|
|
84
|
-
return
|
|
85
|
+
return require_range_DvX_Y6iv.m(range).sets.flatMap((comparators) => {
|
|
85
86
|
const interval = comparatorSetToInterval(comparators);
|
|
86
87
|
return interval === null ? [] : [interval];
|
|
87
88
|
});
|
|
@@ -278,15 +279,16 @@ function compileAppVersion(releases) {
|
|
|
278
279
|
const retainedIds = new Set(segmentReleases.flatMap(({ retainedIds, rollbackIds }) => [...retainedIds, ...rollbackIds]));
|
|
279
280
|
const retainedReleases = releases.filter((release) => retainedIds.has(release.id));
|
|
280
281
|
const descriptorIndex = new Map(retainedReleases.map((release, index) => [release.id, index]));
|
|
282
|
+
const segments = mergeSegments(segmentReleases.map(({ segment, retainedIds, rollbackIds }) => ({
|
|
283
|
+
...segment,
|
|
284
|
+
releaseIndexes: releases.filter((release) => retainedIds.has(release.id)).map((release) => descriptorIndex.get(release.id)).filter((index) => index !== void 0),
|
|
285
|
+
rollbackReleaseIndexes: releases.filter((release) => rollbackIds.has(release.id)).map((release) => descriptorIndex.get(release.id)).filter((index) => index !== void 0)
|
|
286
|
+
})).filter((segment) => segment.releaseIndexes.length > 0 || segment.rollbackReleaseIndexes.length > 0));
|
|
281
287
|
return {
|
|
282
288
|
envelope: {
|
|
283
289
|
fallbackPolicy: _hot_updater_core.RELEASE_CATALOG_FALLBACK_POLICY,
|
|
284
290
|
schemaVersion: _hot_updater_core.RELEASE_CATALOG_SCHEMA_VERSION,
|
|
285
|
-
segments
|
|
286
|
-
...segment,
|
|
287
|
-
releaseIndexes: releases.filter((release) => retainedIds.has(release.id)).map((release) => descriptorIndex.get(release.id)).filter((index) => index !== void 0),
|
|
288
|
-
rollbackReleaseIndexes: releases.filter((release) => rollbackIds.has(release.id)).map((release) => descriptorIndex.get(release.id)).filter((index) => index !== void 0)
|
|
289
|
-
})).filter((segment) => segment.releaseIndexes.length > 0 || segment.rollbackReleaseIndexes.length > 0)),
|
|
291
|
+
segments,
|
|
290
292
|
strategy: "APP_VERSION"
|
|
291
293
|
},
|
|
292
294
|
retainedReleases
|
|
@@ -354,7 +356,8 @@ function versionInSegment(version, segment) {
|
|
|
354
356
|
return true;
|
|
355
357
|
}
|
|
356
358
|
function canonicalizeAppVersion(appVersion) {
|
|
357
|
-
|
|
359
|
+
const version = require_version_CQ98ZBpL.n(appVersion);
|
|
360
|
+
return version ? require_version_CQ98ZBpL.m(version) : null;
|
|
358
361
|
}
|
|
359
362
|
function projectCompiledCatalog(catalog, appVersion) {
|
|
360
363
|
let indexes;
|
|
@@ -380,7 +383,7 @@ function projectCompiledRollbackCatalog(catalog, appVersion) {
|
|
|
380
383
|
function referenceCompatibleReleases(releases, appVersion) {
|
|
381
384
|
const canonicalVersion = canonicalizeAppVersion(appVersion);
|
|
382
385
|
if (!canonicalVersion) return [];
|
|
383
|
-
return releases.filter((release) => release.enabled && release.targetAppVersion !== null &&
|
|
386
|
+
return releases.filter((release) => release.enabled && release.targetAppVersion !== null && require_range_DvX_Y6iv.f(canonicalVersion, release.targetAppVersion));
|
|
384
387
|
}
|
|
385
388
|
//#endregion
|
|
386
389
|
exports.ReleaseCatalogCompilationError = ReleaseCatalogCompilationError;
|