@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.
- package/bin/cli.mjs +2 -0
- package/dist/cli.d.mts +2 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.mjs +50 -0
- package/dist/devtools-client/200.html +1 -0
- package/dist/devtools-client/404.html +1 -0
- package/dist/devtools-client/_fonts/4ppnHhMi-pBsWSPo7mY0avYxlDoAg1N3PTzCwXLZ5rA-d9oibkGnTd1JL3tc_xnaVgBLYmOB8kjrK2cvZaqwj9s.woff2 +0 -0
- package/dist/devtools-client/_fonts/4qBuU9MRVUlPZNPSF7Xom_sK8RBEnfYu-9VXFrdq8A8-8TDwLE1HAj1sQn7XxVWtM_7sIaPM-DTdO3Pf8U2DF1U.woff2 +0 -0
- package/dist/devtools-client/_fonts/6dYsbWUd_BpKJ7mdDihgOcya1gHXLpJBuMYXux3WMjE-q3fYNS8YbW5n7ZeXI2vSNgkRWW5VDPKAl51SNTjG2qk.woff2 +0 -0
- package/dist/devtools-client/_fonts/Lr-hqqZZsYmCt0ITUlr1CUrWim9fsKvoDFZliMxgNHY-iTa_Yt_PzhOY9TX7ZXdSlEPim6iRt92xhECwaxWxd5w.woff2 +0 -0
- package/dist/devtools-client/_fonts/OknHvWI6KtYn1JQBzX7eSpNDBQ8520F9TvSUJYkVf6A-xeZn9253svK_8Q2LD0XEruY_MnEsuCRO5LenPoggC0Y.woff2 +0 -0
- package/dist/devtools-client/_fonts/PV2hrQG6wq5BlIPDjdL1IcOflycaghyt5MHzlBqZtlo-lb_WexLz3VZqfTN0oi554iBH5tT2j2UFEV-XErCAS3E.woff2 +0 -0
- package/dist/devtools-client/_fonts/UA7OtwYHwGN_HjcVGTdmiQxUit7FlqkCwxVUWSeXVnQ-B4OXCFOL_tWrYODpQTc07aMaj0c2cewTOmBRWR9tD-A.woff2 +0 -0
- package/dist/devtools-client/_fonts/VE4cDVCv5MxbFM7ZLoLCGbIpNd71zhp7MDI9lmN5Y7I-xZyDYCUVrd6LV8eVGF3Um3UZjBFuUtDGtvdyTBBRYBo.woff2 +0 -0
- package/dist/devtools-client/_fonts/fVoGbnMbBFd5L9BBp9fUPavUSkZ_EmsQNSyadkT-108-U4T0khaeLQSIhtt9eVvaCEKJjtWJ4ioRJOf8hvqkWY0.woff2 +0 -0
- package/dist/devtools-client/_fonts/lQAxeCEs1R0Lw-H9XRU1RlOARQN8J6npRsPjyEDMe5s-_DUSLEkO3tKTuun_gSnDLoQPVEnpOnyqZMOw0ByZ6PA.woff2 +0 -0
- package/dist/devtools-client/_fonts/lntlqNHKLV2n82yTwMde70QqOjcfLE2XJ5oKZ3vRPWc-z6TxpIZQdWXztWLr9_OFWqt_WJJoeGtuK_-XQMZGQwE.woff2 +0 -0
- package/dist/devtools-client/_fonts/qxAYvKsXWeYv731eb-h5TRurcdIP_W44mpNdX-HABAk-zUDeMEFlNtNbrwvT9JxLEBg0TphGy70O6RfIoIX_ZwU.woff2 +0 -0
- package/dist/devtools-client/_nuxt/B8PEiB0p.js +1 -0
- package/dist/devtools-client/_nuxt/BgPDxVUn.js +1 -0
- package/dist/devtools-client/_nuxt/BmlapxLP.js +1 -0
- package/dist/devtools-client/_nuxt/CM2vefXI.js +188 -0
- package/dist/devtools-client/_nuxt/DAF5Qk9P.js +1 -0
- package/dist/devtools-client/_nuxt/Dx6HhVmj.js +1 -0
- package/dist/devtools-client/_nuxt/S8LiR9M1.js +1 -0
- package/dist/devtools-client/_nuxt/builds/latest.json +1 -0
- package/dist/devtools-client/_nuxt/builds/meta/5458a3f2-af35-479c-8852-bf6f92fed611.json +1 -0
- package/dist/devtools-client/_nuxt/entry.BKkVrcJj.css +1 -0
- package/dist/devtools-client/_nuxt/error-404.d44aGwWI.css +1 -0
- package/dist/devtools-client/_nuxt/error-500.NthMfIEt.css +1 -0
- package/dist/devtools-client/_nuxt/first-party.C8Ha4JLM.css +1 -0
- package/dist/devtools-client/_nuxt/index.DZD1lwyI.css +1 -0
- package/dist/devtools-client/_nuxt/registry.B9lnjF_b.css +1 -0
- package/dist/devtools-client/_nuxt/vBkR1GJq.js +1 -0
- package/dist/devtools-client/_nuxt/wDzz0qaB.js +1 -0
- package/dist/devtools-client/docs/index.html +1 -0
- package/dist/devtools-client/first-party/index.html +1 -0
- package/dist/devtools-client/index.html +1 -0
- package/dist/devtools-client/registry/index.html +1 -0
- package/dist/module.d.mts +89 -80
- package/dist/module.d.ts +185 -0
- package/dist/module.json +1 -1
- package/dist/module.mjs +1056 -756
- package/dist/registry.d.mts +92 -4
- package/dist/registry.d.ts +94 -0
- package/dist/registry.mjs +668 -326
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.d.vue.ts +77 -165
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +148 -227
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue.d.ts +77 -165
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.d.vue.ts +6 -55
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue +12 -83
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue.d.ts +6 -55
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.d.vue.ts +5 -1
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue +24 -38
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue.d.ts +5 -1
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.d.vue.ts +43 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue +60 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue.d.ts +43 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.d.vue.ts +4 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue +22 -26
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue.d.ts +4 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.d.vue.ts +11 -8
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue +57 -57
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue.d.ts +11 -8
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.d.vue.ts +24 -42
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue +71 -74
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue.d.ts +24 -42
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.d.vue.ts +19 -20
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue +85 -38
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue.d.ts +19 -20
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.d.vue.ts +98 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue +263 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue.d.ts +98 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.d.vue.ts +10 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue +9 -41
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue.d.ts +10 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.d.vue.ts +7 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue +23 -38
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue.d.ts +7 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.d.vue.ts +7 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue +23 -38
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue.d.ts +7 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.d.vue.ts +7 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue +24 -38
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue.d.ts +7 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.d.vue.ts +200 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.vue +170 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.vue.d.ts +200 -0
- package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.d.ts +13 -0
- package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.js +8 -0
- package/dist/runtime/components/GoogleMaps/injectionKeys.d.ts +10 -0
- package/dist/runtime/components/GoogleMaps/injectionKeys.js +2 -0
- package/dist/runtime/components/GoogleMaps/types.d.ts +42 -0
- package/dist/runtime/components/GoogleMaps/types.js +1 -0
- package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.d.ts +98 -0
- package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.js +126 -0
- package/dist/runtime/components/ScriptBlueskyEmbed.d.vue.ts +83 -0
- package/dist/runtime/components/ScriptBlueskyEmbed.vue +91 -0
- package/dist/runtime/components/ScriptBlueskyEmbed.vue.d.ts +83 -0
- package/dist/runtime/components/ScriptCarbonAds.d.vue.ts +4 -7
- package/dist/runtime/components/ScriptCarbonAds.vue +1 -0
- package/dist/runtime/components/ScriptCarbonAds.vue.d.ts +4 -7
- package/dist/runtime/components/ScriptCrisp.d.vue.ts +7 -11
- package/dist/runtime/components/ScriptCrisp.vue +2 -1
- package/dist/runtime/components/ScriptCrisp.vue.d.ts +7 -11
- package/dist/runtime/components/ScriptGoogleAdsense.d.vue.ts +4 -7
- package/dist/runtime/components/ScriptGoogleAdsense.vue +2 -1
- package/dist/runtime/components/ScriptGoogleAdsense.vue.d.ts +4 -7
- package/dist/runtime/components/ScriptGravatar.d.vue.ts +22 -0
- package/dist/runtime/components/ScriptGravatar.vue +46 -0
- package/dist/runtime/components/ScriptGravatar.vue.d.ts +22 -0
- package/dist/runtime/components/ScriptInstagramEmbed.d.vue.ts +12 -15
- package/dist/runtime/components/ScriptInstagramEmbed.vue +11 -3
- package/dist/runtime/components/ScriptInstagramEmbed.vue.d.ts +12 -15
- package/dist/runtime/components/ScriptIntercom.d.vue.ts +7 -11
- package/dist/runtime/components/ScriptIntercom.vue +5 -3
- package/dist/runtime/components/ScriptIntercom.vue.d.ts +7 -11
- package/dist/runtime/components/ScriptLemonSqueezy.d.vue.ts +2 -3
- package/dist/runtime/components/ScriptLemonSqueezy.vue +1 -0
- package/dist/runtime/components/ScriptLemonSqueezy.vue.d.ts +2 -3
- package/dist/runtime/components/ScriptPayPalButtons.d.vue.ts +43 -37
- package/dist/runtime/components/ScriptPayPalButtons.vue +49 -79
- package/dist/runtime/components/ScriptPayPalButtons.vue.d.ts +43 -37
- package/dist/runtime/components/ScriptPayPalMessages.d.vue.ts +37 -28
- package/dist/runtime/components/ScriptPayPalMessages.vue +47 -50
- package/dist/runtime/components/ScriptPayPalMessages.vue.d.ts +37 -28
- package/dist/runtime/components/ScriptStripePricingTable.d.vue.ts +5 -9
- package/dist/runtime/components/ScriptStripePricingTable.vue +3 -2
- package/dist/runtime/components/ScriptStripePricingTable.vue.d.ts +5 -9
- package/dist/runtime/components/ScriptVimeoPlayer.d.vue.ts +17 -11
- package/dist/runtime/components/ScriptVimeoPlayer.vue +14 -10
- package/dist/runtime/components/ScriptVimeoPlayer.vue.d.ts +17 -11
- package/dist/runtime/components/ScriptXEmbed.d.vue.ts +10 -14
- package/dist/runtime/components/ScriptXEmbed.vue +21 -12
- package/dist/runtime/components/ScriptXEmbed.vue.d.ts +10 -14
- package/dist/runtime/components/ScriptYouTubePlayer.d.vue.ts +10 -15
- package/dist/runtime/components/ScriptYouTubePlayer.vue +12 -5
- package/dist/runtime/components/ScriptYouTubePlayer.vue.d.ts +10 -15
- package/dist/runtime/composables/useScript.js +159 -8
- package/dist/runtime/composables/useScriptEventPage.js +2 -2
- package/dist/runtime/composables/useScriptProxyToken.d.ts +12 -0
- package/dist/runtime/composables/useScriptProxyToken.js +4 -0
- package/dist/runtime/composables/useScriptProxyUrl.d.ts +12 -0
- package/dist/runtime/composables/useScriptProxyUrl.js +27 -0
- package/dist/runtime/composables/useScriptTriggerConsent.d.ts +10 -0
- package/dist/runtime/composables/useScriptTriggerConsent.js +33 -20
- package/dist/runtime/composables/useScriptTriggerElement.js +1 -1
- package/dist/runtime/composables/useScriptTriggerIdleTimeout.js +1 -1
- package/dist/runtime/devtools-standalone-bridge.client.d.ts +8 -0
- package/dist/runtime/devtools-standalone-bridge.client.js +50 -0
- package/dist/runtime/plugins/proxy-token.server.d.ts +10 -0
- package/dist/runtime/plugins/proxy-token.server.js +17 -0
- package/dist/runtime/registry/bing-uet.d.ts +198 -0
- package/dist/runtime/registry/bing-uet.js +43 -0
- package/dist/runtime/registry/bluesky-embed.d.ts +112 -0
- package/dist/runtime/registry/bluesky-embed.js +68 -0
- package/dist/runtime/registry/clarity.d.ts +16 -17
- package/dist/runtime/registry/clarity.js +33 -31
- package/dist/runtime/registry/cloudflare-web-analytics.d.ts +2 -13
- package/dist/runtime/registry/cloudflare-web-analytics.js +2 -14
- package/dist/runtime/registry/crisp.d.ts +10 -40
- package/dist/runtime/registry/crisp.js +2 -33
- package/dist/runtime/registry/databuddy-analytics.d.ts +2 -35
- package/dist/runtime/registry/databuddy-analytics.js +20 -45
- package/dist/runtime/registry/fathom-analytics.d.ts +7 -26
- package/dist/runtime/registry/fathom-analytics.js +3 -25
- package/dist/runtime/registry/google-adsense.d.ts +3 -11
- package/dist/runtime/registry/google-adsense.js +2 -11
- package/dist/runtime/registry/google-analytics.d.ts +9 -7
- package/dist/runtime/registry/google-analytics.js +15 -9
- package/dist/runtime/registry/google-maps.d.ts +3 -9
- package/dist/runtime/registry/google-maps.js +2 -8
- package/dist/runtime/registry/google-recaptcha.d.ts +2 -6
- package/dist/runtime/registry/google-recaptcha.js +4 -12
- package/dist/runtime/registry/google-sign-in.d.ts +2 -13
- package/dist/runtime/registry/google-sign-in.js +2 -22
- package/dist/runtime/registry/google-tag-manager.d.ts +8 -29
- package/dist/runtime/registry/google-tag-manager.js +14 -28
- package/dist/runtime/registry/gravatar.d.ts +26 -0
- package/dist/runtime/registry/gravatar.js +33 -0
- package/dist/runtime/registry/hotjar.d.ts +4 -6
- package/dist/runtime/registry/hotjar.js +2 -5
- package/dist/runtime/registry/instagram-embed.d.ts +3 -18
- package/dist/runtime/registry/instagram-embed.js +4 -19
- package/dist/runtime/registry/intercom.d.ts +5 -13
- package/dist/runtime/registry/intercom.js +2 -12
- package/dist/runtime/registry/matomo-analytics.d.ts +12 -15
- package/dist/runtime/registry/matomo-analytics.js +31 -13
- package/dist/runtime/registry/meta-pixel.d.ts +12 -8
- package/dist/runtime/registry/meta-pixel.js +12 -5
- package/dist/runtime/registry/mixpanel-analytics.d.ts +32 -0
- package/dist/runtime/registry/mixpanel-analytics.js +58 -0
- package/dist/runtime/registry/npm.d.ts +3 -7
- package/dist/runtime/registry/npm.js +2 -9
- package/dist/runtime/registry/paypal.d.ts +4 -25
- package/dist/runtime/registry/paypal.js +3 -66
- package/dist/runtime/registry/plausible-analytics.js +19 -14
- package/dist/runtime/registry/posthog.d.ts +18 -14
- package/dist/runtime/registry/posthog.js +18 -16
- package/dist/runtime/registry/reddit-pixel.d.ts +5 -6
- package/dist/runtime/registry/reddit-pixel.js +2 -4
- package/dist/runtime/registry/rybbit-analytics.d.ts +2 -14
- package/dist/runtime/registry/rybbit-analytics.js +10 -20
- package/dist/runtime/registry/schemas.d.ts +1047 -0
- package/dist/runtime/registry/schemas.js +1004 -0
- package/dist/runtime/registry/segment.d.ts +2 -5
- package/dist/runtime/registry/segment.js +2 -5
- package/dist/runtime/registry/snapchat-pixel.d.ts +5 -34
- package/dist/runtime/registry/snapchat-pixel.js +2 -20
- package/dist/runtime/registry/stripe.d.ts +3 -4
- package/dist/runtime/registry/stripe.js +2 -4
- package/dist/runtime/registry/tiktok-pixel.d.ts +20 -9
- package/dist/runtime/registry/tiktok-pixel.js +24 -7
- package/dist/runtime/registry/umami-analytics.d.ts +2 -31
- package/dist/runtime/registry/umami-analytics.js +2 -36
- package/dist/runtime/registry/vercel-analytics.d.ts +29 -0
- package/dist/runtime/registry/vercel-analytics.js +84 -0
- package/dist/runtime/registry/vimeo-player.d.ts +2 -2
- package/dist/runtime/registry/vimeo-player.js +1 -1
- package/dist/runtime/registry/x-embed.d.ts +3 -21
- package/dist/runtime/registry/x-embed.js +2 -21
- package/dist/runtime/registry/x-pixel.d.ts +4 -7
- package/dist/runtime/registry/x-pixel.js +2 -5
- package/dist/runtime/registry/youtube-player.d.ts +7 -7
- package/dist/runtime/registry/youtube-player.js +1 -1
- package/dist/runtime/server/bluesky-embed-image.d.ts +2 -0
- package/dist/runtime/server/bluesky-embed-image.js +7 -0
- package/dist/runtime/server/bluesky-embed.d.ts +2 -0
- package/dist/runtime/server/bluesky-embed.js +78 -0
- package/dist/runtime/server/google-maps-geocode-proxy.d.ts +2 -0
- package/dist/runtime/server/google-maps-geocode-proxy.js +38 -0
- package/dist/runtime/server/google-static-maps-proxy.d.ts +1 -1
- package/dist/runtime/server/google-static-maps-proxy.js +18 -23
- package/dist/runtime/server/gravatar-proxy.d.ts +2 -0
- package/dist/runtime/server/gravatar-proxy.js +46 -0
- package/dist/runtime/server/instagram-embed-asset.d.ts +1 -1
- package/dist/runtime/server/instagram-embed-asset.js +8 -41
- package/dist/runtime/server/instagram-embed-image.d.ts +1 -1
- package/dist/runtime/server/instagram-embed-image.js +6 -53
- package/dist/runtime/server/instagram-embed.d.ts +1 -0
- package/dist/runtime/server/instagram-embed.js +82 -40
- package/dist/runtime/server/proxy-handler.js +102 -85
- package/dist/runtime/server/utils/cached-upstream.d.ts +55 -0
- package/dist/runtime/server/utils/cached-upstream.js +65 -0
- package/dist/runtime/server/utils/embed-rewriters.d.ts +19 -0
- package/dist/runtime/server/utils/embed-rewriters.js +41 -0
- package/dist/runtime/server/utils/image-proxy.d.ts +14 -0
- package/dist/runtime/server/utils/image-proxy.js +73 -0
- package/dist/runtime/server/utils/instagram-embed.d.ts +16 -0
- package/dist/runtime/server/utils/instagram-embed.js +153 -0
- package/dist/runtime/server/utils/privacy.d.ts +1 -10
- package/dist/runtime/server/utils/privacy.js +60 -40
- package/dist/runtime/server/utils/proxy-url.d.ts +9 -0
- package/dist/runtime/server/utils/proxy-url.js +21 -0
- package/dist/runtime/server/utils/sign-constants.d.ts +16 -0
- package/dist/runtime/server/utils/sign-constants.js +5 -0
- package/dist/runtime/server/utils/sign.d.ts +101 -0
- package/dist/runtime/server/utils/sign.js +91 -0
- package/dist/runtime/server/utils/withSigning.d.ts +23 -0
- package/dist/runtime/server/utils/withSigning.js +19 -0
- package/dist/runtime/server/x-embed-image.d.ts +1 -1
- package/dist/runtime/server/x-embed-image.js +5 -49
- package/dist/runtime/server/x-embed.js +26 -6
- package/dist/runtime/types.d.ts +311 -55
- package/dist/runtime/types.js +1 -2
- package/dist/runtime/utils/pure.d.ts +1 -1
- package/dist/runtime/utils.d.ts +6 -4
- package/dist/runtime/utils.js +31 -14
- package/dist/stats.d.mts +202 -0
- package/dist/stats.d.ts +202 -0
- package/dist/stats.mjs +3835 -0
- package/dist/types-source.d.mts +17 -0
- package/dist/types-source.d.ts +17 -0
- package/dist/types-source.mjs +3787 -0
- package/dist/types.d.mts +4 -2
- package/package.json +41 -63
- package/README.md +0 -86
- package/dist/client/200.html +0 -1
- package/dist/client/404.html +0 -1
- package/dist/client/_nuxt/BJa0m50V.js +0 -1
- package/dist/client/_nuxt/BPQ3VLAy.js +0 -1
- package/dist/client/_nuxt/Ci5iXYuB.js +0 -1
- package/dist/client/_nuxt/DaI2y8Uz.js +0 -162
- package/dist/client/_nuxt/builds/latest.json +0 -1
- package/dist/client/_nuxt/builds/meta/9b4fb16a-3c62-48b0-8295-126cb077b5d3.json +0 -1
- package/dist/client/_nuxt/entry.D45OuV0w.css +0 -1
- package/dist/client/_nuxt/error-404.B57D-jUQ.css +0 -1
- package/dist/client/_nuxt/error-500.DTHUW7BI.css +0 -1
- package/dist/client/_nuxt/vPLZfVXe.js +0 -1
- package/dist/client/index.html +0 -1
- package/dist/runtime/components/ScriptPayPalMarks.d.vue.ts +0 -52
- package/dist/runtime/components/ScriptPayPalMarks.vue +0 -69
- package/dist/runtime/components/ScriptPayPalMarks.vue.d.ts +0 -52
- package/dist/runtime/validation/mock.d.ts +0 -42
- package/dist/runtime/validation/mock.js +0 -21
- package/dist/runtime/validation/valibot.d.ts +0 -1
- package/dist/runtime/validation/valibot.js +0 -1
- /package/dist/{client → devtools-client}/_nuxt/CVO1_9PV.js +0 -0
- /package/dist/{client → devtools-client}/_nuxt/Cp-IABpG.js +0 -0
- /package/dist/{client → devtools-client}/_nuxt/D0r3Knsf.js +0 -0
package/dist/runtime/utils.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { defu } from "defu";
|
|
2
|
-
import { useRuntimeConfig } from "nuxt/app";
|
|
3
|
-
import { parseURL, withQuery
|
|
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
|
-
|
|
7
|
-
|
|
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 =
|
|
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 =
|
|
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(
|
|
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(
|
|
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(
|
|
83
|
+
loadedFrom = callerLine.trim().replace(CLEAN_CALLER_RE, "");
|
|
68
84
|
}
|
|
69
85
|
}
|
|
70
86
|
}
|
|
71
|
-
|
|
72
|
-
|
|
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]
|
|
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(
|
|
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";
|
package/dist/stats.d.mts
ADDED
|
@@ -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 };
|
package/dist/stats.d.ts
ADDED
|
@@ -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 };
|