@nuxt/scripts 1.0.3 → 1.0.5

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.
Files changed (53) hide show
  1. package/dist/devtools-client/200.html +1 -1
  2. package/dist/devtools-client/404.html +1 -1
  3. package/dist/devtools-client/_nuxt/BNvWpYaC.js +188 -0
  4. package/dist/devtools-client/_nuxt/{DZC4fp-D.js → CApasjik.js} +1 -1
  5. package/dist/devtools-client/_nuxt/{BKha4otU.js → CTPc9yIZ.js} +1 -1
  6. package/dist/devtools-client/_nuxt/{BNnOFEgA.js → CbCcQNvm.js} +1 -1
  7. package/dist/devtools-client/_nuxt/{DXbMEK4S.js → Dj5q49Yv.js} +1 -1
  8. package/dist/devtools-client/_nuxt/builds/latest.json +1 -1
  9. package/dist/devtools-client/_nuxt/builds/meta/caa75c14-abb0-4d9e-8f1a-440e91f4b1eb.json +1 -0
  10. package/dist/devtools-client/_nuxt/{entry.By2_NhVg.css → entry.XOvcedFq.css} +1 -1
  11. package/dist/devtools-client/_nuxt/error-404.upckUYZO.css +1 -0
  12. package/dist/devtools-client/_nuxt/error-500.DS4SeCFl.css +1 -0
  13. package/dist/devtools-client/_nuxt/{CK-VPzWc.js → xOsbuyp3.js} +1 -1
  14. package/dist/devtools-client/_nuxt/{D1-tSGjF.js → zmRZ2I-R.js} +1 -1
  15. package/dist/devtools-client/docs/index.html +1 -1
  16. package/dist/devtools-client/first-party/index.html +1 -1
  17. package/dist/devtools-client/index.html +1 -1
  18. package/dist/devtools-client/registry/index.html +1 -1
  19. package/dist/module.json +1 -1
  20. package/dist/module.mjs +1 -1
  21. package/dist/registry.mjs +16 -3
  22. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.d.vue.ts +1 -1
  23. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +9 -3
  24. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue.d.ts +1 -1
  25. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue +4 -2
  26. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.vue +1 -1
  27. package/dist/runtime/components/ScriptPayPalButtons.d.vue.ts +1 -1
  28. package/dist/runtime/components/ScriptPayPalButtons.vue.d.ts +1 -1
  29. package/dist/runtime/components/ScriptPayPalMessages.d.vue.ts +1 -1
  30. package/dist/runtime/components/ScriptPayPalMessages.vue.d.ts +1 -1
  31. package/dist/runtime/composables/useScript.js +1 -1
  32. package/dist/runtime/registry/google-analytics.js +1 -1
  33. package/dist/runtime/registry/google-recaptcha.js +1 -1
  34. package/dist/runtime/registry/google-sign-in.d.ts +27 -2
  35. package/dist/runtime/registry/google-sign-in.js +96 -1
  36. package/dist/runtime/registry/google-tag-manager.js +1 -1
  37. package/dist/runtime/registry/intercom.d.ts +1 -1
  38. package/dist/runtime/registry/paypal.d.ts +1 -1
  39. package/dist/runtime/registry/posthog.d.ts +1 -1
  40. package/dist/runtime/registry/snapchat-pixel.d.ts +1 -1
  41. package/dist/runtime/registry/stripe.d.ts +1 -1
  42. package/dist/runtime/registry/vimeo-player.d.ts +1 -1
  43. package/dist/runtime/registry/youtube-player.d.ts +1 -1
  44. package/dist/runtime/server/proxy-handler.js +2 -1
  45. package/dist/runtime/server/utils/match-domain.d.ts +1 -0
  46. package/dist/runtime/server/utils/match-domain.js +20 -0
  47. package/dist/runtime/utils.d.ts +1 -1
  48. package/dist/types-source.mjs +5 -0
  49. package/package.json +3 -3
  50. package/dist/devtools-client/_nuxt/B5UH0Ds3.js +0 -188
  51. package/dist/devtools-client/_nuxt/builds/meta/6689578b-eedf-440f-89c7-1c51715a9fd2.json +0 -1
  52. package/dist/devtools-client/_nuxt/error-404.CmHnDJ22.css +0 -1
  53. package/dist/devtools-client/_nuxt/error-500.C0mC5XzU.css +0 -1
@@ -1,5 +1,6 @@
1
1
  import { createError, defineEventHandler, getHeaders, getQuery, getRequestIP, getRequestWebStream, readBody, setResponseHeader, setResponseStatus } from "h3";
2
2
  import { useNitroApp, useRuntimeConfig } from "nitropack/runtime";
3
+ import { matchDomain } from "./utils/match-domain.js";
3
4
  import {
4
5
  anonymizeIP,
5
6
  mergePrivacy,
@@ -51,7 +52,7 @@ export default defineEventHandler(async (event) => {
51
52
  }
52
53
  let perScriptInput;
53
54
  for (const [configDomain, privacyInput] of Object.entries(domainPrivacy)) {
54
- if (domain === configDomain || domain.endsWith(`.${configDomain}`)) {
55
+ if (matchDomain(domain, configDomain)) {
55
56
  perScriptInput = privacyInput;
56
57
  break;
57
58
  }
@@ -0,0 +1 @@
1
+ export declare function matchDomain(domain: string, pattern: string): boolean;
@@ -0,0 +1,20 @@
1
+ const TLD_WILDCARD_RE = /^(?:com|[a-z]{2}|(?:com|co)\.[a-z]{2})$/i;
2
+ const SUBDOMAIN_LABEL_RE = /^[^.]+$/;
3
+ export function matchDomain(domain, pattern) {
4
+ if (!pattern.includes("*"))
5
+ return domain === pattern || domain.endsWith(`.${pattern}`);
6
+ if (pattern.startsWith("*.") && pattern.indexOf("*") === 0) {
7
+ const suffix = pattern.slice(2);
8
+ if (!domain.endsWith(`.${suffix}`))
9
+ return false;
10
+ const label = domain.slice(0, -(suffix.length + 1));
11
+ return SUBDOMAIN_LABEL_RE.test(label);
12
+ }
13
+ if (!pattern.endsWith("*") || pattern.indexOf("*") !== pattern.length - 1)
14
+ return false;
15
+ const prefix = pattern.slice(0, -1);
16
+ if (!domain.startsWith(prefix))
17
+ return false;
18
+ const tld = domain.slice(prefix.length);
19
+ return TLD_WILDCARD_RE.test(tld);
20
+ }
@@ -1,6 +1,6 @@
1
- import type { EmptyOptionsSchema, InferIfSchema, NuxtUseScriptOptions, RegistryScriptInput, ScriptRegistry, UseFunctionType, UseScriptContext } from '#nuxt-scripts/types';
2
1
  import type { UseScriptInput } from '@unhead/vue';
3
2
  import type { ObjectSchema, UnionSchema } from 'valibot';
3
+ import type { EmptyOptionsSchema, InferIfSchema, NuxtUseScriptOptions, RegistryScriptInput, ScriptRegistry, UseFunctionType, UseScriptContext } from '#nuxt-scripts/types';
4
4
  export type MaybePromise<T> = Promise<T> | T;
5
5
  type OptionsFn<O> = (options: InferIfSchema<O>, ctx: {
6
6
  scriptInput?: UseScriptInput & {
@@ -451,6 +451,11 @@ const types = {
451
451
  name: "GoogleSignInOptions",
452
452
  kind: "const",
453
453
  code: "export const GoogleSignInOptions = object({\n /**\n * Your Google API client ID.\n * @example 'XXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com'\n * @see https://developers.google.com/identity/gsi/web/guides/get-google-api-clientid\n */\n clientId: string(),\n /**\n * Auto-select credentials when only one Google account is available.\n * @see https://developers.google.com/identity/gsi/web/reference/js-reference#auto_select\n */\n autoSelect: optional(boolean()),\n /**\n * The context text for the One Tap prompt.\n * @see https://developers.google.com/identity/gsi/web/reference/js-reference#context\n */\n context: optional(union([literal('signin'), literal('signup'), literal('use')])),\n /**\n * Enable FedCM (Federated Credential Management) API support. Mandatory from August 2025.\n * @see https://developers.google.com/identity/gsi/web/guides/fedcm-migration\n */\n useFedcmForPrompt: optional(boolean()),\n /**\n * Cancel the One Tap prompt if the user clicks outside.\n * @default true\n * @see https://developers.google.com/identity/gsi/web/reference/js-reference#cancel_on_tap_outside\n */\n cancelOnTapOutside: optional(boolean()),\n /**\n * The UX mode for the sign-in flow.\n * @see https://developers.google.com/identity/gsi/web/reference/js-reference#ux_mode\n */\n uxMode: optional(union([literal('popup'), literal('redirect')])),\n /**\n * The URI to redirect to after sign-in when using redirect UX mode.\n * @see https://developers.google.com/identity/gsi/web/reference/js-reference#login_uri\n */\n loginUri: optional(string()),\n /**\n * Enable Intelligent Tracking Prevention (ITP) support for Safari.\n * @see https://developers.google.com/identity/gsi/web/reference/js-reference#itp_support\n */\n itpSupport: optional(boolean()),\n /**\n * Allowed parent origin(s) for iframe embedding.\n * @see https://developers.google.com/identity/gsi/web/reference/js-reference#allowed_parent_origin\n */\n allowedParentOrigin: optional(union([string(), array(string())])),\n /**\n * Restrict sign-in to a specific Google Workspace hosted domain.\n * @example 'example.com'\n * @see https://developers.google.com/identity/gsi/web/reference/js-reference#hd\n */\n hd: optional(string()),\n})"
454
+ },
455
+ {
456
+ name: "GoogleSignInHelpers",
457
+ kind: "interface",
458
+ code: "export interface GoogleSignInHelpers {\n /**\n * Initialize Google Identity Services. Schema options are used as defaults;\n * pass a callback (and any other non-serializable config) here. Subsequent\n * calls are a no-op so this is safe to invoke from a remounting component.\n */\n initialize: (config?: Partial<IdConfiguration>) => void\n /**\n * Render a personalized Google Sign-In button. Auto-initializes if needed.\n * Safe to re-render on navigation or locale change.\n */\n renderButton: (parent: HTMLElement, config?: GsiButtonConfiguration) => void\n /**\n * Show the One Tap prompt. Auto-initializes if needed.\n */\n prompt: (listener?: (notification: MomentNotification) => void) => void\n}"
454
459
  }
455
460
  ],
456
461
  "google-tag-manager": [
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nuxt/scripts",
3
3
  "type": "module",
4
- "version": "1.0.3",
4
+ "version": "1.0.5",
5
5
  "description": "Load third-party scripts with better performance, privacy and DX in Nuxt Apps.",
6
6
  "author": {
7
7
  "name": "Harlan Wilton",
@@ -103,7 +103,7 @@
103
103
  },
104
104
  "dependencies": {
105
105
  "@nuxt/devtools-kit": "^3.2.4",
106
- "@nuxt/kit": "^4.4.2",
106
+ "@nuxt/kit": "^4.4.4",
107
107
  "@vueuse/core": "^14.2.1",
108
108
  "@vueuse/shared": "^14.2.1",
109
109
  "consola": "^3.4.2",
@@ -118,7 +118,7 @@
118
118
  "pkg-types": "^2.3.1",
119
119
  "sirv": "^3.0.2",
120
120
  "std-env": "^4.1.0",
121
- "ufo": "^1.6.3",
121
+ "ufo": "^1.6.4",
122
122
  "ultrahtml": "^1.6.0",
123
123
  "unplugin": "^3.0.0",
124
124
  "unstorage": "^1.17.5",