@meethive/vite 0.0.1 → 0.0.2
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/dynamic-remote.d.ts +2 -0
- package/dist/dynamic-remote.js +185 -0
- package/dist/dynamic-remote.mjs +163 -0
- package/dist/index.d.ts +2 -3
- package/dist/index.js +9 -325
- package/dist/index.mjs +9 -303
- package/dist/satisfy.d.ts +2 -0
- 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 +0 -79
- 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 +0 -2
- 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.mjs
ADDED
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
const buildIdentifier = "[0-9A-Za-z-]+";
|
|
2
|
+
const build = `(?:\\+(${buildIdentifier}(?:\\.${buildIdentifier})*))`;
|
|
3
|
+
const numericIdentifier = "0|[1-9]\\d*";
|
|
4
|
+
const numericIdentifierLoose = "[0-9]+";
|
|
5
|
+
const nonNumericIdentifier = "\\d*[a-zA-Z-][a-zA-Z0-9-]*";
|
|
6
|
+
const preReleaseIdentifierLoose = `(?:${numericIdentifierLoose}|${nonNumericIdentifier})`;
|
|
7
|
+
const preReleaseLoose = `(?:-?(${preReleaseIdentifierLoose}(?:\\.${preReleaseIdentifierLoose})*))`;
|
|
8
|
+
const preReleaseIdentifier = `(?:${numericIdentifier}|${nonNumericIdentifier})`;
|
|
9
|
+
const preRelease = `(?:-(${preReleaseIdentifier}(?:\\.${preReleaseIdentifier})*))`;
|
|
10
|
+
const xRangeIdentifier = `${numericIdentifier}|x|X|\\*`;
|
|
11
|
+
const xRangePlain = `[v=\\s]*(${xRangeIdentifier})(?:\\.(${xRangeIdentifier})(?:\\.(${xRangeIdentifier})(?:${preRelease})?${build}?)?)?`;
|
|
12
|
+
const hyphenRange = `^\\s*(${xRangePlain})\\s+-\\s+(${xRangePlain})\\s*$`;
|
|
13
|
+
const mainVersionLoose = `(${numericIdentifierLoose})\\.(${numericIdentifierLoose})\\.(${numericIdentifierLoose})`;
|
|
14
|
+
const loosePlain = `[v=\\s]*${mainVersionLoose}${preReleaseLoose}?${build}?`;
|
|
15
|
+
const gtlt = "((?:<|>)?=?)";
|
|
16
|
+
const comparatorTrim = `(\\s*)${gtlt}\\s*(${loosePlain}|${xRangePlain})`;
|
|
17
|
+
const loneTilde = "(?:~>?)";
|
|
18
|
+
const tildeTrim = `(\\s*)${loneTilde}\\s+`;
|
|
19
|
+
const loneCaret = "(?:\\^)";
|
|
20
|
+
const caretTrim = `(\\s*)${loneCaret}\\s+`;
|
|
21
|
+
const star = "(<|>)?=?\\s*\\*";
|
|
22
|
+
const caret = `^${loneCaret}${xRangePlain}$`;
|
|
23
|
+
const mainVersion = `(${numericIdentifier})\\.(${numericIdentifier})\\.(${numericIdentifier})`;
|
|
24
|
+
const fullPlain = `v?${mainVersion}${preRelease}?${build}?`;
|
|
25
|
+
const tilde = `^${loneTilde}${xRangePlain}$`;
|
|
26
|
+
const xRange = `^${gtlt}\\s*${xRangePlain}$`;
|
|
27
|
+
const comparator = `^${gtlt}\\s*(${fullPlain})$|^$`;
|
|
28
|
+
const gte0 = "^\\s*>=\\s*0.0.0\\s*$";
|
|
29
|
+
function parseRegex(source) {
|
|
30
|
+
return new RegExp(source);
|
|
31
|
+
}
|
|
32
|
+
function isXVersion(version) {
|
|
33
|
+
return !version || version.toLowerCase() === "x" || version === "*";
|
|
34
|
+
}
|
|
35
|
+
function pipe(...fns) {
|
|
36
|
+
return (x) => {
|
|
37
|
+
return fns.reduce((v, f) => f(v), x);
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function extractComparator(comparatorString) {
|
|
41
|
+
return comparatorString.match(parseRegex(comparator));
|
|
42
|
+
}
|
|
43
|
+
function combineVersion(major, minor, patch, preRelease2) {
|
|
44
|
+
const mainVersion2 = `${major}.${minor}.${patch}`;
|
|
45
|
+
if (preRelease2) {
|
|
46
|
+
return `${mainVersion2}-${preRelease2}`;
|
|
47
|
+
}
|
|
48
|
+
return mainVersion2;
|
|
49
|
+
}
|
|
50
|
+
function parseHyphen(range) {
|
|
51
|
+
return range.replace(
|
|
52
|
+
parseRegex(hyphenRange),
|
|
53
|
+
(_range, from, fromMajor, fromMinor, fromPatch, _fromPreRelease, _fromBuild, to, toMajor, toMinor, toPatch, toPreRelease) => {
|
|
54
|
+
if (isXVersion(fromMajor)) {
|
|
55
|
+
from = "";
|
|
56
|
+
} else if (isXVersion(fromMinor)) {
|
|
57
|
+
from = `>=${fromMajor}.0.0`;
|
|
58
|
+
} else if (isXVersion(fromPatch)) {
|
|
59
|
+
from = `>=${fromMajor}.${fromMinor}.0`;
|
|
60
|
+
} else {
|
|
61
|
+
from = `>=${from}`;
|
|
62
|
+
}
|
|
63
|
+
if (isXVersion(toMajor)) {
|
|
64
|
+
to = "";
|
|
65
|
+
} else if (isXVersion(toMinor)) {
|
|
66
|
+
to = `<${+toMajor + 1}.0.0-0`;
|
|
67
|
+
} else if (isXVersion(toPatch)) {
|
|
68
|
+
to = `<${toMajor}.${+toMinor + 1}.0-0`;
|
|
69
|
+
} else if (toPreRelease) {
|
|
70
|
+
to = `<=${toMajor}.${toMinor}.${toPatch}-${toPreRelease}`;
|
|
71
|
+
} else {
|
|
72
|
+
to = `<=${to}`;
|
|
73
|
+
}
|
|
74
|
+
return `${from} ${to}`.trim();
|
|
75
|
+
}
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
function parseComparatorTrim(range) {
|
|
79
|
+
return range.replace(parseRegex(comparatorTrim), "$1$2$3");
|
|
80
|
+
}
|
|
81
|
+
function parseTildeTrim(range) {
|
|
82
|
+
return range.replace(parseRegex(tildeTrim), "$1~");
|
|
83
|
+
}
|
|
84
|
+
function parseCaretTrim(range) {
|
|
85
|
+
return range.replace(parseRegex(caretTrim), "$1^");
|
|
86
|
+
}
|
|
87
|
+
function parseCarets(range) {
|
|
88
|
+
return range.trim().split(/\s+/).map((rangeVersion) => {
|
|
89
|
+
return rangeVersion.replace(
|
|
90
|
+
parseRegex(caret),
|
|
91
|
+
(_, major, minor, patch, preRelease2) => {
|
|
92
|
+
if (isXVersion(major)) {
|
|
93
|
+
return "";
|
|
94
|
+
} else if (isXVersion(minor)) {
|
|
95
|
+
return `>=${major}.0.0 <${+major + 1}.0.0-0`;
|
|
96
|
+
} else if (isXVersion(patch)) {
|
|
97
|
+
if (major === "0") {
|
|
98
|
+
return `>=${major}.${minor}.0 <${major}.${+minor + 1}.0-0`;
|
|
99
|
+
} else {
|
|
100
|
+
return `>=${major}.${minor}.0 <${+major + 1}.0.0-0`;
|
|
101
|
+
}
|
|
102
|
+
} else if (preRelease2) {
|
|
103
|
+
if (major === "0") {
|
|
104
|
+
if (minor === "0") {
|
|
105
|
+
return `>=${major}.${minor}.${patch}-${preRelease2} <${major}.${minor}.${+patch + 1}-0`;
|
|
106
|
+
} else {
|
|
107
|
+
return `>=${major}.${minor}.${patch}-${preRelease2} <${major}.${+minor + 1}.0-0`;
|
|
108
|
+
}
|
|
109
|
+
} else {
|
|
110
|
+
return `>=${major}.${minor}.${patch}-${preRelease2} <${+major + 1}.0.0-0`;
|
|
111
|
+
}
|
|
112
|
+
} else {
|
|
113
|
+
if (major === "0") {
|
|
114
|
+
if (minor === "0") {
|
|
115
|
+
return `>=${major}.${minor}.${patch} <${major}.${minor}.${+patch + 1}-0`;
|
|
116
|
+
} else {
|
|
117
|
+
return `>=${major}.${minor}.${patch} <${major}.${+minor + 1}.0-0`;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return `>=${major}.${minor}.${patch} <${+major + 1}.0.0-0`;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
);
|
|
124
|
+
}).join(" ");
|
|
125
|
+
}
|
|
126
|
+
function parseTildes(range) {
|
|
127
|
+
return range.trim().split(/\s+/).map((rangeVersion) => {
|
|
128
|
+
return rangeVersion.replace(
|
|
129
|
+
parseRegex(tilde),
|
|
130
|
+
(_, major, minor, patch, preRelease2) => {
|
|
131
|
+
if (isXVersion(major)) {
|
|
132
|
+
return "";
|
|
133
|
+
} else if (isXVersion(minor)) {
|
|
134
|
+
return `>=${major}.0.0 <${+major + 1}.0.0-0`;
|
|
135
|
+
} else if (isXVersion(patch)) {
|
|
136
|
+
return `>=${major}.${minor}.0 <${major}.${+minor + 1}.0-0`;
|
|
137
|
+
} else if (preRelease2) {
|
|
138
|
+
return `>=${major}.${minor}.${patch}-${preRelease2} <${major}.${+minor + 1}.0-0`;
|
|
139
|
+
}
|
|
140
|
+
return `>=${major}.${minor}.${patch} <${major}.${+minor + 1}.0-0`;
|
|
141
|
+
}
|
|
142
|
+
);
|
|
143
|
+
}).join(" ");
|
|
144
|
+
}
|
|
145
|
+
function parseXRanges(range) {
|
|
146
|
+
return range.split(/\s+/).map((rangeVersion) => {
|
|
147
|
+
return rangeVersion.trim().replace(
|
|
148
|
+
parseRegex(xRange),
|
|
149
|
+
(ret, gtlt2, major, minor, patch, preRelease2) => {
|
|
150
|
+
const isXMajor = isXVersion(major);
|
|
151
|
+
const isXMinor = isXMajor || isXVersion(minor);
|
|
152
|
+
const isXPatch = isXMinor || isXVersion(patch);
|
|
153
|
+
if (gtlt2 === "=" && isXPatch) {
|
|
154
|
+
gtlt2 = "";
|
|
155
|
+
}
|
|
156
|
+
preRelease2 = "";
|
|
157
|
+
if (isXMajor) {
|
|
158
|
+
if (gtlt2 === ">" || gtlt2 === "<") {
|
|
159
|
+
return "<0.0.0-0";
|
|
160
|
+
} else {
|
|
161
|
+
return "*";
|
|
162
|
+
}
|
|
163
|
+
} else if (gtlt2 && isXPatch) {
|
|
164
|
+
if (isXMinor) {
|
|
165
|
+
minor = 0;
|
|
166
|
+
}
|
|
167
|
+
patch = 0;
|
|
168
|
+
if (gtlt2 === ">") {
|
|
169
|
+
gtlt2 = ">=";
|
|
170
|
+
if (isXMinor) {
|
|
171
|
+
major = +major + 1;
|
|
172
|
+
minor = 0;
|
|
173
|
+
patch = 0;
|
|
174
|
+
} else {
|
|
175
|
+
minor = +minor + 1;
|
|
176
|
+
patch = 0;
|
|
177
|
+
}
|
|
178
|
+
} else if (gtlt2 === "<=") {
|
|
179
|
+
gtlt2 = "<";
|
|
180
|
+
if (isXMinor) {
|
|
181
|
+
major = +major + 1;
|
|
182
|
+
} else {
|
|
183
|
+
minor = +minor + 1;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
if (gtlt2 === "<") {
|
|
187
|
+
preRelease2 = "-0";
|
|
188
|
+
}
|
|
189
|
+
return `${gtlt2 + major}.${minor}.${patch}${preRelease2}`;
|
|
190
|
+
} else if (isXMinor) {
|
|
191
|
+
return `>=${major}.0.0${preRelease2} <${+major + 1}.0.0-0`;
|
|
192
|
+
} else if (isXPatch) {
|
|
193
|
+
return `>=${major}.${minor}.0${preRelease2} <${major}.${+minor + 1}.0-0`;
|
|
194
|
+
}
|
|
195
|
+
return ret;
|
|
196
|
+
}
|
|
197
|
+
);
|
|
198
|
+
}).join(" ");
|
|
199
|
+
}
|
|
200
|
+
function parseStar(range) {
|
|
201
|
+
return range.trim().replace(parseRegex(star), "");
|
|
202
|
+
}
|
|
203
|
+
function parseGTE0(comparatorString) {
|
|
204
|
+
return comparatorString.trim().replace(parseRegex(gte0), "");
|
|
205
|
+
}
|
|
206
|
+
function compareAtom(rangeAtom, versionAtom) {
|
|
207
|
+
rangeAtom = +rangeAtom || rangeAtom;
|
|
208
|
+
versionAtom = +versionAtom || versionAtom;
|
|
209
|
+
if (rangeAtom > versionAtom) {
|
|
210
|
+
return 1;
|
|
211
|
+
}
|
|
212
|
+
if (rangeAtom === versionAtom) {
|
|
213
|
+
return 0;
|
|
214
|
+
}
|
|
215
|
+
return -1;
|
|
216
|
+
}
|
|
217
|
+
function comparePreRelease(rangeAtom, versionAtom) {
|
|
218
|
+
const { preRelease: rangePreRelease } = rangeAtom;
|
|
219
|
+
const { preRelease: versionPreRelease } = versionAtom;
|
|
220
|
+
if (rangePreRelease === void 0 && !!versionPreRelease) {
|
|
221
|
+
return 1;
|
|
222
|
+
}
|
|
223
|
+
if (!!rangePreRelease && versionPreRelease === void 0) {
|
|
224
|
+
return -1;
|
|
225
|
+
}
|
|
226
|
+
if (rangePreRelease === void 0 && versionPreRelease === void 0) {
|
|
227
|
+
return 0;
|
|
228
|
+
}
|
|
229
|
+
for (let i = 0, n = rangePreRelease.length; i <= n; i++) {
|
|
230
|
+
const rangeElement = rangePreRelease[i];
|
|
231
|
+
const versionElement = versionPreRelease[i];
|
|
232
|
+
if (rangeElement === versionElement) {
|
|
233
|
+
continue;
|
|
234
|
+
}
|
|
235
|
+
if (rangeElement === void 0 && versionElement === void 0) {
|
|
236
|
+
return 0;
|
|
237
|
+
}
|
|
238
|
+
if (!rangeElement) {
|
|
239
|
+
return 1;
|
|
240
|
+
}
|
|
241
|
+
if (!versionElement) {
|
|
242
|
+
return -1;
|
|
243
|
+
}
|
|
244
|
+
return compareAtom(rangeElement, versionElement);
|
|
245
|
+
}
|
|
246
|
+
return 0;
|
|
247
|
+
}
|
|
248
|
+
function compareVersion(rangeAtom, versionAtom) {
|
|
249
|
+
return compareAtom(rangeAtom.major, versionAtom.major) || compareAtom(rangeAtom.minor, versionAtom.minor) || compareAtom(rangeAtom.patch, versionAtom.patch) || comparePreRelease(rangeAtom, versionAtom);
|
|
250
|
+
}
|
|
251
|
+
function eq(rangeAtom, versionAtom) {
|
|
252
|
+
return rangeAtom.version === versionAtom.version;
|
|
253
|
+
}
|
|
254
|
+
function compare(rangeAtom, versionAtom) {
|
|
255
|
+
switch (rangeAtom.operator) {
|
|
256
|
+
case "":
|
|
257
|
+
case "=":
|
|
258
|
+
return eq(rangeAtom, versionAtom);
|
|
259
|
+
case ">":
|
|
260
|
+
return compareVersion(rangeAtom, versionAtom) < 0;
|
|
261
|
+
case ">=":
|
|
262
|
+
return eq(rangeAtom, versionAtom) || compareVersion(rangeAtom, versionAtom) < 0;
|
|
263
|
+
case "<":
|
|
264
|
+
return compareVersion(rangeAtom, versionAtom) > 0;
|
|
265
|
+
case "<=":
|
|
266
|
+
return eq(rangeAtom, versionAtom) || compareVersion(rangeAtom, versionAtom) > 0;
|
|
267
|
+
case void 0: {
|
|
268
|
+
return true;
|
|
269
|
+
}
|
|
270
|
+
default:
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
function parseComparatorString(range) {
|
|
275
|
+
return pipe(
|
|
276
|
+
// handle caret
|
|
277
|
+
// ^ --> * (any, kinda silly)
|
|
278
|
+
// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0
|
|
279
|
+
// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0
|
|
280
|
+
// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0
|
|
281
|
+
// ^1.2.3 --> >=1.2.3 <2.0.0-0
|
|
282
|
+
// ^1.2.0 --> >=1.2.0 <2.0.0-0
|
|
283
|
+
parseCarets,
|
|
284
|
+
// handle tilde
|
|
285
|
+
// ~, ~> --> * (any, kinda silly)
|
|
286
|
+
// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0
|
|
287
|
+
// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0
|
|
288
|
+
// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0
|
|
289
|
+
// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0
|
|
290
|
+
// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0
|
|
291
|
+
parseTildes,
|
|
292
|
+
parseXRanges,
|
|
293
|
+
parseStar
|
|
294
|
+
)(range);
|
|
295
|
+
}
|
|
296
|
+
function parseRange(range) {
|
|
297
|
+
return pipe(
|
|
298
|
+
// handle hyphenRange
|
|
299
|
+
// `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
|
|
300
|
+
parseHyphen,
|
|
301
|
+
// handle trim comparator
|
|
302
|
+
// `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
|
|
303
|
+
parseComparatorTrim,
|
|
304
|
+
// handle trim tilde
|
|
305
|
+
// `~ 1.2.3` => `~1.2.3`
|
|
306
|
+
parseTildeTrim,
|
|
307
|
+
// handle trim caret
|
|
308
|
+
// `^ 1.2.3` => `^1.2.3`
|
|
309
|
+
parseCaretTrim
|
|
310
|
+
)(range.trim()).split(/\s+/).join(" ");
|
|
311
|
+
}
|
|
312
|
+
function satisfy(version, range) {
|
|
313
|
+
if (!version) {
|
|
314
|
+
return false;
|
|
315
|
+
}
|
|
316
|
+
const parsedRange = parseRange(range);
|
|
317
|
+
const parsedComparator = parsedRange.split(" ").map((rangeVersion) => parseComparatorString(rangeVersion)).join(" ");
|
|
318
|
+
const comparators = parsedComparator.split(/\s+/).map((comparator2) => parseGTE0(comparator2));
|
|
319
|
+
const extractedVersion = extractComparator(version);
|
|
320
|
+
if (!extractedVersion) {
|
|
321
|
+
return false;
|
|
322
|
+
}
|
|
323
|
+
const [
|
|
324
|
+
,
|
|
325
|
+
versionOperator,
|
|
326
|
+
,
|
|
327
|
+
versionMajor,
|
|
328
|
+
versionMinor,
|
|
329
|
+
versionPatch,
|
|
330
|
+
versionPreRelease
|
|
331
|
+
] = extractedVersion;
|
|
332
|
+
const versionAtom = {
|
|
333
|
+
version: combineVersion(
|
|
334
|
+
versionMajor,
|
|
335
|
+
versionMinor,
|
|
336
|
+
versionPatch,
|
|
337
|
+
versionPreRelease
|
|
338
|
+
),
|
|
339
|
+
// exclude build atom
|
|
340
|
+
major: versionMajor,
|
|
341
|
+
minor: versionMinor,
|
|
342
|
+
patch: versionPatch,
|
|
343
|
+
preRelease: versionPreRelease?.split(".")
|
|
344
|
+
};
|
|
345
|
+
for (const comparator2 of comparators) {
|
|
346
|
+
const extractedComparator = extractComparator(comparator2);
|
|
347
|
+
if (!extractedComparator) {
|
|
348
|
+
return false;
|
|
349
|
+
}
|
|
350
|
+
const [
|
|
351
|
+
,
|
|
352
|
+
rangeOperator,
|
|
353
|
+
,
|
|
354
|
+
rangeMajor,
|
|
355
|
+
rangeMinor,
|
|
356
|
+
rangePatch,
|
|
357
|
+
rangePreRelease
|
|
358
|
+
] = extractedComparator;
|
|
359
|
+
const rangeAtom = {
|
|
360
|
+
operator: rangeOperator,
|
|
361
|
+
version: combineVersion(
|
|
362
|
+
rangeMajor,
|
|
363
|
+
rangeMinor,
|
|
364
|
+
rangePatch,
|
|
365
|
+
rangePreRelease
|
|
366
|
+
),
|
|
367
|
+
// exclude build atom
|
|
368
|
+
major: rangeMajor,
|
|
369
|
+
minor: rangeMinor,
|
|
370
|
+
patch: rangePatch,
|
|
371
|
+
preRelease: rangePreRelease?.split(".")
|
|
372
|
+
};
|
|
373
|
+
if (!compare(rangeAtom, versionAtom)) {
|
|
374
|
+
return false;
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
return true;
|
|
378
|
+
}
|
|
379
|
+
export {
|
|
380
|
+
satisfy
|
|
381
|
+
};
|
package/package.json
CHANGED
|
@@ -1,14 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meethive/vite",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.mjs",
|
|
12
|
+
"require": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./dynamic-remote": {
|
|
15
|
+
"types": "./dist/dynamic-remote.d.ts",
|
|
16
|
+
"import": "./dist/dynamic-remote.mjs",
|
|
17
|
+
"require": "./dist/dynamic-remote.js"
|
|
18
|
+
},
|
|
19
|
+
"./satisfy": {
|
|
20
|
+
"types": "./dist/satisfy.d.ts",
|
|
21
|
+
"import": "./dist/satisfy.mjs",
|
|
22
|
+
"require": "./dist/satisfy.js"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
7
25
|
"keywords": ["@meethive/vite"],
|
|
8
26
|
"files": [
|
|
9
|
-
"dist"
|
|
10
|
-
"src",
|
|
11
|
-
"index.ts"
|
|
27
|
+
"dist"
|
|
12
28
|
],
|
|
13
29
|
"author": "",
|
|
14
30
|
"private": false,
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expose-development.d.ts","sourceRoot":"","sources":["../../../../../src/federation/src/dev/expose-development.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAE1D,wBAAgB,eAAe,CAC7B,OAAO,EAAE,2BAA2B,GACnC,WAAW,CAMb"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"remote-development.d.ts","sourceRoot":"","sources":["../../../../../src/federation/src/dev/remote-development.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAiB,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAgB7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAE1D,wBAAgB,eAAe,CAC7B,OAAO,EAAE,2BAA2B,GACnC,WAAW,CA8Yb"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared-development.d.ts","sourceRoot":"","sources":["../../../../../src/federation/src/dev/shared-development.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAG1D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAE9D,wBAAgB,eAAe,CAC7B,OAAO,EAAE,2BAA2B,GACnC,WAAW,CAMb"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Plugin } from 'vite';
|
|
2
|
-
import { VitePluginFederationOptions } from '../types';
|
|
3
|
-
|
|
4
|
-
export { VitePluginFederationVersion } from './public';
|
|
5
|
-
export * from './runtime/dynamic-remote';
|
|
6
|
-
export default function federation(options: VitePluginFederationOptions): Plugin;
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/federation/src/index.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAEV,MAAM,EAIP,MAAM,MAAM,CAAA;AAIb,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA;AAwB3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA;AACtD,cAAc,0BAA0B,CAAA;AACxC,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,OAAO,EAAE,2BAA2B,GACnC,MAAM,CA4LR"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expose-production.d.ts","sourceRoot":"","sources":["../../../../../src/federation/src/prod/expose-production.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAK1D,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,2BAA2B,GACnC,WAAW,CAgSb"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ConfigTypeSet, VitePluginFederationOptions } from '../../types';
|
|
2
|
-
import { PluginHooks } from '../../types/pluginHooks';
|
|
3
|
-
|
|
4
|
-
declare const sharedFileName2Prop: Map<string, ConfigTypeSet>;
|
|
5
|
-
export declare function prodRemotePlugin(options: VitePluginFederationOptions): PluginHooks;
|
|
6
|
-
export { sharedFileName2Prop };
|
|
7
|
-
//# sourceMappingURL=remote-production.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"remote-production.d.ts","sourceRoot":"","sources":["../../../../../src/federation/src/prod/remote-production.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAiB1D,QAAA,MAAM,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAGjD,CAAA;AAoDH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,2BAA2B,GACnC,WAAW,CA6iBb;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared-production.d.ts","sourceRoot":"","sources":["../../../../../src/federation/src/prod/shared-production.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAG1D,OAAO,KAAK,EAAiB,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAQ7E,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,2BAA2B,GACnC,WAAW,CA+Ob"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { ConfigTypeSet, RemotesConfig } from '../types';
|
|
2
|
-
import { ResolvedConfig } from 'vite';
|
|
3
|
-
import { Remote } from './utils';
|
|
4
|
-
|
|
5
|
-
export declare const EXPOSES_MAP: Map<any, any>;
|
|
6
|
-
export declare const EXPOSES_KEY_MAP: Map<any, any>;
|
|
7
|
-
export declare const SHARED = "shared";
|
|
8
|
-
export declare const DYNAMIC_LOADING_CSS = "dynamicLoadingCss";
|
|
9
|
-
export declare const DYNAMIC_LOADING_CSS_PREFIX = "__v__css__";
|
|
10
|
-
export declare const DEFAULT_ENTRY_FILENAME = "remoteEntry.js";
|
|
11
|
-
export declare const EXTERNALS: string[];
|
|
12
|
-
export declare const ROLLUP = "rollup";
|
|
13
|
-
export declare const VITE = "vite";
|
|
14
|
-
export declare const VitePluginFederationVersion = "1.5.0";
|
|
15
|
-
export declare const builderInfo: {
|
|
16
|
-
builder: string;
|
|
17
|
-
version: string;
|
|
18
|
-
assetsDir: string;
|
|
19
|
-
isHost: boolean;
|
|
20
|
-
isRemote: boolean;
|
|
21
|
-
isShared: boolean;
|
|
22
|
-
};
|
|
23
|
-
export declare const parsedOptions: {
|
|
24
|
-
prodExpose: (string | ConfigTypeSet)[];
|
|
25
|
-
prodRemote: (string | ConfigTypeSet)[];
|
|
26
|
-
prodShared: (string | ConfigTypeSet)[];
|
|
27
|
-
devShared: (string | ConfigTypeSet)[];
|
|
28
|
-
devExpose: (string | ConfigTypeSet)[];
|
|
29
|
-
devRemote: (string | ConfigTypeSet)[];
|
|
30
|
-
};
|
|
31
|
-
export declare const devRemotes: {
|
|
32
|
-
id: string;
|
|
33
|
-
regexp: RegExp;
|
|
34
|
-
config: RemotesConfig;
|
|
35
|
-
}[];
|
|
36
|
-
export declare const prodRemotes: Remote[];
|
|
37
|
-
export declare const viteConfigResolved: {
|
|
38
|
-
config: ResolvedConfig | undefined;
|
|
39
|
-
};
|
|
40
|
-
//# sourceMappingURL=public.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../../src/federation/src/public.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAEhC,eAAO,MAAM,WAAW,eAAY,CAAA;AACpC,eAAO,MAAM,eAAe,eAAY,CAAA;AACxC,eAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,eAAO,MAAM,mBAAmB,sBAAsB,CAAA;AACtD,eAAO,MAAM,0BAA0B,eAAe,CAAA;AACtD,eAAO,MAAM,sBAAsB,mBAAmB,CAAA;AACtD,eAAO,MAAM,SAAS,EAAE,MAAM,EAAO,CAAA;AACrC,eAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,eAAO,MAAM,IAAI,SAAS,CAAA;AAC1B,eAAO,MAAM,2BAA2B,UAAU,CAAA;AAClD,eAAO,MAAM,WAAW;;;;;;;CAOvB,CAAA;AACD,eAAO,MAAM,aAAa;;;;;;;CAOzB,CAAA;AACD,eAAO,MAAM,UAAU,EAAE;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,aAAa,CAAA;CACtB,EAAO,CAAA;AACR,eAAO,MAAM,WAAW,EAAE,MAAM,EAAO,CAAA;AACvC,eAAO,MAAM,kBAAkB,EAAE;IAAE,MAAM,EAAE,cAAc,GAAG,SAAS,CAAA;CAEpE,CAAA"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Dynamic remote loader for runtime
|
|
3
|
-
* Provides utilities to dynamically load and manage remote components at runtime
|
|
4
|
-
*/
|
|
5
|
-
export interface RemoteOptions {
|
|
6
|
-
url: string | (() => string | Promise<string>);
|
|
7
|
-
format?: 'esm' | 'systemjs' | 'var';
|
|
8
|
-
from?: 'vite' | 'webpack';
|
|
9
|
-
shareScope?: string;
|
|
10
|
-
external?: string | string[];
|
|
11
|
-
externalType?: 'url' | 'promise';
|
|
12
|
-
}
|
|
13
|
-
export interface RemoteComponentConfig {
|
|
14
|
-
name: string;
|
|
15
|
-
component: string;
|
|
16
|
-
url: string | (() => string | Promise<string>);
|
|
17
|
-
options?: RemoteOptions;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Dynamic remote component manager
|
|
21
|
-
*/
|
|
22
|
-
export declare class DynamicRemoteManager {
|
|
23
|
-
private remoteCache;
|
|
24
|
-
private loadingPromises;
|
|
25
|
-
/**
|
|
26
|
-
* Add a remote dynamically at runtime
|
|
27
|
-
* @param name Remote name
|
|
28
|
-
* @param config Remote configuration
|
|
29
|
-
*/
|
|
30
|
-
addRemote(name: string, config: RemoteOptions): Promise<void>;
|
|
31
|
-
/**
|
|
32
|
-
* Load a remote component dynamically
|
|
33
|
-
* @param remoteName Remote name
|
|
34
|
-
* @param componentName Component name to load from remote
|
|
35
|
-
* @returns Promise of the loaded component
|
|
36
|
-
*/
|
|
37
|
-
loadRemoteComponent(remoteName: string, componentName: string): Promise<any>;
|
|
38
|
-
private doLoadRemoteComponent;
|
|
39
|
-
/**
|
|
40
|
-
* Preload a remote component
|
|
41
|
-
* @param remoteName Remote name
|
|
42
|
-
* @param componentName Component name
|
|
43
|
-
*/
|
|
44
|
-
preloadRemoteComponent(remoteName: string, componentName: string): Promise<void>;
|
|
45
|
-
/**
|
|
46
|
-
* Remove a remote component from cache
|
|
47
|
-
* @param remoteName Remote name
|
|
48
|
-
* @param componentName Component name
|
|
49
|
-
*/
|
|
50
|
-
clearRemoteComponentCache(remoteName: string, componentName?: string): void;
|
|
51
|
-
/**
|
|
52
|
-
* Get all cached remote components
|
|
53
|
-
*/
|
|
54
|
-
getCachedRemotes(): string[];
|
|
55
|
-
/**
|
|
56
|
-
* Check if a remote component is cached
|
|
57
|
-
* @param remoteName Remote name
|
|
58
|
-
* @param componentName Component name
|
|
59
|
-
*/
|
|
60
|
-
isRemoteComponentCached(remoteName: string, componentName: string): boolean;
|
|
61
|
-
}
|
|
62
|
-
export declare const dynamicRemoteManager: DynamicRemoteManager;
|
|
63
|
-
/**
|
|
64
|
-
* Convenience function to dynamically load remote component
|
|
65
|
-
* @param config Remote component configuration
|
|
66
|
-
*/
|
|
67
|
-
export declare function loadDynamicRemoteComponent(config: RemoteComponentConfig): Promise<any>;
|
|
68
|
-
/**
|
|
69
|
-
* Vue 3 composable for dynamic remote loading
|
|
70
|
-
* @param remoteName Remote name
|
|
71
|
-
* @param componentName Component name
|
|
72
|
-
*/
|
|
73
|
-
export declare function useDynamicRemote(remoteName: string, componentName: string): {
|
|
74
|
-
component: any;
|
|
75
|
-
loading: any;
|
|
76
|
-
error: any;
|
|
77
|
-
reload: () => Promise<void>;
|
|
78
|
-
};
|
|
79
|
-
//# sourceMappingURL=dynamic-remote.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-remote.d.ts","sourceRoot":"","sources":["../../../../../src/federation/src/runtime/dynamic-remote.ts"],"names":[],"mappings":"AAeA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,KAAK,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,eAAe,CAAmC;IAE1D;;;;OAIG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBnE;;;;;OAKG;IACG,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;YA0BpE,qBAAqB;IAYnC;;;;OAIG;IACG,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtF;;;;OAIG;IACH,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAc3E;;OAEG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAI5B;;;;OAIG;IACH,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO;CAI5E;AAGD,eAAO,MAAM,oBAAoB,sBAA6B,CAAC;AAE/D;;;GAGG;AACH,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,CAW5F;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;;;;;EA+BzE"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export interface HtmlTagDescriptor {
|
|
2
|
-
tag: string;
|
|
3
|
-
attrs?: Record<string, string | boolean | undefined>;
|
|
4
|
-
children?: string | HtmlTagDescriptor[];
|
|
5
|
-
/**
|
|
6
|
-
* default: 'head-prepend'
|
|
7
|
-
*/
|
|
8
|
-
injectTo?: 'head' | 'body' | 'head-prepend' | 'body-prepend';
|
|
9
|
-
}
|
|
10
|
-
export declare const toPreloadTag: (href: string) => HtmlTagDescriptor;
|
|
11
|
-
export declare function injectToHead(html: string, tags: HtmlTagDescriptor[], prepend?: boolean): string;
|
|
12
|
-
//# sourceMappingURL=html.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../../../../src/federation/src/utils/html.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;IACpD,QAAQ,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAAA;IACvC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,cAAc,CAAA;CAC7D;AAsGD,eAAO,MAAM,YAAY,SAAU,MAAM,KAAG,iBAO1C,CAAA;AAEF,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,EAAE,EACzB,OAAO,UAAQ,UA+BhB"}
|