@attraccess/plugin-shelly 0.1.0-alpha.0
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/index.js +952 -0
- package/dist/migrations.js +57 -0
- package/frontend/__federation_expose_Plugin-Dd1Vs4iR.js +1627 -0
- package/frontend/__federation_fn_import-DAGm_xmC.js +2 -0
- package/frontend/_virtual___federation_fn_import-BXODRNto.js +261 -0
- package/frontend/index.html +13 -0
- package/frontend/jsx-runtime-B9Qmn8k7.js +42 -0
- package/frontend/preload-helper-DxWiKyOd.js +68 -0
- package/frontend/react-D5kF5LxZ.js +383 -0
- package/frontend/remoteEntry.js +74 -0
- package/frontend/rolldown-runtime-EAsCxrDo.js +14 -0
- package/frontend/style.css +442 -0
- package/package.json +44 -0
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
//#region ../../../node_modules/.pnpm/@originjs+vite-plugin-federation@1.4.1/node_modules/@originjs/vite-plugin-federation/dist/satisfy.mjs
|
|
2
|
+
var buildIdentifier = "[0-9A-Za-z-]+";
|
|
3
|
+
var build = `(?:\\+(${buildIdentifier}(?:\\.${buildIdentifier})*))`;
|
|
4
|
+
var numericIdentifier = "0|[1-9]\\d*";
|
|
5
|
+
var numericIdentifierLoose = "[0-9]+";
|
|
6
|
+
var nonNumericIdentifier = "\\d*[a-zA-Z-][a-zA-Z0-9-]*";
|
|
7
|
+
var preReleaseIdentifierLoose = `(?:${numericIdentifierLoose}|${nonNumericIdentifier})`;
|
|
8
|
+
var preReleaseLoose = `(?:-?(${preReleaseIdentifierLoose}(?:\\.${preReleaseIdentifierLoose})*))`;
|
|
9
|
+
var preReleaseIdentifier = `(?:${numericIdentifier}|${nonNumericIdentifier})`;
|
|
10
|
+
var preRelease = `(?:-(${preReleaseIdentifier}(?:\\.${preReleaseIdentifier})*))`;
|
|
11
|
+
var xRangeIdentifier = `${numericIdentifier}|x|X|\\*`;
|
|
12
|
+
var xRangePlain = `[v=\\s]*(${xRangeIdentifier})(?:\\.(${xRangeIdentifier})(?:\\.(${xRangeIdentifier})(?:${preRelease})?${build}?)?)?`;
|
|
13
|
+
var hyphenRange = `^\\s*(${xRangePlain})\\s+-\\s+(${xRangePlain})\\s*$`;
|
|
14
|
+
var loosePlain = `[v=\\s]*${`(${numericIdentifierLoose})\\.(${numericIdentifierLoose})\\.(${numericIdentifierLoose})`}${preReleaseLoose}?${build}?`;
|
|
15
|
+
var gtlt = "((?:<|>)?=?)";
|
|
16
|
+
var comparatorTrim = `(\\s*)${gtlt}\\s*(${loosePlain}|${xRangePlain})`;
|
|
17
|
+
var loneTilde = "(?:~>?)";
|
|
18
|
+
var tildeTrim = `(\\s*)${loneTilde}\\s+`;
|
|
19
|
+
var loneCaret = "(?:\\^)";
|
|
20
|
+
var caretTrim = `(\\s*)${loneCaret}\\s+`;
|
|
21
|
+
var star = "(<|>)?=?\\s*\\*";
|
|
22
|
+
var caret = `^${loneCaret}${xRangePlain}$`;
|
|
23
|
+
var fullPlain = `v?${`(${numericIdentifier})\\.(${numericIdentifier})\\.(${numericIdentifier})`}${preRelease}?${build}?`;
|
|
24
|
+
var tilde = `^${loneTilde}${xRangePlain}$`;
|
|
25
|
+
var xRange = `^${gtlt}\\s*${xRangePlain}$`;
|
|
26
|
+
var comparator = `^${gtlt}\\s*(${fullPlain})$|^$`;
|
|
27
|
+
var gte0 = "^\\s*>=\\s*0.0.0\\s*$";
|
|
28
|
+
function parseRegex(source) {
|
|
29
|
+
return new RegExp(source);
|
|
30
|
+
}
|
|
31
|
+
function isXVersion(version) {
|
|
32
|
+
return !version || version.toLowerCase() === "x" || version === "*";
|
|
33
|
+
}
|
|
34
|
+
function pipe(...fns) {
|
|
35
|
+
return (x) => {
|
|
36
|
+
return fns.reduce((v, f) => f(v), x);
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function extractComparator(comparatorString) {
|
|
40
|
+
return comparatorString.match(parseRegex(comparator));
|
|
41
|
+
}
|
|
42
|
+
function combineVersion(major, minor, patch, preRelease2) {
|
|
43
|
+
const mainVersion2 = `${major}.${minor}.${patch}`;
|
|
44
|
+
if (preRelease2) return `${mainVersion2}-${preRelease2}`;
|
|
45
|
+
return mainVersion2;
|
|
46
|
+
}
|
|
47
|
+
function parseHyphen(range) {
|
|
48
|
+
return range.replace(parseRegex(hyphenRange), (_range, from, fromMajor, fromMinor, fromPatch, _fromPreRelease, _fromBuild, to, toMajor, toMinor, toPatch, toPreRelease) => {
|
|
49
|
+
if (isXVersion(fromMajor)) from = "";
|
|
50
|
+
else if (isXVersion(fromMinor)) from = `>=${fromMajor}.0.0`;
|
|
51
|
+
else if (isXVersion(fromPatch)) from = `>=${fromMajor}.${fromMinor}.0`;
|
|
52
|
+
else from = `>=${from}`;
|
|
53
|
+
if (isXVersion(toMajor)) to = "";
|
|
54
|
+
else if (isXVersion(toMinor)) to = `<${+toMajor + 1}.0.0-0`;
|
|
55
|
+
else if (isXVersion(toPatch)) to = `<${toMajor}.${+toMinor + 1}.0-0`;
|
|
56
|
+
else if (toPreRelease) to = `<=${toMajor}.${toMinor}.${toPatch}-${toPreRelease}`;
|
|
57
|
+
else to = `<=${to}`;
|
|
58
|
+
return `${from} ${to}`.trim();
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function parseComparatorTrim(range) {
|
|
62
|
+
return range.replace(parseRegex(comparatorTrim), "$1$2$3");
|
|
63
|
+
}
|
|
64
|
+
function parseTildeTrim(range) {
|
|
65
|
+
return range.replace(parseRegex(tildeTrim), "$1~");
|
|
66
|
+
}
|
|
67
|
+
function parseCaretTrim(range) {
|
|
68
|
+
return range.replace(parseRegex(caretTrim), "$1^");
|
|
69
|
+
}
|
|
70
|
+
function parseCarets(range) {
|
|
71
|
+
return range.trim().split(/\s+/).map((rangeVersion) => {
|
|
72
|
+
return rangeVersion.replace(parseRegex(caret), (_, major, minor, patch, preRelease2) => {
|
|
73
|
+
if (isXVersion(major)) return "";
|
|
74
|
+
else if (isXVersion(minor)) return `>=${major}.0.0 <${+major + 1}.0.0-0`;
|
|
75
|
+
else if (isXVersion(patch)) {
|
|
76
|
+
if (major === "0") return `>=${major}.${minor}.0 <${major}.${+minor + 1}.0-0`;
|
|
77
|
+
else return `>=${major}.${minor}.0 <${+major + 1}.0.0-0`;
|
|
78
|
+
} else if (preRelease2) {
|
|
79
|
+
if (major === "0") {
|
|
80
|
+
if (minor === "0") return `>=${major}.${minor}.${patch}-${preRelease2} <${major}.${minor}.${+patch + 1}-0`;
|
|
81
|
+
else return `>=${major}.${minor}.${patch}-${preRelease2} <${major}.${+minor + 1}.0-0`;
|
|
82
|
+
} else return `>=${major}.${minor}.${patch}-${preRelease2} <${+major + 1}.0.0-0`;
|
|
83
|
+
} else {
|
|
84
|
+
if (major === "0") {
|
|
85
|
+
if (minor === "0") return `>=${major}.${minor}.${patch} <${major}.${minor}.${+patch + 1}-0`;
|
|
86
|
+
else return `>=${major}.${minor}.${patch} <${major}.${+minor + 1}.0-0`;
|
|
87
|
+
}
|
|
88
|
+
return `>=${major}.${minor}.${patch} <${+major + 1}.0.0-0`;
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
}).join(" ");
|
|
92
|
+
}
|
|
93
|
+
function parseTildes(range) {
|
|
94
|
+
return range.trim().split(/\s+/).map((rangeVersion) => {
|
|
95
|
+
return rangeVersion.replace(parseRegex(tilde), (_, major, minor, patch, preRelease2) => {
|
|
96
|
+
if (isXVersion(major)) return "";
|
|
97
|
+
else if (isXVersion(minor)) return `>=${major}.0.0 <${+major + 1}.0.0-0`;
|
|
98
|
+
else if (isXVersion(patch)) return `>=${major}.${minor}.0 <${major}.${+minor + 1}.0-0`;
|
|
99
|
+
else if (preRelease2) return `>=${major}.${minor}.${patch}-${preRelease2} <${major}.${+minor + 1}.0-0`;
|
|
100
|
+
return `>=${major}.${minor}.${patch} <${major}.${+minor + 1}.0-0`;
|
|
101
|
+
});
|
|
102
|
+
}).join(" ");
|
|
103
|
+
}
|
|
104
|
+
function parseXRanges(range) {
|
|
105
|
+
return range.split(/\s+/).map((rangeVersion) => {
|
|
106
|
+
return rangeVersion.trim().replace(parseRegex(xRange), (ret, gtlt2, major, minor, patch, preRelease2) => {
|
|
107
|
+
const isXMajor = isXVersion(major);
|
|
108
|
+
const isXMinor = isXMajor || isXVersion(minor);
|
|
109
|
+
const isXPatch = isXMinor || isXVersion(patch);
|
|
110
|
+
if (gtlt2 === "=" && isXPatch) gtlt2 = "";
|
|
111
|
+
preRelease2 = "";
|
|
112
|
+
if (isXMajor) {
|
|
113
|
+
if (gtlt2 === ">" || gtlt2 === "<") return "<0.0.0-0";
|
|
114
|
+
else return "*";
|
|
115
|
+
} else if (gtlt2 && isXPatch) {
|
|
116
|
+
if (isXMinor) minor = 0;
|
|
117
|
+
patch = 0;
|
|
118
|
+
if (gtlt2 === ">") {
|
|
119
|
+
gtlt2 = ">=";
|
|
120
|
+
if (isXMinor) {
|
|
121
|
+
major = +major + 1;
|
|
122
|
+
minor = 0;
|
|
123
|
+
patch = 0;
|
|
124
|
+
} else {
|
|
125
|
+
minor = +minor + 1;
|
|
126
|
+
patch = 0;
|
|
127
|
+
}
|
|
128
|
+
} else if (gtlt2 === "<=") {
|
|
129
|
+
gtlt2 = "<";
|
|
130
|
+
if (isXMinor) major = +major + 1;
|
|
131
|
+
else minor = +minor + 1;
|
|
132
|
+
}
|
|
133
|
+
if (gtlt2 === "<") preRelease2 = "-0";
|
|
134
|
+
return `${gtlt2 + major}.${minor}.${patch}${preRelease2}`;
|
|
135
|
+
} else if (isXMinor) return `>=${major}.0.0${preRelease2} <${+major + 1}.0.0-0`;
|
|
136
|
+
else if (isXPatch) return `>=${major}.${minor}.0${preRelease2} <${major}.${+minor + 1}.0-0`;
|
|
137
|
+
return ret;
|
|
138
|
+
});
|
|
139
|
+
}).join(" ");
|
|
140
|
+
}
|
|
141
|
+
function parseStar(range) {
|
|
142
|
+
return range.trim().replace(parseRegex(star), "");
|
|
143
|
+
}
|
|
144
|
+
function parseGTE0(comparatorString) {
|
|
145
|
+
return comparatorString.trim().replace(parseRegex(gte0), "");
|
|
146
|
+
}
|
|
147
|
+
function compareAtom(rangeAtom, versionAtom) {
|
|
148
|
+
rangeAtom = +rangeAtom || rangeAtom;
|
|
149
|
+
versionAtom = +versionAtom || versionAtom;
|
|
150
|
+
if (rangeAtom > versionAtom) return 1;
|
|
151
|
+
if (rangeAtom === versionAtom) return 0;
|
|
152
|
+
return -1;
|
|
153
|
+
}
|
|
154
|
+
function comparePreRelease(rangeAtom, versionAtom) {
|
|
155
|
+
const { preRelease: rangePreRelease } = rangeAtom;
|
|
156
|
+
const { preRelease: versionPreRelease } = versionAtom;
|
|
157
|
+
if (rangePreRelease === void 0 && !!versionPreRelease) return 1;
|
|
158
|
+
if (!!rangePreRelease && versionPreRelease === void 0) return -1;
|
|
159
|
+
if (rangePreRelease === void 0 && versionPreRelease === void 0) return 0;
|
|
160
|
+
for (let i = 0, n = rangePreRelease.length; i <= n; i++) {
|
|
161
|
+
const rangeElement = rangePreRelease[i];
|
|
162
|
+
const versionElement = versionPreRelease[i];
|
|
163
|
+
if (rangeElement === versionElement) continue;
|
|
164
|
+
if (rangeElement === void 0 && versionElement === void 0) return 0;
|
|
165
|
+
if (!rangeElement) return 1;
|
|
166
|
+
if (!versionElement) return -1;
|
|
167
|
+
return compareAtom(rangeElement, versionElement);
|
|
168
|
+
}
|
|
169
|
+
return 0;
|
|
170
|
+
}
|
|
171
|
+
function compareVersion(rangeAtom, versionAtom) {
|
|
172
|
+
return compareAtom(rangeAtom.major, versionAtom.major) || compareAtom(rangeAtom.minor, versionAtom.minor) || compareAtom(rangeAtom.patch, versionAtom.patch) || comparePreRelease(rangeAtom, versionAtom);
|
|
173
|
+
}
|
|
174
|
+
function eq(rangeAtom, versionAtom) {
|
|
175
|
+
return rangeAtom.version === versionAtom.version;
|
|
176
|
+
}
|
|
177
|
+
function compare(rangeAtom, versionAtom) {
|
|
178
|
+
switch (rangeAtom.operator) {
|
|
179
|
+
case "":
|
|
180
|
+
case "=": return eq(rangeAtom, versionAtom);
|
|
181
|
+
case ">": return compareVersion(rangeAtom, versionAtom) < 0;
|
|
182
|
+
case ">=": return eq(rangeAtom, versionAtom) || compareVersion(rangeAtom, versionAtom) < 0;
|
|
183
|
+
case "<": return compareVersion(rangeAtom, versionAtom) > 0;
|
|
184
|
+
case "<=": return eq(rangeAtom, versionAtom) || compareVersion(rangeAtom, versionAtom) > 0;
|
|
185
|
+
case void 0: return true;
|
|
186
|
+
default: return false;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
function parseComparatorString(range) {
|
|
190
|
+
return pipe(parseCarets, parseTildes, parseXRanges, parseStar)(range);
|
|
191
|
+
}
|
|
192
|
+
function parseRange(range) {
|
|
193
|
+
return pipe(parseHyphen, parseComparatorTrim, parseTildeTrim, parseCaretTrim)(range.trim()).split(/\s+/).join(" ");
|
|
194
|
+
}
|
|
195
|
+
function satisfy(version, range) {
|
|
196
|
+
if (!version) return false;
|
|
197
|
+
const comparators = parseRange(range).split(" ").map((rangeVersion) => parseComparatorString(rangeVersion)).join(" ").split(/\s+/).map((comparator2) => parseGTE0(comparator2));
|
|
198
|
+
const extractedVersion = extractComparator(version);
|
|
199
|
+
if (!extractedVersion) return false;
|
|
200
|
+
const [, versionOperator, , versionMajor, versionMinor, versionPatch, versionPreRelease] = extractedVersion;
|
|
201
|
+
const versionAtom = {
|
|
202
|
+
operator: versionOperator,
|
|
203
|
+
version: combineVersion(versionMajor, versionMinor, versionPatch, versionPreRelease),
|
|
204
|
+
major: versionMajor,
|
|
205
|
+
minor: versionMinor,
|
|
206
|
+
patch: versionPatch,
|
|
207
|
+
preRelease: versionPreRelease == null ? void 0 : versionPreRelease.split(".")
|
|
208
|
+
};
|
|
209
|
+
for (const comparator2 of comparators) {
|
|
210
|
+
const extractedComparator = extractComparator(comparator2);
|
|
211
|
+
if (!extractedComparator) return false;
|
|
212
|
+
const [, rangeOperator, , rangeMajor, rangeMinor, rangePatch, rangePreRelease] = extractedComparator;
|
|
213
|
+
if (!compare({
|
|
214
|
+
operator: rangeOperator,
|
|
215
|
+
version: combineVersion(rangeMajor, rangeMinor, rangePatch, rangePreRelease),
|
|
216
|
+
major: rangeMajor,
|
|
217
|
+
minor: rangeMinor,
|
|
218
|
+
patch: rangePatch,
|
|
219
|
+
preRelease: rangePreRelease == null ? void 0 : rangePreRelease.split(".")
|
|
220
|
+
}, versionAtom)) return false;
|
|
221
|
+
}
|
|
222
|
+
return true;
|
|
223
|
+
}
|
|
224
|
+
//#endregion
|
|
225
|
+
//#region \0virtual:__federation_fn_import
|
|
226
|
+
var moduleMap = {};
|
|
227
|
+
var moduleCache = Object.create(null);
|
|
228
|
+
async function importShared(name, shareScope = "default") {
|
|
229
|
+
return moduleCache[name] ? new Promise((r) => r(moduleCache[name])) : await getSharedFromRuntime(name, shareScope) || getSharedFromLocal(name);
|
|
230
|
+
}
|
|
231
|
+
async function getSharedFromRuntime(name, shareScope) {
|
|
232
|
+
let module = null;
|
|
233
|
+
if (globalThis?.__federation_shared__?.[shareScope]?.[name]) {
|
|
234
|
+
const versionObj = globalThis.__federation_shared__[shareScope][name];
|
|
235
|
+
const requiredVersion = moduleMap[name]?.requiredVersion;
|
|
236
|
+
if (!!requiredVersion) {
|
|
237
|
+
const versionKey = Object.keys(versionObj).find((version) => satisfy(version, requiredVersion));
|
|
238
|
+
if (versionKey) module = await (await versionObj[versionKey].get())();
|
|
239
|
+
else console.log(`provider support ${name}(${versionKey}) is not satisfied requiredVersion(\${moduleMap[name].requiredVersion})`);
|
|
240
|
+
} else module = await (await versionObj[Object.keys(versionObj)[0]].get())();
|
|
241
|
+
}
|
|
242
|
+
if (module) return flattenModule(module, name);
|
|
243
|
+
}
|
|
244
|
+
async function getSharedFromLocal(name) {
|
|
245
|
+
if (moduleMap[name]?.import) return flattenModule(await (await moduleMap[name].get())(), name);
|
|
246
|
+
else console.error(`consumer config import=false,so cant use callback shared module`);
|
|
247
|
+
}
|
|
248
|
+
function flattenModule(module, name) {
|
|
249
|
+
if (typeof module.default === "function") {
|
|
250
|
+
Object.keys(module).forEach((key) => {
|
|
251
|
+
if (key !== "default") module.default[key] = module[key];
|
|
252
|
+
});
|
|
253
|
+
moduleCache[name] = module.default;
|
|
254
|
+
return module.default;
|
|
255
|
+
}
|
|
256
|
+
if (module.default) module = Object.assign({}, module.default, module);
|
|
257
|
+
moduleCache[name] = module;
|
|
258
|
+
return module;
|
|
259
|
+
}
|
|
260
|
+
//#endregion
|
|
261
|
+
export { getSharedFromRuntime as n, importShared as r, getSharedFromLocal as t };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<!--
|
|
3
|
+
Vite needs an HTML entry to start a build. The plugin itself is emitted as the
|
|
4
|
+
module-federation `remoteEntry.js` by the federation plugin; this file is just
|
|
5
|
+
the build seed and is not used by the host.
|
|
6
|
+
-->
|
|
7
|
+
<html>
|
|
8
|
+
<head>
|
|
9
|
+
<title>plugin-shelly remote</title>
|
|
10
|
+
<link rel="stylesheet" crossorigin href="/style.css">
|
|
11
|
+
</head>
|
|
12
|
+
<body></body>
|
|
13
|
+
</html>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { t as __commonJSMin } from "./rolldown-runtime-EAsCxrDo.js";
|
|
2
|
+
//#region ../../../node_modules/.pnpm/react@19.2.8/node_modules/react/cjs/react-jsx-runtime.production.js
|
|
3
|
+
/**
|
|
4
|
+
* @license React
|
|
5
|
+
* react-jsx-runtime.production.js
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
8
|
+
*
|
|
9
|
+
* This source code is licensed under the MIT license found in the
|
|
10
|
+
* LICENSE file in the root directory of this source tree.
|
|
11
|
+
*/
|
|
12
|
+
var require_react_jsx_runtime_production = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
13
|
+
var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element");
|
|
14
|
+
var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment");
|
|
15
|
+
function jsxProd(type, config, maybeKey) {
|
|
16
|
+
var key = null;
|
|
17
|
+
void 0 !== maybeKey && (key = "" + maybeKey);
|
|
18
|
+
void 0 !== config.key && (key = "" + config.key);
|
|
19
|
+
if ("key" in config) {
|
|
20
|
+
maybeKey = {};
|
|
21
|
+
for (var propName in config) "key" !== propName && (maybeKey[propName] = config[propName]);
|
|
22
|
+
} else maybeKey = config;
|
|
23
|
+
config = maybeKey.ref;
|
|
24
|
+
return {
|
|
25
|
+
$$typeof: REACT_ELEMENT_TYPE,
|
|
26
|
+
type,
|
|
27
|
+
key,
|
|
28
|
+
ref: void 0 !== config ? config : null,
|
|
29
|
+
props: maybeKey
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
exports.Fragment = REACT_FRAGMENT_TYPE;
|
|
33
|
+
exports.jsx = jsxProd;
|
|
34
|
+
exports.jsxs = jsxProd;
|
|
35
|
+
}));
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region ../../../node_modules/.pnpm/react@19.2.8/node_modules/react/jsx-runtime.js
|
|
38
|
+
var require_jsx_runtime = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
39
|
+
module.exports = require_react_jsx_runtime_production();
|
|
40
|
+
}));
|
|
41
|
+
//#endregion
|
|
42
|
+
export { require_jsx_runtime as t };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
//#region \0vite/preload-helper.js
|
|
2
|
+
var scriptRel = "modulepreload";
|
|
3
|
+
var assetsURL = function(dep) {
|
|
4
|
+
return "/" + dep;
|
|
5
|
+
};
|
|
6
|
+
var seen = {};
|
|
7
|
+
var __vitePreload = function preload(baseModule, deps, importerUrl) {
|
|
8
|
+
let promise = Promise.resolve();
|
|
9
|
+
if (deps && deps.length > 0) {
|
|
10
|
+
const links = document.getElementsByTagName("link");
|
|
11
|
+
const cspNonceMeta = document.querySelector("meta[property=csp-nonce]");
|
|
12
|
+
const cspNonce = cspNonceMeta?.nonce || cspNonceMeta?.getAttribute("nonce");
|
|
13
|
+
function allSettled(promises) {
|
|
14
|
+
return Promise.all(promises.map((p) => Promise.resolve(p).then((value) => ({
|
|
15
|
+
status: "fulfilled",
|
|
16
|
+
value
|
|
17
|
+
}), (reason) => ({
|
|
18
|
+
status: "rejected",
|
|
19
|
+
reason
|
|
20
|
+
}))));
|
|
21
|
+
}
|
|
22
|
+
function importMetaResolve(specifier) {
|
|
23
|
+
if (import.meta.resolve) return import.meta.resolve(specifier);
|
|
24
|
+
return new URL(
|
|
25
|
+
specifier,
|
|
26
|
+
/** #__KEEP__ */
|
|
27
|
+
import.meta.url
|
|
28
|
+
).href;
|
|
29
|
+
}
|
|
30
|
+
promise = allSettled(deps.map((dep) => {
|
|
31
|
+
dep = assetsURL(dep, importerUrl);
|
|
32
|
+
dep = importMetaResolve(dep);
|
|
33
|
+
if (dep in seen) return;
|
|
34
|
+
seen[dep] = true;
|
|
35
|
+
const isCss = dep.endsWith(".css");
|
|
36
|
+
for (let i = links.length - 1; i >= 0; i--) {
|
|
37
|
+
const link = links[i];
|
|
38
|
+
if (link.href === dep && (!isCss || link.rel === "stylesheet")) return;
|
|
39
|
+
}
|
|
40
|
+
const link = document.createElement("link");
|
|
41
|
+
link.rel = isCss ? "stylesheet" : scriptRel;
|
|
42
|
+
if (!isCss) link.as = "script";
|
|
43
|
+
link.crossOrigin = "";
|
|
44
|
+
link.href = dep;
|
|
45
|
+
if (cspNonce) link.setAttribute("nonce", cspNonce);
|
|
46
|
+
document.head.appendChild(link);
|
|
47
|
+
if (isCss) return new Promise((res, rej) => {
|
|
48
|
+
link.addEventListener("load", res);
|
|
49
|
+
link.addEventListener("error", () => rej(/* @__PURE__ */ new Error(`Unable to preload CSS for ${dep}`)));
|
|
50
|
+
});
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
function handlePreloadError(err) {
|
|
54
|
+
const e = new Event("vite:preloadError", { cancelable: true });
|
|
55
|
+
e.payload = err;
|
|
56
|
+
window.dispatchEvent(e);
|
|
57
|
+
if (!e.defaultPrevented) throw err;
|
|
58
|
+
}
|
|
59
|
+
return promise.then((res) => {
|
|
60
|
+
for (const item of res || []) {
|
|
61
|
+
if (item.status !== "rejected") continue;
|
|
62
|
+
handlePreloadError(item.reason);
|
|
63
|
+
}
|
|
64
|
+
return baseModule().catch(handlePreloadError);
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
//#endregion
|
|
68
|
+
export { __vitePreload as t };
|