@meethive/vite 0.0.1 → 0.0.3
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/{src/federation/src/runtime/dynamic-remote.d.ts → dynamic-remote.d.ts} +25 -19
- package/dist/dynamic-remote.js +185 -0
- package/dist/dynamic-remote.mjs +163 -0
- package/dist/index.d.ts +51 -4
- package/dist/index.js +1 -20
- package/dist/index.mjs +1 -20
- package/dist/{src/federation/src/utils/semver/satisfy.d.ts → satisfy.d.ts} +2 -1
- package/dist/satisfy.js +381 -0
- package/dist/satisfy.mjs +381 -0
- package/package.json +20 -4
- package/dist/index.d.ts.map +0 -1
- package/dist/src/federation/src/dev/expose-development.d.ts +0 -5
- package/dist/src/federation/src/dev/expose-development.d.ts.map +0 -1
- package/dist/src/federation/src/dev/remote-development.d.ts +0 -5
- package/dist/src/federation/src/dev/remote-development.d.ts.map +0 -1
- package/dist/src/federation/src/dev/shared-development.d.ts +0 -5
- package/dist/src/federation/src/dev/shared-development.d.ts.map +0 -1
- package/dist/src/federation/src/index.d.ts +0 -7
- package/dist/src/federation/src/index.d.ts.map +0 -1
- package/dist/src/federation/src/prod/expose-production.d.ts +0 -5
- package/dist/src/federation/src/prod/expose-production.d.ts.map +0 -1
- package/dist/src/federation/src/prod/remote-production.d.ts +0 -7
- package/dist/src/federation/src/prod/remote-production.d.ts.map +0 -1
- package/dist/src/federation/src/prod/shared-production.d.ts +0 -5
- package/dist/src/federation/src/prod/shared-production.d.ts.map +0 -1
- package/dist/src/federation/src/public.d.ts +0 -40
- package/dist/src/federation/src/public.d.ts.map +0 -1
- package/dist/src/federation/src/runtime/dynamic-remote.d.ts.map +0 -1
- package/dist/src/federation/src/utils/html.d.ts +0 -12
- package/dist/src/federation/src/utils/html.d.ts.map +0 -1
- package/dist/src/federation/src/utils/index.d.ts +0 -29
- package/dist/src/federation/src/utils/index.d.ts.map +0 -1
- package/dist/src/federation/src/utils/semver/compare.d.ts +0 -10
- package/dist/src/federation/src/utils/semver/compare.d.ts.map +0 -1
- package/dist/src/federation/src/utils/semver/constants.d.ts +0 -11
- package/dist/src/federation/src/utils/semver/constants.d.ts.map +0 -1
- package/dist/src/federation/src/utils/semver/parser.d.ts +0 -10
- package/dist/src/federation/src/utils/semver/parser.d.ts.map +0 -1
- package/dist/src/federation/src/utils/semver/satisfy.d.ts.map +0 -1
- package/dist/src/federation/src/utils/semver/utils.d.ts +0 -12
- package/dist/src/federation/src/utils/semver/utils.d.ts.map +0 -1
- package/dist/src/monaco-editor/index.d.ts +0 -35
- package/dist/src/monaco-editor/index.d.ts.map +0 -1
- package/dist/src/monaco-editor/languageWork.d.ts +0 -10
- package/dist/src/monaco-editor/languageWork.d.ts.map +0 -1
- package/dist/src/monaco-editor/workerMiddleware.d.ts +0 -9
- package/dist/src/monaco-editor/workerMiddleware.d.ts.map +0 -1
- package/dist/src/sharp/index.d.ts +0 -12
- package/dist/src/sharp/index.d.ts.map +0 -1
- package/index.ts +0 -3
- package/src/federation/src/dev/expose-development.ts +0 -29
- package/src/federation/src/dev/remote-development.ts +0 -435
- package/src/federation/src/dev/shared-development.ts +0 -29
- package/src/federation/src/index.ts +0 -242
- package/src/federation/src/prod/expose-production.ts +0 -333
- package/src/federation/src/prod/federation_fn_import.js +0 -75
- package/src/federation/src/prod/remote-production.ts +0 -658
- package/src/federation/src/prod/shared-production.ts +0 -268
- package/src/federation/src/public.ts +0 -54
- package/src/federation/src/runtime/dynamic-remote.ts +0 -247
- package/src/federation/src/utils/html.ts +0 -165
- package/src/federation/src/utils/index.ts +0 -255
- package/src/federation/src/utils/semver/compare.ts +0 -131
- package/src/federation/src/utils/semver/constants.ts +0 -46
- package/src/federation/src/utils/semver/parser.ts +0 -253
- package/src/federation/src/utils/semver/satisfy.ts +0 -151
- package/src/federation/src/utils/semver/utils.ts +0 -93
- package/src/federation/types/dynamic-remote.d.ts +0 -105
- package/src/federation/types/index.d.ts +0 -344
- package/src/federation/types/pluginHooks.d.ts +0 -4
- package/src/federation/types/virtual-modules.d.ts +0 -48
- package/src/federation/types/viteDevServer.d.ts +0 -22
- package/src/monaco-editor/index.ts +0 -205
- package/src/monaco-editor/languageWork.ts +0 -36
- package/src/monaco-editor/workerMiddleware.ts +0 -78
- package/src/sharp/index.ts +0 -93
package/dist/satisfy.js
ADDED
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const buildIdentifier = "[0-9A-Za-z-]+";
|
|
4
|
+
const build = `(?:\\+(${buildIdentifier}(?:\\.${buildIdentifier})*))`;
|
|
5
|
+
const numericIdentifier = "0|[1-9]\\d*";
|
|
6
|
+
const numericIdentifierLoose = "[0-9]+";
|
|
7
|
+
const nonNumericIdentifier = "\\d*[a-zA-Z-][a-zA-Z0-9-]*";
|
|
8
|
+
const preReleaseIdentifierLoose = `(?:${numericIdentifierLoose}|${nonNumericIdentifier})`;
|
|
9
|
+
const preReleaseLoose = `(?:-?(${preReleaseIdentifierLoose}(?:\\.${preReleaseIdentifierLoose})*))`;
|
|
10
|
+
const preReleaseIdentifier = `(?:${numericIdentifier}|${nonNumericIdentifier})`;
|
|
11
|
+
const preRelease = `(?:-(${preReleaseIdentifier}(?:\\.${preReleaseIdentifier})*))`;
|
|
12
|
+
const xRangeIdentifier = `${numericIdentifier}|x|X|\\*`;
|
|
13
|
+
const xRangePlain = `[v=\\s]*(${xRangeIdentifier})(?:\\.(${xRangeIdentifier})(?:\\.(${xRangeIdentifier})(?:${preRelease})?${build}?)?)?`;
|
|
14
|
+
const hyphenRange = `^\\s*(${xRangePlain})\\s+-\\s+(${xRangePlain})\\s*$`;
|
|
15
|
+
const mainVersionLoose = `(${numericIdentifierLoose})\\.(${numericIdentifierLoose})\\.(${numericIdentifierLoose})`;
|
|
16
|
+
const loosePlain = `[v=\\s]*${mainVersionLoose}${preReleaseLoose}?${build}?`;
|
|
17
|
+
const gtlt = "((?:<|>)?=?)";
|
|
18
|
+
const comparatorTrim = `(\\s*)${gtlt}\\s*(${loosePlain}|${xRangePlain})`;
|
|
19
|
+
const loneTilde = "(?:~>?)";
|
|
20
|
+
const tildeTrim = `(\\s*)${loneTilde}\\s+`;
|
|
21
|
+
const loneCaret = "(?:\\^)";
|
|
22
|
+
const caretTrim = `(\\s*)${loneCaret}\\s+`;
|
|
23
|
+
const star = "(<|>)?=?\\s*\\*";
|
|
24
|
+
const caret = `^${loneCaret}${xRangePlain}$`;
|
|
25
|
+
const mainVersion = `(${numericIdentifier})\\.(${numericIdentifier})\\.(${numericIdentifier})`;
|
|
26
|
+
const fullPlain = `v?${mainVersion}${preRelease}?${build}?`;
|
|
27
|
+
const tilde = `^${loneTilde}${xRangePlain}$`;
|
|
28
|
+
const xRange = `^${gtlt}\\s*${xRangePlain}$`;
|
|
29
|
+
const comparator = `^${gtlt}\\s*(${fullPlain})$|^$`;
|
|
30
|
+
const gte0 = "^\\s*>=\\s*0.0.0\\s*$";
|
|
31
|
+
function parseRegex(source) {
|
|
32
|
+
return new RegExp(source);
|
|
33
|
+
}
|
|
34
|
+
function isXVersion(version) {
|
|
35
|
+
return !version || version.toLowerCase() === "x" || version === "*";
|
|
36
|
+
}
|
|
37
|
+
function pipe(...fns) {
|
|
38
|
+
return (x) => {
|
|
39
|
+
return fns.reduce((v, f) => f(v), x);
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function extractComparator(comparatorString) {
|
|
43
|
+
return comparatorString.match(parseRegex(comparator));
|
|
44
|
+
}
|
|
45
|
+
function combineVersion(major, minor, patch, preRelease2) {
|
|
46
|
+
const mainVersion2 = `${major}.${minor}.${patch}`;
|
|
47
|
+
if (preRelease2) {
|
|
48
|
+
return `${mainVersion2}-${preRelease2}`;
|
|
49
|
+
}
|
|
50
|
+
return mainVersion2;
|
|
51
|
+
}
|
|
52
|
+
function parseHyphen(range) {
|
|
53
|
+
return range.replace(
|
|
54
|
+
parseRegex(hyphenRange),
|
|
55
|
+
(_range, from, fromMajor, fromMinor, fromPatch, _fromPreRelease, _fromBuild, to, toMajor, toMinor, toPatch, toPreRelease) => {
|
|
56
|
+
if (isXVersion(fromMajor)) {
|
|
57
|
+
from = "";
|
|
58
|
+
} else if (isXVersion(fromMinor)) {
|
|
59
|
+
from = `>=${fromMajor}.0.0`;
|
|
60
|
+
} else if (isXVersion(fromPatch)) {
|
|
61
|
+
from = `>=${fromMajor}.${fromMinor}.0`;
|
|
62
|
+
} else {
|
|
63
|
+
from = `>=${from}`;
|
|
64
|
+
}
|
|
65
|
+
if (isXVersion(toMajor)) {
|
|
66
|
+
to = "";
|
|
67
|
+
} else if (isXVersion(toMinor)) {
|
|
68
|
+
to = `<${+toMajor + 1}.0.0-0`;
|
|
69
|
+
} else if (isXVersion(toPatch)) {
|
|
70
|
+
to = `<${toMajor}.${+toMinor + 1}.0-0`;
|
|
71
|
+
} else if (toPreRelease) {
|
|
72
|
+
to = `<=${toMajor}.${toMinor}.${toPatch}-${toPreRelease}`;
|
|
73
|
+
} else {
|
|
74
|
+
to = `<=${to}`;
|
|
75
|
+
}
|
|
76
|
+
return `${from} ${to}`.trim();
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
function parseComparatorTrim(range) {
|
|
81
|
+
return range.replace(parseRegex(comparatorTrim), "$1$2$3");
|
|
82
|
+
}
|
|
83
|
+
function parseTildeTrim(range) {
|
|
84
|
+
return range.replace(parseRegex(tildeTrim), "$1~");
|
|
85
|
+
}
|
|
86
|
+
function parseCaretTrim(range) {
|
|
87
|
+
return range.replace(parseRegex(caretTrim), "$1^");
|
|
88
|
+
}
|
|
89
|
+
function parseCarets(range) {
|
|
90
|
+
return range.trim().split(/\s+/).map((rangeVersion) => {
|
|
91
|
+
return rangeVersion.replace(
|
|
92
|
+
parseRegex(caret),
|
|
93
|
+
(_, major, minor, patch, preRelease2) => {
|
|
94
|
+
if (isXVersion(major)) {
|
|
95
|
+
return "";
|
|
96
|
+
} else if (isXVersion(minor)) {
|
|
97
|
+
return `>=${major}.0.0 <${+major + 1}.0.0-0`;
|
|
98
|
+
} else if (isXVersion(patch)) {
|
|
99
|
+
if (major === "0") {
|
|
100
|
+
return `>=${major}.${minor}.0 <${major}.${+minor + 1}.0-0`;
|
|
101
|
+
} else {
|
|
102
|
+
return `>=${major}.${minor}.0 <${+major + 1}.0.0-0`;
|
|
103
|
+
}
|
|
104
|
+
} else if (preRelease2) {
|
|
105
|
+
if (major === "0") {
|
|
106
|
+
if (minor === "0") {
|
|
107
|
+
return `>=${major}.${minor}.${patch}-${preRelease2} <${major}.${minor}.${+patch + 1}-0`;
|
|
108
|
+
} else {
|
|
109
|
+
return `>=${major}.${minor}.${patch}-${preRelease2} <${major}.${+minor + 1}.0-0`;
|
|
110
|
+
}
|
|
111
|
+
} else {
|
|
112
|
+
return `>=${major}.${minor}.${patch}-${preRelease2} <${+major + 1}.0.0-0`;
|
|
113
|
+
}
|
|
114
|
+
} else {
|
|
115
|
+
if (major === "0") {
|
|
116
|
+
if (minor === "0") {
|
|
117
|
+
return `>=${major}.${minor}.${patch} <${major}.${minor}.${+patch + 1}-0`;
|
|
118
|
+
} else {
|
|
119
|
+
return `>=${major}.${minor}.${patch} <${major}.${+minor + 1}.0-0`;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return `>=${major}.${minor}.${patch} <${+major + 1}.0.0-0`;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
);
|
|
126
|
+
}).join(" ");
|
|
127
|
+
}
|
|
128
|
+
function parseTildes(range) {
|
|
129
|
+
return range.trim().split(/\s+/).map((rangeVersion) => {
|
|
130
|
+
return rangeVersion.replace(
|
|
131
|
+
parseRegex(tilde),
|
|
132
|
+
(_, major, minor, patch, preRelease2) => {
|
|
133
|
+
if (isXVersion(major)) {
|
|
134
|
+
return "";
|
|
135
|
+
} else if (isXVersion(minor)) {
|
|
136
|
+
return `>=${major}.0.0 <${+major + 1}.0.0-0`;
|
|
137
|
+
} else if (isXVersion(patch)) {
|
|
138
|
+
return `>=${major}.${minor}.0 <${major}.${+minor + 1}.0-0`;
|
|
139
|
+
} else if (preRelease2) {
|
|
140
|
+
return `>=${major}.${minor}.${patch}-${preRelease2} <${major}.${+minor + 1}.0-0`;
|
|
141
|
+
}
|
|
142
|
+
return `>=${major}.${minor}.${patch} <${major}.${+minor + 1}.0-0`;
|
|
143
|
+
}
|
|
144
|
+
);
|
|
145
|
+
}).join(" ");
|
|
146
|
+
}
|
|
147
|
+
function parseXRanges(range) {
|
|
148
|
+
return range.split(/\s+/).map((rangeVersion) => {
|
|
149
|
+
return rangeVersion.trim().replace(
|
|
150
|
+
parseRegex(xRange),
|
|
151
|
+
(ret, gtlt2, major, minor, patch, preRelease2) => {
|
|
152
|
+
const isXMajor = isXVersion(major);
|
|
153
|
+
const isXMinor = isXMajor || isXVersion(minor);
|
|
154
|
+
const isXPatch = isXMinor || isXVersion(patch);
|
|
155
|
+
if (gtlt2 === "=" && isXPatch) {
|
|
156
|
+
gtlt2 = "";
|
|
157
|
+
}
|
|
158
|
+
preRelease2 = "";
|
|
159
|
+
if (isXMajor) {
|
|
160
|
+
if (gtlt2 === ">" || gtlt2 === "<") {
|
|
161
|
+
return "<0.0.0-0";
|
|
162
|
+
} else {
|
|
163
|
+
return "*";
|
|
164
|
+
}
|
|
165
|
+
} else if (gtlt2 && isXPatch) {
|
|
166
|
+
if (isXMinor) {
|
|
167
|
+
minor = 0;
|
|
168
|
+
}
|
|
169
|
+
patch = 0;
|
|
170
|
+
if (gtlt2 === ">") {
|
|
171
|
+
gtlt2 = ">=";
|
|
172
|
+
if (isXMinor) {
|
|
173
|
+
major = +major + 1;
|
|
174
|
+
minor = 0;
|
|
175
|
+
patch = 0;
|
|
176
|
+
} else {
|
|
177
|
+
minor = +minor + 1;
|
|
178
|
+
patch = 0;
|
|
179
|
+
}
|
|
180
|
+
} else if (gtlt2 === "<=") {
|
|
181
|
+
gtlt2 = "<";
|
|
182
|
+
if (isXMinor) {
|
|
183
|
+
major = +major + 1;
|
|
184
|
+
} else {
|
|
185
|
+
minor = +minor + 1;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
if (gtlt2 === "<") {
|
|
189
|
+
preRelease2 = "-0";
|
|
190
|
+
}
|
|
191
|
+
return `${gtlt2 + major}.${minor}.${patch}${preRelease2}`;
|
|
192
|
+
} else if (isXMinor) {
|
|
193
|
+
return `>=${major}.0.0${preRelease2} <${+major + 1}.0.0-0`;
|
|
194
|
+
} else if (isXPatch) {
|
|
195
|
+
return `>=${major}.${minor}.0${preRelease2} <${major}.${+minor + 1}.0-0`;
|
|
196
|
+
}
|
|
197
|
+
return ret;
|
|
198
|
+
}
|
|
199
|
+
);
|
|
200
|
+
}).join(" ");
|
|
201
|
+
}
|
|
202
|
+
function parseStar(range) {
|
|
203
|
+
return range.trim().replace(parseRegex(star), "");
|
|
204
|
+
}
|
|
205
|
+
function parseGTE0(comparatorString) {
|
|
206
|
+
return comparatorString.trim().replace(parseRegex(gte0), "");
|
|
207
|
+
}
|
|
208
|
+
function compareAtom(rangeAtom, versionAtom) {
|
|
209
|
+
rangeAtom = +rangeAtom || rangeAtom;
|
|
210
|
+
versionAtom = +versionAtom || versionAtom;
|
|
211
|
+
if (rangeAtom > versionAtom) {
|
|
212
|
+
return 1;
|
|
213
|
+
}
|
|
214
|
+
if (rangeAtom === versionAtom) {
|
|
215
|
+
return 0;
|
|
216
|
+
}
|
|
217
|
+
return -1;
|
|
218
|
+
}
|
|
219
|
+
function comparePreRelease(rangeAtom, versionAtom) {
|
|
220
|
+
const { preRelease: rangePreRelease } = rangeAtom;
|
|
221
|
+
const { preRelease: versionPreRelease } = versionAtom;
|
|
222
|
+
if (rangePreRelease === void 0 && !!versionPreRelease) {
|
|
223
|
+
return 1;
|
|
224
|
+
}
|
|
225
|
+
if (!!rangePreRelease && versionPreRelease === void 0) {
|
|
226
|
+
return -1;
|
|
227
|
+
}
|
|
228
|
+
if (rangePreRelease === void 0 && versionPreRelease === void 0) {
|
|
229
|
+
return 0;
|
|
230
|
+
}
|
|
231
|
+
for (let i = 0, n = rangePreRelease.length; i <= n; i++) {
|
|
232
|
+
const rangeElement = rangePreRelease[i];
|
|
233
|
+
const versionElement = versionPreRelease[i];
|
|
234
|
+
if (rangeElement === versionElement) {
|
|
235
|
+
continue;
|
|
236
|
+
}
|
|
237
|
+
if (rangeElement === void 0 && versionElement === void 0) {
|
|
238
|
+
return 0;
|
|
239
|
+
}
|
|
240
|
+
if (!rangeElement) {
|
|
241
|
+
return 1;
|
|
242
|
+
}
|
|
243
|
+
if (!versionElement) {
|
|
244
|
+
return -1;
|
|
245
|
+
}
|
|
246
|
+
return compareAtom(rangeElement, versionElement);
|
|
247
|
+
}
|
|
248
|
+
return 0;
|
|
249
|
+
}
|
|
250
|
+
function compareVersion(rangeAtom, versionAtom) {
|
|
251
|
+
return compareAtom(rangeAtom.major, versionAtom.major) || compareAtom(rangeAtom.minor, versionAtom.minor) || compareAtom(rangeAtom.patch, versionAtom.patch) || comparePreRelease(rangeAtom, versionAtom);
|
|
252
|
+
}
|
|
253
|
+
function eq(rangeAtom, versionAtom) {
|
|
254
|
+
return rangeAtom.version === versionAtom.version;
|
|
255
|
+
}
|
|
256
|
+
function compare(rangeAtom, versionAtom) {
|
|
257
|
+
switch (rangeAtom.operator) {
|
|
258
|
+
case "":
|
|
259
|
+
case "=":
|
|
260
|
+
return eq(rangeAtom, versionAtom);
|
|
261
|
+
case ">":
|
|
262
|
+
return compareVersion(rangeAtom, versionAtom) < 0;
|
|
263
|
+
case ">=":
|
|
264
|
+
return eq(rangeAtom, versionAtom) || compareVersion(rangeAtom, versionAtom) < 0;
|
|
265
|
+
case "<":
|
|
266
|
+
return compareVersion(rangeAtom, versionAtom) > 0;
|
|
267
|
+
case "<=":
|
|
268
|
+
return eq(rangeAtom, versionAtom) || compareVersion(rangeAtom, versionAtom) > 0;
|
|
269
|
+
case void 0: {
|
|
270
|
+
return true;
|
|
271
|
+
}
|
|
272
|
+
default:
|
|
273
|
+
return false;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
function parseComparatorString(range) {
|
|
277
|
+
return pipe(
|
|
278
|
+
// handle caret
|
|
279
|
+
// ^ --> * (any, kinda silly)
|
|
280
|
+
// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0
|
|
281
|
+
// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0
|
|
282
|
+
// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0
|
|
283
|
+
// ^1.2.3 --> >=1.2.3 <2.0.0-0
|
|
284
|
+
// ^1.2.0 --> >=1.2.0 <2.0.0-0
|
|
285
|
+
parseCarets,
|
|
286
|
+
// handle tilde
|
|
287
|
+
// ~, ~> --> * (any, kinda silly)
|
|
288
|
+
// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0
|
|
289
|
+
// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0
|
|
290
|
+
// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0
|
|
291
|
+
// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0
|
|
292
|
+
// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0
|
|
293
|
+
parseTildes,
|
|
294
|
+
parseXRanges,
|
|
295
|
+
parseStar
|
|
296
|
+
)(range);
|
|
297
|
+
}
|
|
298
|
+
function parseRange(range) {
|
|
299
|
+
return pipe(
|
|
300
|
+
// handle hyphenRange
|
|
301
|
+
// `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
|
|
302
|
+
parseHyphen,
|
|
303
|
+
// handle trim comparator
|
|
304
|
+
// `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
|
|
305
|
+
parseComparatorTrim,
|
|
306
|
+
// handle trim tilde
|
|
307
|
+
// `~ 1.2.3` => `~1.2.3`
|
|
308
|
+
parseTildeTrim,
|
|
309
|
+
// handle trim caret
|
|
310
|
+
// `^ 1.2.3` => `^1.2.3`
|
|
311
|
+
parseCaretTrim
|
|
312
|
+
)(range.trim()).split(/\s+/).join(" ");
|
|
313
|
+
}
|
|
314
|
+
function satisfy(version, range) {
|
|
315
|
+
if (!version) {
|
|
316
|
+
return false;
|
|
317
|
+
}
|
|
318
|
+
const parsedRange = parseRange(range);
|
|
319
|
+
const parsedComparator = parsedRange.split(" ").map((rangeVersion) => parseComparatorString(rangeVersion)).join(" ");
|
|
320
|
+
const comparators = parsedComparator.split(/\s+/).map((comparator2) => parseGTE0(comparator2));
|
|
321
|
+
const extractedVersion = extractComparator(version);
|
|
322
|
+
if (!extractedVersion) {
|
|
323
|
+
return false;
|
|
324
|
+
}
|
|
325
|
+
const [
|
|
326
|
+
,
|
|
327
|
+
versionOperator,
|
|
328
|
+
,
|
|
329
|
+
versionMajor,
|
|
330
|
+
versionMinor,
|
|
331
|
+
versionPatch,
|
|
332
|
+
versionPreRelease
|
|
333
|
+
] = extractedVersion;
|
|
334
|
+
const versionAtom = {
|
|
335
|
+
version: combineVersion(
|
|
336
|
+
versionMajor,
|
|
337
|
+
versionMinor,
|
|
338
|
+
versionPatch,
|
|
339
|
+
versionPreRelease
|
|
340
|
+
),
|
|
341
|
+
// exclude build atom
|
|
342
|
+
major: versionMajor,
|
|
343
|
+
minor: versionMinor,
|
|
344
|
+
patch: versionPatch,
|
|
345
|
+
preRelease: versionPreRelease?.split(".")
|
|
346
|
+
};
|
|
347
|
+
for (const comparator2 of comparators) {
|
|
348
|
+
const extractedComparator = extractComparator(comparator2);
|
|
349
|
+
if (!extractedComparator) {
|
|
350
|
+
return false;
|
|
351
|
+
}
|
|
352
|
+
const [
|
|
353
|
+
,
|
|
354
|
+
rangeOperator,
|
|
355
|
+
,
|
|
356
|
+
rangeMajor,
|
|
357
|
+
rangeMinor,
|
|
358
|
+
rangePatch,
|
|
359
|
+
rangePreRelease
|
|
360
|
+
] = extractedComparator;
|
|
361
|
+
const rangeAtom = {
|
|
362
|
+
operator: rangeOperator,
|
|
363
|
+
version: combineVersion(
|
|
364
|
+
rangeMajor,
|
|
365
|
+
rangeMinor,
|
|
366
|
+
rangePatch,
|
|
367
|
+
rangePreRelease
|
|
368
|
+
),
|
|
369
|
+
// exclude build atom
|
|
370
|
+
major: rangeMajor,
|
|
371
|
+
minor: rangeMinor,
|
|
372
|
+
patch: rangePatch,
|
|
373
|
+
preRelease: rangePreRelease?.split(".")
|
|
374
|
+
};
|
|
375
|
+
if (!compare(rangeAtom, versionAtom)) {
|
|
376
|
+
return false;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
return true;
|
|
380
|
+
}
|
|
381
|
+
exports.satisfy = satisfy;
|