@nuxt/scripts 1.0.0-beta.7 → 1.0.0-rc.10

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 (300) hide show
  1. package/bin/cli.mjs +2 -0
  2. package/dist/cli.d.mts +2 -0
  3. package/dist/cli.d.ts +2 -0
  4. package/dist/cli.mjs +50 -0
  5. package/dist/devtools-client/200.html +1 -0
  6. package/dist/devtools-client/404.html +1 -0
  7. package/dist/devtools-client/_fonts/4ppnHhMi-pBsWSPo7mY0avYxlDoAg1N3PTzCwXLZ5rA-d9oibkGnTd1JL3tc_xnaVgBLYmOB8kjrK2cvZaqwj9s.woff2 +0 -0
  8. package/dist/devtools-client/_fonts/4qBuU9MRVUlPZNPSF7Xom_sK8RBEnfYu-9VXFrdq8A8-8TDwLE1HAj1sQn7XxVWtM_7sIaPM-DTdO3Pf8U2DF1U.woff2 +0 -0
  9. package/dist/devtools-client/_fonts/6dYsbWUd_BpKJ7mdDihgOcya1gHXLpJBuMYXux3WMjE-q3fYNS8YbW5n7ZeXI2vSNgkRWW5VDPKAl51SNTjG2qk.woff2 +0 -0
  10. package/dist/devtools-client/_fonts/Lr-hqqZZsYmCt0ITUlr1CUrWim9fsKvoDFZliMxgNHY-iTa_Yt_PzhOY9TX7ZXdSlEPim6iRt92xhECwaxWxd5w.woff2 +0 -0
  11. package/dist/devtools-client/_fonts/OknHvWI6KtYn1JQBzX7eSpNDBQ8520F9TvSUJYkVf6A-xeZn9253svK_8Q2LD0XEruY_MnEsuCRO5LenPoggC0Y.woff2 +0 -0
  12. package/dist/devtools-client/_fonts/PV2hrQG6wq5BlIPDjdL1IcOflycaghyt5MHzlBqZtlo-lb_WexLz3VZqfTN0oi554iBH5tT2j2UFEV-XErCAS3E.woff2 +0 -0
  13. package/dist/devtools-client/_fonts/UA7OtwYHwGN_HjcVGTdmiQxUit7FlqkCwxVUWSeXVnQ-B4OXCFOL_tWrYODpQTc07aMaj0c2cewTOmBRWR9tD-A.woff2 +0 -0
  14. package/dist/devtools-client/_fonts/VE4cDVCv5MxbFM7ZLoLCGbIpNd71zhp7MDI9lmN5Y7I-xZyDYCUVrd6LV8eVGF3Um3UZjBFuUtDGtvdyTBBRYBo.woff2 +0 -0
  15. package/dist/devtools-client/_fonts/fVoGbnMbBFd5L9BBp9fUPavUSkZ_EmsQNSyadkT-108-U4T0khaeLQSIhtt9eVvaCEKJjtWJ4ioRJOf8hvqkWY0.woff2 +0 -0
  16. package/dist/devtools-client/_fonts/lQAxeCEs1R0Lw-H9XRU1RlOARQN8J6npRsPjyEDMe5s-_DUSLEkO3tKTuun_gSnDLoQPVEnpOnyqZMOw0ByZ6PA.woff2 +0 -0
  17. package/dist/devtools-client/_fonts/lntlqNHKLV2n82yTwMde70QqOjcfLE2XJ5oKZ3vRPWc-z6TxpIZQdWXztWLr9_OFWqt_WJJoeGtuK_-XQMZGQwE.woff2 +0 -0
  18. package/dist/devtools-client/_fonts/qxAYvKsXWeYv731eb-h5TRurcdIP_W44mpNdX-HABAk-zUDeMEFlNtNbrwvT9JxLEBg0TphGy70O6RfIoIX_ZwU.woff2 +0 -0
  19. package/dist/devtools-client/_nuxt/B8PEiB0p.js +1 -0
  20. package/dist/devtools-client/_nuxt/BgPDxVUn.js +1 -0
  21. package/dist/devtools-client/_nuxt/BmlapxLP.js +1 -0
  22. package/dist/devtools-client/_nuxt/CM2vefXI.js +188 -0
  23. package/dist/devtools-client/_nuxt/DAF5Qk9P.js +1 -0
  24. package/dist/devtools-client/_nuxt/Dx6HhVmj.js +1 -0
  25. package/dist/devtools-client/_nuxt/S8LiR9M1.js +1 -0
  26. package/dist/devtools-client/_nuxt/builds/latest.json +1 -0
  27. package/dist/devtools-client/_nuxt/builds/meta/5458a3f2-af35-479c-8852-bf6f92fed611.json +1 -0
  28. package/dist/devtools-client/_nuxt/entry.BKkVrcJj.css +1 -0
  29. package/dist/devtools-client/_nuxt/error-404.d44aGwWI.css +1 -0
  30. package/dist/devtools-client/_nuxt/error-500.NthMfIEt.css +1 -0
  31. package/dist/devtools-client/_nuxt/first-party.C8Ha4JLM.css +1 -0
  32. package/dist/devtools-client/_nuxt/index.DZD1lwyI.css +1 -0
  33. package/dist/devtools-client/_nuxt/registry.B9lnjF_b.css +1 -0
  34. package/dist/devtools-client/_nuxt/vBkR1GJq.js +1 -0
  35. package/dist/devtools-client/_nuxt/wDzz0qaB.js +1 -0
  36. package/dist/devtools-client/docs/index.html +1 -0
  37. package/dist/devtools-client/first-party/index.html +1 -0
  38. package/dist/devtools-client/index.html +1 -0
  39. package/dist/devtools-client/registry/index.html +1 -0
  40. package/dist/module.d.mts +89 -80
  41. package/dist/module.d.ts +185 -0
  42. package/dist/module.json +1 -1
  43. package/dist/module.mjs +1056 -756
  44. package/dist/registry.d.mts +92 -4
  45. package/dist/registry.d.ts +94 -0
  46. package/dist/registry.mjs +668 -326
  47. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.d.vue.ts +77 -165
  48. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +148 -227
  49. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue.d.ts +77 -165
  50. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.d.vue.ts +6 -55
  51. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue +12 -83
  52. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue.d.ts +6 -55
  53. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.d.vue.ts +5 -1
  54. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue +24 -38
  55. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue.d.ts +5 -1
  56. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.d.vue.ts +43 -0
  57. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue +60 -0
  58. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue.d.ts +43 -0
  59. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.d.vue.ts +4 -0
  60. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue +22 -26
  61. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue.d.ts +4 -0
  62. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.d.vue.ts +11 -8
  63. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue +57 -57
  64. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue.d.ts +11 -8
  65. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.d.vue.ts +24 -42
  66. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue +71 -74
  67. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue.d.ts +24 -42
  68. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.d.vue.ts +19 -20
  69. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue +85 -38
  70. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue.d.ts +19 -20
  71. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.d.vue.ts +98 -0
  72. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue +263 -0
  73. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue.d.ts +98 -0
  74. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.d.vue.ts +10 -3
  75. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue +9 -41
  76. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue.d.ts +10 -3
  77. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.d.vue.ts +7 -3
  78. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue +23 -38
  79. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue.d.ts +7 -3
  80. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.d.vue.ts +7 -3
  81. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue +23 -38
  82. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue.d.ts +7 -3
  83. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.d.vue.ts +7 -3
  84. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue +24 -38
  85. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue.d.ts +7 -3
  86. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.d.vue.ts +200 -0
  87. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.vue +170 -0
  88. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.vue.d.ts +200 -0
  89. package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.d.ts +13 -0
  90. package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.js +8 -0
  91. package/dist/runtime/components/GoogleMaps/injectionKeys.d.ts +10 -0
  92. package/dist/runtime/components/GoogleMaps/injectionKeys.js +2 -0
  93. package/dist/runtime/components/GoogleMaps/types.d.ts +42 -0
  94. package/dist/runtime/components/GoogleMaps/types.js +1 -0
  95. package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.d.ts +98 -0
  96. package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.js +126 -0
  97. package/dist/runtime/components/ScriptBlueskyEmbed.d.vue.ts +83 -0
  98. package/dist/runtime/components/ScriptBlueskyEmbed.vue +91 -0
  99. package/dist/runtime/components/ScriptBlueskyEmbed.vue.d.ts +83 -0
  100. package/dist/runtime/components/ScriptCarbonAds.d.vue.ts +4 -7
  101. package/dist/runtime/components/ScriptCarbonAds.vue +1 -0
  102. package/dist/runtime/components/ScriptCarbonAds.vue.d.ts +4 -7
  103. package/dist/runtime/components/ScriptCrisp.d.vue.ts +7 -11
  104. package/dist/runtime/components/ScriptCrisp.vue +2 -1
  105. package/dist/runtime/components/ScriptCrisp.vue.d.ts +7 -11
  106. package/dist/runtime/components/ScriptGoogleAdsense.d.vue.ts +4 -7
  107. package/dist/runtime/components/ScriptGoogleAdsense.vue +2 -1
  108. package/dist/runtime/components/ScriptGoogleAdsense.vue.d.ts +4 -7
  109. package/dist/runtime/components/ScriptGravatar.d.vue.ts +22 -0
  110. package/dist/runtime/components/ScriptGravatar.vue +46 -0
  111. package/dist/runtime/components/ScriptGravatar.vue.d.ts +22 -0
  112. package/dist/runtime/components/ScriptInstagramEmbed.d.vue.ts +12 -15
  113. package/dist/runtime/components/ScriptInstagramEmbed.vue +11 -3
  114. package/dist/runtime/components/ScriptInstagramEmbed.vue.d.ts +12 -15
  115. package/dist/runtime/components/ScriptIntercom.d.vue.ts +7 -11
  116. package/dist/runtime/components/ScriptIntercom.vue +5 -3
  117. package/dist/runtime/components/ScriptIntercom.vue.d.ts +7 -11
  118. package/dist/runtime/components/ScriptLemonSqueezy.d.vue.ts +2 -3
  119. package/dist/runtime/components/ScriptLemonSqueezy.vue +1 -0
  120. package/dist/runtime/components/ScriptLemonSqueezy.vue.d.ts +2 -3
  121. package/dist/runtime/components/ScriptPayPalButtons.d.vue.ts +43 -37
  122. package/dist/runtime/components/ScriptPayPalButtons.vue +49 -79
  123. package/dist/runtime/components/ScriptPayPalButtons.vue.d.ts +43 -37
  124. package/dist/runtime/components/ScriptPayPalMessages.d.vue.ts +37 -28
  125. package/dist/runtime/components/ScriptPayPalMessages.vue +47 -50
  126. package/dist/runtime/components/ScriptPayPalMessages.vue.d.ts +37 -28
  127. package/dist/runtime/components/ScriptStripePricingTable.d.vue.ts +5 -9
  128. package/dist/runtime/components/ScriptStripePricingTable.vue +3 -2
  129. package/dist/runtime/components/ScriptStripePricingTable.vue.d.ts +5 -9
  130. package/dist/runtime/components/ScriptVimeoPlayer.d.vue.ts +17 -11
  131. package/dist/runtime/components/ScriptVimeoPlayer.vue +14 -10
  132. package/dist/runtime/components/ScriptVimeoPlayer.vue.d.ts +17 -11
  133. package/dist/runtime/components/ScriptXEmbed.d.vue.ts +10 -14
  134. package/dist/runtime/components/ScriptXEmbed.vue +21 -12
  135. package/dist/runtime/components/ScriptXEmbed.vue.d.ts +10 -14
  136. package/dist/runtime/components/ScriptYouTubePlayer.d.vue.ts +10 -15
  137. package/dist/runtime/components/ScriptYouTubePlayer.vue +12 -5
  138. package/dist/runtime/components/ScriptYouTubePlayer.vue.d.ts +10 -15
  139. package/dist/runtime/composables/useScript.js +159 -8
  140. package/dist/runtime/composables/useScriptEventPage.js +2 -2
  141. package/dist/runtime/composables/useScriptProxyToken.d.ts +12 -0
  142. package/dist/runtime/composables/useScriptProxyToken.js +4 -0
  143. package/dist/runtime/composables/useScriptProxyUrl.d.ts +12 -0
  144. package/dist/runtime/composables/useScriptProxyUrl.js +27 -0
  145. package/dist/runtime/composables/useScriptTriggerConsent.d.ts +10 -0
  146. package/dist/runtime/composables/useScriptTriggerConsent.js +33 -20
  147. package/dist/runtime/composables/useScriptTriggerElement.js +1 -1
  148. package/dist/runtime/composables/useScriptTriggerIdleTimeout.js +1 -1
  149. package/dist/runtime/devtools-standalone-bridge.client.d.ts +8 -0
  150. package/dist/runtime/devtools-standalone-bridge.client.js +50 -0
  151. package/dist/runtime/plugins/proxy-token.server.d.ts +10 -0
  152. package/dist/runtime/plugins/proxy-token.server.js +17 -0
  153. package/dist/runtime/registry/bing-uet.d.ts +198 -0
  154. package/dist/runtime/registry/bing-uet.js +43 -0
  155. package/dist/runtime/registry/bluesky-embed.d.ts +112 -0
  156. package/dist/runtime/registry/bluesky-embed.js +68 -0
  157. package/dist/runtime/registry/clarity.d.ts +16 -17
  158. package/dist/runtime/registry/clarity.js +33 -31
  159. package/dist/runtime/registry/cloudflare-web-analytics.d.ts +2 -13
  160. package/dist/runtime/registry/cloudflare-web-analytics.js +2 -14
  161. package/dist/runtime/registry/crisp.d.ts +10 -40
  162. package/dist/runtime/registry/crisp.js +2 -33
  163. package/dist/runtime/registry/databuddy-analytics.d.ts +2 -35
  164. package/dist/runtime/registry/databuddy-analytics.js +20 -45
  165. package/dist/runtime/registry/fathom-analytics.d.ts +7 -26
  166. package/dist/runtime/registry/fathom-analytics.js +3 -25
  167. package/dist/runtime/registry/google-adsense.d.ts +3 -11
  168. package/dist/runtime/registry/google-adsense.js +2 -11
  169. package/dist/runtime/registry/google-analytics.d.ts +9 -7
  170. package/dist/runtime/registry/google-analytics.js +15 -9
  171. package/dist/runtime/registry/google-maps.d.ts +3 -9
  172. package/dist/runtime/registry/google-maps.js +2 -8
  173. package/dist/runtime/registry/google-recaptcha.d.ts +2 -6
  174. package/dist/runtime/registry/google-recaptcha.js +4 -12
  175. package/dist/runtime/registry/google-sign-in.d.ts +2 -13
  176. package/dist/runtime/registry/google-sign-in.js +2 -22
  177. package/dist/runtime/registry/google-tag-manager.d.ts +8 -29
  178. package/dist/runtime/registry/google-tag-manager.js +14 -28
  179. package/dist/runtime/registry/gravatar.d.ts +26 -0
  180. package/dist/runtime/registry/gravatar.js +33 -0
  181. package/dist/runtime/registry/hotjar.d.ts +4 -6
  182. package/dist/runtime/registry/hotjar.js +2 -5
  183. package/dist/runtime/registry/instagram-embed.d.ts +3 -18
  184. package/dist/runtime/registry/instagram-embed.js +4 -19
  185. package/dist/runtime/registry/intercom.d.ts +5 -13
  186. package/dist/runtime/registry/intercom.js +2 -12
  187. package/dist/runtime/registry/matomo-analytics.d.ts +12 -15
  188. package/dist/runtime/registry/matomo-analytics.js +31 -13
  189. package/dist/runtime/registry/meta-pixel.d.ts +12 -8
  190. package/dist/runtime/registry/meta-pixel.js +12 -5
  191. package/dist/runtime/registry/mixpanel-analytics.d.ts +32 -0
  192. package/dist/runtime/registry/mixpanel-analytics.js +58 -0
  193. package/dist/runtime/registry/npm.d.ts +3 -7
  194. package/dist/runtime/registry/npm.js +2 -9
  195. package/dist/runtime/registry/paypal.d.ts +4 -25
  196. package/dist/runtime/registry/paypal.js +3 -66
  197. package/dist/runtime/registry/plausible-analytics.js +19 -14
  198. package/dist/runtime/registry/posthog.d.ts +18 -14
  199. package/dist/runtime/registry/posthog.js +18 -16
  200. package/dist/runtime/registry/reddit-pixel.d.ts +5 -6
  201. package/dist/runtime/registry/reddit-pixel.js +2 -4
  202. package/dist/runtime/registry/rybbit-analytics.d.ts +2 -14
  203. package/dist/runtime/registry/rybbit-analytics.js +10 -20
  204. package/dist/runtime/registry/schemas.d.ts +1047 -0
  205. package/dist/runtime/registry/schemas.js +1004 -0
  206. package/dist/runtime/registry/segment.d.ts +2 -5
  207. package/dist/runtime/registry/segment.js +2 -5
  208. package/dist/runtime/registry/snapchat-pixel.d.ts +5 -34
  209. package/dist/runtime/registry/snapchat-pixel.js +2 -20
  210. package/dist/runtime/registry/stripe.d.ts +3 -4
  211. package/dist/runtime/registry/stripe.js +2 -4
  212. package/dist/runtime/registry/tiktok-pixel.d.ts +20 -9
  213. package/dist/runtime/registry/tiktok-pixel.js +24 -7
  214. package/dist/runtime/registry/umami-analytics.d.ts +2 -31
  215. package/dist/runtime/registry/umami-analytics.js +2 -36
  216. package/dist/runtime/registry/vercel-analytics.d.ts +29 -0
  217. package/dist/runtime/registry/vercel-analytics.js +84 -0
  218. package/dist/runtime/registry/vimeo-player.d.ts +2 -2
  219. package/dist/runtime/registry/vimeo-player.js +1 -1
  220. package/dist/runtime/registry/x-embed.d.ts +3 -21
  221. package/dist/runtime/registry/x-embed.js +2 -21
  222. package/dist/runtime/registry/x-pixel.d.ts +4 -7
  223. package/dist/runtime/registry/x-pixel.js +2 -5
  224. package/dist/runtime/registry/youtube-player.d.ts +7 -7
  225. package/dist/runtime/registry/youtube-player.js +1 -1
  226. package/dist/runtime/server/bluesky-embed-image.d.ts +2 -0
  227. package/dist/runtime/server/bluesky-embed-image.js +7 -0
  228. package/dist/runtime/server/bluesky-embed.d.ts +2 -0
  229. package/dist/runtime/server/bluesky-embed.js +78 -0
  230. package/dist/runtime/server/google-maps-geocode-proxy.d.ts +2 -0
  231. package/dist/runtime/server/google-maps-geocode-proxy.js +38 -0
  232. package/dist/runtime/server/google-static-maps-proxy.d.ts +1 -1
  233. package/dist/runtime/server/google-static-maps-proxy.js +18 -23
  234. package/dist/runtime/server/gravatar-proxy.d.ts +2 -0
  235. package/dist/runtime/server/gravatar-proxy.js +46 -0
  236. package/dist/runtime/server/instagram-embed-asset.d.ts +1 -1
  237. package/dist/runtime/server/instagram-embed-asset.js +8 -41
  238. package/dist/runtime/server/instagram-embed-image.d.ts +1 -1
  239. package/dist/runtime/server/instagram-embed-image.js +6 -53
  240. package/dist/runtime/server/instagram-embed.d.ts +1 -0
  241. package/dist/runtime/server/instagram-embed.js +82 -40
  242. package/dist/runtime/server/proxy-handler.js +102 -85
  243. package/dist/runtime/server/utils/cached-upstream.d.ts +55 -0
  244. package/dist/runtime/server/utils/cached-upstream.js +65 -0
  245. package/dist/runtime/server/utils/embed-rewriters.d.ts +19 -0
  246. package/dist/runtime/server/utils/embed-rewriters.js +41 -0
  247. package/dist/runtime/server/utils/image-proxy.d.ts +14 -0
  248. package/dist/runtime/server/utils/image-proxy.js +73 -0
  249. package/dist/runtime/server/utils/instagram-embed.d.ts +16 -0
  250. package/dist/runtime/server/utils/instagram-embed.js +153 -0
  251. package/dist/runtime/server/utils/privacy.d.ts +1 -10
  252. package/dist/runtime/server/utils/privacy.js +60 -40
  253. package/dist/runtime/server/utils/proxy-url.d.ts +9 -0
  254. package/dist/runtime/server/utils/proxy-url.js +21 -0
  255. package/dist/runtime/server/utils/sign-constants.d.ts +16 -0
  256. package/dist/runtime/server/utils/sign-constants.js +5 -0
  257. package/dist/runtime/server/utils/sign.d.ts +101 -0
  258. package/dist/runtime/server/utils/sign.js +91 -0
  259. package/dist/runtime/server/utils/withSigning.d.ts +23 -0
  260. package/dist/runtime/server/utils/withSigning.js +19 -0
  261. package/dist/runtime/server/x-embed-image.d.ts +1 -1
  262. package/dist/runtime/server/x-embed-image.js +5 -49
  263. package/dist/runtime/server/x-embed.js +26 -6
  264. package/dist/runtime/types.d.ts +311 -55
  265. package/dist/runtime/types.js +1 -2
  266. package/dist/runtime/utils/pure.d.ts +1 -1
  267. package/dist/runtime/utils.d.ts +6 -4
  268. package/dist/runtime/utils.js +31 -14
  269. package/dist/stats.d.mts +202 -0
  270. package/dist/stats.d.ts +202 -0
  271. package/dist/stats.mjs +3835 -0
  272. package/dist/types-source.d.mts +17 -0
  273. package/dist/types-source.d.ts +17 -0
  274. package/dist/types-source.mjs +3787 -0
  275. package/dist/types.d.mts +4 -2
  276. package/package.json +41 -63
  277. package/README.md +0 -86
  278. package/dist/client/200.html +0 -1
  279. package/dist/client/404.html +0 -1
  280. package/dist/client/_nuxt/BJa0m50V.js +0 -1
  281. package/dist/client/_nuxt/BPQ3VLAy.js +0 -1
  282. package/dist/client/_nuxt/Ci5iXYuB.js +0 -1
  283. package/dist/client/_nuxt/DaI2y8Uz.js +0 -162
  284. package/dist/client/_nuxt/builds/latest.json +0 -1
  285. package/dist/client/_nuxt/builds/meta/9b4fb16a-3c62-48b0-8295-126cb077b5d3.json +0 -1
  286. package/dist/client/_nuxt/entry.D45OuV0w.css +0 -1
  287. package/dist/client/_nuxt/error-404.B57D-jUQ.css +0 -1
  288. package/dist/client/_nuxt/error-500.DTHUW7BI.css +0 -1
  289. package/dist/client/_nuxt/vPLZfVXe.js +0 -1
  290. package/dist/client/index.html +0 -1
  291. package/dist/runtime/components/ScriptPayPalMarks.d.vue.ts +0 -52
  292. package/dist/runtime/components/ScriptPayPalMarks.vue +0 -69
  293. package/dist/runtime/components/ScriptPayPalMarks.vue.d.ts +0 -52
  294. package/dist/runtime/validation/mock.d.ts +0 -42
  295. package/dist/runtime/validation/mock.js +0 -21
  296. package/dist/runtime/validation/valibot.d.ts +0 -1
  297. package/dist/runtime/validation/valibot.js +0 -1
  298. /package/dist/{client → devtools-client}/_nuxt/CVO1_9PV.js +0 -0
  299. /package/dist/{client → devtools-client}/_nuxt/Cp-IABpG.js +0 -0
  300. /package/dist/{client → devtools-client}/_nuxt/D0r3Knsf.js +0 -0
@@ -1,10 +1,14 @@
1
1
  import { defu } from "defu";
2
- import { useRuntimeConfig } from "nuxt/app";
3
- import { parseURL, withQuery, parseQuery } from "ufo";
2
+ import { createError, useRuntimeConfig } from "nuxt/app";
3
+ import { parseQuery, parseURL, withQuery } from "ufo";
4
+ import { parse } from "valibot";
4
5
  import { useScript } from "./composables/useScript.js";
5
6
  import { createNpmScriptStub } from "./npm-script-stub.js";
6
- import { parse } from "#nuxt-scripts-validator";
7
- function validateScriptInputSchema(key, schema, options) {
7
+ const URL_MATCH_RE = /https?:\/\/[^/]+\/_nuxt\/(.+\.vue)(?:\?[^)]*)?:(\d+):(\d+)/;
8
+ const URL_PAREN_MATCH_RE = /\(https?:\/\/[^/]+\/_nuxt\/(.+\.vue)(?:\?[^)]*)?:(\d+):(\d+)\)/;
9
+ const VUE_MATCH_RE = /([^/\s]+\.vue):(\d+):(\d+)/;
10
+ const CLEAN_CALLER_RE = /^\s*at\s+/;
11
+ function validateScriptInputSchema(schema, options) {
8
12
  if (import.meta.dev) {
9
13
  try {
10
14
  parse(schema, options);
@@ -17,9 +21,21 @@ function validateScriptInputSchema(key, schema, options) {
17
21
  export function scriptRuntimeConfig(key) {
18
22
  return (useRuntimeConfig().public.scripts || {})[key];
19
23
  }
24
+ export function scriptsPrefix() {
25
+ return useRuntimeConfig().public["nuxt-scripts"]?.prefix || "/_scripts";
26
+ }
27
+ export function requireRegistryEndpoint(componentName, registryKey) {
28
+ const endpoints = useRuntimeConfig().public["nuxt-scripts"]?.endpoints;
29
+ if (!endpoints?.[registryKey]) {
30
+ throw createError({
31
+ message: `${componentName} requires \`scripts.registry.${registryKey}\` to be enabled in nuxt.config`,
32
+ fatal: import.meta.dev
33
+ });
34
+ }
35
+ }
20
36
  export function useRegistryScript(registryKey, optionsFn, _userOptions) {
21
37
  const scriptConfig = scriptRuntimeConfig(registryKey);
22
- const userOptions = Object.assign(_userOptions || {}, typeof scriptConfig === "object" ? scriptConfig : {});
38
+ const userOptions = defu(_userOptions || {}, typeof scriptConfig === "object" ? scriptConfig : {});
23
39
  const options = optionsFn(userOptions, { scriptInput: userOptions.scriptInput });
24
40
  if (options.scriptMode === "npm") {
25
41
  return createNpmScriptStub({
@@ -45,7 +61,7 @@ export function useRegistryScript(registryKey, optionsFn, _userOptions) {
45
61
  };
46
62
  }
47
63
  const scriptInput = defu(finalScriptInput, userOptions.scriptInput, { key: registryKey });
48
- const scriptOptions = Object.assign(userOptions?.scriptOptions || {}, options.scriptOptions || {});
64
+ const scriptOptions = { ...userOptions?.scriptOptions, ...options.scriptOptions };
49
65
  if (import.meta.dev) {
50
66
  const error = new Error("Stack trace for component location");
51
67
  const stack = error.stack?.split("\n");
@@ -54,25 +70,27 @@ export function useRegistryScript(registryKey, optionsFn, _userOptions) {
54
70
  );
55
71
  let loadedFrom = "unknown";
56
72
  if (callerLine) {
57
- const urlMatch = callerLine.match(/https?:\/\/[^/]+\/_nuxt\/(.+\.vue)(?:\?[^)]*)?:(\d+):(\d+)/) || callerLine.match(/\(https?:\/\/[^/]+\/_nuxt\/(.+\.vue)(?:\?[^)]*)?:(\d+):(\d+)\)/);
73
+ const urlMatch = callerLine.match(URL_MATCH_RE) || callerLine.match(URL_PAREN_MATCH_RE);
58
74
  if (urlMatch) {
59
75
  const [, filePath, line, column] = urlMatch;
60
76
  loadedFrom = `./${filePath}:${line}:${column}`;
61
77
  } else {
62
- const vueMatch = callerLine.match(/([^/\s]+\.vue):(\d+):(\d+)/);
78
+ const vueMatch = callerLine.match(VUE_MATCH_RE);
63
79
  if (vueMatch) {
64
80
  const [, fileName, line, column] = vueMatch;
65
81
  loadedFrom = `./${fileName}:${line}:${column}`;
66
82
  } else {
67
- loadedFrom = callerLine.trim().replace(/^\s*at\s+/, "");
83
+ loadedFrom = callerLine.trim().replace(CLEAN_CALLER_RE, "");
68
84
  }
69
85
  }
70
86
  }
71
- scriptOptions.devtools = defu(scriptOptions.devtools, { registryKey, loadedFrom });
72
- if (options.schema) {
87
+ const devtoolsConfig = useRuntimeConfig().public["nuxt-scripts-devtools"];
88
+ const registryDomains = devtoolsConfig?.scripts?.find((s) => s.registryKey === registryKey)?.domains;
89
+ scriptOptions.devtools = defu(scriptOptions.devtools, { registryKey, loadedFrom, domains: registryDomains });
90
+ if (options.schema && "entries" in options.schema) {
73
91
  const registryMeta = {};
74
92
  for (const k in options.schema.entries) {
75
- if (options.schema.entries[k].type !== "optional") {
93
+ if (options.schema.entries[k]?.type !== "optional") {
76
94
  registryMeta[k] = String(userOptions[k]);
77
95
  }
78
96
  }
@@ -83,7 +101,7 @@ export function useRegistryScript(registryKey, optionsFn, _userOptions) {
83
101
  if (import.meta.dev) {
84
102
  scriptOptions._validate = () => {
85
103
  if (!userOptions.scriptInput?.src && !scriptOptions.skipValidation && options.schema) {
86
- return validateScriptInputSchema(registryKey, options.schema, userOptions);
104
+ return validateScriptInputSchema(options.schema, userOptions);
87
105
  }
88
106
  };
89
107
  }
@@ -95,4 +113,3 @@ export function useRegistryScript(registryKey, optionsFn, _userOptions) {
95
113
  };
96
114
  return useScript(scriptInput, scriptOptions);
97
115
  }
98
- export * from "./utils/pure.js";
@@ -0,0 +1,202 @@
1
+ type TrackedDataType = 'page-views' | 'events' | 'conversions' | 'user-identity' | 'session-replay' | 'heatmaps' | 'clicks' | 'scrolls' | 'retargeting' | 'audiences' | 'form-submissions' | 'video-engagement' | 'transactions' | 'errors' | 'tag-injection' | 'ab-testing';
2
+
3
+ interface ScriptPrivacy {
4
+ ip: boolean;
5
+ userAgent: boolean;
6
+ language: boolean;
7
+ screen: boolean;
8
+ timezone: boolean;
9
+ hardware: boolean;
10
+ }
11
+ interface ScriptSizeDetail {
12
+ url: string;
13
+ transferKb: number;
14
+ decodedKb: number;
15
+ encoding: string;
16
+ durationMs: number;
17
+ initiatorType: string;
18
+ protocol: string;
19
+ }
20
+ interface ScriptApis {
21
+ cookies: boolean;
22
+ localStorage: boolean;
23
+ sessionStorage: boolean;
24
+ indexedDB: boolean;
25
+ canvas: boolean;
26
+ webgl: boolean;
27
+ audioContext: boolean;
28
+ userAgent: boolean;
29
+ doNotTrack: boolean;
30
+ hardwareConcurrency: boolean;
31
+ deviceMemory: boolean;
32
+ plugins: boolean;
33
+ languages: boolean;
34
+ screen: boolean;
35
+ timezone: boolean;
36
+ platform: boolean;
37
+ vendor: boolean;
38
+ connection: boolean;
39
+ maxTouchPoints: boolean;
40
+ devicePixelRatio: boolean;
41
+ mediaDevices: boolean;
42
+ getBattery: boolean;
43
+ referrer: boolean;
44
+ windowName: boolean;
45
+ rtcPeerConnection: boolean;
46
+ geolocation: boolean;
47
+ serviceWorker: boolean;
48
+ cacheApi: boolean;
49
+ sendBeacon: boolean;
50
+ fetch: boolean;
51
+ xhr: boolean;
52
+ websocket: boolean;
53
+ mutationObserver: boolean;
54
+ performanceObserver: boolean;
55
+ intersectionObserver: boolean;
56
+ }
57
+ type PrivacyGrade = 'A+' | 'A' | 'B' | 'C' | 'D' | 'F';
58
+ interface PrivacyRating {
59
+ /** Overall letter grade */
60
+ grade: PrivacyGrade;
61
+ /** 0–100, higher = more invasive */
62
+ score: number;
63
+ /** Breakdown by privacy concern category */
64
+ breakdown: {
65
+ /** Browser fingerprinting APIs — entropy-weighted per AmIUnique/Panopticlick research (0–30) */
66
+ fingerprinting: {
67
+ score: number;
68
+ apis: string[];
69
+ };
70
+ /** Persistent storage + cookie tracking (0–25) */
71
+ persistence: {
72
+ score: number;
73
+ thirdPartyCookies: number;
74
+ longLivedCookies: number;
75
+ storageApis: string[];
76
+ };
77
+ /** Cross-domain data exfiltration & tracking network (0–25) */
78
+ network: {
79
+ score: number;
80
+ domains: number;
81
+ outboundBytes: number;
82
+ trackingPixels: number;
83
+ };
84
+ /** Behavioral observation APIs (0–10) */
85
+ monitoring: {
86
+ score: number;
87
+ apis: string[];
88
+ };
89
+ /** Data collection scope — what types of data are tracked (0–10) */
90
+ dataScope: {
91
+ score: number;
92
+ types: string[];
93
+ };
94
+ /** Fingerprint exfiltration — heavy FP APIs combined with outbound channels (0–25) */
95
+ fpExfiltration: {
96
+ score: number;
97
+ heavyApis: string[];
98
+ };
99
+ };
100
+ }
101
+ interface ScriptCookie {
102
+ name: string;
103
+ domain: string;
104
+ path: string;
105
+ httpOnly: boolean;
106
+ secure: boolean;
107
+ sameSite: string;
108
+ session: boolean;
109
+ lifetimeDays: number;
110
+ firstParty: boolean;
111
+ }
112
+ interface NetworkSummary {
113
+ requestCount: number;
114
+ domains: string[];
115
+ outboundBytes: number;
116
+ inboundBytes: number;
117
+ injectedElements: {
118
+ tag: string;
119
+ src: string;
120
+ }[];
121
+ }
122
+ interface CwvEstimate {
123
+ /** Estimated LCP delay: scriptDurationMs blocks rendering during page load */
124
+ lcpImpactMs: number;
125
+ /** CLS risk: true if script injects visible DOM elements (iframes, images) without reserved space */
126
+ clsRisk: boolean;
127
+ /** Number of visible elements injected that could cause layout shifts */
128
+ clsElements: number;
129
+ /** INP risk level based on script weight + DOM observation */
130
+ inpRiskLevel: 'low' | 'medium' | 'high';
131
+ }
132
+ interface PerformanceSummary {
133
+ taskDurationMs: number;
134
+ scriptDurationMs: number;
135
+ heapDeltaKb: number;
136
+ }
137
+ type PerformanceGrade = 'A+' | 'A' | 'B' | 'C' | 'D' | 'F';
138
+ interface PerformanceRating {
139
+ /** Overall letter grade */
140
+ grade: PerformanceGrade;
141
+ /** 0–100, higher = worse performance impact */
142
+ score: number;
143
+ /** Breakdown by impact area */
144
+ breakdown: {
145
+ /** Network cost — transfer size relative to performance budgets (0–30) */
146
+ networkCost: {
147
+ score: number;
148
+ transferKb: number;
149
+ };
150
+ /** Main thread blocking — task duration that delays interactivity (0–30) */
151
+ mainThread: {
152
+ score: number;
153
+ taskDurationMs: number;
154
+ scriptDurationMs: number;
155
+ };
156
+ /** Memory pressure — heap allocation impact (0–20) */
157
+ memory: {
158
+ score: number;
159
+ heapDeltaKb: number;
160
+ };
161
+ /** Connection overhead — additional HTTP requests (0–10) */
162
+ connections: {
163
+ score: number;
164
+ requestCount: number;
165
+ };
166
+ /** CWV risk — estimated Core Web Vitals impact (0–10) */
167
+ cwvRisk: {
168
+ score: number;
169
+ lcpImpactMs: number;
170
+ clsRisk: boolean;
171
+ inpRiskLevel: string;
172
+ };
173
+ };
174
+ }
175
+ interface ScriptStats {
176
+ id: string;
177
+ label: string;
178
+ category: string;
179
+ scripts: ScriptSizeDetail[];
180
+ totalTransferKb: number;
181
+ totalDecodedKb: number;
182
+ trackedData: TrackedDataType[];
183
+ collectsWebVitals: boolean;
184
+ apis: ScriptApis;
185
+ privacyRating: PrivacyRating;
186
+ cookies: ScriptCookie[];
187
+ network: NetworkSummary;
188
+ performance: PerformanceSummary;
189
+ performanceRating: PerformanceRating;
190
+ cwvEstimate: CwvEstimate;
191
+ hasBundling: boolean;
192
+ hasProxy: boolean;
193
+ proxyDomains: string[];
194
+ proxyEndpoints: number;
195
+ privacy: ScriptPrivacy | null;
196
+ privacyLevel: 'full' | 'partial' | 'none' | 'unknown';
197
+ loadingMethod: 'cdn' | 'npm' | 'dynamic';
198
+ }
199
+ declare function getScriptStats(): Promise<ScriptStats[]>;
200
+
201
+ export { getScriptStats };
202
+ export type { CwvEstimate, NetworkSummary, PerformanceGrade, PerformanceRating, PerformanceSummary, PrivacyGrade, PrivacyRating, ScriptApis, ScriptCookie, ScriptPrivacy, ScriptSizeDetail, ScriptStats, TrackedDataType };
@@ -0,0 +1,202 @@
1
+ type TrackedDataType = 'page-views' | 'events' | 'conversions' | 'user-identity' | 'session-replay' | 'heatmaps' | 'clicks' | 'scrolls' | 'retargeting' | 'audiences' | 'form-submissions' | 'video-engagement' | 'transactions' | 'errors' | 'tag-injection' | 'ab-testing';
2
+
3
+ interface ScriptPrivacy {
4
+ ip: boolean;
5
+ userAgent: boolean;
6
+ language: boolean;
7
+ screen: boolean;
8
+ timezone: boolean;
9
+ hardware: boolean;
10
+ }
11
+ interface ScriptSizeDetail {
12
+ url: string;
13
+ transferKb: number;
14
+ decodedKb: number;
15
+ encoding: string;
16
+ durationMs: number;
17
+ initiatorType: string;
18
+ protocol: string;
19
+ }
20
+ interface ScriptApis {
21
+ cookies: boolean;
22
+ localStorage: boolean;
23
+ sessionStorage: boolean;
24
+ indexedDB: boolean;
25
+ canvas: boolean;
26
+ webgl: boolean;
27
+ audioContext: boolean;
28
+ userAgent: boolean;
29
+ doNotTrack: boolean;
30
+ hardwareConcurrency: boolean;
31
+ deviceMemory: boolean;
32
+ plugins: boolean;
33
+ languages: boolean;
34
+ screen: boolean;
35
+ timezone: boolean;
36
+ platform: boolean;
37
+ vendor: boolean;
38
+ connection: boolean;
39
+ maxTouchPoints: boolean;
40
+ devicePixelRatio: boolean;
41
+ mediaDevices: boolean;
42
+ getBattery: boolean;
43
+ referrer: boolean;
44
+ windowName: boolean;
45
+ rtcPeerConnection: boolean;
46
+ geolocation: boolean;
47
+ serviceWorker: boolean;
48
+ cacheApi: boolean;
49
+ sendBeacon: boolean;
50
+ fetch: boolean;
51
+ xhr: boolean;
52
+ websocket: boolean;
53
+ mutationObserver: boolean;
54
+ performanceObserver: boolean;
55
+ intersectionObserver: boolean;
56
+ }
57
+ type PrivacyGrade = 'A+' | 'A' | 'B' | 'C' | 'D' | 'F';
58
+ interface PrivacyRating {
59
+ /** Overall letter grade */
60
+ grade: PrivacyGrade;
61
+ /** 0–100, higher = more invasive */
62
+ score: number;
63
+ /** Breakdown by privacy concern category */
64
+ breakdown: {
65
+ /** Browser fingerprinting APIs — entropy-weighted per AmIUnique/Panopticlick research (0–30) */
66
+ fingerprinting: {
67
+ score: number;
68
+ apis: string[];
69
+ };
70
+ /** Persistent storage + cookie tracking (0–25) */
71
+ persistence: {
72
+ score: number;
73
+ thirdPartyCookies: number;
74
+ longLivedCookies: number;
75
+ storageApis: string[];
76
+ };
77
+ /** Cross-domain data exfiltration & tracking network (0–25) */
78
+ network: {
79
+ score: number;
80
+ domains: number;
81
+ outboundBytes: number;
82
+ trackingPixels: number;
83
+ };
84
+ /** Behavioral observation APIs (0–10) */
85
+ monitoring: {
86
+ score: number;
87
+ apis: string[];
88
+ };
89
+ /** Data collection scope — what types of data are tracked (0–10) */
90
+ dataScope: {
91
+ score: number;
92
+ types: string[];
93
+ };
94
+ /** Fingerprint exfiltration — heavy FP APIs combined with outbound channels (0–25) */
95
+ fpExfiltration: {
96
+ score: number;
97
+ heavyApis: string[];
98
+ };
99
+ };
100
+ }
101
+ interface ScriptCookie {
102
+ name: string;
103
+ domain: string;
104
+ path: string;
105
+ httpOnly: boolean;
106
+ secure: boolean;
107
+ sameSite: string;
108
+ session: boolean;
109
+ lifetimeDays: number;
110
+ firstParty: boolean;
111
+ }
112
+ interface NetworkSummary {
113
+ requestCount: number;
114
+ domains: string[];
115
+ outboundBytes: number;
116
+ inboundBytes: number;
117
+ injectedElements: {
118
+ tag: string;
119
+ src: string;
120
+ }[];
121
+ }
122
+ interface CwvEstimate {
123
+ /** Estimated LCP delay: scriptDurationMs blocks rendering during page load */
124
+ lcpImpactMs: number;
125
+ /** CLS risk: true if script injects visible DOM elements (iframes, images) without reserved space */
126
+ clsRisk: boolean;
127
+ /** Number of visible elements injected that could cause layout shifts */
128
+ clsElements: number;
129
+ /** INP risk level based on script weight + DOM observation */
130
+ inpRiskLevel: 'low' | 'medium' | 'high';
131
+ }
132
+ interface PerformanceSummary {
133
+ taskDurationMs: number;
134
+ scriptDurationMs: number;
135
+ heapDeltaKb: number;
136
+ }
137
+ type PerformanceGrade = 'A+' | 'A' | 'B' | 'C' | 'D' | 'F';
138
+ interface PerformanceRating {
139
+ /** Overall letter grade */
140
+ grade: PerformanceGrade;
141
+ /** 0–100, higher = worse performance impact */
142
+ score: number;
143
+ /** Breakdown by impact area */
144
+ breakdown: {
145
+ /** Network cost — transfer size relative to performance budgets (0–30) */
146
+ networkCost: {
147
+ score: number;
148
+ transferKb: number;
149
+ };
150
+ /** Main thread blocking — task duration that delays interactivity (0–30) */
151
+ mainThread: {
152
+ score: number;
153
+ taskDurationMs: number;
154
+ scriptDurationMs: number;
155
+ };
156
+ /** Memory pressure — heap allocation impact (0–20) */
157
+ memory: {
158
+ score: number;
159
+ heapDeltaKb: number;
160
+ };
161
+ /** Connection overhead — additional HTTP requests (0–10) */
162
+ connections: {
163
+ score: number;
164
+ requestCount: number;
165
+ };
166
+ /** CWV risk — estimated Core Web Vitals impact (0–10) */
167
+ cwvRisk: {
168
+ score: number;
169
+ lcpImpactMs: number;
170
+ clsRisk: boolean;
171
+ inpRiskLevel: string;
172
+ };
173
+ };
174
+ }
175
+ interface ScriptStats {
176
+ id: string;
177
+ label: string;
178
+ category: string;
179
+ scripts: ScriptSizeDetail[];
180
+ totalTransferKb: number;
181
+ totalDecodedKb: number;
182
+ trackedData: TrackedDataType[];
183
+ collectsWebVitals: boolean;
184
+ apis: ScriptApis;
185
+ privacyRating: PrivacyRating;
186
+ cookies: ScriptCookie[];
187
+ network: NetworkSummary;
188
+ performance: PerformanceSummary;
189
+ performanceRating: PerformanceRating;
190
+ cwvEstimate: CwvEstimate;
191
+ hasBundling: boolean;
192
+ hasProxy: boolean;
193
+ proxyDomains: string[];
194
+ proxyEndpoints: number;
195
+ privacy: ScriptPrivacy | null;
196
+ privacyLevel: 'full' | 'partial' | 'none' | 'unknown';
197
+ loadingMethod: 'cdn' | 'npm' | 'dynamic';
198
+ }
199
+ declare function getScriptStats(): Promise<ScriptStats[]>;
200
+
201
+ export { getScriptStats };
202
+ export type { CwvEstimate, NetworkSummary, PerformanceGrade, PerformanceRating, PerformanceSummary, PrivacyGrade, PrivacyRating, ScriptApis, ScriptCookie, ScriptPrivacy, ScriptSizeDetail, ScriptStats, TrackedDataType };