@nuxt/scripts 1.0.0-beta.20 → 1.0.0-beta.22
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/dist/client/200.html +1 -1
- package/dist/client/404.html +1 -1
- package/dist/client/_nuxt/{DMlY-BNa.js → B7aPLMNo.js} +1 -1
- package/dist/client/_nuxt/BNNMZFwZ.js +162 -0
- package/dist/client/_nuxt/{__ZZTkMj.js → Bh9fd9qr.js} +1 -1
- package/dist/client/_nuxt/{9LJPrOyI.js → UTi7FhVv.js} +1 -1
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/7b372941-1db0-4ea4-80d2-a41f53088a98.json +1 -0
- package/dist/client/_nuxt/error-404.DMdWw4vT.css +1 -0
- package/dist/client/_nuxt/error-500.CROTF27X.css +1 -0
- package/dist/client/index.html +1 -1
- package/dist/module.d.mts +2 -2
- package/dist/module.d.ts +2 -2
- package/dist/module.json +1 -1
- package/dist/module.mjs +75 -51
- package/dist/registry.mjs +65 -4
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.d.vue.ts +3 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +14 -1
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue.d.ts +3 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.d.vue.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue.d.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.d.vue.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue.d.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.d.vue.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue.d.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.d.vue.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue.d.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.d.vue.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue.d.ts +2 -2
- package/dist/runtime/components/ScriptBlueskyEmbed.d.vue.ts +87 -0
- package/dist/runtime/components/ScriptBlueskyEmbed.vue +85 -0
- package/dist/runtime/components/ScriptBlueskyEmbed.vue.d.ts +87 -0
- package/dist/runtime/components/ScriptInstagramEmbed.d.vue.ts +2 -2
- package/dist/runtime/components/ScriptInstagramEmbed.vue +4 -1
- package/dist/runtime/components/ScriptInstagramEmbed.vue.d.ts +2 -2
- package/dist/runtime/components/ScriptXEmbed.d.vue.ts +2 -2
- package/dist/runtime/components/ScriptXEmbed.vue +5 -2
- package/dist/runtime/components/ScriptXEmbed.vue.d.ts +2 -2
- package/dist/runtime/registry/bluesky-embed.d.ts +116 -0
- package/dist/runtime/registry/bluesky-embed.js +72 -0
- package/dist/runtime/registry/gravatar.js +2 -2
- package/dist/runtime/registry/schemas.d.ts +20 -3
- package/dist/runtime/registry/schemas.js +20 -3
- package/dist/runtime/registry/x-embed.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 +16 -0
- package/dist/runtime/server/bluesky-embed.js +59 -0
- package/dist/runtime/server/google-maps-geocode-proxy.d.ts +2 -0
- package/dist/runtime/server/google-maps-geocode-proxy.js +34 -0
- package/dist/runtime/server/google-static-maps-proxy.js +1 -12
- package/dist/runtime/server/gravatar-proxy.js +1 -16
- package/dist/runtime/server/instagram-embed-asset.js +8 -42
- package/dist/runtime/server/instagram-embed-image.js +6 -54
- package/dist/runtime/server/instagram-embed.d.ts +16 -0
- package/dist/runtime/server/instagram-embed.js +171 -42
- package/dist/runtime/server/utils/image-proxy.d.ts +12 -0
- package/dist/runtime/server/utils/image-proxy.js +70 -0
- package/dist/runtime/server/x-embed-image.js +5 -49
- package/dist/runtime/types.d.ts +16 -0
- package/dist/runtime/utils.d.ts +1 -0
- package/dist/runtime/utils.js +11 -2
- package/dist/stats.mjs +1 -1
- package/dist/types-source.mjs +18 -6
- package/package.json +10 -9
- package/dist/client/_nuxt/DFEfk2pB.js +0 -162
- package/dist/client/_nuxt/builds/meta/8212d4fa-7985-421b-815a-03a886e667d4.json +0 -1
- package/dist/client/_nuxt/error-404.CHeaW3dp.css +0 -1
- package/dist/client/_nuxt/error-500.DvOvWme_.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as a,f as s,h as u,i as r,g as h}from"./
|
|
1
|
+
import{u as a,f as s,h as u,i as r,g as h}from"./BNNMZFwZ.js";function i(t){const e=t||s();return e.ssrContext?.head||e.runWithContext(()=>{if(u()){const n=r(h);if(!n)throw new Error("[nuxt] [unhead] Missing Unhead instance.");return n}})}function d(t,e={}){const n=e.head||i(e.nuxt);return a(t,{head:n,...e})}export{d as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as s,
|
|
1
|
+
import{_ as s,o as a,c as i,a as t,t as n,b as u,w as c,d as l,e as d}from"./BNNMZFwZ.js";import{u as f}from"./Bh9fd9qr.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 a(),i("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-428a09fd"]]);export{N as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"
|
|
1
|
+
{"id":"7b372941-1db0-4ea4-80d2-a41f53088a98","timestamp":1773401752787}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"7b372941-1db0-4ea4-80d2-a41f53088a98","timestamp":1773401752787,"prerendered":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.grid[data-v-428a09fd]{display:grid}.mb-2[data-v-428a09fd]{margin-bottom:.5rem}.mb-4[data-v-428a09fd]{margin-bottom:1rem}.max-w-520px[data-v-428a09fd]{max-width:520px}.min-h-screen[data-v-428a09fd]{min-height:100vh}.w-full[data-v-428a09fd]{width:100%}.flex[data-v-428a09fd]{display:flex}.place-content-center[data-v-428a09fd]{place-content:center}.items-center[data-v-428a09fd]{align-items:center}.justify-center[data-v-428a09fd]{justify-content:center}.overflow-hidden[data-v-428a09fd]{overflow:hidden}.bg-white[data-v-428a09fd]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2[data-v-428a09fd]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-428a09fd]{text-align:center}.text-\[80px\][data-v-428a09fd]{font-size:80px}.text-2xl[data-v-428a09fd]{font-size:1.5rem;line-height:2rem}.text-sm[data-v-428a09fd]{font-size:.875rem;line-height:1.25rem}.text-\[\#020420\][data-v-428a09fd]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\[\#64748B\][data-v-428a09fd]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.hover\:text-\[\#00DC82\][data-v-428a09fd]:hover{--un-text-opacity:1;color:rgb(0 220 130/var(--un-text-opacity))}.font-medium[data-v-428a09fd]{font-weight:500}.font-semibold[data-v-428a09fd]{font-weight:600}.leading-none[data-v-428a09fd]{line-height:1}.tracking-wide[data-v-428a09fd]{letter-spacing:.025em}.font-sans[data-v-428a09fd]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums[data-v-428a09fd]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.underline[data-v-428a09fd]{text-decoration-line:underline}.underline-offset-3[data-v-428a09fd]{text-underline-offset:3px}.antialiased[data-v-428a09fd]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\:bg-\[\#020420\][data-v-428a09fd]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\:text-white[data-v-428a09fd]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(min-width:640px){.sm\:text-\[110px\][data-v-428a09fd]{font-size:110px}.sm\:text-3xl[data-v-428a09fd]{font-size:1.875rem;line-height:2.25rem}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.grid[data-v-95a1915b]{display:grid}.mb-2[data-v-95a1915b]{margin-bottom:.5rem}.mb-4[data-v-95a1915b]{margin-bottom:1rem}.max-w-520px[data-v-95a1915b]{max-width:520px}.min-h-screen[data-v-95a1915b]{min-height:100vh}.place-content-center[data-v-95a1915b]{place-content:center}.overflow-hidden[data-v-95a1915b]{overflow:hidden}.bg-white[data-v-95a1915b]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2[data-v-95a1915b]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-95a1915b]{text-align:center}.text-\[80px\][data-v-95a1915b]{font-size:80px}.text-2xl[data-v-95a1915b]{font-size:1.5rem;line-height:2rem}.text-\[\#020420\][data-v-95a1915b]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\[\#64748B\][data-v-95a1915b]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.font-semibold[data-v-95a1915b]{font-weight:600}.leading-none[data-v-95a1915b]{line-height:1}.tracking-wide[data-v-95a1915b]{letter-spacing:.025em}.font-sans[data-v-95a1915b]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums[data-v-95a1915b]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.antialiased[data-v-95a1915b]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\:bg-\[\#020420\][data-v-95a1915b]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\:text-white[data-v-95a1915b]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(min-width:640px){.sm\:text-\[110px\][data-v-95a1915b]{font-size:110px}.sm\:text-3xl[data-v-95a1915b]{font-size:1.875rem;line-height:2.25rem}}
|
package/dist/client/index.html
CHANGED
|
@@ -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/
|
|
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/BNNMZFwZ.js"><script type="module" src="/__nuxt-scripts/_nuxt/BNNMZFwZ.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:"",endpoints:{}}},app:{baseURL:"/__nuxt-scripts",buildId:"7b372941-1db0-4ea4-80d2-a41f53088a98",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1773401757607,false]</script></body></html>
|
package/dist/module.d.mts
CHANGED
|
@@ -24,7 +24,7 @@ interface FirstPartyOptions {
|
|
|
24
24
|
* Path prefix for serving bundled scripts.
|
|
25
25
|
*
|
|
26
26
|
* This is where the downloaded and rewritten script files are served from.
|
|
27
|
-
* @default '/_scripts'
|
|
27
|
+
* @default '/_scripts/assets'
|
|
28
28
|
* @example '/_analytics'
|
|
29
29
|
*/
|
|
30
30
|
prefix?: string;
|
|
@@ -33,7 +33,7 @@ interface FirstPartyOptions {
|
|
|
33
33
|
*
|
|
34
34
|
* Analytics collection requests are proxied through these paths.
|
|
35
35
|
* For example, Google Analytics collection goes to `/_scripts/c/ga/g/collect`.
|
|
36
|
-
* @default '/
|
|
36
|
+
* @default '/_scripts/c'
|
|
37
37
|
* @example '/_tracking'
|
|
38
38
|
*/
|
|
39
39
|
collectPrefix?: string;
|
package/dist/module.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ interface FirstPartyOptions {
|
|
|
24
24
|
* Path prefix for serving bundled scripts.
|
|
25
25
|
*
|
|
26
26
|
* This is where the downloaded and rewritten script files are served from.
|
|
27
|
-
* @default '/_scripts'
|
|
27
|
+
* @default '/_scripts/assets'
|
|
28
28
|
* @example '/_analytics'
|
|
29
29
|
*/
|
|
30
30
|
prefix?: string;
|
|
@@ -33,7 +33,7 @@ interface FirstPartyOptions {
|
|
|
33
33
|
*
|
|
34
34
|
* Analytics collection requests are proxied through these paths.
|
|
35
35
|
* For example, Google Analytics collection goes to `/_scripts/c/ga/g/collect`.
|
|
36
|
-
* @default '/
|
|
36
|
+
* @default '/_scripts/c'
|
|
37
37
|
* @example '/_tracking'
|
|
38
38
|
*/
|
|
39
39
|
collectPrefix?: string;
|
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -32,7 +32,7 @@ function bundleStorage() {
|
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
34
|
function setupPublicAssetStrategy(options = {}) {
|
|
35
|
-
const assetsBaseURL = options.prefix || "/_scripts";
|
|
35
|
+
const assetsBaseURL = options.prefix || "/_scripts/assets";
|
|
36
36
|
const nuxt = useNuxt();
|
|
37
37
|
const storage = bundleStorage();
|
|
38
38
|
addDevServerHandler({
|
|
@@ -156,18 +156,28 @@ const AUTO_INJECT_DEFS = [
|
|
|
156
156
|
function autoInjectProxyEndpoints(registry, runtimeConfig, collectPrefix) {
|
|
157
157
|
for (const def of AUTO_INJECT_DEFS) {
|
|
158
158
|
const entry = registry[def.registryKey];
|
|
159
|
-
if (!entry
|
|
159
|
+
if (!entry)
|
|
160
160
|
continue;
|
|
161
|
-
const config = Array.isArray(entry) ? entry[0] : entry;
|
|
162
|
-
if (!config || config[def.configField])
|
|
163
|
-
continue;
|
|
164
|
-
config[def.configField] = def.computeValue(collectPrefix, config);
|
|
165
161
|
const rtScripts = runtimeConfig.public?.scripts;
|
|
166
162
|
const rtEntry = rtScripts?.[def.registryKey];
|
|
167
|
-
|
|
168
|
-
|
|
163
|
+
const rtConfig = rtEntry && typeof rtEntry === "object" ? Array.isArray(rtEntry) ? rtEntry[0] : rtEntry : void 0;
|
|
164
|
+
let config;
|
|
165
|
+
if (entry === true || entry === "mock") {
|
|
166
|
+
if (!rtConfig)
|
|
167
|
+
continue;
|
|
168
|
+
config = rtConfig;
|
|
169
|
+
} else if (typeof entry === "object") {
|
|
170
|
+
config = Array.isArray(entry) ? entry[0] : entry;
|
|
171
|
+
}
|
|
172
|
+
if (!config || config[def.configField])
|
|
173
|
+
continue;
|
|
174
|
+
const value = def.computeValue(collectPrefix, config);
|
|
175
|
+
if (typeof entry === "object") {
|
|
176
|
+
config[def.configField] = value;
|
|
169
177
|
if (rtConfig)
|
|
170
|
-
rtConfig[def.configField] =
|
|
178
|
+
rtConfig[def.configField] = value;
|
|
179
|
+
} else {
|
|
180
|
+
config[def.configField] = value;
|
|
171
181
|
}
|
|
172
182
|
}
|
|
173
183
|
}
|
|
@@ -237,9 +247,9 @@ function generateInterceptPluginContents(interceptRules) {
|
|
|
237
247
|
function resolveFirstPartyConfig(config) {
|
|
238
248
|
const enabled = !!config.firstParty;
|
|
239
249
|
const prefix = typeof config.firstParty === "object" ? config.firstParty.prefix : void 0;
|
|
240
|
-
const collectPrefix = typeof config.firstParty === "object" ? config.firstParty.collectPrefix || "/
|
|
250
|
+
const collectPrefix = typeof config.firstParty === "object" ? config.firstParty.collectPrefix || "/_scripts/c" : "/_scripts/c";
|
|
241
251
|
const privacy = typeof config.firstParty === "object" ? config.firstParty.privacy : void 0;
|
|
242
|
-
const assetsPrefix = prefix || config.assets?.prefix || "/_scripts";
|
|
252
|
+
const assetsPrefix = prefix || config.assets?.prefix || "/_scripts/assets";
|
|
243
253
|
return { enabled, prefix, collectPrefix, privacy, assetsPrefix };
|
|
244
254
|
}
|
|
245
255
|
async function setupFirstPartyHandlers(firstParty, resolvePath) {
|
|
@@ -262,11 +272,22 @@ function finalizeFirstParty(opts) {
|
|
|
262
272
|
const { firstParty, interceptRules, registryScriptsWithImport, nuxtOptions } = opts;
|
|
263
273
|
const proxyConfigs = getAllProxyConfigs(firstParty.collectPrefix);
|
|
264
274
|
const registryKeys = Object.keys(opts.registry || {});
|
|
275
|
+
const scriptByKey = /* @__PURE__ */ new Map();
|
|
276
|
+
for (const script of registryScriptsWithImport) {
|
|
277
|
+
if (script.registryKey) {
|
|
278
|
+
scriptByKey.set(script.registryKey, script);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
265
281
|
const neededRoutes = {};
|
|
266
282
|
const routePrivacyOverrides = {};
|
|
267
283
|
const unsupportedScripts = [];
|
|
284
|
+
const unmatchedScripts = [];
|
|
268
285
|
for (const key of registryKeys) {
|
|
269
|
-
const script = registryScriptsWithImport.find((s) => s.import.name.toLowerCase() === `usescript${key.toLowerCase()}`);
|
|
286
|
+
const script = scriptByKey.get(key) || registryScriptsWithImport.find((s) => s.import.name.toLowerCase() === `usescript${key.toLowerCase()}`);
|
|
287
|
+
if (!script) {
|
|
288
|
+
unmatchedScripts.push(key);
|
|
289
|
+
continue;
|
|
290
|
+
}
|
|
270
291
|
const proxyKey = script?.proxy || void 0;
|
|
271
292
|
if (proxyKey) {
|
|
272
293
|
const proxyConfig = proxyConfigs[proxyKey];
|
|
@@ -283,6 +304,12 @@ function finalizeFirstParty(opts) {
|
|
|
283
304
|
if (opts.registry) {
|
|
284
305
|
autoInjectProxyEndpoints(opts.registry, nuxtOptions.runtimeConfig, firstParty.collectPrefix);
|
|
285
306
|
}
|
|
307
|
+
if (unmatchedScripts.length) {
|
|
308
|
+
logger.warn(
|
|
309
|
+
`First-party mode: could not find registry scripts for: ${unmatchedScripts.join(", ")}.
|
|
310
|
+
These scripts will not have proxy routes registered. Check that the registry key matches a known script.`
|
|
311
|
+
);
|
|
312
|
+
}
|
|
286
313
|
if (unsupportedScripts.length && nuxtOptions.dev) {
|
|
287
314
|
logger.warn(
|
|
288
315
|
`First-party mode is enabled but these scripts don't support it yet: ${unsupportedScripts.join(", ")}.
|
|
@@ -695,7 +722,7 @@ async function isCacheExpired(storage, filename, cacheMaxAge = SEVEN_DAYS_IN_MS)
|
|
|
695
722
|
}
|
|
696
723
|
return Date.now() - meta.timestamp > cacheMaxAge;
|
|
697
724
|
}
|
|
698
|
-
function normalizeScriptData(src, assetsBaseURL = "/_scripts") {
|
|
725
|
+
function normalizeScriptData(src, assetsBaseURL = "/_scripts/assets") {
|
|
699
726
|
if (hasProtocol(src, { acceptRelative: true })) {
|
|
700
727
|
src = src.replace(PROTOCOL_RELATIVE_RE, "https://");
|
|
701
728
|
const url = parseURL(src);
|
|
@@ -1357,17 +1384,18 @@ const module$1 = defineNuxtModule({
|
|
|
1357
1384
|
if (unheadVersion?.startsWith("1")) {
|
|
1358
1385
|
logger.error(`Nuxt Scripts requires Unhead >= 2, you are using v${unheadVersion}. Please run \`nuxi upgrade --clean\` to upgrade...`);
|
|
1359
1386
|
}
|
|
1387
|
+
const googleMapsEnabled = config.googleStaticMapsProxy?.enabled || !!config.registry?.googleMaps;
|
|
1360
1388
|
nuxt.options.runtimeConfig["nuxt-scripts"] = {
|
|
1361
1389
|
version,
|
|
1362
1390
|
// Private proxy config with API key (server-side only)
|
|
1363
|
-
googleStaticMapsProxy:
|
|
1391
|
+
googleStaticMapsProxy: googleMapsEnabled ? { apiKey: nuxt.options.runtimeConfig.public.scripts?.googleMaps?.apiKey } : void 0
|
|
1364
1392
|
};
|
|
1365
1393
|
nuxt.options.runtimeConfig.public["nuxt-scripts"] = {
|
|
1366
1394
|
// expose for devtools
|
|
1367
1395
|
version: nuxt.options.dev ? version : void 0,
|
|
1368
1396
|
defaultScriptOptions: config.defaultScriptOptions,
|
|
1369
1397
|
// Only expose enabled and cacheMaxAge to client, not apiKey
|
|
1370
|
-
googleStaticMapsProxy:
|
|
1398
|
+
googleStaticMapsProxy: googleMapsEnabled ? { enabled: true, cacheMaxAge: config.googleStaticMapsProxy?.cacheMaxAge ?? 3600 } : void 0
|
|
1371
1399
|
};
|
|
1372
1400
|
if (config.registry) {
|
|
1373
1401
|
nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {};
|
|
@@ -1526,43 +1554,39 @@ const module$1 = defineNuxtModule({
|
|
|
1526
1554
|
await p?.();
|
|
1527
1555
|
});
|
|
1528
1556
|
});
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
{
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1557
|
+
const enabledEndpoints = {};
|
|
1558
|
+
for (const script of scripts) {
|
|
1559
|
+
if (!script.serverHandlers?.length || !script.registryKey)
|
|
1560
|
+
continue;
|
|
1561
|
+
const isEnabled = script.registryKey === "googleMaps" ? config.googleStaticMapsProxy?.enabled || config.registry?.googleMaps : config.registry?.[script.registryKey];
|
|
1562
|
+
if (!isEnabled)
|
|
1563
|
+
continue;
|
|
1564
|
+
enabledEndpoints[script.registryKey] = true;
|
|
1565
|
+
for (const handler of script.serverHandlers) {
|
|
1566
|
+
addServerHandler({
|
|
1567
|
+
route: handler.route,
|
|
1568
|
+
handler: handler.handler,
|
|
1569
|
+
middleware: handler.middleware
|
|
1570
|
+
});
|
|
1571
|
+
}
|
|
1572
|
+
if (script.registryKey === "gravatar") {
|
|
1573
|
+
const gravatarConfig = typeof config.registry?.gravatar === "object" && !Array.isArray(config.registry.gravatar) ? config.registry.gravatar : {};
|
|
1574
|
+
nuxt.options.runtimeConfig.public["nuxt-scripts"] = defu(
|
|
1575
|
+
{ gravatarProxy: { cacheMaxAge: gravatarConfig.cacheMaxAge ?? 3600 } },
|
|
1576
|
+
nuxt.options.runtimeConfig.public["nuxt-scripts"]
|
|
1577
|
+
);
|
|
1578
|
+
}
|
|
1579
|
+
if (script.registryKey === "googleMaps") {
|
|
1580
|
+
nuxt.options.runtimeConfig["nuxt-scripts"] = defu(
|
|
1581
|
+
{ googleMapsGeocodeProxy: { apiKey: nuxt.options.runtimeConfig.public.scripts?.googleMaps?.apiKey } },
|
|
1582
|
+
nuxt.options.runtimeConfig["nuxt-scripts"]
|
|
1583
|
+
);
|
|
1584
|
+
}
|
|
1545
1585
|
}
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
addServerHandler({
|
|
1551
|
-
route: "/api/_scripts/x-embed-image",
|
|
1552
|
-
handler: await resolvePath("./runtime/server/x-embed-image")
|
|
1553
|
-
});
|
|
1554
|
-
addServerHandler({
|
|
1555
|
-
route: "/api/_scripts/instagram-embed",
|
|
1556
|
-
handler: await resolvePath("./runtime/server/instagram-embed")
|
|
1557
|
-
});
|
|
1558
|
-
addServerHandler({
|
|
1559
|
-
route: "/api/_scripts/instagram-embed-image",
|
|
1560
|
-
handler: await resolvePath("./runtime/server/instagram-embed-image")
|
|
1561
|
-
});
|
|
1562
|
-
addServerHandler({
|
|
1563
|
-
route: "/api/_scripts/instagram-embed-asset",
|
|
1564
|
-
handler: await resolvePath("./runtime/server/instagram-embed-asset")
|
|
1565
|
-
});
|
|
1586
|
+
nuxt.options.runtimeConfig.public["nuxt-scripts"] = defu(
|
|
1587
|
+
{ endpoints: enabledEndpoints },
|
|
1588
|
+
nuxt.options.runtimeConfig.public["nuxt-scripts"]
|
|
1589
|
+
);
|
|
1566
1590
|
if (nuxt.options.dev) {
|
|
1567
1591
|
setupDevToolsUI(config, resolvePath);
|
|
1568
1592
|
}
|
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,29 +329,56 @@ 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>`,
|
|
311
336
|
import: {
|
|
312
337
|
name: "useScriptGoogleMaps",
|
|
313
338
|
from: await resolve("./runtime/registry/google-maps")
|
|
314
|
-
}
|
|
339
|
+
},
|
|
340
|
+
serverHandlers: [
|
|
341
|
+
{ route: "/_scripts/proxy/google-static-maps", handler: await resolve("./runtime/server/google-static-maps-proxy") },
|
|
342
|
+
{ route: "/_scripts/proxy/google-maps-geocode", handler: await resolve("./runtime/server/google-maps-geocode-proxy") }
|
|
343
|
+
]
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
registryKey: "blueskyEmbed",
|
|
347
|
+
label: "Bluesky Embed",
|
|
348
|
+
category: "content",
|
|
349
|
+
logo: `<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 568 501"><path fill="#1185FE" d="M123.121 33.664C188.241 82.553 258.281 181.68 284 234.873c25.719-53.192 95.759-152.32 160.879-201.21C491.866-1.611 568-28.906 568 57.947c0 17.346-9.945 145.713-15.778 166.555c-20.275 72.453-94.155 90.933-159.875 79.748c114.875 19.831 144.097 85.561 81.022 151.291C363.929 569.326 289.18 462.062 284 449.7c-.36-.86-.36-.86 0 0c-5.18 12.362-79.929 119.626-189.369 5.84c-63.075-65.729-33.853-131.46 81.022-151.29c-65.72 11.184-139.6-7.296-159.875-79.749C9.945 203.659 0 75.291 0 57.946C0-28.906 76.134-1.612 123.121 33.664"/></svg>`,
|
|
350
|
+
serverHandlers: [
|
|
351
|
+
{ route: "/_scripts/embed/bluesky", handler: await resolve("./runtime/server/bluesky-embed") },
|
|
352
|
+
{ route: "/_scripts/embed/bluesky-image", handler: await resolve("./runtime/server/bluesky-embed-image") }
|
|
353
|
+
]
|
|
315
354
|
},
|
|
316
355
|
{
|
|
356
|
+
registryKey: "instagramEmbed",
|
|
317
357
|
label: "Instagram Embed",
|
|
318
358
|
category: "content",
|
|
319
|
-
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
|
|
359
|
+
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>`,
|
|
360
|
+
serverHandlers: [
|
|
361
|
+
{ route: "/_scripts/embed/instagram", handler: await resolve("./runtime/server/instagram-embed") },
|
|
362
|
+
{ route: "/_scripts/embed/instagram-image", handler: await resolve("./runtime/server/instagram-embed-image") },
|
|
363
|
+
{ route: "/_scripts/embed/instagram-asset", handler: await resolve("./runtime/server/instagram-embed-asset") }
|
|
364
|
+
]
|
|
320
365
|
},
|
|
321
366
|
{
|
|
367
|
+
registryKey: "xEmbed",
|
|
322
368
|
label: "X Embed",
|
|
323
369
|
category: "content",
|
|
324
370
|
logo: {
|
|
325
371
|
light: `<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="#000" d="M18.205 2.25h3.308l-7.227 8.26l8.502 11.24H16.13l-5.214-6.817L4.95 21.75H1.64l7.73-8.835L1.215 2.25H8.04l4.713 6.231zm-1.161 17.52h1.833L7.045 4.126H5.078z"/></svg>`,
|
|
326
372
|
dark: `<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="#fff" d="M18.205 2.25h3.308l-7.227 8.26l8.502 11.24H16.13l-5.214-6.817L4.95 21.75H1.64l7.73-8.835L1.215 2.25H8.04l4.713 6.231zm-1.161 17.52h1.833L7.045 4.126H5.078z"/></svg>`
|
|
327
|
-
}
|
|
373
|
+
},
|
|
374
|
+
serverHandlers: [
|
|
375
|
+
{ route: "/_scripts/embed/x", handler: await resolve("./runtime/server/x-embed") },
|
|
376
|
+
{ route: "/_scripts/embed/x-image", handler: await resolve("./runtime/server/x-embed-image") }
|
|
377
|
+
]
|
|
328
378
|
},
|
|
329
379
|
// chat
|
|
330
380
|
{
|
|
381
|
+
registryKey: "crisp",
|
|
331
382
|
label: "Crisp",
|
|
332
383
|
proxy: "crisp",
|
|
333
384
|
category: "support",
|
|
@@ -342,6 +393,7 @@ async function registry(resolve) {
|
|
|
342
393
|
},
|
|
343
394
|
// cdn
|
|
344
395
|
{
|
|
396
|
+
registryKey: "npm",
|
|
345
397
|
label: "NPM",
|
|
346
398
|
scriptBundling(options) {
|
|
347
399
|
return withBase(options?.file || "", `https://unpkg.com/${options?.packageName || ""}@${options?.version || "latest"}`);
|
|
@@ -355,6 +407,7 @@ async function registry(resolve) {
|
|
|
355
407
|
}
|
|
356
408
|
},
|
|
357
409
|
{
|
|
410
|
+
registryKey: "googleRecaptcha",
|
|
358
411
|
label: "Google reCAPTCHA",
|
|
359
412
|
category: "utility",
|
|
360
413
|
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 +424,7 @@ async function registry(resolve) {
|
|
|
371
424
|
}
|
|
372
425
|
},
|
|
373
426
|
{
|
|
427
|
+
registryKey: "googleSignIn",
|
|
374
428
|
label: "Google Sign-In",
|
|
375
429
|
src: "https://accounts.google.com/gsi/client",
|
|
376
430
|
scriptBundling: false,
|
|
@@ -383,6 +437,7 @@ async function registry(resolve) {
|
|
|
383
437
|
}
|
|
384
438
|
},
|
|
385
439
|
{
|
|
440
|
+
registryKey: "googleTagManager",
|
|
386
441
|
label: "Google Tag Manager",
|
|
387
442
|
category: "tag-manager",
|
|
388
443
|
proxy: "googleTagManager",
|
|
@@ -410,6 +465,7 @@ async function registry(resolve) {
|
|
|
410
465
|
}
|
|
411
466
|
},
|
|
412
467
|
{
|
|
468
|
+
registryKey: "googleAnalytics",
|
|
413
469
|
label: "Google Analytics",
|
|
414
470
|
category: "analytics",
|
|
415
471
|
proxy: "googleAnalytics",
|
|
@@ -426,6 +482,7 @@ async function registry(resolve) {
|
|
|
426
482
|
}
|
|
427
483
|
},
|
|
428
484
|
{
|
|
485
|
+
registryKey: "umamiAnalytics",
|
|
429
486
|
label: "Umami Analytics",
|
|
430
487
|
proxy: "umami",
|
|
431
488
|
scriptBundling: () => "https://cloud.umami.is/script.js",
|
|
@@ -437,6 +494,7 @@ async function registry(resolve) {
|
|
|
437
494
|
}
|
|
438
495
|
},
|
|
439
496
|
{
|
|
497
|
+
registryKey: "gravatar",
|
|
440
498
|
label: "Gravatar",
|
|
441
499
|
proxy: "gravatar",
|
|
442
500
|
src: "https://secure.gravatar.com/js/gprofiles.js",
|
|
@@ -445,7 +503,10 @@ async function registry(resolve) {
|
|
|
445
503
|
import: {
|
|
446
504
|
name: "useScriptGravatar",
|
|
447
505
|
from: await resolve("./runtime/registry/gravatar")
|
|
448
|
-
}
|
|
506
|
+
},
|
|
507
|
+
serverHandlers: [
|
|
508
|
+
{ route: "/_scripts/proxy/gravatar", handler: await resolve("./runtime/server/gravatar-proxy") }
|
|
509
|
+
]
|
|
449
510
|
}
|
|
450
511
|
];
|
|
451
512
|
}
|