@nuxt/scripts 1.0.0-beta.20 → 1.0.0-beta.21

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.
@@ -1 +1 @@
1
- import{_ as s,c as a,o as i,a as t,t as n,b as u,w as c,d as l,e as d}from"./DFEfk2pB.js";import{u as f}from"./__ZZTkMj.js";const p={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"},m={class:"max-w-520px text-center"},h=["textContent"],b=["textContent"],x=["textContent"],g={class:"flex items-center justify-center w-full"},y={__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(e){const r=e;return f({title:`${r.status} - ${r.statusText} | ${r.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.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;const r=function(e){const 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{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color: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 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--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: }'}]}),(k,w)=>{const o=d;return i(),a("div",p,[t("div",m,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:n(e.status)},null,8,h),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:n(e.statusText)},null,8,b),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:n(e.description)},null,8,x),t("div",g,[u(o,{to:"/",class:"font-medium hover:text-[#00DC82] text-sm underline underline-offset-3"},{default:c(()=>[l(n(e.backHome),1)]),_:1})])])])}}},N=s(y,[["__scopeId","data-v-df3b570e"]]);export{N as default};
1
+ import{_ as s,c as a,o as i,a as t,t as n,b as u,w as c,d as l,e as d}from"./DvbTvDd0.js";import{u as f}from"./BwCYQWJt.js";const p={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"},m={class:"max-w-520px text-center"},h=["textContent"],b=["textContent"],x=["textContent"],g={class:"flex items-center justify-center w-full"},y={__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(e){const r=e;return f({title:`${r.status} - ${r.statusText} | ${r.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.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;const r=function(e){const 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{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color: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 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--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: }'}]}),(k,w)=>{const o=d;return i(),a("div",p,[t("div",m,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:n(e.status)},null,8,h),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:n(e.statusText)},null,8,b),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:n(e.description)},null,8,x),t("div",g,[u(o,{to:"/",class:"font-medium hover:text-[#00DC82] text-sm underline underline-offset-3"},{default:c(()=>[l(n(e.backHome),1)]),_:1})])])])}}},N=s(y,[["__scopeId","data-v-df3b570e"]]);export{N as default};
@@ -1 +1 @@
1
- {"id":"8212d4fa-7985-421b-815a-03a886e667d4","timestamp":1773156783796}
1
+ {"id":"6660a023-888d-415f-b66d-ce774e6f8f11","timestamp":1773295617596}
@@ -0,0 +1 @@
1
+ {"id":"6660a023-888d-415f-b66d-ce774e6f8f11","timestamp":1773295617596,"prerendered":[]}
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-scripts/_nuxt/entry.CACgbLJl.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/DFEfk2pB.js"><script type="module" src="/__nuxt-scripts/_nuxt/DFEfk2pB.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{"nuxt-scripts":{version:"",defaultScriptOptions:{trigger:"onNuxtReady"},googleStaticMapsProxy:""}},app:{baseURL:"/__nuxt-scripts",buildId:"8212d4fa-7985-421b-815a-03a886e667d4",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1773156788889,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-scripts/_nuxt/entry.CACgbLJl.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/DvbTvDd0.js"><script type="module" src="/__nuxt-scripts/_nuxt/DvbTvDd0.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{"nuxt-scripts":{version:"",defaultScriptOptions:{trigger:"onNuxtReady"},googleStaticMapsProxy:""}},app:{baseURL:"/__nuxt-scripts",buildId:"6660a023-888d-415f-b66d-ce774e6f8f11",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1773295622878,false]</script></body></html>
package/dist/module.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=3.16"
6
6
  },
7
- "version": "1.0.0-beta.20",
7
+ "version": "1.0.0-beta.21",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "1.0.2",
10
10
  "unbuild": "3.6.1"
package/dist/module.mjs CHANGED
@@ -262,11 +262,22 @@ function finalizeFirstParty(opts) {
262
262
  const { firstParty, interceptRules, registryScriptsWithImport, nuxtOptions } = opts;
263
263
  const proxyConfigs = getAllProxyConfigs(firstParty.collectPrefix);
264
264
  const registryKeys = Object.keys(opts.registry || {});
265
+ const scriptByKey = /* @__PURE__ */ new Map();
266
+ for (const script of registryScriptsWithImport) {
267
+ if (script.registryKey) {
268
+ scriptByKey.set(script.registryKey, script);
269
+ }
270
+ }
265
271
  const neededRoutes = {};
266
272
  const routePrivacyOverrides = {};
267
273
  const unsupportedScripts = [];
274
+ const unmatchedScripts = [];
268
275
  for (const key of registryKeys) {
269
- const script = registryScriptsWithImport.find((s) => s.import.name.toLowerCase() === `usescript${key.toLowerCase()}`);
276
+ const script = scriptByKey.get(key) || registryScriptsWithImport.find((s) => s.import.name.toLowerCase() === `usescript${key.toLowerCase()}`);
277
+ if (!script) {
278
+ unmatchedScripts.push(key);
279
+ continue;
280
+ }
270
281
  const proxyKey = script?.proxy || void 0;
271
282
  if (proxyKey) {
272
283
  const proxyConfig = proxyConfigs[proxyKey];
@@ -283,6 +294,12 @@ function finalizeFirstParty(opts) {
283
294
  if (opts.registry) {
284
295
  autoInjectProxyEndpoints(opts.registry, nuxtOptions.runtimeConfig, firstParty.collectPrefix);
285
296
  }
297
+ if (unmatchedScripts.length) {
298
+ logger.warn(
299
+ `First-party mode: could not find registry scripts for: ${unmatchedScripts.join(", ")}.
300
+ These scripts will not have proxy routes registered. Check that the registry key matches a known script.`
301
+ );
302
+ }
286
303
  if (unsupportedScripts.length && nuxtOptions.dev) {
287
304
  logger.warn(
288
305
  `First-party mode is enabled but these scripts don't support it yet: ${unsupportedScripts.join(", ")}.
package/dist/registry.mjs CHANGED
@@ -4,6 +4,7 @@ async function registry(resolve) {
4
4
  resolve = resolve || ((s) => Promise.resolve(s));
5
5
  return [
6
6
  {
7
+ registryKey: "plausibleAnalytics",
7
8
  label: "Plausible Analytics",
8
9
  proxy: "plausible",
9
10
  category: "analytics",
@@ -20,6 +21,7 @@ async function registry(resolve) {
20
21
  }
21
22
  },
22
23
  {
24
+ registryKey: "cloudflareWebAnalytics",
23
25
  label: "Cloudflare Web Analytics",
24
26
  proxy: "cloudflareWebAnalytics",
25
27
  src: "https://static.cloudflareinsights.com/beacon.min.js",
@@ -31,6 +33,7 @@ async function registry(resolve) {
31
33
  }
32
34
  },
33
35
  {
36
+ registryKey: "vercelAnalytics",
34
37
  label: "Vercel Analytics",
35
38
  src: "https://va.vercel-scripts.com/v1/script.js",
36
39
  proxy: "vercelAnalytics",
@@ -42,6 +45,7 @@ async function registry(resolve) {
42
45
  }
43
46
  },
44
47
  {
48
+ registryKey: "posthog",
45
49
  label: "PostHog",
46
50
  src: false,
47
51
  proxy: "posthog",
@@ -54,6 +58,7 @@ async function registry(resolve) {
54
58
  }
55
59
  },
56
60
  {
61
+ registryKey: "fathomAnalytics",
57
62
  label: "Fathom Analytics",
58
63
  proxy: "fathom",
59
64
  src: "https://cdn.usefathom.com/script.js",
@@ -65,6 +70,7 @@ async function registry(resolve) {
65
70
  }
66
71
  },
67
72
  {
73
+ registryKey: "matomoAnalytics",
68
74
  label: "Matomo Analytics",
69
75
  scriptBundling: false,
70
76
  // breaks script
@@ -76,6 +82,7 @@ async function registry(resolve) {
76
82
  }
77
83
  },
78
84
  {
85
+ registryKey: "rybbitAnalytics",
79
86
  label: "Rybbit Analytics",
80
87
  proxy: "rybbit",
81
88
  scriptBundling: false,
@@ -91,6 +98,7 @@ async function registry(resolve) {
91
98
  }
92
99
  },
93
100
  {
101
+ registryKey: "databuddyAnalytics",
94
102
  label: "Databuddy Analytics",
95
103
  proxy: "databuddy",
96
104
  scriptBundling: () => "https://cdn.databuddy.cc/databuddy.js",
@@ -102,6 +110,7 @@ async function registry(resolve) {
102
110
  }
103
111
  },
104
112
  {
113
+ registryKey: "segment",
105
114
  label: "Segment",
106
115
  proxy: "segment",
107
116
  scriptBundling: (options) => {
@@ -115,6 +124,7 @@ async function registry(resolve) {
115
124
  }
116
125
  },
117
126
  {
127
+ registryKey: "metaPixel",
118
128
  label: "Meta Pixel",
119
129
  proxy: "metaPixel",
120
130
  src: "https://connect.facebook.net/en_US/fbevents.js",
@@ -126,6 +136,7 @@ async function registry(resolve) {
126
136
  }
127
137
  },
128
138
  {
139
+ registryKey: "xPixel",
129
140
  label: "X Pixel",
130
141
  proxy: "xPixel",
131
142
  src: "https://static.ads-twitter.com/uwt.js",
@@ -140,6 +151,7 @@ async function registry(resolve) {
140
151
  }
141
152
  },
142
153
  {
154
+ registryKey: "tiktokPixel",
143
155
  label: "TikTok Pixel",
144
156
  proxy: "tiktokPixel",
145
157
  category: "ad",
@@ -155,6 +167,7 @@ async function registry(resolve) {
155
167
  }
156
168
  },
157
169
  {
170
+ registryKey: "snapchatPixel",
158
171
  label: "Snapchat Pixel",
159
172
  proxy: "snapchatPixel",
160
173
  src: "https://sc-static.net/scevent.min.js",
@@ -166,6 +179,7 @@ async function registry(resolve) {
166
179
  }
167
180
  },
168
181
  {
182
+ registryKey: "redditPixel",
169
183
  label: "Reddit Pixel",
170
184
  proxy: "redditPixel",
171
185
  src: "https://www.redditstatic.com/ads/pixel.js",
@@ -178,6 +192,7 @@ async function registry(resolve) {
178
192
  },
179
193
  // ad
180
194
  {
195
+ registryKey: "googleAdsense",
181
196
  label: "Google Adsense",
182
197
  proxy: "googleAnalytics",
183
198
  scriptBundling: (options) => {
@@ -196,6 +211,7 @@ async function registry(resolve) {
196
211
  }
197
212
  },
198
213
  {
214
+ registryKey: "carbonAds",
199
215
  label: "Carbon Ads",
200
216
  scriptBundling: false,
201
217
  category: "ad",
@@ -203,6 +219,7 @@ async function registry(resolve) {
203
219
  },
204
220
  // support
205
221
  {
222
+ registryKey: "intercom",
206
223
  label: "Intercom",
207
224
  proxy: "intercom",
208
225
  scriptBundling(options) {
@@ -219,6 +236,7 @@ async function registry(resolve) {
219
236
  }
220
237
  },
221
238
  {
239
+ registryKey: "hotjar",
222
240
  label: "Hotjar",
223
241
  proxy: "hotjar",
224
242
  scriptBundling(options) {
@@ -237,6 +255,7 @@ async function registry(resolve) {
237
255
  }
238
256
  },
239
257
  {
258
+ registryKey: "clarity",
240
259
  label: "Clarity",
241
260
  proxy: "clarity",
242
261
  scriptBundling(options) {
@@ -254,6 +273,7 @@ async function registry(resolve) {
254
273
  },
255
274
  // payments
256
275
  {
276
+ registryKey: "stripe",
257
277
  label: "Stripe",
258
278
  scriptBundling: false,
259
279
  category: "payments",
@@ -264,6 +284,7 @@ async function registry(resolve) {
264
284
  }
265
285
  },
266
286
  {
287
+ registryKey: "lemonSqueezy",
267
288
  label: "Lemon Squeezy",
268
289
  src: false,
269
290
  // should not be bundled
@@ -275,6 +296,7 @@ async function registry(resolve) {
275
296
  }
276
297
  },
277
298
  {
299
+ registryKey: "paypal",
278
300
  label: "PayPal",
279
301
  src: false,
280
302
  // should not be bundled
@@ -287,6 +309,7 @@ async function registry(resolve) {
287
309
  },
288
310
  // video
289
311
  {
312
+ registryKey: "vimeoPlayer",
290
313
  label: "Vimeo Player",
291
314
  category: "video",
292
315
  logo: `<svg xmlns="http://www.w3.org/2000/svg" width="36.74" height="32" viewBox="0 0 256 223"><path fill="#32B8E8" d="M255.876 51.662c-1.139 24.968-18.545 59.157-52.209 102.55c-34.806 45.327-64.254 67.989-88.343 67.989c-14.918 0-27.551-13.799-37.863-41.406c-6.892-25.306-13.775-50.61-20.664-75.915c-7.663-27.592-15.878-41.406-24.661-41.406c-1.915 0-8.617 4.038-20.091 12.081L0 60.008a3257.325 3257.325 0 0 0 37.36-33.38C54.21 12.038 66.86 4.366 75.29 3.59c19.925-1.917 32.187 11.728 36.79 40.938c4.974 31.514 8.415 51.116 10.35 58.788c5.742 26.145 12.06 39.201 18.965 39.201c5.358 0 13.407-8.478 24.138-25.436c10.722-16.963 16.464-29.868 17.24-38.733c1.525-14.638-4.22-21.975-17.24-21.975c-6.128 0-12.447 1.413-18.946 4.206c12.58-41.29 36.618-61.343 72.1-60.199c26.304.773 38.705 17.867 37.19 51.282"/></svg>`,
@@ -296,6 +319,7 @@ async function registry(resolve) {
296
319
  }
297
320
  },
298
321
  {
322
+ registryKey: "youtubePlayer",
299
323
  label: "YouTube Player",
300
324
  category: "video",
301
325
  logo: `<svg xmlns="http://www.w3.org/2000/svg" width="45.52" height="32" viewBox="0 0 256 180"><path fill="red" d="M250.346 28.075A32.18 32.18 0 0 0 227.69 5.418C207.824 0 127.87 0 127.87 0S47.912.164 28.046 5.582A32.18 32.18 0 0 0 5.39 28.24c-6.009 35.298-8.34 89.084.165 122.97a32.18 32.18 0 0 0 22.656 22.657c19.866 5.418 99.822 5.418 99.822 5.418s79.955 0 99.82-5.418a32.18 32.18 0 0 0 22.657-22.657c6.338-35.348 8.291-89.1-.164-123.134"/><path fill="#FFF" d="m102.421 128.06l66.328-38.418l-66.328-38.418z"/></svg>`,
@@ -305,6 +329,7 @@ async function registry(resolve) {
305
329
  }
306
330
  },
307
331
  {
332
+ registryKey: "googleMaps",
308
333
  label: "Google Maps",
309
334
  category: "content",
310
335
  logo: `<svg xmlns="http://www.w3.org/2000/svg" width="22.33" height="32" viewBox="0 0 256 367"><path fill="#34A853" d="M70.585 271.865a370.712 370.712 0 0 1 28.911 42.642c7.374 13.982 10.448 23.463 15.837 40.31c3.305 9.308 6.292 12.086 12.714 12.086c6.998 0 10.173-4.726 12.626-12.035c5.094-15.91 9.091-28.052 15.397-39.525c12.374-22.15 27.75-41.833 42.858-60.75c4.09-5.354 30.534-36.545 42.439-61.156c0 0 14.632-27.035 14.632-64.792c0-35.318-14.43-59.813-14.43-59.813l-41.545 11.126l-25.23 66.451l-6.242 9.163l-1.248 1.66l-1.66 2.078l-2.914 3.319l-4.164 4.163l-22.467 18.304l-56.17 32.432z"/><path fill="#FBBC04" d="M12.612 188.892c13.709 31.313 40.145 58.839 58.031 82.995l95.001-112.534s-13.384 17.504-37.662 17.504c-27.043 0-48.89-21.595-48.89-48.825c0-18.673 11.234-31.501 11.234-31.501l-64.489 17.28z"/><path fill="#4285F4" d="M166.705 5.787c31.552 10.173 58.558 31.53 74.893 63.023l-75.925 90.478s11.234-13.06 11.234-31.617c0-27.864-23.463-48.68-48.81-48.68c-23.969 0-37.735 17.475-37.735 17.475v-57z"/><path fill="#1A73E8" d="M30.015 45.765C48.86 23.218 82.02 0 127.736 0c22.18 0 38.89 5.823 38.89 5.823L90.29 96.516H36.205z"/><path fill="#EA4335" d="M12.612 188.892S0 164.194 0 128.414c0-33.817 13.146-63.377 30.015-82.649l60.318 50.759z"/></svg>`,
@@ -314,11 +339,13 @@ async function registry(resolve) {
314
339
  }
315
340
  },
316
341
  {
342
+ registryKey: "instagramEmbed",
317
343
  label: "Instagram Embed",
318
344
  category: "content",
319
345
  logo: `<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 256 256"><g fill="none"><rect width="256" height="256" fill="url(#skillIconsInstagram0)" rx="60"/><rect width="256" height="256" fill="url(#skillIconsInstagram1)" rx="60"/><path fill="#fff" d="M128.009 28c-27.158 0-30.567.119-41.233.604c-10.646.488-17.913 2.173-24.271 4.646c-6.578 2.554-12.157 5.971-17.716 11.531c-5.563 5.559-8.98 11.138-11.542 17.713c-2.48 6.36-4.167 13.63-4.646 24.271c-.477 10.667-.602 14.077-.602 41.236s.12 30.557.604 41.223c.49 10.646 2.175 17.913 4.646 24.271c2.556 6.578 5.973 12.157 11.533 17.716c5.557 5.563 11.136 8.988 17.709 11.542c6.363 2.473 13.631 4.158 24.275 4.646c10.668.485 14.073.604 41.23.604c27.161 0 30.559-.119 41.225-.604c10.646-.488 17.921-2.173 24.284-4.646c6.575-2.554 12.146-5.979 17.702-11.542c5.563-5.559 8.98-11.138 11.542-17.716c2.458-6.358 4.145-13.625 4.646-24.271c.48-10.666.604-14.066.604-41.223s-.124-30.569-.604-41.236c-.501-10.646-2.188-17.911-4.646-24.271c-2.562-6.575-5.979-12.154-11.542-17.713c-5.559-5.56-11.13-8.977-17.716-11.531c-6.375-2.473-13.646-4.158-24.292-4.646C158.57 28.119 155.164 28 128.009 28m-8.868 18.021h8.868c26.695 0 29.855.103 40.41.582c9.751.446 15.042 2.079 18.567 3.454c4.667 1.813 7.992 3.979 11.492 7.48c3.5 3.5 5.666 6.829 7.483 11.496c1.375 3.525 3.012 8.813 3.454 18.563c.479 10.558.588 13.719.588 40.413s-.109 29.854-.588 40.412c-.446 9.75-2.079 15.042-3.454 18.563c-1.813 4.667-3.983 7.992-7.483 11.492a30.94 30.94 0 0 1-11.492 7.479c-3.521 1.379-8.812 3.013-18.567 3.458c-10.554.48-13.711.589-40.41.589c-26.702 0-29.859-.109-40.413-.589c-9.75-.449-15.046-2.079-18.571-3.458c-4.667-1.813-8-3.979-11.5-7.479s-5.666-6.825-7.483-11.496c-1.375-3.521-3.012-8.813-3.454-18.563c-.479-10.558-.583-13.715-.583-40.42c0-26.704.104-29.856.583-40.413c.446-9.75 2.079-15.042 3.454-18.567c1.813-4.667 3.983-7.996 11.5-11.5a30.804 30.804 0 0 1 11.496-7.479c3.525-1.375 8.821-3.013 18.571-3.458c9.238-.421 12.82-.546 31.505-.563zm62.496 16.604c-6.625 0-12 5.37-12 12c0 6.625 5.375 12 12 12c6.625 0 12-5.375 12-12s-5.375-12-12-12m-53.628 14.021c-28.272 0-51.196 22.924-51.196 51.196s22.924 51.2 51.196 51.2c28.271 0 51.2-22.929 51.2-51.2c0-28.272-22.929-51.196-51.2-51.196m0 18.021c18.334 0 33.183 14.846 33.183 33.175c0 18.334-14.849 33.184-33.183 33.184c-18.33 0-33.175-14.85-33.175-33.184c0-18.329 14.845-33.175 33.175-33.175"/><defs><radialGradient id="skillIconsInstagram0" cx="0" cy="0" r="1" gradientTransform="matrix(0 -253.715 235.975 0 68 275.717)" gradientUnits="userSpaceOnUse"><stop stop-color="#FD5"/><stop offset=".1" stop-color="#FD5"/><stop offset=".5" stop-color="#FF543E"/><stop offset="1" stop-color="#C837AB"/></radialGradient><radialGradient id="skillIconsInstagram1" cx="0" cy="0" r="1" gradientTransform="matrix(22.25952 111.2976 -458.39518 91.75449 -42.881 18.441)" gradientUnits="userSpaceOnUse"><stop stop-color="#3771C8"/><stop offset=".128" stop-color="#3771C8"/><stop offset="1" stop-color="#60F" stop-opacity="0"/></radialGradient></defs></g></svg>`
320
346
  },
321
347
  {
348
+ registryKey: "xEmbed",
322
349
  label: "X Embed",
323
350
  category: "content",
324
351
  logo: {
@@ -328,6 +355,7 @@ async function registry(resolve) {
328
355
  },
329
356
  // chat
330
357
  {
358
+ registryKey: "crisp",
331
359
  label: "Crisp",
332
360
  proxy: "crisp",
333
361
  category: "support",
@@ -342,6 +370,7 @@ async function registry(resolve) {
342
370
  },
343
371
  // cdn
344
372
  {
373
+ registryKey: "npm",
345
374
  label: "NPM",
346
375
  scriptBundling(options) {
347
376
  return withBase(options?.file || "", `https://unpkg.com/${options?.packageName || ""}@${options?.version || "latest"}`);
@@ -355,6 +384,7 @@ async function registry(resolve) {
355
384
  }
356
385
  },
357
386
  {
387
+ registryKey: "googleRecaptcha",
358
388
  label: "Google reCAPTCHA",
359
389
  category: "utility",
360
390
  logo: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64"><path fill="#1c3aa9" d="M64 32a32 32 0 1 1-64 0 32 32 0 0 1 64 0"/><path fill="#4285f4" d="m32 14-2 18 2 2 18-2V14z"/><path fill="#efefef" d="M14 32v18h18l2-2-2-16-16-2z"/><path fill="#f1f1f1" d="M32 32h18v18H32z"/><path fill="#e1e1e1" d="M14 14h18v18H14z"/><path fill="#1c3aa9" d="M32 14v18H14V14z"/><path fill="#4285f4" d="M32 32v18h18V32z"/><path d="M14 32h18v18H14z" fill="#f1f1f1"/><path d="M32 14h18v18H32z" fill="#fff"/></svg>`,
@@ -371,6 +401,7 @@ async function registry(resolve) {
371
401
  }
372
402
  },
373
403
  {
404
+ registryKey: "googleSignIn",
374
405
  label: "Google Sign-In",
375
406
  src: "https://accounts.google.com/gsi/client",
376
407
  scriptBundling: false,
@@ -383,6 +414,7 @@ async function registry(resolve) {
383
414
  }
384
415
  },
385
416
  {
417
+ registryKey: "googleTagManager",
386
418
  label: "Google Tag Manager",
387
419
  category: "tag-manager",
388
420
  proxy: "googleTagManager",
@@ -410,6 +442,7 @@ async function registry(resolve) {
410
442
  }
411
443
  },
412
444
  {
445
+ registryKey: "googleAnalytics",
413
446
  label: "Google Analytics",
414
447
  category: "analytics",
415
448
  proxy: "googleAnalytics",
@@ -426,6 +459,7 @@ async function registry(resolve) {
426
459
  }
427
460
  },
428
461
  {
462
+ registryKey: "umamiAnalytics",
429
463
  label: "Umami Analytics",
430
464
  proxy: "umami",
431
465
  scriptBundling: () => "https://cloud.umami.is/script.js",
@@ -437,6 +471,7 @@ async function registry(resolve) {
437
471
  }
438
472
  },
439
473
  {
474
+ registryKey: "gravatar",
440
475
  label: "Gravatar",
441
476
  proxy: "gravatar",
442
477
  src: "https://secure.gravatar.com/js/gprofiles.js",
@@ -215,6 +215,11 @@ export type RegistryScriptInput<T = EmptyOptionsSchema, Bundelable extends boole
215
215
  scriptOptions?: Omit<NuxtUseScriptOptions, Bundelable extends true ? '' : 'bundle' | Usable extends true ? '' : 'use'>;
216
216
  } : never);
217
217
  export interface RegistryScript {
218
+ /**
219
+ * The config key used in `scripts.registry` in nuxt.config (e.g., 'googleAnalytics', 'plausibleAnalytics').
220
+ * Used for direct lookup from config to script — avoids fragile import name convention matching.
221
+ */
222
+ registryKey?: string;
218
223
  import?: Import;
219
224
  scriptBundling?: false | ((options?: any) => string | false);
220
225
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nuxt/scripts",
3
3
  "type": "module",
4
- "version": "1.0.0-beta.20",
4
+ "version": "1.0.0-beta.21",
5
5
  "description": "Load third-party scripts with better performance, privacy and DX in Nuxt Apps.",
6
6
  "author": {
7
7
  "name": "Harlan Wilton",
@@ -105,7 +105,7 @@
105
105
  "magic-string": "^0.30.21",
106
106
  "ofetch": "^1.5.1",
107
107
  "ohash": "^2.0.11",
108
- "oxc-parser": "^0.117.0",
108
+ "oxc-parser": "^0.118.0",
109
109
  "oxc-walker": "^0.7.0",
110
110
  "pathe": "^2.0.3",
111
111
  "pkg-types": "^2.3.0",
@@ -134,14 +134,14 @@
134
134
  "knitwork": "^1.3.0",
135
135
  "nuxt": "^4.3.1",
136
136
  "playwright-core": "^1.58.2",
137
- "posthog-js": "^1.360.0",
137
+ "posthog-js": "^1.360.1",
138
138
  "shiki": "^4.0.2",
139
139
  "typescript": "^5.9.3",
140
140
  "vitest": "^4.0.18",
141
141
  "vue": "^3.5.30",
142
142
  "vue-router": "^5.0.3",
143
143
  "vue-tsc": "^3.2.5",
144
- "@nuxt/scripts": "1.0.0-beta.20"
144
+ "@nuxt/scripts": "1.0.0-beta.21"
145
145
  },
146
146
  "resolutions": {
147
147
  "@nuxt/scripts": "workspace:*"
@@ -1 +0,0 @@
1
- {"id":"8212d4fa-7985-421b-815a-03a886e667d4","timestamp":1773156783796,"prerendered":[]}