@nuxt/scripts 2.0.0-beta.4 → 2.0.0-beta.6
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/LICENSE.md +9 -0
- package/dist/devtools-client/200.html +1 -1
- package/dist/devtools-client/404.html +1 -1
- package/dist/devtools-client/_nuxt/Bagqfgzu.js +179 -0
- package/dist/devtools-client/_nuxt/CIwvJvFr.js +1 -0
- package/dist/devtools-client/_nuxt/CP6K2Qm6.js +1 -0
- package/dist/devtools-client/_nuxt/CWci3Eb_.js +1 -0
- package/dist/devtools-client/_nuxt/Car86Ubo.js +3 -0
- package/dist/devtools-client/_nuxt/{Dat651Oh.js → ClT2ZYzs.js} +1 -1
- package/dist/devtools-client/_nuxt/D4iN56En.js +1 -0
- package/dist/devtools-client/_nuxt/DXDqMNFL.js +1 -0
- package/dist/devtools-client/_nuxt/DZ6h2v9A.js +1 -0
- package/dist/devtools-client/_nuxt/D_hceTm9.js +1 -0
- package/dist/devtools-client/_nuxt/QMsSHdby.js +6 -0
- package/dist/devtools-client/_nuxt/WbNXtEed.js +2 -0
- package/dist/devtools-client/_nuxt/builds/latest.json +1 -1
- package/dist/devtools-client/_nuxt/builds/meta/8bf6d5ed-9af4-4b18-be50-90e3f19066d5.json +1 -0
- package/dist/devtools-client/_nuxt/entry.CuI_2OaG.css +2 -0
- package/dist/devtools-client/_nuxt/error-404.Bn3cR6N7.css +1 -0
- package/dist/devtools-client/_nuxt/error-500.ClHmgt9z.css +1 -0
- package/dist/devtools-client/_nuxt/{pages.aU4WirOM.css → pages.BTJrCFzE.css} +1 -1
- package/dist/devtools-client/_nuxt/utTTwIIR.js +8 -0
- package/dist/devtools-client/docs/index.html +1 -1
- package/dist/devtools-client/first-party/index.html +1 -1
- package/dist/devtools-client/index.html +1 -1
- package/dist/devtools-client/registry/index.html +1 -1
- package/dist/module.d.mts +23 -1
- package/dist/module.d.ts +23 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +38 -13
- package/dist/runtime/components/MapLibre/ScriptMapLibreMap.vue +3 -2
- package/dist/runtime/components/MapLibre/ScriptMapLibreMarker.d.vue.ts +6 -6
- package/dist/runtime/components/MapLibre/ScriptMapLibreMarker.vue.d.ts +6 -6
- package/dist/runtime/components/MapLibre/ScriptMapLibrePopup.d.vue.ts +4 -4
- package/dist/runtime/components/MapLibre/ScriptMapLibrePopup.vue.d.ts +4 -4
- package/dist/runtime/components/ScriptCarbonAds.vue +3 -1
- package/dist/runtime/components/ScriptGoogleAdsense.d.vue.ts +1 -1
- package/dist/runtime/components/ScriptGoogleAdsense.vue.d.ts +1 -1
- package/dist/runtime/registry/ahrefs-analytics.d.ts +2 -1
- package/dist/runtime/registry/calendly.d.ts +2 -1
- package/dist/runtime/registry/clarity.d.ts +2 -1
- package/dist/runtime/registry/cloudflare-web-analytics.d.ts +2 -1
- package/dist/runtime/registry/google-adsense.d.ts +2 -1
- package/dist/runtime/registry/google-recaptcha.d.ts +2 -1
- package/dist/runtime/registry/google-tag-manager.d.ts +2 -1
- package/dist/runtime/registry/hotjar.d.ts +2 -1
- package/dist/runtime/registry/intercom.d.ts +2 -1
- package/dist/runtime/registry/leaflet.d.ts +2 -1
- package/dist/runtime/registry/linkedin-insight.d.ts +2 -1
- package/dist/runtime/registry/matomo-analytics.d.ts +2 -1
- package/dist/runtime/registry/meta-pixel.d.ts +4 -1
- package/dist/runtime/registry/paypal.d.ts +2 -1
- package/dist/runtime/registry/reddit-pixel.d.ts +2 -1
- package/dist/runtime/registry/segment.d.ts +7 -1
- package/dist/runtime/registry/snapchat-pixel.d.ts +4 -1
- package/dist/runtime/registry/vimeo-player.d.ts +2 -1
- package/dist/runtime/registry/x-pixel.d.ts +2 -1
- package/dist/runtime/registry/youtube-player.d.ts +2 -1
- package/dist/runtime/server/proxy-handler.d.ts +0 -4
- package/dist/runtime/server/proxy-handler.js +109 -38
- package/dist/runtime/server/utils/network-dispatcher.platform.d.ts +2 -2
- package/dist/runtime/server/utils/network-dispatcher.platform.js +4 -1
- package/dist/types-source.mjs +2 -2
- package/dist/types.d.mts +1 -1
- package/package.json +22 -22
- package/dist/devtools-client/_nuxt/2p1_IuX2.js +0 -1
- package/dist/devtools-client/_nuxt/9elIQxwW.js +0 -1
- package/dist/devtools-client/_nuxt/B-kTnbRv.js +0 -1
- package/dist/devtools-client/_nuxt/BDNMzG2s.js +0 -1
- package/dist/devtools-client/_nuxt/BNPn63Jz.js +0 -1
- package/dist/devtools-client/_nuxt/BuTlAAeI.js +0 -152
- package/dist/devtools-client/_nuxt/C41E8Pp1.js +0 -8
- package/dist/devtools-client/_nuxt/CDDBpkXG.js +0 -3
- package/dist/devtools-client/_nuxt/Cbmw_5H5.js +0 -1
- package/dist/devtools-client/_nuxt/DAsiyhPm.js +0 -6
- package/dist/devtools-client/_nuxt/DabLKy7M.js +0 -1
- package/dist/devtools-client/_nuxt/DiZU_C4m.js +0 -1
- package/dist/devtools-client/_nuxt/KsX6Az5B.js +0 -1
- package/dist/devtools-client/_nuxt/UmWNrBO5.js +0 -2
- package/dist/devtools-client/_nuxt/builds/meta/f0a54c15-eb5b-4885-b712-6bf1d071dca8.json +0 -1
- package/dist/devtools-client/_nuxt/entry.9HJPJ6Hp.css +0 -2
- package/dist/devtools-client/_nuxt/error-404.DnwL1N6v.css +0 -1
- package/dist/devtools-client/_nuxt/error-500.DEbXRLdm.css +0 -1
- package/dist/devtools-client/_nuxt/tYzzi6ZH.js +0 -28
|
@@ -35,7 +35,10 @@ export interface SnapPixelApi {
|
|
|
35
35
|
handleRequest?: SnapTrFns;
|
|
36
36
|
}
|
|
37
37
|
declare global {
|
|
38
|
-
interface Window
|
|
38
|
+
interface Window {
|
|
39
|
+
snaptr: SnapPixelApi['snaptr'];
|
|
40
|
+
_snaptr: SnapPixelApi['_snaptr'];
|
|
41
|
+
handleRequest?: SnapPixelApi['handleRequest'];
|
|
39
42
|
}
|
|
40
43
|
}
|
|
41
44
|
export type SnapTrPixelInput = RegistryScriptInput<typeof SnapTrPixelOptions, true, false>;
|
|
@@ -8,7 +8,8 @@ export interface VimeoPlayerApi {
|
|
|
8
8
|
}
|
|
9
9
|
export type VimeoPlayerInput = RegistryScriptInput;
|
|
10
10
|
declare global {
|
|
11
|
-
interface Window
|
|
11
|
+
interface Window {
|
|
12
|
+
Vimeo: VimeoPlayerApi['Vimeo'];
|
|
12
13
|
}
|
|
13
14
|
}
|
|
14
15
|
export declare function useScriptVimeoPlayer<T extends VimeoPlayerApi>(_options?: VimeoPlayerInput): UseScriptContext<T>;
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
export declare const SKIP_REQUEST_HEADERS: Set<string>;
|
|
2
2
|
export declare function withResponseBodyIdleTimeout(body: ReadableStream<Uint8Array>, timeoutMs: number, onTimeout: () => void): ReadableStream<Uint8Array>;
|
|
3
|
-
/**
|
|
4
|
-
* Privacy-aware proxy handler for first-party script collection endpoints.
|
|
5
|
-
* Routes requests to third-party analytics while protecting user privacy.
|
|
6
|
-
*/
|
|
7
3
|
declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<void | null>>;
|
|
8
4
|
export default _default;
|
|
@@ -15,6 +15,9 @@ const COMPRESSION_RE = /gzip|deflate|br|compress|base64/i;
|
|
|
15
15
|
const CLIENT_HINT_VERSION_RE = /;v="(\d+)\.[^"]*"/g;
|
|
16
16
|
const MAX_TRANSFORM_BODY_SIZE = 2 * 1024 * 1024;
|
|
17
17
|
const UPSTREAM_TIMEOUT_MS = 15e3;
|
|
18
|
+
const MAX_UPSTREAM_REDIRECTS = 5;
|
|
19
|
+
const REDIRECT_STATUSES = /* @__PURE__ */ new Set([301, 302, 303, 307, 308]);
|
|
20
|
+
const REQUEST_BODY_HEADERS = ["content-encoding", "content-language", "content-length", "content-location", "content-type"];
|
|
18
21
|
const SKIP_RESPONSE_HEADERS = /* @__PURE__ */ new Set([
|
|
19
22
|
"alt-svc",
|
|
20
23
|
"clear-site-data",
|
|
@@ -46,7 +49,7 @@ export const SKIP_REQUEST_HEADERS = /* @__PURE__ */ new Set([
|
|
|
46
49
|
"transfer-encoding",
|
|
47
50
|
"upgrade"
|
|
48
51
|
]);
|
|
49
|
-
async function
|
|
52
|
+
async function readBodyBytes(event) {
|
|
50
53
|
const contentLength = Number(getHeaders(event)["content-length"] || 0);
|
|
51
54
|
if (Number.isFinite(contentLength) && contentLength > MAX_TRANSFORM_BODY_SIZE) {
|
|
52
55
|
throw createError({ statusCode: 413, statusMessage: "Proxy request body too large" });
|
|
@@ -83,7 +86,7 @@ async function readTransformBody(event) {
|
|
|
83
86
|
body.set(chunk, offset);
|
|
84
87
|
offset += chunk.byteLength;
|
|
85
88
|
}
|
|
86
|
-
return
|
|
89
|
+
return body;
|
|
87
90
|
}
|
|
88
91
|
export function withResponseBodyIdleTimeout(body, timeoutMs, onTimeout) {
|
|
89
92
|
const reader = body.getReader();
|
|
@@ -145,6 +148,64 @@ function stripQueryFingerprinting(query, privacy) {
|
|
|
145
148
|
}
|
|
146
149
|
return { queryString: params.toString(), stripped };
|
|
147
150
|
}
|
|
151
|
+
function isUpstreamRedirect(status) {
|
|
152
|
+
return REDIRECT_STATUSES.has(status);
|
|
153
|
+
}
|
|
154
|
+
function upstreamFetchError(err, timedOut) {
|
|
155
|
+
const blockedPrivateNetwork = isPrivateNetworkResolutionError(err);
|
|
156
|
+
return createError({
|
|
157
|
+
statusCode: blockedPrivateNetwork ? 403 : timedOut ? 504 : 502,
|
|
158
|
+
statusMessage: blockedPrivateNetwork ? "Local network targets are not allowed" : timedOut ? "Gateway Timeout" : "Bad Gateway",
|
|
159
|
+
message: "Proxy upstream request failed",
|
|
160
|
+
cause: err,
|
|
161
|
+
data: {
|
|
162
|
+
errorName: err?.name,
|
|
163
|
+
errorCode: timedOut ? "TIMEOUT" : err?.code
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
function resolveProxyRedirect(response, state, redirectCount, urlAllowed) {
|
|
168
|
+
const location = response.headers.get("location");
|
|
169
|
+
if (!location) {
|
|
170
|
+
throw createError({
|
|
171
|
+
statusCode: 502,
|
|
172
|
+
statusMessage: "Invalid upstream redirect",
|
|
173
|
+
message: "Upstream redirect has no Location header"
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
if (redirectCount >= MAX_UPSTREAM_REDIRECTS) {
|
|
177
|
+
throw createError({
|
|
178
|
+
statusCode: 502,
|
|
179
|
+
statusMessage: "Too many upstream redirects",
|
|
180
|
+
message: "Upstream redirect limit exceeded"
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
let nextUrl;
|
|
184
|
+
try {
|
|
185
|
+
nextUrl = new URL(location, state.url);
|
|
186
|
+
} catch (cause) {
|
|
187
|
+
throw createError({
|
|
188
|
+
statusCode: 502,
|
|
189
|
+
statusMessage: "Invalid upstream redirect",
|
|
190
|
+
message: "Upstream redirect URL is invalid",
|
|
191
|
+
cause
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
if (!urlAllowed(nextUrl)) {
|
|
195
|
+
throw createError({
|
|
196
|
+
statusCode: 502,
|
|
197
|
+
statusMessage: "Unsafe upstream redirect",
|
|
198
|
+
message: `Upstream redirect target is not allowed: ${nextUrl.origin}`
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
const switchToGet = response.status === 303 && state.method !== "GET" && state.method !== "HEAD" || (response.status === 301 || response.status === 302) && state.method === "POST";
|
|
202
|
+
if (!switchToGet)
|
|
203
|
+
return { ...state, url: nextUrl };
|
|
204
|
+
const headers = { ...state.headers };
|
|
205
|
+
for (const header of REQUEST_BODY_HEADERS)
|
|
206
|
+
delete headers[header];
|
|
207
|
+
return { url: nextUrl, method: "GET", body: void 0, headers };
|
|
208
|
+
}
|
|
148
209
|
export default defineEventHandler(async (event) => {
|
|
149
210
|
const config = useRuntimeConfig();
|
|
150
211
|
const proxyConfig = config["nuxt-scripts-proxy"];
|
|
@@ -282,12 +343,14 @@ export default defineEventHandler(async (event) => {
|
|
|
282
343
|
}
|
|
283
344
|
let body;
|
|
284
345
|
let rawBody;
|
|
346
|
+
let rawBodyBytes;
|
|
285
347
|
let passthroughBody = false;
|
|
286
348
|
if (isWriteMethod) {
|
|
349
|
+
rawBodyBytes = await readBodyBytes(event);
|
|
287
350
|
if (!shouldTransformBody) {
|
|
288
351
|
passthroughBody = true;
|
|
289
352
|
} else if (transformableBodyType === "form") {
|
|
290
|
-
const formBody =
|
|
353
|
+
const formBody = rawBodyBytes === void 0 ? void 0 : new TextDecoder().decode(rawBodyBytes);
|
|
291
354
|
rawBody = formBody;
|
|
292
355
|
if (formBody != null) {
|
|
293
356
|
const params = new URLSearchParams(formBody);
|
|
@@ -315,7 +378,7 @@ export default defineEventHandler(async (event) => {
|
|
|
315
378
|
body = transformed.toString();
|
|
316
379
|
}
|
|
317
380
|
} else {
|
|
318
|
-
const jsonBody =
|
|
381
|
+
const jsonBody = rawBodyBytes === void 0 ? void 0 : new TextDecoder().decode(rawBodyBytes);
|
|
319
382
|
if (jsonBody !== void 0) {
|
|
320
383
|
try {
|
|
321
384
|
rawBody = JSON.parse(jsonBody);
|
|
@@ -365,55 +428,63 @@ export default defineEventHandler(async (event) => {
|
|
|
365
428
|
controller.abort();
|
|
366
429
|
}, UPSTREAM_TIMEOUT_MS);
|
|
367
430
|
let fetchBody;
|
|
368
|
-
if (passthroughBody
|
|
369
|
-
|
|
431
|
+
if (passthroughBody) {
|
|
432
|
+
if (rawBodyBytes && rawBodyBytes.byteLength > 0)
|
|
433
|
+
fetchBody = rawBodyBytes;
|
|
370
434
|
} else if (body !== void 0) {
|
|
371
435
|
fetchBody = transformableBodyType === "json" ? JSON.stringify(body) : String(body);
|
|
372
436
|
}
|
|
437
|
+
const hopAllowed = (url) => url.protocol === "https:" && !url.username && !url.password && (!url.port || url.port === "443") && isPublicNetworkHostname(url.hostname) && Object.keys(domainPrivacy).some((configDomain) => matchDomain(url.hostname, configDomain));
|
|
373
438
|
let response;
|
|
374
439
|
let network;
|
|
375
440
|
try {
|
|
376
441
|
network = await createPublicNetworkDispatcher();
|
|
377
|
-
|
|
442
|
+
let state = {
|
|
443
|
+
url: new URL(targetUrl),
|
|
378
444
|
method: method || "GET",
|
|
379
|
-
headers,
|
|
380
445
|
body: fetchBody,
|
|
381
|
-
|
|
382
|
-
// Don't send cookies to third parties
|
|
383
|
-
signal: controller.signal,
|
|
384
|
-
redirect: "manual",
|
|
385
|
-
duplex: fetchBody instanceof ReadableStream ? "half" : void 0
|
|
446
|
+
headers
|
|
386
447
|
};
|
|
387
|
-
|
|
448
|
+
for (let redirectCount = 0; ; redirectCount++) {
|
|
449
|
+
let hop;
|
|
450
|
+
try {
|
|
451
|
+
hop = await network.fetch(state.url.toString(), {
|
|
452
|
+
method: state.method,
|
|
453
|
+
headers: state.headers,
|
|
454
|
+
body: state.body,
|
|
455
|
+
credentials: "omit",
|
|
456
|
+
// Don't send cookies to third parties
|
|
457
|
+
signal: controller.signal,
|
|
458
|
+
redirect: "manual"
|
|
459
|
+
});
|
|
460
|
+
} catch (err) {
|
|
461
|
+
log("[proxy] Upstream error:", err);
|
|
462
|
+
throw upstreamFetchError(err, timedOut);
|
|
463
|
+
}
|
|
464
|
+
log("[proxy] Response:", hop.status, hop.statusText);
|
|
465
|
+
if (!isUpstreamRedirect(hop.status)) {
|
|
466
|
+
response = hop;
|
|
467
|
+
break;
|
|
468
|
+
}
|
|
469
|
+
let next;
|
|
470
|
+
try {
|
|
471
|
+
next = resolveProxyRedirect(hop, state, redirectCount, hopAllowed);
|
|
472
|
+
} catch (err) {
|
|
473
|
+
await hop.body?.cancel(err).catch((cancelError) => Object.assign(err, { cleanupError: cancelError }));
|
|
474
|
+
throw err;
|
|
475
|
+
}
|
|
476
|
+
const redirectDiscarded = new Error("Upstream redirect response body discarded");
|
|
477
|
+
await hop.body?.cancel(redirectDiscarded).catch((cancelError) => Object.assign(redirectDiscarded, { cause: cancelError }));
|
|
478
|
+
log("[proxy] Following redirect:", next.url.toString());
|
|
479
|
+
state = next;
|
|
480
|
+
}
|
|
388
481
|
clearTimeout(timeoutId);
|
|
389
482
|
} catch (err) {
|
|
390
483
|
clearTimeout(timeoutId);
|
|
391
484
|
await closePublicNetworkDispatcher(network, err);
|
|
392
|
-
|
|
393
|
-
const blockedPrivateNetwork = isPrivateNetworkResolutionError(err);
|
|
394
|
-
throw createError({
|
|
395
|
-
statusCode: blockedPrivateNetwork ? 403 : timedOut ? 504 : 502,
|
|
396
|
-
statusMessage: blockedPrivateNetwork ? "Local network targets are not allowed" : timedOut ? "Gateway Timeout" : "Bad Gateway",
|
|
397
|
-
message: "Proxy upstream request failed",
|
|
398
|
-
cause: err,
|
|
399
|
-
data: {
|
|
400
|
-
errorName: err?.name,
|
|
401
|
-
errorCode: timedOut ? "TIMEOUT" : err?.code
|
|
402
|
-
}
|
|
403
|
-
});
|
|
404
|
-
}
|
|
405
|
-
log("[proxy] Response:", response.status, response.statusText);
|
|
406
|
-
if (response.status >= 300 && response.status < 400 && response.status !== 304) {
|
|
407
|
-
clearTimeout(timeoutId);
|
|
408
|
-
const redirectError = createError({
|
|
409
|
-
statusCode: 502,
|
|
410
|
-
statusMessage: "Unsafe upstream redirect",
|
|
411
|
-
message: "Proxy upstream returned a redirect that was not followed"
|
|
412
|
-
});
|
|
413
|
-
await response.body?.cancel(redirectError).catch((cancelError) => Object.assign(redirectError, { cleanupError: cancelError }));
|
|
414
|
-
await closePublicNetworkDispatcher(network, redirectError);
|
|
415
|
-
throw redirectError;
|
|
485
|
+
throw err;
|
|
416
486
|
}
|
|
487
|
+
log("[proxy] Upstream settled:", response.status);
|
|
417
488
|
const responseConnectionHeaders = new Set(
|
|
418
489
|
(response.headers.get("connection") || "").split(",").map((header) => header.trim().toLowerCase()).filter(Boolean)
|
|
419
490
|
);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const createNetworkDispatcher:
|
|
1
|
+
import type { PublicNetworkDispatcher } from './network-host.js';
|
|
2
|
+
export declare const createNetworkDispatcher: () => Promise<PublicNetworkDispatcher>;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export const createNetworkDispatcher = async () => ({
|
|
2
|
-
fetch:
|
|
2
|
+
// workerd's native fetch throws `TypeError: Illegal invocation` when a
|
|
3
|
+
// detached reference is called as a method (e.g. `dispatcher.fetch(...)`),
|
|
4
|
+
// so pin the receiver before handing the function to callers.
|
|
5
|
+
fetch: globalThis.fetch.bind(globalThis),
|
|
3
6
|
close: async () => {
|
|
4
7
|
}
|
|
5
8
|
});
|
package/dist/types-source.mjs
CHANGED
|
@@ -305,7 +305,7 @@ const types = {
|
|
|
305
305
|
{
|
|
306
306
|
name: "ScriptGoogleAdsenseProps",
|
|
307
307
|
kind: "interface",
|
|
308
|
-
code: "interface ScriptGoogleAdsenseProps {\n dataAdClient: string\n dataAdSlot: string\n dataAdFormat?: 'auto' | 'rectangle' | 'vertical' | 'horizontal' | 'fluid' | 'autorelaxed'\n dataAdLayout?: 'in-article'\n dataAdLayoutKey?: string\n dataFullWidthResponsive?: boolean\n /**\n * Defines the trigger event to load the script.\n */\n trigger?: ElementScriptTrigger\n}"
|
|
308
|
+
code: "interface ScriptGoogleAdsenseProps {\n dataAdClient: string\n dataAdSlot: string\n dataAdFormat?: 'auto' | 'rectangle' | 'vertical' | 'horizontal' | 'fluid' | 'autorelaxed'\n dataAdLayout?: 'in-article' | 'image-top' | 'image-side' | 'text-only'\n dataAdLayoutKey?: string\n dataFullWidthResponsive?: boolean\n /**\n * Defines the trigger event to load the script.\n */\n trigger?: ElementScriptTrigger\n}"
|
|
309
309
|
},
|
|
310
310
|
{
|
|
311
311
|
name: "ScriptGoogleAdsenseEvents",
|
|
@@ -4544,7 +4544,7 @@ const schemaFields = {
|
|
|
4544
4544
|
},
|
|
4545
4545
|
{
|
|
4546
4546
|
name: "dataAdLayout",
|
|
4547
|
-
type: "'in-article'",
|
|
4547
|
+
type: "'in-article' | 'image-top' | 'image-side' | 'text-only'",
|
|
4548
4548
|
required: false
|
|
4549
4549
|
},
|
|
4550
4550
|
{
|
package/dist/types.d.mts
CHANGED
|
@@ -6,6 +6,6 @@ declare module '@nuxt/schema' {
|
|
|
6
6
|
|
|
7
7
|
export { type FirstPartyPrivacy } from '../dist/runtime/types.js'
|
|
8
8
|
|
|
9
|
-
export { type applyAutoInject, default, type findMissingRequiredFields, type isProxyDisabled, type resolveConfiguredProxyDomains } from './module.mjs'
|
|
9
|
+
export { type STATIC_PROXY_PRESETS, type applyAutoInject, default, type findMissingRequiredFields, type isProxyDisabled, type isStaticProxyTarget, type normalizeNitroPreset, type resolveConfiguredProxyDomains } from './module.mjs'
|
|
10
10
|
|
|
11
11
|
export { type ModuleHooks, type ModuleOptions } from './module.mjs'
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nuxt/scripts",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "2.0.0-beta.
|
|
4
|
+
"version": "2.0.0-beta.6",
|
|
5
5
|
"description": "Load third-party scripts with better performance, privacy and DX in Nuxt Apps.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Harlan Wilton",
|
|
@@ -72,18 +72,18 @@
|
|
|
72
72
|
},
|
|
73
73
|
"peerDependencies": {
|
|
74
74
|
"@googlemaps/markerclusterer": "^2.6.2",
|
|
75
|
-
"@paypal/paypal-js": "^
|
|
76
|
-
"@speedcurve/lux": "^4.
|
|
77
|
-
"@stripe/stripe-js": "^
|
|
78
|
-
"@types/geojson": "^7946.0.
|
|
79
|
-
"@types/google.maps": "^3.
|
|
80
|
-
"@types/leaflet": "^1.9.
|
|
75
|
+
"@paypal/paypal-js": "^11.0.0",
|
|
76
|
+
"@speedcurve/lux": "^4.5.2",
|
|
77
|
+
"@stripe/stripe-js": "^9.15.0",
|
|
78
|
+
"@types/geojson": "^7946.0.16",
|
|
79
|
+
"@types/google.maps": "^3.66.2",
|
|
80
|
+
"@types/leaflet": "^1.9.22",
|
|
81
81
|
"@types/vimeo__player": "^2.18.3",
|
|
82
|
-
"@types/youtube": "^0.
|
|
83
|
-
"@unhead/vue": "^3.
|
|
84
|
-
"maplibre-gl": "^6.
|
|
85
|
-
"posthog-js": "^1.
|
|
86
|
-
"unhead": "^3.
|
|
82
|
+
"@types/youtube": "^0.3.0",
|
|
83
|
+
"@unhead/vue": "^3.4.0",
|
|
84
|
+
"maplibre-gl": "^6.8.0",
|
|
85
|
+
"posthog-js": "^1.428.7",
|
|
86
|
+
"unhead": "^3.4.0"
|
|
87
87
|
},
|
|
88
88
|
"peerDependenciesMeta": {
|
|
89
89
|
"@googlemaps/markerclusterer": {
|
|
@@ -121,16 +121,16 @@
|
|
|
121
121
|
}
|
|
122
122
|
},
|
|
123
123
|
"dependencies": {
|
|
124
|
-
"@nuxt/devtools-kit": "^3.4.
|
|
125
|
-
"@oxc-project/types": "^0.
|
|
124
|
+
"@nuxt/devtools-kit": "^3.4.2",
|
|
125
|
+
"@oxc-project/types": "^0.149.0",
|
|
126
126
|
"@vueuse/core": "^14.4.0",
|
|
127
127
|
"@vueuse/shared": "^14.4.0",
|
|
128
128
|
"consola": "^3.4.2",
|
|
129
129
|
"defu": "^6.1.7",
|
|
130
130
|
"h3": "^1.15.11",
|
|
131
|
-
"magic-string": "^1.
|
|
131
|
+
"magic-string": "^1.2.3",
|
|
132
132
|
"ofetch": "^1.5.1",
|
|
133
|
-
"ohash": "^2.0.
|
|
133
|
+
"ohash": "^2.0.12",
|
|
134
134
|
"oxc-walker": "^1.1.1",
|
|
135
135
|
"pathe": "^2.0.3",
|
|
136
136
|
"semver": "^7.8.5",
|
|
@@ -143,14 +143,14 @@
|
|
|
143
143
|
"valibot": "^1.4.2"
|
|
144
144
|
},
|
|
145
145
|
"devDependencies": {
|
|
146
|
-
"@nuxt/kit": "^4.5.
|
|
146
|
+
"@nuxt/kit": "^4.5.2",
|
|
147
147
|
"@nuxt/module-builder": "^1.0.3",
|
|
148
|
-
"@speedcurve/lux": "^4.
|
|
149
|
-
"@unhead/vue": "^3.
|
|
150
|
-
"rollup": "^4.
|
|
148
|
+
"@speedcurve/lux": "^4.5.2",
|
|
149
|
+
"@unhead/vue": "^3.4.0",
|
|
150
|
+
"rollup": "^4.63.1",
|
|
151
151
|
"unbuild": "^3.6.1",
|
|
152
|
-
"unhead": "^3.
|
|
153
|
-
"unimport": "^
|
|
152
|
+
"unhead": "^3.4.0",
|
|
153
|
+
"unimport": "^7.0.1"
|
|
154
154
|
},
|
|
155
155
|
"scripts": {
|
|
156
156
|
"build": "nuxt-module-build build",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{H as e,L as t,an as n,gn as r,in as i,yn as a}from"./CDDBpkXG.js";var o=Error.captureStackTrace,s=class e extends Error{name;code;docs;fix;sources;get why(){return this.message}constructor(t,n=e){super(t.why,{cause:t.cause}),this.code=this.name=t.code,this.fix=t.fix,this.docs=t.docs,this.sources=t.sources,o?.(this,n)}toJSON(){return{name:this.name,why:this.why,fix:this.fix,docs:this.docs,sources:this.sources,cause:this.cause,stack:this.stack}}};function c(e,t){return typeof e==`string`?`${e}/${t.toLowerCase()}`:e?.(t)}function l(e={}){let{docsBase:t,reporters:n=[]}=e;return new Proxy({},{get(e,r){if(typeof r!=`string`)return;let i=(e={},a={})=>{let o=c(t,r),l=new s({code:r,why:o??``,docs:o,cause:e.cause,sources:e.sources},i);for(let e of n)e(l,a);return l};return i}})}function u(e){return`https://nuxt.com/docs/4.x/errors/${e.replace(`NUXT_`,``).toLowerCase()}`}var d=[e=>{console.error(`[${e.name}]`)}],f=l({docsBase:u,reporters:d});function p(e,t={},n){for(let r in e){let i=e[r],a=n?`${n}:${r}`:r;typeof i==`object`&&i?p(i,t,a):typeof i==`function`&&(t[a]=i)}return t}var m=(()=>{if(console.createTask)return console.createTask;let e={run:e=>e()};return()=>e})();function h(e,t,n,r){for(let i=n;i<e.length;i+=1)try{let n=r?r.run(()=>e[i](...t)):e[i](...t);if(n&&typeof n.then==`function`)return Promise.resolve(n).then(()=>h(e,t,i+1,r))}catch(e){return Promise.reject(e)}}function g(e,t,n){if(e.length>0)return h(e,t,0,m(n))}function _(e,t,n){if(e.length>0){let r=m(n);return Promise.all(e.map(e=>r.run(()=>e(...t))))}}function v(e,t){for(let n of[...e])n(t)}var y=class{_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){if(!e||typeof t!=`function`)return()=>{};let r=e,i;for(;this._deprecatedHooks[e];)i=this._deprecatedHooks[e],e=i.to;if(i&&!n.allowDeprecated){let e=i.message;e||=`${r} hook has been deprecated`+(i.to?`, please use ${i.to}`:``),this._deprecatedMessages||=new Set,this._deprecatedMessages.has(e)||(console.warn(e),this._deprecatedMessages.add(e))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>`_`+e.replace(/\W+/g,`_`)+`_hook_cb`,configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&=(this.removeHook(e,t),void 0)}}hookOnce(e,t){let n,r=(...e)=>(typeof n==`function`&&n(),n=void 0,r=void 0,t(...e));return n=this.hook(e,r),n}removeHook(e,t){let n=this._hooks[e];if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}clearHook(e){this._hooks[e]=void 0}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t==`string`?{to:t}:t;let n=this._hooks[e]||[];this._hooks[e]=void 0;for(let t of n)this.hook(e,t)}deprecateHooks(e){for(let t in e)this.deprecateHook(t,e[t])}addHooks(e){let t=p(e),n=Object.keys(t).map(e=>this.hook(e,t[e]));return()=>{for(let e of n)e();n.length=0}}removeHooks(e){let t=p(e);for(let e in t)this.removeHook(e,t[e])}removeAllHooks(){this._hooks={}}callHook(e,...t){return this.callHookWith(g,e,t)}callHookParallel(e,...t){return this.callHookWith(_,e,t)}callHookWith(e,t,n){let r=this._before||this._after?{name:t,args:n,context:{}}:void 0;this._before&&v(this._before,r);let i=e(this._hooks[t]?[...this._hooks[t]]:[],n,t);return i instanceof Promise?i.finally(()=>{this._after&&r&&v(this._after,r)}):(this._after&&r&&v(this._after,r),i)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){let t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){let t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function b(){return new y}var x=class{_hooks;constructor(){this._hooks={}}hook(e,t){return!e||typeof t!=`function`?()=>{}:(this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&=(this.removeHook(e,t),void 0)})}removeHook(e,t){let n=this._hooks[e];if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}callHook(e,...t){let n=this._hooks[e];if(!(!n||n.length===0))return h(n,t,0)}};function S(){return globalThis.AsyncLocalStorage||globalThis.process?.getBuiltinModule?.(`node:async_hooks`)?.AsyncLocalStorage}function C(e={}){let t,n=!1,r=e=>{if(t&&t!==e)throw Error(`Context conflict`)},i;if(e.asyncContext){let t=e.AsyncLocalStorage||S();t?i=new t:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}let a=e=>i&&typeof e==`object`&&e?{__unctx_weak:new WeakRef(e)}:e,o=e=>e&&e.__unctx_weak?e.__unctx_weak.deref():e,s=()=>{if(i){let e=i.getStore();if(e!==void 0)return o(e)}return t};return{use:()=>{let e=s();if(e===void 0)throw Error(`Context is not available`);return e},tryUse:()=>s(),set:(e,i)=>{i||r(e),t=e,n=!0},unset:()=>{t=void 0,n=!1},call:(e,o)=>{r(e),t=e;try{return i?i.run(a(e),o):o()}finally{n||(t=void 0)}},async callAsync(e,r){t=e;let o=()=>{t=e},s=()=>t===e?o:void 0;A.add(s);try{let o=i?i.run(a(e),r):r();return n||(t=void 0),await o}finally{A.delete(s)}}}}function w(e={}){let t={};return{get(n,r={}){return t[n]||(t[n]=C({...e,...r})),t[n]}}}var T=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof global<`u`?global:typeof window<`u`?window:{},E=`__unctx__`,D=T[E]||(T[E]=w()),O=(e,t={})=>D.get(e,t),k=`__unctx_async_handlers__`,A=T[k]||(T[k]=new Set);function j(e){let t=[];for(let e of A){let n=e();n&&t.push(n)}let n=()=>{for(let e of t)e()},r=e();return r&&typeof r==`object`&&`catch`in r&&(r=r.catch(e=>{throw n(),e})),[r,n]}var M={meta:[{name:`viewport`,content:`width=device-width, initial-scale=1`},{charset:`utf-8`}],link:[],style:[],script:[],noscript:[]},N={id:`__nuxt-loader`},P={componentName:`NuxtLink`,prefetch:!0,prefetchOn:{visibility:!0}},F={deep:!1},I=`#__nuxt`,L=`nuxt-app`,R=36e5,z=`vite:preloadError`;function B(e=`nuxt-app`){return O(e,{asyncContext:!1})}var V=`__nuxt_plugin`;function H(e){let t=0,o={_id:e.id||`nuxt-app`,_scope:i(),provide:void 0,versions:{get nuxt(){return`4.5.1`},get vue(){return o.vueApp.version}},payload:a({...e.ssrContext?.payload||{},data:a({}),state:r({}),once:new Set,_errors:a({})}),static:{data:{}},runWithContext(e){return o._scope.active&&!n()?o._scope.run(()=>K(o,e)):K(o,e)},isHydrating:!0,deferHydration(){if(!o.isHydrating)return()=>{};t++;let e=!1;return()=>{if(!e&&(e=!0,t--,t===0))return o.isHydrating=!1,o.callHook(`app:suspense:resolve`)}},_asyncDataPromises:{},_asyncData:a({}),_state:a({}),_payloadRevivers:{},...e};{let e=window.__NUXT__;if(e)for(let t in e)switch(t){case`data`:case`state`:case`_errors`:Object.assign(o.payload[t],e[t]);break;default:o.payload[t]=e[t]}}o.hooks=b(),o.hook=o.hooks.hook;{let e=o.hooks.callHook;o.hooks.callHook=(t,...n)=>Promise.resolve().then(()=>e(t,...n))}o.callHook=o.hooks.callHook,o.provide=(e,t)=>{let n=`$`+e;X(o,n,t),X(o.vueApp.config.globalProperties,n,t)},X(o.vueApp,`$nuxt`,o),X(o.vueApp.config.globalProperties,`$nuxt`,o);{window.addEventListener(z,e=>{o.callHook(`app:chunkError`,{error:e.payload}),e.payload?.message?.includes(`Unable to preload CSS`)&&e.preventDefault()}),window.useNuxtApp||=J;let e=o.hook(`app:error`,(...e)=>{f.NUXT_E1005({cause:e.length>1?e:e[0]})});o.hook(`app:mounted`,e)}let s=o.payload.config;return o.provide(`config`,s),o}async function U(e,t){if(typeof t==`function`){let{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n==`object`)for(let t in n)e.provide(t,n[t])}}async function W(e,t){let n;for(let r of t)try{await U(e,r)}catch(t){if(!e.payload.error)throw t;n||=t}if(n)throw e.payload.error||n}function G(e){if(typeof e==`function`)return e;let t=e._name||e.name;return delete e.name,Object.assign(e.setup||(()=>{}),e,{[V]:!0,_name:t})}function K(e,t,n){return B(e._id).set(e),e.vueApp.runWithContext(()=>n?t(...n):t())}function q(n){let r;return e()&&(r=t()?.appContext.app.$nuxt),r||=B(n).tryUse(),r||null}function J(e){let t=q(e);if(!t)throw f.NUXT_E1001();return t}function Y(e){return J().$config}function X(e,t,n){Object.defineProperty(e,t,{get:()=>n})}export{d as _,Y as a,N as c,R as d,I as f,u as g,f as h,J as i,F as l,x as m,H as n,M as o,j as p,G as r,L as s,W as t,P as u,l as v};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e,b as t,mt as n,tr as r}from"./CDDBpkXG.js";import{n as i}from"./KsX6Az5B.js";import{t as a}from"./BDNMzG2s.js";var o={class:`antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide`},s={class:`max-w-520px text-center`},c=[`textContent`],l=[`textContent`],u=[`textContent`],d=a({__name:`error-500`,props:{appName:{type:String,default:`Nuxt`},status:{type:Number,default:500},statusText:{type:String,default:`Internal server error`},description:{type:String,default:`This page is temporarily unavailable.`},refresh:{type:String,default:`Refresh this page`}},setup(a){let d=a;return i({title:`${d.status} - ${d.statusText} | ${d.appName}`,script:[{innerHTML:`!function(){let e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(let e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(let t of e)if("childList"===t.type)for(let e of t.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;let r=function(e){let r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:`*,:after,:before{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }`}]}),(i,d)=>(n(),t(`div`,o,[e(`div`,s,[e(`h1`,{class:`font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]`,textContent:r(a.status)},null,8,c),e(`h2`,{class:`font-semibold mb-2 sm:text-3xl text-2xl`,textContent:r(a.statusText)},null,8,l),e(`p`,{class:`mb-4 px-2 text-[#64748B] text-md`,textContent:r(a.description)},null,8,u)])]))}},[[`__scopeId`,`data-v-847aeaf1`]]);export{d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{D as e,E as t,On as n,T as ee,Yt as te,Zn as r,_ as i,b as a,bt as o,gn as s,k as c,mt as l,o as u,qt as d,tr as f,v as ne,y as p}from"./CDDBpkXG.js";import{Wt as re}from"./UmWNrBO5.js";import{U as ie,j as m,n as h}from"./C41E8Pp1.js";import{t as g}from"./BDNMzG2s.js";var _={class:`py-1`},v={key:0,class:`panel-grids rounded-xl flex flex-col items-center justify-center py-16 gap-4`},y={class:`w-14 h-14 rounded-2xl bg-(--color-surface-elevated) border border-(--color-border) flex items-center justify-center`},b={class:`hint-callout text-xs max-w-sm`},x={key:1,class:`stagger-children space-y-4`},S={class:`flex flex-wrap gap-2.5`},C={class:`stat-card`},w={class:`stat-value`},T={class:`stat-card`},E={class:`stat-value`},D={class:`stat-card`},O={class:`stat-value`},k={class:`stat-card`},A={class:`stat-value capitalize text-sm`},j={class:`flex items-center gap-2 text-xs text-(--color-text-subtle)`},M={class:`px-1.5 py-0.5 rounded text-[11px] font-mono bg-(--color-surface-sunken) border border-(--color-border-subtle) text-(--color-text-muted)`},N={class:`space-y-3`},P={class:`p-4`},F={class:`flex items-start justify-between gap-4`},I={class:`flex items-center gap-2.5 min-w-0`},L={class:`w-7 h-7 rounded-lg bg-(--color-surface-sunken) border border-(--color-border-subtle) flex items-center justify-center flex-shrink-0 overflow-hidden`},R=[`innerHTML`],z={class:`text-sm font-semibold tracking-tight`},B={class:`ml-2 text-[10px] px-1.5 py-0.5 rounded-full bg-(--color-surface-sunken) text-(--color-text-subtle) font-medium`},V={class:`flex gap-0.5 flex-shrink-0`},ae={class:`flex items-center gap-1.5 mt-2.5 flex-wrap`},H={key:0,class:`fp-badge fp-badge-info`},U={key:1,class:`fp-badge fp-badge-warn`},W={key:2,class:`fp-badge fp-badge-muted`},G={key:0,class:`px-4 pb-3 flex items-center gap-1.5 flex-wrap`},K={key:1,class:`border-t border-(--color-border-subtle)`},q=[`onClick`],J={class:`flex items-center gap-1.5`},oe={key:0,class:`opacity-50`},se={class:`border-t border-(--color-border-subtle)`},ce={style:{color:`oklch(55% 0.12 250)`},class:`min-w-0 truncate`},le={class:`text-(--color-text-subtle) min-w-0 truncate`},ue={key:0,class:`border-t border-(--color-border-subtle) px-4 py-2`},de={style:{color:`oklch(55% 0.12 300)`},class:`truncate`},fe={class:`text-(--color-text-subtle) truncate`},pe={key:0,class:`card overflow-hidden`},me={class:`px-4 py-2.5 border-b border-(--color-border-subtle)`},he={class:`text-xs font-semibold uppercase tracking-wider text-(--color-text-subtle) flex items-center gap-1.5`},ge={class:`overflow-x-auto`},_e={class:`w-full text-xs`},ve={class:`border-b border-(--color-border-subtle)`},ye={class:`px-4 py-2 font-medium whitespace-nowrap`},be={class:`px-2.5 py-2 text-center`},Y=g(c({__name:`first-party`,setup(c){let g=[`ip`,`userAgent`,`language`,`screen`,`timezone`,`hardware`],Y={ip:`IP Address`,userAgent:`User Agent`,language:`Language`,screen:`Screen`,timezone:`Timezone`,hardware:`Hardware`},xe={ip:`IP`,userAgent:`UA`,language:`Lang`,screen:`Screen`,timezone:`TZ`,hardware:`HW`},Se={ip:`i-carbon-location`,userAgent:`i-carbon-user-profile`,language:`i-carbon-translate`,screen:`i-carbon-screen`,timezone:`i-carbon-time`,hardware:`i-carbon-chip`},X=s({});function Ce(e){X[e]=!X[e]}function Z(e){return e===`full`?`privacy-full`:e===`partial`?`privacy-partial`:`privacy-none`}function we(e){return e===`bundle-rewrite-intercept`?`mechanism-bundle`:`mechanism-config`}function Q(e){return e===`bundle-rewrite-intercept`?`Bundle + Rewrite`:`Config Injection`}return(s,c)=>{let $=ie,Te=m;return l(),a(`div`,_,[n(h)?.enabled?(l(),a(`div`,x,[i(`div`,S,[c[7]||=ee(`<div class="stat-card" data-v-97e4a274><div class="stat-label" data-v-97e4a274> Status </div><div class="flex items-center gap-1.5" data-v-97e4a274><span class="stat-dot stat-dot-active" data-v-97e4a274></span><span class="text-sm font-semibold" style="color:oklch(55% 0.18 145);" data-v-97e4a274>Active</span></div></div>`,1),i(`div`,C,[c[3]||=i(`div`,{class:`stat-label`},` Scripts `,-1),i(`div`,w,f(n(h).scripts.length),1)]),i(`div`,T,[c[4]||=i(`div`,{class:`stat-label`},` Routes `,-1),i(`div`,E,f(n(h).totalRoutes),1)]),i(`div`,D,[c[5]||=i(`div`,{class:`stat-label`},` Domains `,-1),i(`div`,O,f(n(h).totalDomains),1)]),i(`div`,k,[c[6]||=i(`div`,{class:`stat-label`},` Privacy `,-1),i(`div`,A,f(n(h).privacyMode),1)])]),i(`div`,j,[e($,{name:`i-carbon-direction-fork`,class:`text-sm`}),c[8]||=t(` Proxy prefix: `,-1),i(`code`,M,f(n(h).proxyPrefix),1)]),i(`div`,N,[(l(!0),a(u,null,o(n(h).scripts,n=>(l(),a(`div`,{key:n.registryKey,class:`card overflow-hidden`},[i(`div`,P,[i(`div`,F,[i(`div`,I,[i(`div`,L,[n.logo?(l(),a(`div`,{key:0,class:`w-5 h-5 flex items-center justify-center [&>svg]:max-w-5 [&>svg]:max-h-5`,innerHTML:n.logo},null,8,R)):(l(),ne($,{key:1,name:`i-carbon-script`,class:`text-sm text-(--color-text-subtle)`}))]),i(`div`,null,[i(`span`,z,f(n.label),1),i(`span`,B,f(n.category),1)])]),i(`div`,V,[(l(),a(u,null,o(g,t=>e(Te,{key:t,text:`${Y[t]}: ${n.privacy[t]?`Anonymised`:`Passthrough`}`},{default:d(()=>[i(`div`,{class:r([`privacy-flag`,n.privacy[t]?`privacy-flag-on`:`privacy-flag-off`])},[e($,{name:Se[t],class:`text-xs`},null,8,[`name`])],2)]),_:2},1032,[`text`])),64))])]),i(`div`,ae,[i(`span`,{class:r([`fp-badge`,we(n.mechanism)])},f(Q(n.mechanism)),3),i(`span`,{class:r([`fp-badge`,Z(n.privacyLevel)])},f(n.privacyLevel===`full`?`Full Privacy`:n.privacyLevel===`partial`?`Partial`:`Passthrough`),3),n.hasAutoInject?(l(),a(`span`,H,` Auto-inject`+f(n.autoInjectField?`: ${n.autoInjectField}`:``),1)):p(``,!0),n.canvasFingerprinting?(l(),a(`span`,U,` Canvas FP neutralized `)):p(``,!0),n.hasSdkPatches?(l(),a(`span`,W,` SDK patches `)):p(``,!0)])]),n.domains?.length?(l(),a(`div`,G,[c[9]||=i(`span`,{class:`text-[10px] text-(--color-text-subtle) mr-0.5`},`Proxying:`,-1),(l(!0),a(u,null,o(n.domains,e=>(l(),a(`span`,{key:e,class:`text-[10px] font-mono px-1.5 py-0.5 rounded bg-(--color-surface-sunken) text-(--color-text-muted) border border-(--color-border-subtle)`},f(e),1))),128))])):p(``,!0),n.routes?.length?(l(),a(`div`,K,[i(`button`,{class:`w-full px-4 py-2 flex items-center justify-between text-xs text-(--color-text-subtle) hover:text-(--color-text-muted) transition-colors cursor-pointer`,onClick:e=>Ce(n.registryKey)},[i(`span`,J,[e($,{name:`i-carbon-arrows-horizontal`,class:`text-xs`}),t(` `+f(n.routes.length)+` route`+f(n.routes.length>1?`s`:``)+` `,1),n.interceptRules?.length?(l(),a(`span`,oe,` · `+f(n.interceptRules.length)+` intercept rule`+f(n.interceptRules.length>1?`s`:``),1)):p(``,!0)]),e($,{name:X[n.registryKey]?`i-carbon-chevron-up`:`i-carbon-chevron-down`,class:`text-xs transition-transform`},null,8,[`name`])],8,q),te(i(`div`,null,[i(`div`,se,[(l(!0),a(u,null,o(n.routes,(t,n)=>(l(),a(`div`,{key:n,class:`px-4 py-1.5 flex items-center gap-2 text-[11px] font-mono hover:bg-(--color-surface-sunken) transition-colors`},[i(`span`,ce,f(t.local),1),e($,{name:`i-carbon-arrow-right`,class:`text-[9px] opacity-25 flex-shrink-0`}),i(`span`,le,f(t.target),1)]))),128))]),n.interceptRules?.length?(l(),a(`div`,ue,[c[10]||=i(`div`,{class:`text-[10px] uppercase tracking-wider text-(--color-text-subtle) mb-1 font-medium`},` Intercept Rules `,-1),(l(!0),a(u,null,o(n.interceptRules,(t,n)=>(l(),a(`div`,{key:n,class:`py-1 flex items-center gap-2 text-[11px] font-mono`},[i(`span`,de,f(t.pattern)+f(t.pathPrefix),1),e($,{name:`i-carbon-arrow-right`,class:`text-[9px] opacity-25 flex-shrink-0`}),i(`span`,fe,f(t.target),1)]))),128))])):p(``,!0)],512),[[re,X[n.registryKey]]])])):p(``,!0)]))),128))]),n(h).scripts.length>1?(l(),a(`div`,pe,[i(`div`,me,[i(`h4`,he,[e($,{name:`i-carbon-data-table`,class:`text-sm`}),c[11]||=t(` Privacy Matrix `,-1)])]),i(`div`,ge,[i(`table`,_e,[i(`thead`,null,[i(`tr`,ve,[c[12]||=i(`th`,{class:`px-4 py-2 text-left font-medium text-(--color-text-subtle)`},` Script `,-1),(l(),a(u,null,o(g,e=>i(`th`,{key:e,class:`px-2.5 py-2 text-center font-medium text-(--color-text-subtle) whitespace-nowrap`},f(xe[e]),1)),64)),c[13]||=i(`th`,{class:`px-2.5 py-2 text-center font-medium text-(--color-text-subtle)`},` Level `,-1)])]),i(`tbody`,null,[(l(!0),a(u,null,o(n(h).scripts,e=>(l(),a(`tr`,{key:e.registryKey,class:`border-b border-(--color-border-subtle) last:border-b-0 hover:bg-(--color-surface-sunken) transition-colors`},[i(`td`,ye,f(e.label),1),(l(),a(u,null,o(g,t=>i(`td`,{key:t,class:`px-2.5 py-2 text-center`},[i(`div`,{class:r([`w-2.5 h-2.5 rounded-full mx-auto`,e.privacy[t]?`matrix-dot-on`:`matrix-dot-off`])},null,2)])),64)),i(`td`,be,[i(`span`,{class:r([`fp-badge text-[10px]`,Z(e.privacyLevel)])},f(e.privacyLevel),3)])]))),128))])])])])):p(``,!0),c[14]||=i(`div`,{class:`text-center pt-1 pb-3`},[i(`a`,{href:`https://scripts.nuxt.com/docs/guides/first-party`,target:`_blank`,class:`link-external text-xs`},` First-Party Mode: Privacy Focused Proxy `)],-1)])):(l(),a(`div`,v,[i(`div`,y,[e($,{name:`i-carbon-security`,class:`text-3xl text-(--color-text-subtle)`})]),c[1]||=i(`div`,{class:`text-center space-y-1.5`},[i(`p`,{class:`text-sm font-semibold text-(--color-text-muted)`},` Privacy Proxy is not active `),i(`p`,{class:`text-xs text-(--color-text-subtle) max-w-sm`},` The reverse proxy is auto-enabled when scripts with proxy capabilities are configured in the registry. `)],-1),i(`div`,b,[e($,{name:`i-carbon-information`,class:`hint-callout-icon text-base flex-shrink-0`}),c[0]||=i(`div`,null,[t(` Check that your registry scripts have not set `),i(`code`,{class:`px-1 py-0.5 rounded text-[11px] font-mono bg-(--color-surface-sunken)`},`proxy: false`),t(` or `),i(`code`,{class:`px-1 py-0.5 rounded text-[11px] font-mono bg-(--color-surface-sunken)`},`bundle: false`),t(`. `)],-1)]),c[2]||=i(`a`,{href:`https://scripts.nuxt.com/docs/guides/first-party`,target:`_blank`,class:`link-external text-xs mt-1`},` View Documentation `,-1)]))])}}}),[[`__scopeId`,`data-v-97e4a274`]]);export{Y as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};export{e as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{D as e,E as t,_ as n,b as r,mt as i,qt as a,tr as o}from"./CDDBpkXG.js";import{n as s}from"./KsX6Az5B.js";import{t as c}from"./Dat651Oh.js";import{t as l}from"./BDNMzG2s.js";var u={class:`antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide`},d={class:`max-w-520px text-center`},f=[`textContent`],p=[`textContent`],m=[`textContent`],h={class:`flex items-center justify-center w-full`},g=l({__name:`error-404`,props:{appName:{type:String,default:`Nuxt`},status:{type:Number,default:404},statusText:{type:String,default:`Page not found`},description:{type:String,default:`Sorry, the page you are looking for could not be found.`},backHome:{type:String,default:`Go back home`}},setup(l){let g=l;return s({title:`${g.status} - ${g.statusText} | ${g.appName}`,script:[{innerHTML:`!function(){let e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(let e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(let t of e)if("childList"===t.type)for(let e of t.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;let r=function(e){let r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:`*,:after,:before{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }`}]}),(s,g)=>{let _=c;return i(),r(`div`,u,[n(`div`,d,[n(`h1`,{class:`font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]`,textContent:o(l.status)},null,8,f),n(`h2`,{class:`font-semibold mb-2 sm:text-3xl text-2xl`,textContent:o(l.statusText)},null,8,p),n(`p`,{class:`mb-4 px-2 text-[#64748B] text-md`,textContent:o(l.description)},null,8,m),n(`div`,h,[e(_,{to:`/`,class:`font-medium hover:text-[#00DC82] text-sm underline underline-offset-3`},{default:a(()=>[t(o(l.backHome),1)]),_:1})])])])}}},[[`__scopeId`,`data-v-8c12c98d`]]);export{g as default};
|