@withl5e/l5e 0.3.3-alpha.4 → 1.0.0
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/README.md +1 -1
- package/dist/action.js +10 -9
- package/dist/action.js.map +1 -1
- package/dist/defineMiddleware-D017PWDc.js +8 -0
- package/dist/defineMiddleware-D017PWDc.js.map +1 -0
- package/dist/entry-server.js +161 -176
- package/dist/entry-server.js.map +1 -1
- package/dist/exceptions-D4OdiQjY.js +30 -0
- package/dist/exceptions-D4OdiQjY.js.map +1 -0
- package/dist/generateMetadata-DcdY-XC1.js +303 -0
- package/dist/generateMetadata-DcdY-XC1.js.map +1 -0
- package/dist/global-style-BhiGjxVU.js +21 -0
- package/dist/global-style-BhiGjxVU.js.map +1 -0
- package/dist/i18n.js +8 -11
- package/dist/i18n.js.map +1 -1
- package/dist/index.js +9 -55
- package/dist/island/client.js +2 -5
- package/dist/island/runtime.js +90 -107
- package/dist/island/runtime.js.map +1 -1
- package/dist/island.js +38 -56
- package/dist/island.js.map +1 -1
- package/dist/jsx-runtime-CI0Jmr-C.js +275 -0
- package/dist/jsx-runtime-CI0Jmr-C.js.map +1 -0
- package/dist/jsx-runtime.js +2 -31
- package/dist/middleware-CnDqZobD.js +217 -0
- package/dist/middleware-CnDqZobD.js.map +1 -0
- package/dist/middleware.js +3 -8
- package/dist/render-hUQUreah.js +152 -0
- package/dist/render-hUQUreah.js.map +1 -0
- package/dist/rolldown-runtime-B0aSnxlc.js +20 -0
- package/dist/router.js +72 -68
- package/dist/router.js.map +1 -1
- package/dist/seo.js +3 -7
- package/dist/server-5BEwGAL4.js +461 -0
- package/dist/server-5BEwGAL4.js.map +1 -0
- package/dist/server.js +2 -515
- package/dist/strategy-registry-wmHnsHQb.js +9 -0
- package/dist/strategy-registry-wmHnsHQb.js.map +1 -0
- package/dist/swap/server.js +11 -14
- package/dist/swap/server.js.map +1 -1
- package/dist/swap.js +109 -116
- package/dist/swap.js.map +1 -1
- package/dist/tooltip.js +145 -141
- package/dist/tooltip.js.map +1 -1
- package/dist/vite-plugin.js +315 -372
- package/dist/vite-plugin.js.map +1 -1
- package/package.json +8 -8
- package/src/core/bundler.ts +41 -25
- package/src/core/vite-plugin.ts +14 -15
- package/dist/client-D67hK4Yy.js +0 -9
- package/dist/client-D67hK4Yy.js.map +0 -1
- package/dist/defineMiddleware-VdHQuiUc.js +0 -7
- package/dist/defineMiddleware-VdHQuiUc.js.map +0 -1
- package/dist/exceptions-CHPz01DJ.js +0 -39
- package/dist/exceptions-CHPz01DJ.js.map +0 -1
- package/dist/generateMetadata-Cn8BIxq6.js +0 -144
- package/dist/generateMetadata-Cn8BIxq6.js.map +0 -1
- package/dist/global-style-DFvaBcuR.js +0 -27
- package/dist/global-style-DFvaBcuR.js.map +0 -1
- package/dist/index-CybB8Tdk.js +0 -315
- package/dist/index-CybB8Tdk.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/island/client.js.map +0 -1
- package/dist/jsx-runtime-DqAp8xlt.js +0 -296
- package/dist/jsx-runtime-DqAp8xlt.js.map +0 -1
- package/dist/jsx-runtime.js.map +0 -1
- package/dist/middleware.js.map +0 -1
- package/dist/render-CRag-5V7.js +0 -202
- package/dist/render-CRag-5V7.js.map +0 -1
- package/dist/seo.js.map +0 -1
- package/dist/server.js.map +0 -1
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
import { E as e, O as t, k as n, n as r, t as i, x as a } from "./jsx-runtime-CI0Jmr-C.js";
|
|
2
|
+
import { Fragment as o, jsxFactory as s } from "@withl5e/l5e/jsx-runtime";
|
|
3
|
+
//#region src/seo/generateMetadata.tsx
|
|
4
|
+
function c({ metadata: c }) {
|
|
5
|
+
let { request: l } = e(), u = a(), d = c ? t(u, c) : u;
|
|
6
|
+
if (!d) return null;
|
|
7
|
+
let f = () => d.title ? typeof d.title == "string" ? d.title : d.title.default : null, p = () => {
|
|
8
|
+
if (Object.keys(l.query || {}).filter((e) => typeof d.robots == "string" ? !1 : Array.isArray(d.robots?.allowQueryNames) ? !d.robots.allowQueryNames.includes(e) : e !== d.robots?.allowQueryNames).length > 0) return "noindex, follow";
|
|
9
|
+
if (!d.robots) return null;
|
|
10
|
+
if (typeof d.robots == "string") return d.robots;
|
|
11
|
+
let e = [];
|
|
12
|
+
return d.robots.index === !1 ? e.push("noindex") : d.robots.index === !0 && e.push("index"), d.robots.follow === !1 ? e.push("nofollow") : d.robots.follow === !0 && e.push("follow"), d.robots.noarchive && e.push("noarchive"), d.robots.nosnippet && e.push("nosnippet"), d.robots.noimageindex && e.push("noimageindex"), d.robots.nocache && e.push("nocache"), e.length > 0 ? e.join(", ") : null;
|
|
13
|
+
}, m = () => {
|
|
14
|
+
if (!d.viewport) return null;
|
|
15
|
+
if (typeof d.viewport == "string") return d.viewport;
|
|
16
|
+
let e = [];
|
|
17
|
+
return d.viewport.width && e.push(`width=${d.viewport.width}`), d.viewport.height && e.push(`height=${d.viewport.height}`), d.viewport.initialScale && e.push(`initial-scale=${d.viewport.initialScale}`), d.viewport.maximumScale && e.push(`maximum-scale=${d.viewport.maximumScale}`), d.viewport.minimumScale && e.push(`minimum-scale=${d.viewport.minimumScale}`), d.viewport.userScalable !== void 0 && e.push(`user-scalable=${d.viewport.userScalable ? "yes" : "no"}`), e.length > 0 ? e.join(", ") : null;
|
|
18
|
+
}, h = () => d.keywords ? Array.isArray(d.keywords) ? d.keywords.join(", ") : d.keywords : null, g = () => d.author ? typeof d.author == "string" ? [{ name: d.author }] : Array.isArray(d.author) ? d.author : [d.author] : [], _ = () => {
|
|
19
|
+
if (!d.formatDetection) return null;
|
|
20
|
+
let e = [];
|
|
21
|
+
return d.formatDetection.telephone === !1 && e.push("telephone=no"), d.formatDetection.date === !1 && e.push("date=no"), d.formatDetection.address === !1 && e.push("address=no"), d.formatDetection.email === !1 && e.push("email=no"), e.length > 0 ? e.join(", ") : null;
|
|
22
|
+
}, v = () => d.openGraph?.images ? (Array.isArray(d.openGraph.images) ? d.openGraph.images : [d.openGraph.images]).map((e) => typeof e == "string" ? { url: e } : e) : [], y = () => d.twitter?.images ? (Array.isArray(d.twitter.images) ? d.twitter.images : [d.twitter.images]).map((e) => typeof e == "string" ? { url: e } : e) : [], b = () => d.icons ? {
|
|
23
|
+
icon: d.icons.icon ? Array.isArray(d.icons.icon) ? d.icons.icon : [d.icons.icon] : [],
|
|
24
|
+
apple: d.icons.apple ? Array.isArray(d.icons.apple) ? d.icons.apple : [d.icons.apple] : [],
|
|
25
|
+
shortcut: d.icons.shortcut || null,
|
|
26
|
+
other: d.icons.other || []
|
|
27
|
+
} : {
|
|
28
|
+
icon: [],
|
|
29
|
+
apple: [],
|
|
30
|
+
shortcut: null,
|
|
31
|
+
other: []
|
|
32
|
+
}, x = f(), S = p(), C = m(), w = h(), T = g(), E = _(), D = v(), O = y(), k = b(), A = Array.isArray(d.themeColor) ? d.themeColor : d.themeColor ? [d.themeColor] : [];
|
|
33
|
+
return /* @__PURE__ */ s(o, null, (d.charset || C) && /* @__PURE__ */ s(r, { priority: n.CRITICAL }, d.charset && /* @__PURE__ */ s("meta", { charset: d.charset }), C && /* @__PURE__ */ s("meta", {
|
|
34
|
+
name: "viewport",
|
|
35
|
+
content: C
|
|
36
|
+
})), (x || d.description || d.canonical || d.prev || d.next || d.alternateLocales) && /* @__PURE__ */ s(r, { priority: n.HIGH }, x && /* @__PURE__ */ s("title", null, x), d.description && /* @__PURE__ */ s("meta", {
|
|
37
|
+
name: "description",
|
|
38
|
+
content: d.description
|
|
39
|
+
}), d.canonical && /* @__PURE__ */ s("link", {
|
|
40
|
+
rel: "canonical",
|
|
41
|
+
href: d.canonical
|
|
42
|
+
}), d.prev && /* @__PURE__ */ s("link", {
|
|
43
|
+
rel: "prev",
|
|
44
|
+
href: d.prev
|
|
45
|
+
}), d.next && /* @__PURE__ */ s("link", {
|
|
46
|
+
rel: "next",
|
|
47
|
+
href: d.next
|
|
48
|
+
}), d.alternateLocales && Object.entries(d.alternateLocales).map(([e, t]) => /* @__PURE__ */ s("link", {
|
|
49
|
+
rel: "alternate",
|
|
50
|
+
hreflang: e,
|
|
51
|
+
href: t
|
|
52
|
+
}))), /* @__PURE__ */ s(r, { priority: n.MEDIUM }, w && /* @__PURE__ */ s("meta", {
|
|
53
|
+
name: "keywords",
|
|
54
|
+
content: w
|
|
55
|
+
}), S && /* @__PURE__ */ s("meta", {
|
|
56
|
+
name: "robots",
|
|
57
|
+
content: S
|
|
58
|
+
}), d.colorScheme && /* @__PURE__ */ s("meta", {
|
|
59
|
+
name: "color-scheme",
|
|
60
|
+
content: d.colorScheme
|
|
61
|
+
}), A.map((e, t) => /* @__PURE__ */ s("meta", {
|
|
62
|
+
name: "theme-color",
|
|
63
|
+
content: e
|
|
64
|
+
})), d.generator && /* @__PURE__ */ s("meta", {
|
|
65
|
+
name: "generator",
|
|
66
|
+
content: d.generator
|
|
67
|
+
}), d.creator && /* @__PURE__ */ s("meta", {
|
|
68
|
+
name: "creator",
|
|
69
|
+
content: d.creator
|
|
70
|
+
}), d.publisher && /* @__PURE__ */ s("meta", {
|
|
71
|
+
name: "publisher",
|
|
72
|
+
content: d.publisher
|
|
73
|
+
}), d.referrer && /* @__PURE__ */ s("meta", {
|
|
74
|
+
name: "referrer",
|
|
75
|
+
content: d.referrer
|
|
76
|
+
}), d.category && /* @__PURE__ */ s("meta", {
|
|
77
|
+
name: "category",
|
|
78
|
+
content: d.category
|
|
79
|
+
}), d.classification && /* @__PURE__ */ s("meta", {
|
|
80
|
+
name: "classification",
|
|
81
|
+
content: d.classification
|
|
82
|
+
}), E && /* @__PURE__ */ s("meta", {
|
|
83
|
+
name: "format-detection",
|
|
84
|
+
content: E
|
|
85
|
+
}), T.map((e, t) => /* @__PURE__ */ s(i, null, /* @__PURE__ */ s("meta", {
|
|
86
|
+
name: "author",
|
|
87
|
+
content: e.name
|
|
88
|
+
}), e.url && /* @__PURE__ */ s("link", {
|
|
89
|
+
rel: "author",
|
|
90
|
+
href: e.url
|
|
91
|
+
}))), k.icon.map((e, t) => /* @__PURE__ */ s("link", {
|
|
92
|
+
rel: "icon",
|
|
93
|
+
href: e
|
|
94
|
+
})), k.shortcut && /* @__PURE__ */ s("link", {
|
|
95
|
+
rel: "shortcut icon",
|
|
96
|
+
href: k.shortcut
|
|
97
|
+
}), k.apple.map((e, t) => /* @__PURE__ */ s("link", {
|
|
98
|
+
rel: "apple-touch-icon",
|
|
99
|
+
href: e
|
|
100
|
+
})), k.other.map((e, t) => /* @__PURE__ */ s("link", {
|
|
101
|
+
rel: e.rel || "icon",
|
|
102
|
+
href: e.url,
|
|
103
|
+
...e.sizes && { sizes: e.sizes },
|
|
104
|
+
...e.type && { type: e.type }
|
|
105
|
+
})), d.manifest && /* @__PURE__ */ s("link", {
|
|
106
|
+
rel: "manifest",
|
|
107
|
+
href: d.manifest
|
|
108
|
+
}), d.feed && /* @__PURE__ */ s("link", {
|
|
109
|
+
rel: "alternate",
|
|
110
|
+
type: "application/rss+xml",
|
|
111
|
+
href: d.feed
|
|
112
|
+
}), d.verification?.google && /* @__PURE__ */ s("meta", {
|
|
113
|
+
name: "google-site-verification",
|
|
114
|
+
content: d.verification.google
|
|
115
|
+
}), d.verification?.yahoo && /* @__PURE__ */ s("meta", {
|
|
116
|
+
name: "y_key",
|
|
117
|
+
content: d.verification.yahoo
|
|
118
|
+
}), d.verification?.yandex && /* @__PURE__ */ s("meta", {
|
|
119
|
+
name: "yandex-verification",
|
|
120
|
+
content: d.verification.yandex
|
|
121
|
+
}), d.verification?.me && (Array.isArray(d.verification.me) ? d.verification.me.map((e, t) => /* @__PURE__ */ s("link", {
|
|
122
|
+
rel: "me",
|
|
123
|
+
href: e
|
|
124
|
+
})) : /* @__PURE__ */ s("link", {
|
|
125
|
+
rel: "me",
|
|
126
|
+
href: d.verification.me
|
|
127
|
+
})), d.verification?.other && Object.entries(d.verification.other).map(([e, t]) => Array.isArray(t) ? t.map((t, n) => /* @__PURE__ */ s("meta", {
|
|
128
|
+
name: e,
|
|
129
|
+
content: t
|
|
130
|
+
})) : /* @__PURE__ */ s("meta", {
|
|
131
|
+
name: e,
|
|
132
|
+
content: t
|
|
133
|
+
})), d.appLinks && /* @__PURE__ */ s(i, null, d.appLinks.ios?.url && /* @__PURE__ */ s("meta", {
|
|
134
|
+
property: "al:ios:url",
|
|
135
|
+
content: d.appLinks.ios.url
|
|
136
|
+
}), d.appLinks.ios?.app_store_id && /* @__PURE__ */ s("meta", {
|
|
137
|
+
property: "al:ios:app_store_id",
|
|
138
|
+
content: d.appLinks.ios.app_store_id
|
|
139
|
+
}), d.appLinks.ios?.app_name && /* @__PURE__ */ s("meta", {
|
|
140
|
+
property: "al:ios:app_name",
|
|
141
|
+
content: d.appLinks.ios.app_name
|
|
142
|
+
}), d.appLinks.android?.package && /* @__PURE__ */ s("meta", {
|
|
143
|
+
property: "al:android:package",
|
|
144
|
+
content: d.appLinks.android.package
|
|
145
|
+
}), d.appLinks.android?.app_name && /* @__PURE__ */ s("meta", {
|
|
146
|
+
property: "al:android:app_name",
|
|
147
|
+
content: d.appLinks.android.app_name
|
|
148
|
+
}), d.appLinks.android?.url && /* @__PURE__ */ s("meta", {
|
|
149
|
+
property: "al:android:url",
|
|
150
|
+
content: d.appLinks.android.url
|
|
151
|
+
}), d.appLinks.web?.url && /* @__PURE__ */ s("meta", {
|
|
152
|
+
property: "al:web:url",
|
|
153
|
+
content: d.appLinks.web.url
|
|
154
|
+
}), d.appLinks.web?.should_fallback !== void 0 && /* @__PURE__ */ s("meta", {
|
|
155
|
+
property: "al:web:should_fallback",
|
|
156
|
+
content: String(d.appLinks.web.should_fallback)
|
|
157
|
+
})), d.other && Object.entries(d.other).map(([e, t]) => Array.isArray(t) ? t.map((t, n) => /* @__PURE__ */ s("meta", {
|
|
158
|
+
name: e,
|
|
159
|
+
content: String(t)
|
|
160
|
+
})) : /* @__PURE__ */ s("meta", {
|
|
161
|
+
name: e,
|
|
162
|
+
content: String(t)
|
|
163
|
+
}))), (d.openGraph || d.twitter) && /* @__PURE__ */ s(r, { priority: n.SEO }, d.openGraph && /* @__PURE__ */ s(i, null, d.openGraph.title && /* @__PURE__ */ s("meta", {
|
|
164
|
+
property: "og:title",
|
|
165
|
+
content: d.openGraph.title
|
|
166
|
+
}), d.openGraph.description && /* @__PURE__ */ s("meta", {
|
|
167
|
+
property: "og:description",
|
|
168
|
+
content: d.openGraph.description
|
|
169
|
+
}), d.openGraph.type && /* @__PURE__ */ s("meta", {
|
|
170
|
+
property: "og:type",
|
|
171
|
+
content: d.openGraph.type
|
|
172
|
+
}), d.openGraph.url && /* @__PURE__ */ s("meta", {
|
|
173
|
+
property: "og:url",
|
|
174
|
+
content: d.openGraph.url
|
|
175
|
+
}), d.openGraph.siteName && /* @__PURE__ */ s("meta", {
|
|
176
|
+
property: "og:site_name",
|
|
177
|
+
content: d.openGraph.siteName
|
|
178
|
+
}), d.openGraph.locale && /* @__PURE__ */ s("meta", {
|
|
179
|
+
property: "og:locale",
|
|
180
|
+
content: d.openGraph.locale
|
|
181
|
+
}), d.openGraph.alternateLocale && (Array.isArray(d.openGraph.alternateLocale) ? d.openGraph.alternateLocale.map((e, t) => /* @__PURE__ */ s("meta", {
|
|
182
|
+
property: "og:locale:alternate",
|
|
183
|
+
content: e
|
|
184
|
+
})) : /* @__PURE__ */ s("meta", {
|
|
185
|
+
property: "og:locale:alternate",
|
|
186
|
+
content: d.openGraph.alternateLocale
|
|
187
|
+
})), d.openGraph.determiner && /* @__PURE__ */ s("meta", {
|
|
188
|
+
property: "og:determiner",
|
|
189
|
+
content: d.openGraph.determiner
|
|
190
|
+
}), D.map((e, t) => /* @__PURE__ */ s(i, null, /* @__PURE__ */ s("meta", {
|
|
191
|
+
property: "og:image",
|
|
192
|
+
content: e.url
|
|
193
|
+
}), e.secureUrl && /* @__PURE__ */ s("meta", {
|
|
194
|
+
property: "og:image:secure_url",
|
|
195
|
+
content: e.secureUrl
|
|
196
|
+
}), e.alt && /* @__PURE__ */ s("meta", {
|
|
197
|
+
property: "og:image:alt",
|
|
198
|
+
content: e.alt
|
|
199
|
+
}), e.type && /* @__PURE__ */ s("meta", {
|
|
200
|
+
property: "og:image:type",
|
|
201
|
+
content: e.type
|
|
202
|
+
}), e.width && /* @__PURE__ */ s("meta", {
|
|
203
|
+
property: "og:image:width",
|
|
204
|
+
content: String(e.width)
|
|
205
|
+
}), e.height && /* @__PURE__ */ s("meta", {
|
|
206
|
+
property: "og:image:height",
|
|
207
|
+
content: String(e.height)
|
|
208
|
+
}))), d.openGraph.publishedTime && /* @__PURE__ */ s("meta", {
|
|
209
|
+
property: "article:published_time",
|
|
210
|
+
content: d.openGraph.publishedTime
|
|
211
|
+
}), d.openGraph.modifiedTime && /* @__PURE__ */ s("meta", {
|
|
212
|
+
property: "article:modified_time",
|
|
213
|
+
content: d.openGraph.modifiedTime
|
|
214
|
+
}), d.openGraph.expirationTime && /* @__PURE__ */ s("meta", {
|
|
215
|
+
property: "article:expiration_time",
|
|
216
|
+
content: d.openGraph.expirationTime
|
|
217
|
+
}), d.openGraph.authors && (Array.isArray(d.openGraph.authors) ? d.openGraph.authors.map((e, t) => /* @__PURE__ */ s("meta", {
|
|
218
|
+
property: "article:author",
|
|
219
|
+
content: e
|
|
220
|
+
})) : /* @__PURE__ */ s("meta", {
|
|
221
|
+
property: "article:author",
|
|
222
|
+
content: d.openGraph.authors
|
|
223
|
+
})), d.openGraph.section && /* @__PURE__ */ s("meta", {
|
|
224
|
+
property: "article:section",
|
|
225
|
+
content: d.openGraph.section
|
|
226
|
+
}), d.openGraph.tags && (Array.isArray(d.openGraph.tags) ? d.openGraph.tags.map((e, t) => /* @__PURE__ */ s("meta", {
|
|
227
|
+
property: "article:tag",
|
|
228
|
+
content: e
|
|
229
|
+
})) : /* @__PURE__ */ s("meta", {
|
|
230
|
+
property: "article:tag",
|
|
231
|
+
content: d.openGraph.tags
|
|
232
|
+
})), d.openGraph.isbn && /* @__PURE__ */ s("meta", {
|
|
233
|
+
property: "book:isbn",
|
|
234
|
+
content: d.openGraph.isbn
|
|
235
|
+
}), d.openGraph.releaseDate && /* @__PURE__ */ s("meta", {
|
|
236
|
+
property: "book:release_date",
|
|
237
|
+
content: d.openGraph.releaseDate
|
|
238
|
+
}), d.openGraph.firstName && /* @__PURE__ */ s("meta", {
|
|
239
|
+
property: "profile:first_name",
|
|
240
|
+
content: d.openGraph.firstName
|
|
241
|
+
}), d.openGraph.lastName && /* @__PURE__ */ s("meta", {
|
|
242
|
+
property: "profile:last_name",
|
|
243
|
+
content: d.openGraph.lastName
|
|
244
|
+
}), d.openGraph.username && /* @__PURE__ */ s("meta", {
|
|
245
|
+
property: "profile:username",
|
|
246
|
+
content: d.openGraph.username
|
|
247
|
+
}), d.openGraph.gender && /* @__PURE__ */ s("meta", {
|
|
248
|
+
property: "profile:gender",
|
|
249
|
+
content: d.openGraph.gender
|
|
250
|
+
})), d.twitter && /* @__PURE__ */ s(i, null, d.twitter.card && /* @__PURE__ */ s("meta", {
|
|
251
|
+
name: "twitter:card",
|
|
252
|
+
content: d.twitter.card
|
|
253
|
+
}), d.twitter.site && /* @__PURE__ */ s("meta", {
|
|
254
|
+
name: "twitter:site",
|
|
255
|
+
content: d.twitter.site
|
|
256
|
+
}), d.twitter.siteId && /* @__PURE__ */ s("meta", {
|
|
257
|
+
name: "twitter:site:id",
|
|
258
|
+
content: d.twitter.siteId
|
|
259
|
+
}), d.twitter.creator && /* @__PURE__ */ s("meta", {
|
|
260
|
+
name: "twitter:creator",
|
|
261
|
+
content: d.twitter.creator
|
|
262
|
+
}), d.twitter.creatorId && /* @__PURE__ */ s("meta", {
|
|
263
|
+
name: "twitter:creator:id",
|
|
264
|
+
content: d.twitter.creatorId
|
|
265
|
+
}), d.twitter.title && /* @__PURE__ */ s("meta", {
|
|
266
|
+
name: "twitter:title",
|
|
267
|
+
content: d.twitter.title
|
|
268
|
+
}), d.twitter.description && /* @__PURE__ */ s("meta", {
|
|
269
|
+
name: "twitter:description",
|
|
270
|
+
content: d.twitter.description
|
|
271
|
+
}), O.map((e, t) => /* @__PURE__ */ s(i, null, /* @__PURE__ */ s("meta", {
|
|
272
|
+
name: "twitter:image",
|
|
273
|
+
content: e.url
|
|
274
|
+
}), e.alt && /* @__PURE__ */ s("meta", {
|
|
275
|
+
name: "twitter:image:alt",
|
|
276
|
+
content: e.alt
|
|
277
|
+
}))), d.twitter.app && /* @__PURE__ */ s(i, null, d.twitter.app.name && /* @__PURE__ */ s("meta", {
|
|
278
|
+
name: "twitter:app:name",
|
|
279
|
+
content: d.twitter.app.name
|
|
280
|
+
}), d.twitter.app.id.iphone && /* @__PURE__ */ s("meta", {
|
|
281
|
+
name: "twitter:app:id:iphone",
|
|
282
|
+
content: d.twitter.app.id.iphone
|
|
283
|
+
}), d.twitter.app.id.ipad && /* @__PURE__ */ s("meta", {
|
|
284
|
+
name: "twitter:app:id:ipad",
|
|
285
|
+
content: d.twitter.app.id.ipad
|
|
286
|
+
}), d.twitter.app.id.googleplay && /* @__PURE__ */ s("meta", {
|
|
287
|
+
name: "twitter:app:id:googleplay",
|
|
288
|
+
content: d.twitter.app.id.googleplay
|
|
289
|
+
}), d.twitter.app.url?.iphone && /* @__PURE__ */ s("meta", {
|
|
290
|
+
name: "twitter:app:url:iphone",
|
|
291
|
+
content: d.twitter.app.url.iphone
|
|
292
|
+
}), d.twitter.app.url?.ipad && /* @__PURE__ */ s("meta", {
|
|
293
|
+
name: "twitter:app:url:ipad",
|
|
294
|
+
content: d.twitter.app.url.ipad
|
|
295
|
+
}), d.twitter.app.url?.googleplay && /* @__PURE__ */ s("meta", {
|
|
296
|
+
name: "twitter:app:url:googleplay",
|
|
297
|
+
content: d.twitter.app.url.googleplay
|
|
298
|
+
})))));
|
|
299
|
+
}
|
|
300
|
+
//#endregion
|
|
301
|
+
export { c as t };
|
|
302
|
+
|
|
303
|
+
//# sourceMappingURL=generateMetadata-DcdY-XC1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateMetadata-DcdY-XC1.js","names":[],"sources":["../src/seo/generateMetadata.tsx"],"sourcesContent":["/// <reference types=\"../core/jsx-types\" />\nimport { HEAD_PRIORITY } from '../core/head-priority';\nimport { Fragment, Head, resolveMetadata, useRequest } from '../core/jsx-runtime';\n\nimport { mergeMetadata } from './mergeMetadata';\nimport type { Metadata } from './types';\n\n/**\n * Converts Metadata object to SEO meta tags\n * This is the core function that transforms the metadata object into actual HTML tags\n *\n * If metadata is provided, it will be merged with metadata from the stack (from global/page loaders)\n * If no metadata is provided, it will use resolved metadata from the stack\n */\nexport function MetadataRenderer({ metadata }: { metadata?: Metadata }) {\n const { request } = useRequest();\n\n // Resolve metadata from stack (hierarchical metadata from loaders)\n const stackMetadata = resolveMetadata();\n\n // Merge: stack metadata (parent) + provided metadata (child)\n // If metadata is provided, it overrides stack metadata\n // If not provided, use stack metadata only\n const resolvedMetadata = metadata ? mergeMetadata(stackMetadata, metadata) : stackMetadata;\n\n if (!resolvedMetadata) return null;\n\n // Helper to normalize title\n const getTitle = () => {\n if (!resolvedMetadata.title) return null;\n if (typeof resolvedMetadata.title === 'string') return resolvedMetadata.title;\n // Handle TemplateString\n return resolvedMetadata.title.default;\n };\n\n // Helper to normalize robots\n const getRobots = () => {\n // tránh tiêm query\n const queryNames = Object.keys(request.query || {});\n // mặc định nếu có query sẽ ép robots về noindex\n // tuy nhiên 1 số trường hợp đặc biệt ví dụ như page=1 có chủ đích `allowQueryNames` sẽ bỏ qua nguyên tắc này\n\n const noindex =\n queryNames.filter((name) => {\n if (typeof resolvedMetadata.robots === 'string') return false;\n if (Array.isArray(resolvedMetadata.robots?.allowQueryNames))\n return !resolvedMetadata.robots.allowQueryNames.includes(name);\n return name !== resolvedMetadata.robots?.allowQueryNames;\n }).length > 0;\n\n if (noindex) return 'noindex, follow';\n\n if (!resolvedMetadata.robots) return null;\n if (typeof resolvedMetadata.robots === 'string') return resolvedMetadata.robots;\n\n const parts: string[] = [];\n if (resolvedMetadata.robots.index === false) parts.push('noindex');\n else if (resolvedMetadata.robots.index === true) parts.push('index');\n\n if (resolvedMetadata.robots.follow === false) parts.push('nofollow');\n else if (resolvedMetadata.robots.follow === true) parts.push('follow');\n\n if (resolvedMetadata.robots.noarchive) parts.push('noarchive');\n if (resolvedMetadata.robots.nosnippet) parts.push('nosnippet');\n if (resolvedMetadata.robots.noimageindex) parts.push('noimageindex');\n if (resolvedMetadata.robots.nocache) parts.push('nocache');\n\n return parts.length > 0 ? parts.join(', ') : null;\n };\n\n // Helper to normalize viewport\n const getViewport = () => {\n if (!resolvedMetadata.viewport) return null;\n if (typeof resolvedMetadata.viewport === 'string') return resolvedMetadata.viewport;\n\n const parts: string[] = [];\n if (resolvedMetadata.viewport.width) parts.push(`width=${resolvedMetadata.viewport.width}`);\n if (resolvedMetadata.viewport.height) parts.push(`height=${resolvedMetadata.viewport.height}`);\n if (resolvedMetadata.viewport.initialScale)\n parts.push(`initial-scale=${resolvedMetadata.viewport.initialScale}`);\n if (resolvedMetadata.viewport.maximumScale)\n parts.push(`maximum-scale=${resolvedMetadata.viewport.maximumScale}`);\n if (resolvedMetadata.viewport.minimumScale)\n parts.push(`minimum-scale=${resolvedMetadata.viewport.minimumScale}`);\n if (resolvedMetadata.viewport.userScalable !== undefined) {\n parts.push(`user-scalable=${resolvedMetadata.viewport.userScalable ? 'yes' : 'no'}`);\n }\n\n return parts.length > 0 ? parts.join(', ') : null;\n };\n\n // Helper to normalize keywords\n const getKeywords = () => {\n if (!resolvedMetadata.keywords) return null;\n if (Array.isArray(resolvedMetadata.keywords)) return resolvedMetadata.keywords.join(', ');\n return resolvedMetadata.keywords;\n };\n\n // Helper to normalize authors\n const getAuthors = () => {\n if (!resolvedMetadata.author) return [];\n if (typeof resolvedMetadata.author === 'string') return [{ name: resolvedMetadata.author }];\n if (Array.isArray(resolvedMetadata.author)) return resolvedMetadata.author;\n return [resolvedMetadata.author];\n };\n\n // Helper to normalize format detection\n const getFormatDetection = () => {\n if (!resolvedMetadata.formatDetection) return null;\n\n const parts: string[] = [];\n if (resolvedMetadata.formatDetection.telephone === false) parts.push('telephone=no');\n if (resolvedMetadata.formatDetection.date === false) parts.push('date=no');\n if (resolvedMetadata.formatDetection.address === false) parts.push('address=no');\n if (resolvedMetadata.formatDetection.email === false) parts.push('email=no');\n\n return parts.length > 0 ? parts.join(', ') : null;\n };\n\n // Helper to normalize Open Graph images\n const getOgImages = () => {\n if (!resolvedMetadata.openGraph?.images) return [];\n\n const images = Array.isArray(resolvedMetadata.openGraph.images)\n ? resolvedMetadata.openGraph.images\n : [resolvedMetadata.openGraph.images];\n\n return images.map((img) => {\n if (typeof img === 'string') return { url: img };\n return img;\n });\n };\n\n // Helper to normalize Twitter images\n const getTwitterImages = () => {\n if (!resolvedMetadata.twitter?.images) return [];\n\n const images = Array.isArray(resolvedMetadata.twitter.images)\n ? resolvedMetadata.twitter.images\n : [resolvedMetadata.twitter.images];\n\n return images.map((img) => {\n if (typeof img === 'string') return { url: img };\n return img;\n });\n };\n\n // Helper to get icon URLs\n const getIcons = () => {\n if (!resolvedMetadata.icons) return { icon: [], apple: [], shortcut: null, other: [] };\n\n const iconUrls = resolvedMetadata.icons.icon\n ? Array.isArray(resolvedMetadata.icons.icon)\n ? resolvedMetadata.icons.icon\n : [resolvedMetadata.icons.icon]\n : [];\n\n const appleUrls = resolvedMetadata.icons.apple\n ? Array.isArray(resolvedMetadata.icons.apple)\n ? resolvedMetadata.icons.apple\n : [resolvedMetadata.icons.apple]\n : [];\n\n return {\n icon: iconUrls,\n apple: appleUrls,\n shortcut: resolvedMetadata.icons.shortcut || null,\n other: resolvedMetadata.icons.other || [],\n };\n };\n\n const title = getTitle();\n const robots = getRobots();\n const viewport = getViewport();\n const keywords = getKeywords();\n const authors = getAuthors();\n const formatDetection = getFormatDetection();\n const ogImages = getOgImages();\n const twitterImages = getTwitterImages();\n const icons = getIcons();\n const themeColors = Array.isArray(resolvedMetadata.themeColor)\n ? resolvedMetadata.themeColor\n : resolvedMetadata.themeColor\n ? [resolvedMetadata.themeColor]\n : [];\n\n return (\n <>\n {/* Critical: charset, viewport - must be first */}\n {(resolvedMetadata.charset || viewport) && (\n <Head priority={HEAD_PRIORITY.CRITICAL}>\n {resolvedMetadata.charset && <meta charset={resolvedMetadata.charset} />}\n {viewport && <meta name=\"viewport\" content={viewport} />}\n </Head>\n )}\n\n {/* High priority: title, description, canonical, prev/next, hreflang alternates */}\n {(title ||\n resolvedMetadata.description ||\n resolvedMetadata.canonical ||\n resolvedMetadata.prev ||\n resolvedMetadata.next ||\n resolvedMetadata.alternateLocales) && (\n <Head priority={HEAD_PRIORITY.HIGH}>\n {title && <title>{title}</title>}\n {resolvedMetadata.description && (\n <meta name=\"description\" content={resolvedMetadata.description} />\n )}\n {resolvedMetadata.canonical && <link rel=\"canonical\" href={resolvedMetadata.canonical} />}\n {resolvedMetadata.prev && <link rel=\"prev\" href={resolvedMetadata.prev} />}\n {resolvedMetadata.next && <link rel=\"next\" href={resolvedMetadata.next} />}\n {resolvedMetadata.alternateLocales &&\n Object.entries(resolvedMetadata.alternateLocales).map(([hreflang, href]) => (\n <link rel=\"alternate\" hreflang={hreflang} href={href} />\n ))}\n </Head>\n )}\n\n {/* Medium priority: meta tags, robots */}\n <Head priority={HEAD_PRIORITY.MEDIUM}>\n {keywords && <meta name=\"keywords\" content={keywords} />}\n {robots && <meta name=\"robots\" content={robots} />}\n {resolvedMetadata.colorScheme && (\n <meta name=\"color-scheme\" content={resolvedMetadata.colorScheme} />\n )}\n\n {/* Theme colors */}\n {themeColors.map((color, index) => (\n <meta name=\"theme-color\" content={color} />\n ))}\n\n {resolvedMetadata.generator && (\n <meta name=\"generator\" content={resolvedMetadata.generator} />\n )}\n {resolvedMetadata.creator && <meta name=\"creator\" content={resolvedMetadata.creator} />}\n {resolvedMetadata.publisher && (\n <meta name=\"publisher\" content={resolvedMetadata.publisher} />\n )}\n {resolvedMetadata.referrer && <meta name=\"referrer\" content={resolvedMetadata.referrer} />}\n {resolvedMetadata.category && <meta name=\"category\" content={resolvedMetadata.category} />}\n {resolvedMetadata.classification && (\n <meta name=\"classification\" content={resolvedMetadata.classification} />\n )}\n {formatDetection && <meta name=\"format-detection\" content={formatDetection} />}\n\n {/* Authors */}\n {authors.map((author, index) => (\n <Fragment>\n <meta name=\"author\" content={author.name} />\n {author.url && <link rel=\"author\" href={author.url} />}\n </Fragment>\n ))}\n\n {/* Icons */}\n {icons.icon.map((url, index) => (\n <link rel=\"icon\" href={url} />\n ))}\n {icons.shortcut && <link rel=\"shortcut icon\" href={icons.shortcut} />}\n {icons.apple.map((url, index) => (\n <link rel=\"apple-touch-icon\" href={url} />\n ))}\n {icons.other.map((icon, index) => (\n <link\n rel={icon.rel || 'icon'}\n href={icon.url}\n {...(icon.sizes && { sizes: icon.sizes })}\n {...(icon.type && { type: icon.type })}\n />\n ))}\n\n {/* Manifest */}\n {resolvedMetadata.manifest && <link rel=\"manifest\" href={resolvedMetadata.manifest} />}\n\n {/* Feeds */}\n {resolvedMetadata.feed && (\n <link rel=\"alternate\" type=\"application/rss+xml\" href={resolvedMetadata.feed} />\n )}\n\n {/* Verification */}\n {resolvedMetadata.verification?.google && (\n <meta name=\"google-site-verification\" content={resolvedMetadata.verification.google} />\n )}\n {resolvedMetadata.verification?.yahoo && (\n <meta name=\"y_key\" content={resolvedMetadata.verification.yahoo} />\n )}\n {resolvedMetadata.verification?.yandex && (\n <meta name=\"yandex-verification\" content={resolvedMetadata.verification.yandex} />\n )}\n {resolvedMetadata.verification?.me &&\n (Array.isArray(resolvedMetadata.verification.me) ? (\n resolvedMetadata.verification.me.map((url, index) => <link rel=\"me\" href={url} />)\n ) : (\n <link rel=\"me\" href={resolvedMetadata.verification.me} />\n ))}\n {resolvedMetadata.verification?.other &&\n Object.entries(resolvedMetadata.verification.other).map(([key, value]) =>\n Array.isArray(value) ? (\n value.map((v, index) => <meta name={key} content={v} />)\n ) : (\n <meta name={key} content={value} />\n ),\n )}\n\n {/* App Links */}\n {resolvedMetadata.appLinks && (\n <Fragment>\n {resolvedMetadata.appLinks.ios?.url && (\n <meta property=\"al:ios:url\" content={resolvedMetadata.appLinks.ios.url} />\n )}\n {resolvedMetadata.appLinks.ios?.app_store_id && (\n <meta\n property=\"al:ios:app_store_id\"\n content={resolvedMetadata.appLinks.ios.app_store_id}\n />\n )}\n {resolvedMetadata.appLinks.ios?.app_name && (\n <meta property=\"al:ios:app_name\" content={resolvedMetadata.appLinks.ios.app_name} />\n )}\n {resolvedMetadata.appLinks.android?.package && (\n <meta\n property=\"al:android:package\"\n content={resolvedMetadata.appLinks.android.package}\n />\n )}\n {resolvedMetadata.appLinks.android?.app_name && (\n <meta\n property=\"al:android:app_name\"\n content={resolvedMetadata.appLinks.android.app_name}\n />\n )}\n {resolvedMetadata.appLinks.android?.url && (\n <meta property=\"al:android:url\" content={resolvedMetadata.appLinks.android.url} />\n )}\n {resolvedMetadata.appLinks.web?.url && (\n <meta property=\"al:web:url\" content={resolvedMetadata.appLinks.web.url} />\n )}\n {resolvedMetadata.appLinks.web?.should_fallback !== undefined && (\n <meta\n property=\"al:web:should_fallback\"\n content={String(resolvedMetadata.appLinks.web.should_fallback)}\n />\n )}\n </Fragment>\n )}\n\n {/* Additional meta tags */}\n {resolvedMetadata.other &&\n Object.entries(resolvedMetadata.other).map(([key, value]) =>\n Array.isArray(value) ? (\n value.map((v, index) => <meta name={key} content={String(v)} />)\n ) : (\n <meta name={key} content={String(value)} />\n ),\n )}\n </Head>\n\n {/* SEO: OpenGraph, Twitter - lower priority */}\n {(resolvedMetadata.openGraph || resolvedMetadata.twitter) && (\n <Head priority={HEAD_PRIORITY.SEO}>\n {/* Open Graph */}\n {resolvedMetadata.openGraph && (\n <Fragment>\n {resolvedMetadata.openGraph.title && (\n <meta property=\"og:title\" content={resolvedMetadata.openGraph.title} />\n )}\n {resolvedMetadata.openGraph.description && (\n <meta property=\"og:description\" content={resolvedMetadata.openGraph.description} />\n )}\n {resolvedMetadata.openGraph.type && (\n <meta property=\"og:type\" content={resolvedMetadata.openGraph.type} />\n )}\n {resolvedMetadata.openGraph.url && (\n <meta property=\"og:url\" content={resolvedMetadata.openGraph.url} />\n )}\n {resolvedMetadata.openGraph.siteName && (\n <meta property=\"og:site_name\" content={resolvedMetadata.openGraph.siteName} />\n )}\n {resolvedMetadata.openGraph.locale && (\n <meta property=\"og:locale\" content={resolvedMetadata.openGraph.locale} />\n )}\n {resolvedMetadata.openGraph.alternateLocale &&\n (Array.isArray(resolvedMetadata.openGraph.alternateLocale) ? (\n resolvedMetadata.openGraph.alternateLocale.map((locale, index) => (\n <meta property=\"og:locale:alternate\" content={locale} />\n ))\n ) : (\n <meta\n property=\"og:locale:alternate\"\n content={resolvedMetadata.openGraph.alternateLocale}\n />\n ))}\n {resolvedMetadata.openGraph.determiner && (\n <meta property=\"og:determiner\" content={resolvedMetadata.openGraph.determiner} />\n )}\n\n {/* OG Images */}\n {ogImages.map((image, index) => (\n <Fragment>\n <meta property=\"og:image\" content={image.url} />\n {image.secureUrl && (\n <meta property=\"og:image:secure_url\" content={image.secureUrl} />\n )}\n {image.alt && <meta property=\"og:image:alt\" content={image.alt} />}\n {image.type && <meta property=\"og:image:type\" content={image.type} />}\n {image.width && <meta property=\"og:image:width\" content={String(image.width)} />}\n {image.height && (\n <meta property=\"og:image:height\" content={String(image.height)} />\n )}\n </Fragment>\n ))}\n\n {/* Article specific */}\n {resolvedMetadata.openGraph.publishedTime && (\n <meta\n property=\"article:published_time\"\n content={resolvedMetadata.openGraph.publishedTime}\n />\n )}\n {resolvedMetadata.openGraph.modifiedTime && (\n <meta\n property=\"article:modified_time\"\n content={resolvedMetadata.openGraph.modifiedTime}\n />\n )}\n {resolvedMetadata.openGraph.expirationTime && (\n <meta\n property=\"article:expiration_time\"\n content={resolvedMetadata.openGraph.expirationTime}\n />\n )}\n {resolvedMetadata.openGraph.authors &&\n (Array.isArray(resolvedMetadata.openGraph.authors) ? (\n resolvedMetadata.openGraph.authors.map((author, index) => (\n <meta property=\"article:author\" content={author} />\n ))\n ) : (\n <meta property=\"article:author\" content={resolvedMetadata.openGraph.authors} />\n ))}\n {resolvedMetadata.openGraph.section && (\n <meta property=\"article:section\" content={resolvedMetadata.openGraph.section} />\n )}\n {resolvedMetadata.openGraph.tags &&\n (Array.isArray(resolvedMetadata.openGraph.tags) ? (\n resolvedMetadata.openGraph.tags.map((tag, index) => (\n <meta property=\"article:tag\" content={tag} />\n ))\n ) : (\n <meta property=\"article:tag\" content={resolvedMetadata.openGraph.tags} />\n ))}\n\n {/* Book specific */}\n {resolvedMetadata.openGraph.isbn && (\n <meta property=\"book:isbn\" content={resolvedMetadata.openGraph.isbn} />\n )}\n {resolvedMetadata.openGraph.releaseDate && (\n <meta\n property=\"book:release_date\"\n content={resolvedMetadata.openGraph.releaseDate}\n />\n )}\n\n {/* Profile specific */}\n {resolvedMetadata.openGraph.firstName && (\n <meta\n property=\"profile:first_name\"\n content={resolvedMetadata.openGraph.firstName}\n />\n )}\n {resolvedMetadata.openGraph.lastName && (\n <meta property=\"profile:last_name\" content={resolvedMetadata.openGraph.lastName} />\n )}\n {resolvedMetadata.openGraph.username && (\n <meta property=\"profile:username\" content={resolvedMetadata.openGraph.username} />\n )}\n {resolvedMetadata.openGraph.gender && (\n <meta property=\"profile:gender\" content={resolvedMetadata.openGraph.gender} />\n )}\n </Fragment>\n )}\n\n {/* Twitter Card */}\n {resolvedMetadata.twitter && (\n <Fragment>\n {resolvedMetadata.twitter.card && (\n <meta name=\"twitter:card\" content={resolvedMetadata.twitter.card} />\n )}\n {resolvedMetadata.twitter.site && (\n <meta name=\"twitter:site\" content={resolvedMetadata.twitter.site} />\n )}\n {resolvedMetadata.twitter.siteId && (\n <meta name=\"twitter:site:id\" content={resolvedMetadata.twitter.siteId} />\n )}\n {resolvedMetadata.twitter.creator && (\n <meta name=\"twitter:creator\" content={resolvedMetadata.twitter.creator} />\n )}\n {resolvedMetadata.twitter.creatorId && (\n <meta name=\"twitter:creator:id\" content={resolvedMetadata.twitter.creatorId} />\n )}\n {resolvedMetadata.twitter.title && (\n <meta name=\"twitter:title\" content={resolvedMetadata.twitter.title} />\n )}\n {resolvedMetadata.twitter.description && (\n <meta name=\"twitter:description\" content={resolvedMetadata.twitter.description} />\n )}\n\n {/* Twitter Images */}\n {twitterImages.map((image, index) => (\n <Fragment>\n <meta name=\"twitter:image\" content={image.url} />\n {image.alt && <meta name=\"twitter:image:alt\" content={image.alt} />}\n </Fragment>\n ))}\n\n {/* Twitter App */}\n {resolvedMetadata.twitter.app && (\n <Fragment>\n {resolvedMetadata.twitter.app.name && (\n <meta name=\"twitter:app:name\" content={resolvedMetadata.twitter.app.name} />\n )}\n {resolvedMetadata.twitter.app.id.iphone && (\n <meta\n name=\"twitter:app:id:iphone\"\n content={resolvedMetadata.twitter.app.id.iphone}\n />\n )}\n {resolvedMetadata.twitter.app.id.ipad && (\n <meta\n name=\"twitter:app:id:ipad\"\n content={resolvedMetadata.twitter.app.id.ipad}\n />\n )}\n {resolvedMetadata.twitter.app.id.googleplay && (\n <meta\n name=\"twitter:app:id:googleplay\"\n content={resolvedMetadata.twitter.app.id.googleplay}\n />\n )}\n {resolvedMetadata.twitter.app.url?.iphone && (\n <meta\n name=\"twitter:app:url:iphone\"\n content={resolvedMetadata.twitter.app.url.iphone}\n />\n )}\n {resolvedMetadata.twitter.app.url?.ipad && (\n <meta\n name=\"twitter:app:url:ipad\"\n content={resolvedMetadata.twitter.app.url.ipad}\n />\n )}\n {resolvedMetadata.twitter.app.url?.googleplay && (\n <meta\n name=\"twitter:app:url:googleplay\"\n content={resolvedMetadata.twitter.app.url.googleplay}\n />\n )}\n </Fragment>\n )}\n </Fragment>\n )}\n </Head>\n )}\n </>\n );\n}\n"],"mappings":";;;AAcA,SAAgB,EAAiB,EAAE,eAAqC;CACtE,IAAM,EAAE,eAAY,EAAW,GAGzB,IAAgB,EAAgB,GAKhC,IAAmB,IAAW,EAAc,GAAe,CAAQ,IAAI;CAE7E,IAAI,CAAC,GAAkB,OAAO;CAG9B,IAAM,UACC,EAAiB,QAClB,OAAO,EAAiB,SAAU,WAAiB,EAAiB,QAEjE,EAAiB,MAAM,UAHM,MAOhC,UAAkB;EActB,IAZmB,OAAO,KAAK,EAAQ,SAAS,CAAC,CAK/C,CAAA,CAAW,QAAQ,MACb,OAAO,EAAiB,UAAW,WAAiB,KACpD,MAAM,QAAQ,EAAiB,QAAQ,eAAe,IACjD,CAAC,EAAiB,OAAO,gBAAgB,SAAS,CAAI,IACxD,MAAS,EAAiB,QAAQ,eAC1C,CAAC,CAAC,SAAS,GAED,OAAO;EAEpB,IAAI,CAAC,EAAiB,QAAQ,OAAO;EACrC,IAAI,OAAO,EAAiB,UAAW,UAAU,OAAO,EAAiB;EAEzE,IAAM,IAAkB,CAAC;EAYzB,OAXI,EAAiB,OAAO,UAAU,KAAO,EAAM,KAAK,SAAS,IACxD,EAAiB,OAAO,UAAU,MAAM,EAAM,KAAK,OAAO,GAE/D,EAAiB,OAAO,WAAW,KAAO,EAAM,KAAK,UAAU,IAC1D,EAAiB,OAAO,WAAW,MAAM,EAAM,KAAK,QAAQ,GAEjE,EAAiB,OAAO,aAAW,EAAM,KAAK,WAAW,GACzD,EAAiB,OAAO,aAAW,EAAM,KAAK,WAAW,GACzD,EAAiB,OAAO,gBAAc,EAAM,KAAK,cAAc,GAC/D,EAAiB,OAAO,WAAS,EAAM,KAAK,SAAS,GAElD,EAAM,SAAS,IAAI,EAAM,KAAK,IAAI,IAAI;CAC/C,GAGM,UAAoB;EACxB,IAAI,CAAC,EAAiB,UAAU,OAAO;EACvC,IAAI,OAAO,EAAiB,YAAa,UAAU,OAAO,EAAiB;EAE3E,IAAM,IAAkB,CAAC;EAazB,OAZI,EAAiB,SAAS,SAAO,EAAM,KAAK,SAAS,EAAiB,SAAS,OAAO,GACtF,EAAiB,SAAS,UAAQ,EAAM,KAAK,UAAU,EAAiB,SAAS,QAAQ,GACzF,EAAiB,SAAS,gBAC5B,EAAM,KAAK,iBAAiB,EAAiB,SAAS,cAAc,GAClE,EAAiB,SAAS,gBAC5B,EAAM,KAAK,iBAAiB,EAAiB,SAAS,cAAc,GAClE,EAAiB,SAAS,gBAC5B,EAAM,KAAK,iBAAiB,EAAiB,SAAS,cAAc,GAClE,EAAiB,SAAS,iBAAiB,KAAA,KAC7C,EAAM,KAAK,iBAAiB,EAAiB,SAAS,eAAe,QAAQ,MAAM,GAG9E,EAAM,SAAS,IAAI,EAAM,KAAK,IAAI,IAAI;CAC/C,GAGM,UACC,EAAiB,WAClB,MAAM,QAAQ,EAAiB,QAAQ,IAAU,EAAiB,SAAS,KAAK,IAAI,IACjF,EAAiB,WAFe,MAMnC,UACC,EAAiB,SAClB,OAAO,EAAiB,UAAW,WAAiB,CAAC,EAAE,MAAM,EAAiB,OAAO,CAAC,IACtF,MAAM,QAAQ,EAAiB,MAAM,IAAU,EAAiB,SAC7D,CAAC,EAAiB,MAAM,IAHM,CAAC,GAOlC,UAA2B;EAC/B,IAAI,CAAC,EAAiB,iBAAiB,OAAO;EAE9C,IAAM,IAAkB,CAAC;EAMzB,OALI,EAAiB,gBAAgB,cAAc,MAAO,EAAM,KAAK,cAAc,GAC/E,EAAiB,gBAAgB,SAAS,MAAO,EAAM,KAAK,SAAS,GACrE,EAAiB,gBAAgB,YAAY,MAAO,EAAM,KAAK,YAAY,GAC3E,EAAiB,gBAAgB,UAAU,MAAO,EAAM,KAAK,UAAU,GAEpE,EAAM,SAAS,IAAI,EAAM,KAAK,IAAI,IAAI;CAC/C,GAGM,UACC,EAAiB,WAAW,UAElB,MAAM,QAAQ,EAAiB,UAAU,MAAM,IAC1D,EAAiB,UAAU,SAC3B,CAAC,EAAiB,UAAU,MAAM,EAAA,CAExB,KAAK,MACb,OAAO,KAAQ,WAAiB,EAAE,KAAK,EAAI,IACxC,CACR,IAT+C,CAAC,GAa7C,UACC,EAAiB,SAAS,UAEhB,MAAM,QAAQ,EAAiB,QAAQ,MAAM,IACxD,EAAiB,QAAQ,SACzB,CAAC,EAAiB,QAAQ,MAAM,EAAA,CAEtB,KAAK,MACb,OAAO,KAAQ,WAAiB,EAAE,KAAK,EAAI,IACxC,CACR,IAT6C,CAAC,GAa3C,UACC,EAAiB,QAcf;EACL,MAbe,EAAiB,MAAM,OACpC,MAAM,QAAQ,EAAiB,MAAM,IAAI,IACvC,EAAiB,MAAM,OACvB,CAAC,EAAiB,MAAM,IAAI,IAC9B,CAAC;EAUH,OARgB,EAAiB,MAAM,QACrC,MAAM,QAAQ,EAAiB,MAAM,KAAK,IACxC,EAAiB,MAAM,QACvB,CAAC,EAAiB,MAAM,KAAK,IAC/B,CAAC;EAKH,UAAU,EAAiB,MAAM,YAAY;EAC7C,OAAO,EAAiB,MAAM,SAAS,CAAC;CAC1C,IAnBoC;EAAE,MAAM,CAAC;EAAG,OAAO,CAAC;EAAG,UAAU;EAAM,OAAO,CAAC;CAAE,GAsBjF,IAAQ,EAAS,GACjB,IAAS,EAAU,GACnB,IAAW,EAAY,GACvB,IAAW,EAAY,GACvB,IAAU,EAAW,GACrB,IAAkB,EAAmB,GACrC,IAAW,EAAY,GACvB,IAAgB,EAAiB,GACjC,IAAQ,EAAS,GACjB,IAAc,MAAM,QAAQ,EAAiB,UAAU,IACzD,EAAiB,aACjB,EAAiB,aACf,CAAC,EAAiB,UAAU,IAC5B,CAAC;CAEP,OACE,kBAAA,GAAA,OAEI,EAAiB,WAAW,MAC5B,kBAAC,GAAD,EAAM,UAAU,EAAc,SAGxB,GAFH,EAAiB,WAAW,kBAAC,QAAD,EAAM,SAAS,EAAiB,QAAU,CAAA,GACtE,KAAY,kBAAC,QAAD;EAAM,MAAK;EAAW,SAAS;CAAW,CAAA,CACnD,IAIN,KACA,EAAiB,eACjB,EAAiB,aACjB,EAAiB,QACjB,EAAiB,QACjB,EAAiB,qBACjB,kBAAC,GAAD,EAAM,UAAU,EAAc,KAYxB,GAXH,KAAS,kBAAC,SAAA,MAAO,CAAa,GAC9B,EAAiB,eAChB,kBAAC,QAAD;EAAM,MAAK;EAAc,SAAS,EAAiB;CAAc,CAAA,GAElE,EAAiB,aAAa,kBAAC,QAAD;EAAM,KAAI;EAAY,MAAM,EAAiB;CAAY,CAAA,GACvF,EAAiB,QAAQ,kBAAC,QAAD;EAAM,KAAI;EAAO,MAAM,EAAiB;CAAO,CAAA,GACxE,EAAiB,QAAQ,kBAAC,QAAD;EAAM,KAAI;EAAO,MAAM,EAAiB;CAAO,CAAA,GACxE,EAAiB,oBAChB,OAAO,QAAQ,EAAiB,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAU,OAChE,kBAAC,QAAD;EAAM,KAAI;EAAsB;EAAgB;CAAO,CAAA,CACxD,CACC,GAIR,kBAAC,GAAD,EAAM,UAAU,EAAc,OAuIxB,GAtIH,KAAY,kBAAC,QAAD;EAAM,MAAK;EAAW,SAAS;CAAW,CAAA,GACtD,KAAU,kBAAC,QAAD;EAAM,MAAK;EAAS,SAAS;CAAS,CAAA,GAChD,EAAiB,eAChB,kBAAC,QAAD;EAAM,MAAK;EAAe,SAAS,EAAiB;CAAc,CAAA,GAInE,EAAY,KAAK,GAAO,MACvB,kBAAC,QAAD;EAAM,MAAK;EAAc,SAAS;CAAQ,CAAA,CAC3C,GAEA,EAAiB,aAChB,kBAAC,QAAD;EAAM,MAAK;EAAY,SAAS,EAAiB;CAAY,CAAA,GAE9D,EAAiB,WAAW,kBAAC,QAAD;EAAM,MAAK;EAAU,SAAS,EAAiB;CAAU,CAAA,GACrF,EAAiB,aAChB,kBAAC,QAAD;EAAM,MAAK;EAAY,SAAS,EAAiB;CAAY,CAAA,GAE9D,EAAiB,YAAY,kBAAC,QAAD;EAAM,MAAK;EAAW,SAAS,EAAiB;CAAW,CAAA,GACxF,EAAiB,YAAY,kBAAC,QAAD;EAAM,MAAK;EAAW,SAAS,EAAiB;CAAW,CAAA,GACxF,EAAiB,kBAChB,kBAAC,QAAD;EAAM,MAAK;EAAiB,SAAS,EAAiB;CAAiB,CAAA,GAExE,KAAmB,kBAAC,QAAD;EAAM,MAAK;EAAmB,SAAS;CAAkB,CAAA,GAG5E,EAAQ,KAAK,GAAQ,MACpB,kBAAC,GAAA,MACC,kBAAC,QAAD;EAAM,MAAK;EAAS,SAAS,EAAO;CAAO,CAAA,GAC1C,EAAO,OAAO,kBAAC,QAAD;EAAM,KAAI;EAAS,MAAM,EAAO;CAAM,CAAA,CAC7C,CACX,GAGA,EAAM,KAAK,KAAK,GAAK,MACpB,kBAAC,QAAD;EAAM,KAAI;EAAO,MAAM;CAAM,CAAA,CAC9B,GACA,EAAM,YAAY,kBAAC,QAAD;EAAM,KAAI;EAAgB,MAAM,EAAM;CAAW,CAAA,GACnE,EAAM,MAAM,KAAK,GAAK,MACrB,kBAAC,QAAD;EAAM,KAAI;EAAmB,MAAM;CAAM,CAAA,CAC1C,GACA,EAAM,MAAM,KAAK,GAAM,MACtB,kBAAC,QAAD;EACE,KAAK,EAAK,OAAO;EACjB,MAAM,EAAK;EACX,GAAK,EAAK,SAAS,EAAE,OAAO,EAAK,MAAM;EACvC,GAAK,EAAK,QAAQ,EAAE,MAAM,EAAK,KAAK;CACrC,CAAA,CACF,GAGA,EAAiB,YAAY,kBAAC,QAAD;EAAM,KAAI;EAAW,MAAM,EAAiB;CAAW,CAAA,GAGpF,EAAiB,QAChB,kBAAC,QAAD;EAAM,KAAI;EAAY,MAAK;EAAsB,MAAM,EAAiB;CAAO,CAAA,GAIhF,EAAiB,cAAc,UAC9B,kBAAC,QAAD;EAAM,MAAK;EAA2B,SAAS,EAAiB,aAAa;CAAS,CAAA,GAEvF,EAAiB,cAAc,SAC9B,kBAAC,QAAD;EAAM,MAAK;EAAQ,SAAS,EAAiB,aAAa;CAAQ,CAAA,GAEnE,EAAiB,cAAc,UAC9B,kBAAC,QAAD;EAAM,MAAK;EAAsB,SAAS,EAAiB,aAAa;CAAS,CAAA,GAElF,EAAiB,cAAc,OAC7B,MAAM,QAAQ,EAAiB,aAAa,EAAE,IAC7C,EAAiB,aAAa,GAAG,KAAK,GAAK,MAAU,kBAAC,QAAD;EAAM,KAAI;EAAK,MAAM;CAAM,CAAA,CAAC,IAEjF,kBAAC,QAAD;EAAM,KAAI;EAAK,MAAM,EAAiB,aAAa;CAAK,CAAA,IAE3D,EAAiB,cAAc,SAC9B,OAAO,QAAQ,EAAiB,aAAa,KAAK,CAAC,CAAC,KAAK,CAAC,GAAK,OAC7D,MAAM,QAAQ,CAAK,IACjB,EAAM,KAAK,GAAG,MAAU,kBAAC,QAAD;EAAM,MAAM;EAAK,SAAS;CAAI,CAAA,CAAC,IAEvD,kBAAC,QAAD;EAAM,MAAM;EAAK,SAAS;CAAQ,CAAA,CAEtC,GAGD,EAAiB,YAChB,kBAAC,GAAA,MACE,EAAiB,SAAS,KAAK,OAC9B,kBAAC,QAAD;EAAM,UAAS;EAAa,SAAS,EAAiB,SAAS,IAAI;CAAM,CAAA,GAE1E,EAAiB,SAAS,KAAK,gBAC9B,kBAAC,QAAD;EACE,UAAS;EACT,SAAS,EAAiB,SAAS,IAAI;CACxC,CAAA,GAEF,EAAiB,SAAS,KAAK,YAC9B,kBAAC,QAAD;EAAM,UAAS;EAAkB,SAAS,EAAiB,SAAS,IAAI;CAAW,CAAA,GAEpF,EAAiB,SAAS,SAAS,WAClC,kBAAC,QAAD;EACE,UAAS;EACT,SAAS,EAAiB,SAAS,QAAQ;CAC5C,CAAA,GAEF,EAAiB,SAAS,SAAS,YAClC,kBAAC,QAAD;EACE,UAAS;EACT,SAAS,EAAiB,SAAS,QAAQ;CAC5C,CAAA,GAEF,EAAiB,SAAS,SAAS,OAClC,kBAAC,QAAD;EAAM,UAAS;EAAiB,SAAS,EAAiB,SAAS,QAAQ;CAAM,CAAA,GAElF,EAAiB,SAAS,KAAK,OAC9B,kBAAC,QAAD;EAAM,UAAS;EAAa,SAAS,EAAiB,SAAS,IAAI;CAAM,CAAA,GAE1E,EAAiB,SAAS,KAAK,oBAAoB,KAAA,KAClD,kBAAC,QAAD;EACE,UAAS;EACT,SAAS,OAAO,EAAiB,SAAS,IAAI,eAAe;CAC9D,CAAA,CAEK,GAIX,EAAiB,SAChB,OAAO,QAAQ,EAAiB,KAAK,CAAC,CAAC,KAAK,CAAC,GAAK,OAChD,MAAM,QAAQ,CAAK,IACjB,EAAM,KAAK,GAAG,MAAU,kBAAC,QAAD;EAAM,MAAM;EAAK,SAAS,OAAO,CAAC;CAAI,CAAA,CAAC,IAE/D,kBAAC,QAAD;EAAM,MAAM;EAAK,SAAS,OAAO,CAAK;CAAI,CAAA,CAE9C,CACE,IAGJ,EAAiB,aAAa,EAAiB,YAC/C,kBAAC,GAAD,EAAM,UAAU,EAAc,IAyMxB,GAvMH,EAAiB,aAChB,kBAAC,GAAA,MACE,EAAiB,UAAU,SAC1B,kBAAC,QAAD;EAAM,UAAS;EAAW,SAAS,EAAiB,UAAU;CAAQ,CAAA,GAEvE,EAAiB,UAAU,eAC1B,kBAAC,QAAD;EAAM,UAAS;EAAiB,SAAS,EAAiB,UAAU;CAAc,CAAA,GAEnF,EAAiB,UAAU,QAC1B,kBAAC,QAAD;EAAM,UAAS;EAAU,SAAS,EAAiB,UAAU;CAAO,CAAA,GAErE,EAAiB,UAAU,OAC1B,kBAAC,QAAD;EAAM,UAAS;EAAS,SAAS,EAAiB,UAAU;CAAM,CAAA,GAEnE,EAAiB,UAAU,YAC1B,kBAAC,QAAD;EAAM,UAAS;EAAe,SAAS,EAAiB,UAAU;CAAW,CAAA,GAE9E,EAAiB,UAAU,UAC1B,kBAAC,QAAD;EAAM,UAAS;EAAY,SAAS,EAAiB,UAAU;CAAS,CAAA,GAEzE,EAAiB,UAAU,oBACzB,MAAM,QAAQ,EAAiB,UAAU,eAAe,IACvD,EAAiB,UAAU,gBAAgB,KAAK,GAAQ,MACtD,kBAAC,QAAD;EAAM,UAAS;EAAsB,SAAS;CAAS,CAAA,CACxD,IAED,kBAAC,QAAD;EACE,UAAS;EACT,SAAS,EAAiB,UAAU;CACrC,CAAA,IAEJ,EAAiB,UAAU,cAC1B,kBAAC,QAAD;EAAM,UAAS;EAAgB,SAAS,EAAiB,UAAU;CAAa,CAAA,GAIjF,EAAS,KAAK,GAAO,MACpB,kBAAC,GAAA,MACC,kBAAC,QAAD;EAAM,UAAS;EAAW,SAAS,EAAM;CAAM,CAAA,GAC9C,EAAM,aACL,kBAAC,QAAD;EAAM,UAAS;EAAsB,SAAS,EAAM;CAAY,CAAA,GAEjE,EAAM,OAAO,kBAAC,QAAD;EAAM,UAAS;EAAe,SAAS,EAAM;CAAM,CAAA,GAChE,EAAM,QAAQ,kBAAC,QAAD;EAAM,UAAS;EAAgB,SAAS,EAAM;CAAO,CAAA,GACnE,EAAM,SAAS,kBAAC,QAAD;EAAM,UAAS;EAAiB,SAAS,OAAO,EAAM,KAAK;CAAI,CAAA,GAC9E,EAAM,UACL,kBAAC,QAAD;EAAM,UAAS;EAAkB,SAAS,OAAO,EAAM,MAAM;CAAI,CAAA,CAE3D,CACX,GAGA,EAAiB,UAAU,iBAC1B,kBAAC,QAAD;EACE,UAAS;EACT,SAAS,EAAiB,UAAU;CACrC,CAAA,GAEF,EAAiB,UAAU,gBAC1B,kBAAC,QAAD;EACE,UAAS;EACT,SAAS,EAAiB,UAAU;CACrC,CAAA,GAEF,EAAiB,UAAU,kBAC1B,kBAAC,QAAD;EACE,UAAS;EACT,SAAS,EAAiB,UAAU;CACrC,CAAA,GAEF,EAAiB,UAAU,YACzB,MAAM,QAAQ,EAAiB,UAAU,OAAO,IAC/C,EAAiB,UAAU,QAAQ,KAAK,GAAQ,MAC9C,kBAAC,QAAD;EAAM,UAAS;EAAiB,SAAS;CAAS,CAAA,CACnD,IAED,kBAAC,QAAD;EAAM,UAAS;EAAiB,SAAS,EAAiB,UAAU;CAAU,CAAA,IAEjF,EAAiB,UAAU,WAC1B,kBAAC,QAAD;EAAM,UAAS;EAAkB,SAAS,EAAiB,UAAU;CAAU,CAAA,GAEhF,EAAiB,UAAU,SACzB,MAAM,QAAQ,EAAiB,UAAU,IAAI,IAC5C,EAAiB,UAAU,KAAK,KAAK,GAAK,MACxC,kBAAC,QAAD;EAAM,UAAS;EAAc,SAAS;CAAM,CAAA,CAC7C,IAED,kBAAC,QAAD;EAAM,UAAS;EAAc,SAAS,EAAiB,UAAU;CAAO,CAAA,IAI3E,EAAiB,UAAU,QAC1B,kBAAC,QAAD;EAAM,UAAS;EAAY,SAAS,EAAiB,UAAU;CAAO,CAAA,GAEvE,EAAiB,UAAU,eAC1B,kBAAC,QAAD;EACE,UAAS;EACT,SAAS,EAAiB,UAAU;CACrC,CAAA,GAIF,EAAiB,UAAU,aAC1B,kBAAC,QAAD;EACE,UAAS;EACT,SAAS,EAAiB,UAAU;CACrC,CAAA,GAEF,EAAiB,UAAU,YAC1B,kBAAC,QAAD;EAAM,UAAS;EAAoB,SAAS,EAAiB,UAAU;CAAW,CAAA,GAEnF,EAAiB,UAAU,YAC1B,kBAAC,QAAD;EAAM,UAAS;EAAmB,SAAS,EAAiB,UAAU;CAAW,CAAA,GAElF,EAAiB,UAAU,UAC1B,kBAAC,QAAD;EAAM,UAAS;EAAiB,SAAS,EAAiB,UAAU;CAAS,CAAA,CAEvE,GAIX,EAAiB,WAChB,kBAAC,GAAA,MACE,EAAiB,QAAQ,QACxB,kBAAC,QAAD;EAAM,MAAK;EAAe,SAAS,EAAiB,QAAQ;CAAO,CAAA,GAEpE,EAAiB,QAAQ,QACxB,kBAAC,QAAD;EAAM,MAAK;EAAe,SAAS,EAAiB,QAAQ;CAAO,CAAA,GAEpE,EAAiB,QAAQ,UACxB,kBAAC,QAAD;EAAM,MAAK;EAAkB,SAAS,EAAiB,QAAQ;CAAS,CAAA,GAEzE,EAAiB,QAAQ,WACxB,kBAAC,QAAD;EAAM,MAAK;EAAkB,SAAS,EAAiB,QAAQ;CAAU,CAAA,GAE1E,EAAiB,QAAQ,aACxB,kBAAC,QAAD;EAAM,MAAK;EAAqB,SAAS,EAAiB,QAAQ;CAAY,CAAA,GAE/E,EAAiB,QAAQ,SACxB,kBAAC,QAAD;EAAM,MAAK;EAAgB,SAAS,EAAiB,QAAQ;CAAQ,CAAA,GAEtE,EAAiB,QAAQ,eACxB,kBAAC,QAAD;EAAM,MAAK;EAAsB,SAAS,EAAiB,QAAQ;CAAc,CAAA,GAIlF,EAAc,KAAK,GAAO,MACzB,kBAAC,GAAA,MACC,kBAAC,QAAD;EAAM,MAAK;EAAgB,SAAS,EAAM;CAAM,CAAA,GAC/C,EAAM,OAAO,kBAAC,QAAD;EAAM,MAAK;EAAoB,SAAS,EAAM;CAAM,CAAA,CAC1D,CACX,GAGA,EAAiB,QAAQ,OACxB,kBAAC,GAAA,MACE,EAAiB,QAAQ,IAAI,QAC5B,kBAAC,QAAD;EAAM,MAAK;EAAmB,SAAS,EAAiB,QAAQ,IAAI;CAAO,CAAA,GAE5E,EAAiB,QAAQ,IAAI,GAAG,UAC/B,kBAAC,QAAD;EACE,MAAK;EACL,SAAS,EAAiB,QAAQ,IAAI,GAAG;CAC1C,CAAA,GAEF,EAAiB,QAAQ,IAAI,GAAG,QAC/B,kBAAC,QAAD;EACE,MAAK;EACL,SAAS,EAAiB,QAAQ,IAAI,GAAG;CAC1C,CAAA,GAEF,EAAiB,QAAQ,IAAI,GAAG,cAC/B,kBAAC,QAAD;EACE,MAAK;EACL,SAAS,EAAiB,QAAQ,IAAI,GAAG;CAC1C,CAAA,GAEF,EAAiB,QAAQ,IAAI,KAAK,UACjC,kBAAC,QAAD;EACE,MAAK;EACL,SAAS,EAAiB,QAAQ,IAAI,IAAI;CAC3C,CAAA,GAEF,EAAiB,QAAQ,IAAI,KAAK,QACjC,kBAAC,QAAD;EACE,MAAK;EACL,SAAS,EAAiB,QAAQ,IAAI,IAAI;CAC3C,CAAA,GAEF,EAAiB,QAAQ,IAAI,KAAK,cACjC,kBAAC,QAAD;EACE,MAAK;EACL,SAAS,EAAiB,QAAQ,IAAI,IAAI;CAC3C,CAAA,CAEK,CAEJ,CAER,CAER;AAEN"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { join as e } from "node:path";
|
|
2
|
+
import { existsSync as t } from "node:fs";
|
|
3
|
+
//#region src/core/global-style.ts
|
|
4
|
+
var n = "/src/global.css", r = "src/global.css";
|
|
5
|
+
function i(n) {
|
|
6
|
+
let i = e(n, r);
|
|
7
|
+
return t(i) ? i : null;
|
|
8
|
+
}
|
|
9
|
+
function a(e, t) {
|
|
10
|
+
let n = t.replace(/^\/+/, "");
|
|
11
|
+
return `${e.endsWith("/") ? e : `${e}/`}${n}`;
|
|
12
|
+
}
|
|
13
|
+
function o({ root: e, manifest: t, isProduction: o, base: s }) {
|
|
14
|
+
if (!o) return i(e) ? a(s, n) : null;
|
|
15
|
+
let c = t?.[r]?.file;
|
|
16
|
+
return typeof c == "string" ? a(s, c) : null;
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { o as n, i as t };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=global-style-BhiGjxVU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-style-BhiGjxVU.js","names":[],"sources":["../src/core/global-style.ts"],"sourcesContent":["import { existsSync } from 'node:fs';\nimport { join } from 'node:path';\n\nexport const GLOBAL_STYLE_SOURCE = '/src/global.css';\nexport const GLOBAL_STYLE_MANIFEST_KEY = 'src/global.css';\n\nexport function findGlobalStyleInput(root: string): string | null {\n const absolutePath = join(root, GLOBAL_STYLE_MANIFEST_KEY);\n return existsSync(absolutePath) ? absolutePath : null;\n}\n\nexport function withAssetBase(base: string, assetPath: string): string {\n const cleanPath = assetPath.replace(/^\\/+/, '');\n const normalizedBase = base.endsWith('/') ? base : `${base}/`;\n return `${normalizedBase}${cleanPath}`;\n}\n\nexport function resolveGlobalStyleHref({\n root,\n manifest,\n isProduction,\n base,\n}: {\n root: string;\n manifest?: Record<string, any>;\n isProduction: boolean;\n base: string;\n}): string | null {\n if (!isProduction) {\n return findGlobalStyleInput(root) ? withAssetBase(base, GLOBAL_STYLE_SOURCE) : null;\n }\n\n const file = manifest?.[GLOBAL_STYLE_MANIFEST_KEY]?.file;\n return typeof file === 'string' ? withAssetBase(base, file) : null;\n}\n"],"mappings":";;;AAGA,IAAa,IAAsB,mBACtB,IAA4B;AAEzC,SAAgB,EAAqB,GAA6B;CAChE,IAAM,IAAe,EAAK,GAAM,CAAyB;CACzD,OAAO,EAAW,CAAY,IAAI,IAAe;AACnD;AAEA,SAAgB,EAAc,GAAc,GAA2B;CACrE,IAAM,IAAY,EAAU,QAAQ,QAAQ,EAAE;CAE9C,OAAO,GADgB,EAAK,SAAS,GAAG,IAAI,IAAO,GAAG,EAAK,KAChC;AAC7B;AAEA,SAAgB,EAAuB,EACrC,SACA,aACA,iBACA,WAMgB;CAChB,IAAI,CAAC,GACH,OAAO,EAAqB,CAAI,IAAI,EAAc,GAAM,CAAmB,IAAI;CAGjF,IAAM,IAAO,IAAW,EAA0B,EAAE;CACpD,OAAO,OAAO,KAAS,WAAW,EAAc,GAAM,CAAI,IAAI;AAChE"}
|
package/dist/i18n.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
({ request: o, locale: t }) => (e.locals.locale = t, l(o)),
|
|
6
|
-
d
|
|
7
|
-
));
|
|
1
|
+
import { t as e } from "./defineMiddleware-D017PWDc.js";
|
|
2
|
+
//#region src/i18n/middleware.ts
|
|
3
|
+
function t(t, n) {
|
|
4
|
+
return e((e, r) => t(e.request, ({ request: t, locale: n }) => (e.locals.locale = n, r(t)), n));
|
|
8
5
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
//# sourceMappingURL=i18n.js.map
|
|
6
|
+
//#endregion
|
|
7
|
+
export { t as fromFetchMiddleware };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=i18n.js.map
|
package/dist/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sources":["../src/i18n/middleware.ts"],"sourcesContent":["import { defineMiddleware } from '../middleware/defineMiddleware';\nimport type { MiddlewareHandler } from '../middleware/types';\nimport type { FetchLocaleMiddleware } from './types';\n\n/**\n * Adapt a fetch-based locale middleware — e.g. Paraglide's own\n * `paraglideMiddleware` — into an l5e `MiddlewareHandler`.\n *\n * l5e doesn't ship its own locale-detection/URL-localization logic (strip\n * prefix, cookie, redirect) or its own `getLocale()`: libraries like\n * Paraglide already do both well, including an ambient `getLocale()` backed\n * by their own `AsyncLocalStorage`. This adapter is only the bridge — it\n * hands `context.request` to the library's middleware and, once resolved,\n * (1) continues the chain by calling `next(request)` *synchronously inside*\n * the library's own resolve callback, so the library's `AsyncLocalStorage`\n * scope (already wrapping that callback) naturally extends over the rest of\n * the request — loaders, route handler, every component — meaning the\n * library's own `getLocale()` just works, no bridging needed; and (2) writes\n * the resolved locale onto `context.locals.locale` too, since that's the\n * idiomatic place other l5e code (global-loader's `lang`, cache tags, ...)\n * already reads request-scoped values from — see the `locals` docs.\n *\n * @example\n * ```ts\n * // src/middleware.ts\n * import { sequence } from '@withl5e/l5e/middleware';\n * import { fromFetchMiddleware } from '@withl5e/l5e/i18n';\n * import { paraglideMiddleware } from '~/paraglide/server.js';\n *\n * export const onRequest = sequence(fromFetchMiddleware(paraglideMiddleware));\n *\n * // Anywhere in the app — loaders, components, plain utils:\n * import { getLocale } from '~/paraglide/runtime.js'; // Paraglide's own, ambient\n * ```\n */\nexport function fromFetchMiddleware<TLocale extends string = string, TOptions = unknown>(\n middleware: FetchLocaleMiddleware<TLocale, TOptions>,\n options?: TOptions,\n): MiddlewareHandler {\n return defineMiddleware((context, next) => {\n return middleware(\n context.request,\n ({ request, locale }) => {\n context.locals.locale = locale;\n return next(request);\n },\n options,\n );\n });\n}\n"],"
|
|
1
|
+
{"version":3,"file":"i18n.js","names":[],"sources":["../src/i18n/middleware.ts"],"sourcesContent":["import { defineMiddleware } from '../middleware/defineMiddleware';\nimport type { MiddlewareHandler } from '../middleware/types';\nimport type { FetchLocaleMiddleware } from './types';\n\n/**\n * Adapt a fetch-based locale middleware — e.g. Paraglide's own\n * `paraglideMiddleware` — into an l5e `MiddlewareHandler`.\n *\n * l5e doesn't ship its own locale-detection/URL-localization logic (strip\n * prefix, cookie, redirect) or its own `getLocale()`: libraries like\n * Paraglide already do both well, including an ambient `getLocale()` backed\n * by their own `AsyncLocalStorage`. This adapter is only the bridge — it\n * hands `context.request` to the library's middleware and, once resolved,\n * (1) continues the chain by calling `next(request)` *synchronously inside*\n * the library's own resolve callback, so the library's `AsyncLocalStorage`\n * scope (already wrapping that callback) naturally extends over the rest of\n * the request — loaders, route handler, every component — meaning the\n * library's own `getLocale()` just works, no bridging needed; and (2) writes\n * the resolved locale onto `context.locals.locale` too, since that's the\n * idiomatic place other l5e code (global-loader's `lang`, cache tags, ...)\n * already reads request-scoped values from — see the `locals` docs.\n *\n * @example\n * ```ts\n * // src/middleware.ts\n * import { sequence } from '@withl5e/l5e/middleware';\n * import { fromFetchMiddleware } from '@withl5e/l5e/i18n';\n * import { paraglideMiddleware } from '~/paraglide/server.js';\n *\n * export const onRequest = sequence(fromFetchMiddleware(paraglideMiddleware));\n *\n * // Anywhere in the app — loaders, components, plain utils:\n * import { getLocale } from '~/paraglide/runtime.js'; // Paraglide's own, ambient\n * ```\n */\nexport function fromFetchMiddleware<TLocale extends string = string, TOptions = unknown>(\n middleware: FetchLocaleMiddleware<TLocale, TOptions>,\n options?: TOptions,\n): MiddlewareHandler {\n return defineMiddleware((context, next) => {\n return middleware(\n context.request,\n ({ request, locale }) => {\n context.locals.locale = locale;\n return next(request);\n },\n options,\n );\n });\n}\n"],"mappings":";;AAmCA,SAAgB,EACd,GACA,GACmB;CACnB,OAAO,GAAkB,GAAS,MACzB,EACL,EAAQ,UACP,EAAE,YAAS,iBACV,EAAQ,OAAO,SAAS,GACjB,EAAK,CAAO,IAErB,CACF,CACD;AACH"}
|
package/dist/index.js
CHANGED
|
@@ -1,55 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
export {
|
|
10
|
-
a as BadRequestException,
|
|
11
|
-
p as Fragment,
|
|
12
|
-
c as HEAD_PRIORITY,
|
|
13
|
-
l as Head,
|
|
14
|
-
r as HttpException,
|
|
15
|
-
t as InternalServerErrorException,
|
|
16
|
-
n as NotFoundException,
|
|
17
|
-
o as RedirectException,
|
|
18
|
-
d as ServiceUnavailableException,
|
|
19
|
-
x as addCacheTag,
|
|
20
|
-
m as cloneElement,
|
|
21
|
-
z as coreVite,
|
|
22
|
-
k as createContext,
|
|
23
|
-
L as createServer,
|
|
24
|
-
Y as defineMiddleware,
|
|
25
|
-
G as escapeHTML,
|
|
26
|
-
K as escapeProp,
|
|
27
|
-
g as getCacheTags,
|
|
28
|
-
E as getClientJsEntries,
|
|
29
|
-
u as getCssEntries,
|
|
30
|
-
I as getHeadContent,
|
|
31
|
-
f as getIslandEntries,
|
|
32
|
-
S as getIslandProps,
|
|
33
|
-
C as getSchemas,
|
|
34
|
-
h as getSsrIslands,
|
|
35
|
-
H as isIslandPropsExternalized,
|
|
36
|
-
R as isValidElement,
|
|
37
|
-
v as jsxFactory,
|
|
38
|
-
T as pushIslandProps,
|
|
39
|
-
P as pushMetadata,
|
|
40
|
-
q as pushSchema,
|
|
41
|
-
F as registerIsland,
|
|
42
|
-
M as registerSsrIsland,
|
|
43
|
-
Z as render,
|
|
44
|
-
Q as renderJsxToHtmlString,
|
|
45
|
-
W as renderToRenderedNode,
|
|
46
|
-
N as resolveMetadata,
|
|
47
|
-
b as runInRenderContext,
|
|
48
|
-
A as sequence,
|
|
49
|
-
w as setViewName,
|
|
50
|
-
O as startServer,
|
|
51
|
-
J as useClientJs,
|
|
52
|
-
V as useCss,
|
|
53
|
-
j as useRequest
|
|
54
|
-
};
|
|
55
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
import { i as e, n as t, r as n, t as r } from "./render-hUQUreah.js";
|
|
2
|
+
import { C as i, E as a, S as o, T as s, _ as c, a as l, b as u, c as d, d as f, f as p, g as m, h, i as g, k as _, l as v, m as y, n as b, o as x, p as S, r as C, s as w, t as T, u as E, v as D, w as O, x as k, y as A } from "./jsx-runtime-CI0Jmr-C.js";
|
|
3
|
+
import { a as j, i as M, n as N, o as P, r as F, t as I } from "./exceptions-D4OdiQjY.js";
|
|
4
|
+
import { render as L } from "./entry-server.js";
|
|
5
|
+
import { n as R, t as z } from "./middleware-CnDqZobD.js";
|
|
6
|
+
import { t as B } from "./defineMiddleware-D017PWDc.js";
|
|
7
|
+
import { a as V, n as H } from "./server-5BEwGAL4.js";
|
|
8
|
+
import { coreVite as U } from "./vite-plugin.js";
|
|
9
|
+
export { I as BadRequestException, T as Fragment, _ as HEAD_PRIORITY, b as Head, N as HttpException, F as InternalServerErrorException, M as NotFoundException, j as RedirectException, P as ServiceUnavailableException, C as addCacheTag, g as cloneElement, U as coreVite, z as createContext, H as createServer, B as defineMiddleware, r as escapeHTML, t as escapeProp, l as getCacheTags, x as getClientJsEntries, w as getCssEntries, d as getHeadContent, v as getIslandEntries, E as getIslandProps, f as getSchemas, p as getSsrIslands, S as isIslandPropsExternalized, y as isValidElement, h as jsxFactory, m as pushIslandProps, c as pushMetadata, D as pushSchema, A as registerIsland, u as registerSsrIsland, L as render, n as renderJsxToHtmlString, e as renderToRenderedNode, k as resolveMetadata, o as runInRenderContext, R as sequence, i as setViewName, V as startServer, O as useClientJs, s as useCss, a as useRequest };
|
package/dist/island/client.js
CHANGED