@epic-web/workshop-app 4.7.0 → 4.8.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/build/client/assets/{_exerciseNumber-CFOo2dQj.js → _exerciseNumber-C9e6qKP_.js} +2 -2
- package/build/client/assets/{_exerciseNumber-CFOo2dQj.js.map → _exerciseNumber-C9e6qKP_.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber_.finished-P7xMAtl1.js → _exerciseNumber_.finished-CBTYQuDI.js} +2 -2
- package/build/client/assets/{_exerciseNumber_.finished-P7xMAtl1.js.map → _exerciseNumber_.finished-CBTYQuDI.js.map} +1 -1
- package/build/client/assets/{_layout-Bdd3mpVx.js → _layout-C0aWyWxQ.js} +2 -2
- package/build/client/assets/{_layout-Bdd3mpVx.js.map → _layout-C0aWyWxQ.js.map} +1 -1
- package/build/client/assets/{finished-DP5ynR5u.js → finished-Dc-Db-Wh.js} +2 -2
- package/build/client/assets/{finished-DP5ynR5u.js.map → finished-Dc-Db-Wh.js.map} +1 -1
- package/build/client/assets/{manifest-a1fde59b.js → manifest-3e16f3ae.js} +1 -1
- package/build/client/assets/{root-bgHbi7rA.js → root-BtQ2oAS3.js} +2 -2
- package/build/client/assets/{root-bgHbi7rA.js.map → root-BtQ2oAS3.js.map} +1 -1
- package/build/client/assets/{seo-Bu3_n5my.js → seo-D1KDDD4X.js} +2 -2
- package/build/client/assets/{seo-Bu3_n5my.js.map → seo-D1KDDD4X.js.map} +1 -1
- package/build/server/index.js +210 -95
- package/build/server/index.js.map +1 -1
- package/package.json +5 -4
package/build/server/index.js
CHANGED
|
@@ -86,7 +86,8 @@ import * as esbuild from "esbuild";
|
|
|
86
86
|
import { EventEmitter } from "events";
|
|
87
87
|
import { Issuer } from "openid-client";
|
|
88
88
|
import inspector from "node:inspector";
|
|
89
|
-
import {
|
|
89
|
+
import { Resvg } from "@resvg/resvg-js";
|
|
90
|
+
import satori from "satori";
|
|
90
91
|
function makeTimings(type, desc) {
|
|
91
92
|
const timings = {
|
|
92
93
|
[type]: [{ desc, start: performance.now() }]
|
|
@@ -132,7 +133,7 @@ function getServerTimeHeader(timings) {
|
|
|
132
133
|
}, 0).toFixed(1);
|
|
133
134
|
const desc = timingInfos.map((t) => t.desc).filter(Boolean).join(" & ");
|
|
134
135
|
return [
|
|
135
|
-
key.replaceAll(/(:|
|
|
136
|
+
key.replaceAll(/(:| |@|=|;|,|\/|\\|\{|\})/g, "_"),
|
|
136
137
|
desc ? `desc=${JSON.stringify(desc)}` : null,
|
|
137
138
|
`dur=${dur}`
|
|
138
139
|
].filter(Boolean).join(";");
|
|
@@ -143,20 +144,21 @@ function combineServerTimings(headers1, headers2) {
|
|
|
143
144
|
newHeaders.append("Server-Timing", headers2.get("Server-Timing") ?? "");
|
|
144
145
|
return newHeaders.get("Server-Timing") ?? "";
|
|
145
146
|
}
|
|
146
|
-
function cachifiedTimingReporter(timings) {
|
|
147
|
+
function cachifiedTimingReporter(timings, timingKey) {
|
|
147
148
|
if (!timings) return;
|
|
148
149
|
return ({ key }) => {
|
|
150
|
+
timingKey = timingKey ?? key;
|
|
149
151
|
const cacheRetrievalTimer = createTimer(
|
|
150
|
-
`cache:${
|
|
151
|
-
`${
|
|
152
|
+
`cache:${timingKey}`,
|
|
153
|
+
`${timingKey} cache retrieval`
|
|
152
154
|
);
|
|
153
155
|
let getFreshValueTimer;
|
|
154
156
|
return (event) => {
|
|
155
157
|
switch (event.name) {
|
|
156
158
|
case "getFreshValueStart":
|
|
157
159
|
getFreshValueTimer = createTimer(
|
|
158
|
-
`getFreshValue:${
|
|
159
|
-
`request forced to wait for a fresh ${
|
|
160
|
+
`getFreshValue:${timingKey}`,
|
|
161
|
+
`request forced to wait for a fresh ${timingKey} value`
|
|
160
162
|
);
|
|
161
163
|
break;
|
|
162
164
|
case "getFreshValueSuccess":
|
|
@@ -181,6 +183,7 @@ const compiledMarkdownCache = makeSingletonCache(
|
|
|
181
183
|
);
|
|
182
184
|
const embeddedFilesCache = makeSingletonCache("EmbeddedFilesCache");
|
|
183
185
|
const compiledCodeCache = makeSingletonCache("CompiledCodeCache");
|
|
186
|
+
const ogCache = makeSingletonCache("OgCache");
|
|
184
187
|
const cacheDir$1 = path.join(os.homedir(), ".epicshop", "cache");
|
|
185
188
|
const fsCache = {
|
|
186
189
|
name: "Filesystem cache",
|
|
@@ -241,8 +244,6 @@ async function cachified({
|
|
|
241
244
|
request,
|
|
242
245
|
timings,
|
|
243
246
|
key,
|
|
244
|
-
// TODO: figure out what this was for before...
|
|
245
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
246
247
|
timingKey = key.length > 18 ? `${key.slice(0, 7)}...${key.slice(-8)}` : key,
|
|
247
248
|
...options
|
|
248
249
|
}) {
|
|
@@ -257,7 +258,7 @@ async function cachified({
|
|
|
257
258
|
})
|
|
258
259
|
},
|
|
259
260
|
C.mergeReporters(
|
|
260
|
-
cachifiedTimingReporter(timings),
|
|
261
|
+
cachifiedTimingReporter(timings, timingKey),
|
|
261
262
|
process.env.EPICSHOP_DEBUG_CACHE ? verboseReporter() : void 0
|
|
262
263
|
)
|
|
263
264
|
);
|
|
@@ -2463,7 +2464,7 @@ async function getPresentUsers(user, { timings, request } = {}) {
|
|
|
2463
2464
|
new Promise(
|
|
2464
2465
|
(resolve) => setTimeout(() => {
|
|
2465
2466
|
resolve(new Response("Timeout", { status: 500 }));
|
|
2466
|
-
},
|
|
2467
|
+
}, 500)
|
|
2467
2468
|
)
|
|
2468
2469
|
]);
|
|
2469
2470
|
if (response.statusText === "Timeout") {
|
|
@@ -2484,7 +2485,6 @@ async function getPresentUsers(user, { timings, request } = {}) {
|
|
|
2484
2485
|
}
|
|
2485
2486
|
} catch (error) {
|
|
2486
2487
|
context.metadata.ttl = 300;
|
|
2487
|
-
console.log("aaaaaaaaaaaaaaaaa", error);
|
|
2488
2488
|
return [];
|
|
2489
2489
|
}
|
|
2490
2490
|
}
|
|
@@ -3653,7 +3653,7 @@ function getSeoMetaTags({
|
|
|
3653
3653
|
// to make cache busting possible, whenever the og image changes, we can change the version
|
|
3654
3654
|
// note if the inputs change, then the cache will be busted automatically
|
|
3655
3655
|
// it's only if the image changes that we need to change the version
|
|
3656
|
-
version: "
|
|
3656
|
+
version: "v3"
|
|
3657
3657
|
}).toString(),
|
|
3658
3658
|
ogImageAlt = title
|
|
3659
3659
|
}) {
|
|
@@ -12372,6 +12372,199 @@ const route25 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
12372
12372
|
__proto__: null,
|
|
12373
12373
|
loader: loader$3
|
|
12374
12374
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
12375
|
+
const WIDTH = 1200;
|
|
12376
|
+
const HEIGHT = 630;
|
|
12377
|
+
async function loader$2({ request }) {
|
|
12378
|
+
const timings = makeTimings("og", "og image loader");
|
|
12379
|
+
const url = new URL(request.url);
|
|
12380
|
+
const workshopTitle = await getWorkshopTitle();
|
|
12381
|
+
const title = url.searchParams.get("title") || workshopTitle;
|
|
12382
|
+
const subtitle = url.searchParams.get("subtitle") || await getWorkshopSubtitle();
|
|
12383
|
+
const urlPathname = url.searchParams.get("urlPathname") || "";
|
|
12384
|
+
const element = /* @__PURE__ */ jsx(
|
|
12385
|
+
OgLayout,
|
|
12386
|
+
{
|
|
12387
|
+
request,
|
|
12388
|
+
instructor: await getWorkshopInstructor(),
|
|
12389
|
+
urlPathname,
|
|
12390
|
+
workshopTitle: workshopTitle === title ? null : workshopTitle,
|
|
12391
|
+
children: /* @__PURE__ */ jsxs(
|
|
12392
|
+
"div",
|
|
12393
|
+
{
|
|
12394
|
+
style: {
|
|
12395
|
+
display: "flex",
|
|
12396
|
+
flexDirection: "column",
|
|
12397
|
+
justifyContent: "center",
|
|
12398
|
+
alignItems: "center",
|
|
12399
|
+
height: "100%",
|
|
12400
|
+
width: "100%",
|
|
12401
|
+
color: "white"
|
|
12402
|
+
},
|
|
12403
|
+
children: [
|
|
12404
|
+
/* @__PURE__ */ jsx(
|
|
12405
|
+
"h1",
|
|
12406
|
+
{
|
|
12407
|
+
style: {
|
|
12408
|
+
display: "flex",
|
|
12409
|
+
justifyContent: "center",
|
|
12410
|
+
fontSize: "80px",
|
|
12411
|
+
// https://github.com/vercel/satori/issues/498
|
|
12412
|
+
textWrap: title.includes(" ") ? "balance" : "initial",
|
|
12413
|
+
textAlign: "center",
|
|
12414
|
+
width: "100%"
|
|
12415
|
+
},
|
|
12416
|
+
children: title
|
|
12417
|
+
}
|
|
12418
|
+
),
|
|
12419
|
+
subtitle ? /* @__PURE__ */ jsx(
|
|
12420
|
+
"p",
|
|
12421
|
+
{
|
|
12422
|
+
style: {
|
|
12423
|
+
display: "flex",
|
|
12424
|
+
justifyContent: "center",
|
|
12425
|
+
fontSize: "40px",
|
|
12426
|
+
// https://github.com/vercel/satori/issues/498
|
|
12427
|
+
textWrap: subtitle.includes(" ") ? "balance" : "initial",
|
|
12428
|
+
textAlign: "center",
|
|
12429
|
+
width: "100%"
|
|
12430
|
+
},
|
|
12431
|
+
children: subtitle
|
|
12432
|
+
}
|
|
12433
|
+
) : null
|
|
12434
|
+
]
|
|
12435
|
+
}
|
|
12436
|
+
)
|
|
12437
|
+
}
|
|
12438
|
+
);
|
|
12439
|
+
const renderHtml = url.searchParams.get("html");
|
|
12440
|
+
if (renderHtml === "true") {
|
|
12441
|
+
return new Response(renderToStaticMarkup(element), {
|
|
12442
|
+
headers: { "Content-Type": "text/html" }
|
|
12443
|
+
});
|
|
12444
|
+
}
|
|
12445
|
+
const debug = url.searchParams.get("debug") === "true";
|
|
12446
|
+
try {
|
|
12447
|
+
const ogImg = await cachified({
|
|
12448
|
+
request,
|
|
12449
|
+
timings,
|
|
12450
|
+
timingKey: "og-image",
|
|
12451
|
+
forceFresh: debug || url.searchParams.get("fresh") === "true",
|
|
12452
|
+
key: request.url,
|
|
12453
|
+
cache: ogCache,
|
|
12454
|
+
ttl: 1e3 * 60 * 60 * 24 * 7,
|
|
12455
|
+
staleWhileRevalidate: 1e3 * 60 * 60 * 24 * 365,
|
|
12456
|
+
getFreshValue: async () => {
|
|
12457
|
+
return await getOgImg(element, { request, timings });
|
|
12458
|
+
}
|
|
12459
|
+
});
|
|
12460
|
+
return new Response(ogImg, {
|
|
12461
|
+
headers: {
|
|
12462
|
+
"Content-Type": "image/png",
|
|
12463
|
+
"Server-Timing": timings.toString()
|
|
12464
|
+
}
|
|
12465
|
+
});
|
|
12466
|
+
} catch (error) {
|
|
12467
|
+
return new Response(getErrorMessage(error), {
|
|
12468
|
+
status: 500,
|
|
12469
|
+
headers: { "Server-Timing": timings.toString() }
|
|
12470
|
+
});
|
|
12471
|
+
}
|
|
12472
|
+
}
|
|
12473
|
+
async function getOgImg(jsx2, { request, timings }) {
|
|
12474
|
+
const url = new URL(request.url);
|
|
12475
|
+
const svg = await satori(jsx2, {
|
|
12476
|
+
width: WIDTH,
|
|
12477
|
+
height: HEIGHT,
|
|
12478
|
+
debug: url.searchParams.get("debug") === "true",
|
|
12479
|
+
fonts: await Promise.all([
|
|
12480
|
+
getFont({ font: "Josefin Sans", request, timings })
|
|
12481
|
+
]).then((fonts) => fonts.flat()),
|
|
12482
|
+
loadAdditionalAsset: async (code, segment) => {
|
|
12483
|
+
if (code === "emoji") {
|
|
12484
|
+
const svg2 = await getEmoji(segment, { request, timings });
|
|
12485
|
+
if (!svg2) return "";
|
|
12486
|
+
const base64 = Buffer.from(svg2).toString("base64");
|
|
12487
|
+
return `data:image/svg+xml;base64,${base64}`;
|
|
12488
|
+
}
|
|
12489
|
+
console.error(`Unhandled asset code: "${code}" for segment "${segment}"`);
|
|
12490
|
+
return "";
|
|
12491
|
+
}
|
|
12492
|
+
});
|
|
12493
|
+
const resvg = new Resvg(svg);
|
|
12494
|
+
const pngData = resvg.render();
|
|
12495
|
+
const data = pngData.asPng();
|
|
12496
|
+
return data;
|
|
12497
|
+
}
|
|
12498
|
+
async function getEmoji(emoji2, { request, timings }) {
|
|
12499
|
+
const emojiCode = emojiToCodePoints(emoji2);
|
|
12500
|
+
if (!emojiCode) return null;
|
|
12501
|
+
const emojiUrl = `https://cdn.jsdelivr.net/gh/jdecked/twemoji@15/assets/svg/${emojiCode}.svg`;
|
|
12502
|
+
return cachified({
|
|
12503
|
+
cache: ogCache,
|
|
12504
|
+
key: emojiUrl,
|
|
12505
|
+
request,
|
|
12506
|
+
timings,
|
|
12507
|
+
timingKey: `loading ${emojiCode}`,
|
|
12508
|
+
getFreshValue: async () => {
|
|
12509
|
+
const response = await fetch(emojiUrl);
|
|
12510
|
+
return response.text();
|
|
12511
|
+
}
|
|
12512
|
+
});
|
|
12513
|
+
}
|
|
12514
|
+
function emojiToCodePoints(emoji2) {
|
|
12515
|
+
const codePoints = [];
|
|
12516
|
+
for (let i = 0; i < emoji2.length; i++) {
|
|
12517
|
+
const codePoint = emoji2.codePointAt(i);
|
|
12518
|
+
if (!codePoint) continue;
|
|
12519
|
+
codePoints.push(codePoint.toString(16));
|
|
12520
|
+
if (codePoint > 65535) {
|
|
12521
|
+
i++;
|
|
12522
|
+
}
|
|
12523
|
+
}
|
|
12524
|
+
return codePoints.join("-");
|
|
12525
|
+
}
|
|
12526
|
+
async function getFont({
|
|
12527
|
+
font,
|
|
12528
|
+
weights = [200, 300, 400, 500, 600, 700],
|
|
12529
|
+
timings,
|
|
12530
|
+
request
|
|
12531
|
+
}) {
|
|
12532
|
+
const weightsString = weights.join(";");
|
|
12533
|
+
const fetchUrl = `https://fonts.googleapis.com/css2?family=${font}:wght@${weightsString}`;
|
|
12534
|
+
const css = await cachified({
|
|
12535
|
+
key: fetchUrl,
|
|
12536
|
+
cache: ogCache,
|
|
12537
|
+
timings,
|
|
12538
|
+
timingKey: `font-${font}`,
|
|
12539
|
+
request,
|
|
12540
|
+
getFreshValue: async () => {
|
|
12541
|
+
return fetch(fetchUrl, {
|
|
12542
|
+
headers: {
|
|
12543
|
+
// Make sure it returns TTF.
|
|
12544
|
+
"User-Agent": "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; de-at) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1"
|
|
12545
|
+
}
|
|
12546
|
+
}).then((response) => response.text());
|
|
12547
|
+
}
|
|
12548
|
+
});
|
|
12549
|
+
const resource = css.matchAll(
|
|
12550
|
+
/src: url\((.+)\) format\('(opentype|truetype)'\)/g
|
|
12551
|
+
);
|
|
12552
|
+
return Promise.all(
|
|
12553
|
+
[...resource].map((match) => match[1]).map((url) => {
|
|
12554
|
+
invariant(
|
|
12555
|
+
url,
|
|
12556
|
+
() => `Expected a URL to be parsed from the google font:
|
|
12557
|
+
${css}`
|
|
12558
|
+
);
|
|
12559
|
+
return fetch(url).then((response) => response.arrayBuffer());
|
|
12560
|
+
}).map(async (buffer, i) => ({
|
|
12561
|
+
name: font,
|
|
12562
|
+
style: "normal",
|
|
12563
|
+
weight: weights[i],
|
|
12564
|
+
data: await buffer
|
|
12565
|
+
}))
|
|
12566
|
+
);
|
|
12567
|
+
}
|
|
12375
12568
|
const epicWebLogo = /* @__PURE__ */ jsxs(
|
|
12376
12569
|
"svg",
|
|
12377
12570
|
{
|
|
@@ -12443,8 +12636,6 @@ const epicWebLogo = /* @__PURE__ */ jsxs(
|
|
|
12443
12636
|
]
|
|
12444
12637
|
}
|
|
12445
12638
|
);
|
|
12446
|
-
const WIDTH = 1200;
|
|
12447
|
-
const HEIGHT = 630;
|
|
12448
12639
|
function OgLayout({
|
|
12449
12640
|
instructor,
|
|
12450
12641
|
children,
|
|
@@ -12458,11 +12649,11 @@ function OgLayout({
|
|
|
12458
12649
|
"div",
|
|
12459
12650
|
{
|
|
12460
12651
|
style: {
|
|
12461
|
-
|
|
12652
|
+
fontFamily: "Josefin Sans",
|
|
12462
12653
|
display: "flex",
|
|
12463
12654
|
flexDirection: "column",
|
|
12464
|
-
width:
|
|
12465
|
-
height:
|
|
12655
|
+
width: "100%",
|
|
12656
|
+
height: "100%",
|
|
12466
12657
|
position: "relative"
|
|
12467
12658
|
},
|
|
12468
12659
|
children: [
|
|
@@ -12568,82 +12759,6 @@ function OgLayout({
|
|
|
12568
12759
|
}
|
|
12569
12760
|
);
|
|
12570
12761
|
}
|
|
12571
|
-
async function loader$2({ request }) {
|
|
12572
|
-
const url = new URL(request.url);
|
|
12573
|
-
const workshopTitle = await getWorkshopTitle();
|
|
12574
|
-
const title = url.searchParams.get("title") || workshopTitle;
|
|
12575
|
-
const subtitle = url.searchParams.get("subtitle") || await getWorkshopSubtitle();
|
|
12576
|
-
const urlPathname = url.searchParams.get("urlPathname") || "";
|
|
12577
|
-
const element = /* @__PURE__ */ jsx(
|
|
12578
|
-
OgLayout,
|
|
12579
|
-
{
|
|
12580
|
-
request,
|
|
12581
|
-
instructor: await getWorkshopInstructor(),
|
|
12582
|
-
urlPathname,
|
|
12583
|
-
workshopTitle: workshopTitle === title ? null : workshopTitle,
|
|
12584
|
-
children: /* @__PURE__ */ jsxs(
|
|
12585
|
-
"div",
|
|
12586
|
-
{
|
|
12587
|
-
style: {
|
|
12588
|
-
display: "flex",
|
|
12589
|
-
flexDirection: "column",
|
|
12590
|
-
justifyContent: "center",
|
|
12591
|
-
alignItems: "center",
|
|
12592
|
-
height: "100%",
|
|
12593
|
-
width: "100%",
|
|
12594
|
-
color: "white"
|
|
12595
|
-
},
|
|
12596
|
-
children: [
|
|
12597
|
-
/* @__PURE__ */ jsx(
|
|
12598
|
-
"h1",
|
|
12599
|
-
{
|
|
12600
|
-
style: {
|
|
12601
|
-
display: "flex",
|
|
12602
|
-
justifyContent: "center",
|
|
12603
|
-
fontSize: "80px",
|
|
12604
|
-
// https://github.com/vercel/satori/issues/498
|
|
12605
|
-
textWrap: title.includes(" ") ? "balance" : "initial",
|
|
12606
|
-
textAlign: "center",
|
|
12607
|
-
width: "100%"
|
|
12608
|
-
},
|
|
12609
|
-
children: title
|
|
12610
|
-
}
|
|
12611
|
-
),
|
|
12612
|
-
subtitle ? /* @__PURE__ */ jsx(
|
|
12613
|
-
"p",
|
|
12614
|
-
{
|
|
12615
|
-
style: {
|
|
12616
|
-
display: "flex",
|
|
12617
|
-
justifyContent: "center",
|
|
12618
|
-
fontSize: "40px",
|
|
12619
|
-
// https://github.com/vercel/satori/issues/498
|
|
12620
|
-
textWrap: subtitle.includes(" ") ? "balance" : "initial",
|
|
12621
|
-
textAlign: "center",
|
|
12622
|
-
width: "100%"
|
|
12623
|
-
},
|
|
12624
|
-
children: subtitle
|
|
12625
|
-
}
|
|
12626
|
-
) : null
|
|
12627
|
-
]
|
|
12628
|
-
}
|
|
12629
|
-
)
|
|
12630
|
-
}
|
|
12631
|
-
);
|
|
12632
|
-
if (url.searchParams.get("html") === "true") {
|
|
12633
|
-
return new Response(renderToStaticMarkup(element), {
|
|
12634
|
-
headers: { "Content-Type": "text/html" }
|
|
12635
|
-
});
|
|
12636
|
-
}
|
|
12637
|
-
try {
|
|
12638
|
-
return new ImageResponse(element, {
|
|
12639
|
-
width: 1200,
|
|
12640
|
-
height: 630,
|
|
12641
|
-
debug: url.searchParams.get("debug") === "true"
|
|
12642
|
-
});
|
|
12643
|
-
} catch (error) {
|
|
12644
|
-
return new Response(getErrorMessage(error), { status: 500 });
|
|
12645
|
-
}
|
|
12646
|
-
}
|
|
12647
12762
|
const route28 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
12648
12763
|
__proto__: null,
|
|
12649
12764
|
loader: loader$2
|
|
@@ -12715,7 +12830,7 @@ const route30 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
12715
12830
|
__proto__: null,
|
|
12716
12831
|
loader
|
|
12717
12832
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
12718
|
-
const serverManifest = { "entry": { "module": "/assets/entry.client-B0vV2fsa.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-BMzmvxYw.js"], "css": [] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/root-bgHbi7rA.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-BMzmvxYw.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-CypjEQkt.js", "/assets/request-info-CUT0ULYN.js", "/assets/tooltip-CfmIzAYi.js", "/assets/client-hints-BE5mB4r0.js", "/assets/error-boundary-DxfVshQ5.js", "/assets/progress-bar-DCrt7X4t.js", "/assets/index-Doi37489.js", "/assets/index-90bzTYUX.js", "/assets/presence-DXXVJbaH.js", "/assets/seo-Bu3_n5my.js"], "css": [] }, "routes/$": { "id": "routes/$", "parentId": "root", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_-Bd2gNcck.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/misc-CypjEQkt.js", "/assets/error-boundary-DxfVshQ5.js"], "css": [] }, "routes/_app+/_layout": { "id": "routes/_app+/_layout", "parentId": "root", "path": void 0, "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-DHBLG7Ti.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/misc-CypjEQkt.js", "/assets/tooltip-CfmIzAYi.js", "/assets/request-info-CUT0ULYN.js", "/assets/client-hints-BE5mB4r0.js", "/assets/index-4E9_Sx3m.js", "/assets/user-C4QTtQw5.js", "/assets/presence-DXXVJbaH.js", "/assets/progress-B_mReZVE.js", "/assets/index-90bzTYUX.js"], "css": [] }, "routes/_app+/_exercises+/_layout": { "id": "routes/_app+/_exercises+/_layout", "parentId": "routes/_app+/_layout", "path": void 0, "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-DaZNLfOL.js", "imports": ["/assets/index-Czg1ruVn.js"], "css": [] }, "routes/_app+/_exercises+/$exerciseNumber": { "id": "routes/_app+/_exercises+/$exerciseNumber", "parentId": "routes/_app+/_exercises+/_layout", "path": ":exerciseNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-CFOo2dQj.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-BMzmvxYw.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-CypjEQkt.js", "/assets/request-info-CUT0ULYN.js", "/assets/tooltip-CfmIzAYi.js", "/assets/client-hints-BE5mB4r0.js", "/assets/index-90bzTYUX.js", "/assets/loading-CNWJVymJ.js", "/assets/epic-video-CYnG2ziQ.js", "/assets/progress-bar-DCrt7X4t.js", "/assets/index-D6ukHE4T.js", "/assets/mdx-CR7Me1v_.js", "/assets/progress-B_mReZVE.js", "/assets/seo-Bu3_n5my.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber": { "id": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber", "parentId": "routes/_app+/_exercises+/_layout", "path": ":exerciseNumber/:stepNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber-DCbWNWpZ.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/misc-CypjEQkt.js"], "css": [] }, "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber", "path": ":type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_layout-Bdd3mpVx.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/misc-CypjEQkt.js", "/assets/tooltip-CfmIzAYi.js", "/assets/request-info-CUT0ULYN.js", "/assets/client-hints-BE5mB4r0.js", "/assets/index-90bzTYUX.js", "/assets/loading-CNWJVymJ.js", "/assets/epic-video-CYnG2ziQ.js", "/assets/progress-bar-DCrt7X4t.js", "/assets/index-4E9_Sx3m.js", "/assets/mdx-CR7Me1v_.js", "/assets/user-C4QTtQw5.js", "/assets/index-D6ukHE4T.js", "/assets/diff-P5f7-8E4.js", "/assets/error-boundary-DxfVshQ5.js", "/assets/nav-chevrons-BYKwyIgG.js", "/assets/progress-B_mReZVE.js", "/assets/seo-Bu3_n5my.js", "/assets/discord-COPE8EOZ.js", "/assets/index-Doi37489.js", "/assets/button-CyZl24U2.js", "/assets/use-event-source-ySol3hbz.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/_exercises+/$exerciseNumber_.finished": { "id": "routes/_app+/_exercises+/$exerciseNumber_.finished", "parentId": "routes/_app+/_exercises+/_layout", "path": ":exerciseNumber/finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-P7xMAtl1.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-BMzmvxYw.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-CypjEQkt.js", "/assets/request-info-CUT0ULYN.js", "/assets/tooltip-CfmIzAYi.js", "/assets/client-hints-BE5mB4r0.js", "/assets/index-90bzTYUX.js", "/assets/loading-CNWJVymJ.js", "/assets/epic-video-CYnG2ziQ.js", "/assets/progress-bar-DCrt7X4t.js", "/assets/index-D6ukHE4T.js", "/assets/nav-chevrons-BYKwyIgG.js", "/assets/mdx-CR7Me1v_.js", "/assets/progress-B_mReZVE.js", "/assets/seo-Bu3_n5my.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/account": { "id": "routes/_app+/account", "parentId": "routes/_app+/_layout", "path": "account", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/account-CnLkZd_O.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/request-info-CUT0ULYN.js", "/assets/button-CyZl24U2.js", "/assets/misc-CypjEQkt.js", "/assets/user-C4QTtQw5.js", "/assets/presence-DXXVJbaH.js"], "css": [] }, "routes/_app+/app.$appName+/$": { "id": "routes/_app+/app.$appName+/$", "parentId": "routes/_app+/_layout", "path": "app/:appName/*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/api.$": { "id": "routes/_app+/app.$appName+/api.$", "parentId": "routes/_app+/_layout", "path": "app/:appName/api/*", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/api._-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/epic_ws[.js]": { "id": "routes/_app+/app.$appName+/epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/index": { "id": "routes/_app+/app.$appName+/index", "parentId": "routes/_app+/_layout", "path": "app/:appName/", "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-K6Dvbx-E.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.$testName": { "id": "routes/_app+/app.$appName+/test.$testName", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/:testName", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test._testName-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/discord": { "id": "routes/_app+/discord", "parentId": "routes/_app+/_layout", "path": "discord", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord-DIog7bBO.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/misc-CypjEQkt.js", "/assets/user-C4QTtQw5.js", "/assets/discord-COPE8EOZ.js"], "css": [] }, "routes/_app+/finished": { "id": "routes/_app+/finished", "parentId": "routes/_app+/_layout", "path": "finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/finished-DP5ynR5u.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-BMzmvxYw.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-CypjEQkt.js", "/assets/request-info-CUT0ULYN.js", "/assets/tooltip-CfmIzAYi.js", "/assets/client-hints-BE5mB4r0.js", "/assets/index-90bzTYUX.js", "/assets/loading-CNWJVymJ.js", "/assets/epic-video-CYnG2ziQ.js", "/assets/progress-bar-DCrt7X4t.js", "/assets/index-D6ukHE4T.js", "/assets/nav-chevrons-BYKwyIgG.js", "/assets/mdx-CR7Me1v_.js", "/assets/seo-Bu3_n5my.js", "/assets/progress-B_mReZVE.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/index": { "id": "routes/_app+/index", "parentId": "routes/_app+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-BXefr1BB.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-BMzmvxYw.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-CypjEQkt.js", "/assets/request-info-CUT0ULYN.js", "/assets/tooltip-CfmIzAYi.js", "/assets/client-hints-BE5mB4r0.js", "/assets/index-90bzTYUX.js", "/assets/loading-CNWJVymJ.js", "/assets/epic-video-CYnG2ziQ.js", "/assets/progress-bar-DCrt7X4t.js", "/assets/index-D6ukHE4T.js", "/assets/error-boundary-DxfVshQ5.js", "/assets/mdx-CR7Me1v_.js", "/assets/progress-B_mReZVE.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/login": { "id": "routes/_app+/login", "parentId": "routes/_app+/_layout", "path": "login", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-DxG854vQ.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/request-info-CUT0ULYN.js", "/assets/client-hints-BE5mB4r0.js", "/assets/use-event-source-ySol3hbz.js", "/assets/button-CyZl24U2.js", "/assets/loading-CNWJVymJ.js"], "css": [] }, "routes/_app+/support": { "id": "routes/_app+/support", "parentId": "routes/_app+/_layout", "path": "support", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/support-DrY-qRGh.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-BMzmvxYw.js"], "css": [] }, "routes/admin+/_layout": { "id": "routes/admin+/_layout", "parentId": "root", "path": "admin", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-rEQoj43V.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/misc-CypjEQkt.js", "/assets/tooltip-CfmIzAYi.js", "/assets/progress-B_mReZVE.js"], "css": [] }, "routes/admin+/apps": { "id": "routes/admin+/apps", "parentId": "routes/admin+/_layout", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/apps": { "id": "routes/apps", "parentId": "root", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-DP2rzg_V.js", "imports": [], "css": [] }, "routes/diff": { "id": "routes/diff", "parentId": "root", "path": "diff", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/diff-PfwTHr6-.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/misc-CypjEQkt.js", "/assets/tooltip-CfmIzAYi.js", "/assets/request-info-CUT0ULYN.js", "/assets/client-hints-BE5mB4r0.js", "/assets/index-90bzTYUX.js", "/assets/loading-CNWJVymJ.js", "/assets/epic-video-CYnG2ziQ.js", "/assets/progress-bar-DCrt7X4t.js", "/assets/index-4E9_Sx3m.js", "/assets/mdx-CR7Me1v_.js", "/assets/diff-P5f7-8E4.js", "/assets/nav-chevrons-BYKwyIgG.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/discord.callback": { "id": "routes/discord.callback", "parentId": "root", "path": "discord/callback", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord.callback-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/exercises": { "id": "routes/exercises", "parentId": "root", "path": "exercises", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/exercises-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/launch-editor": { "id": "routes/launch-editor", "parentId": "root", "path": "launch-editor", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/launch-editor-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/login-sse": { "id": "routes/login-sse", "parentId": "root", "path": "login-sse", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-sse-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/og": { "id": "routes/og", "parentId": "root", "path": "og", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/og-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/onboarding": { "id": "routes/onboarding", "parentId": "root", "path": "onboarding", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/onboarding-b9lcdh4n.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/misc-CypjEQkt.js", "/assets/request-info-CUT0ULYN.js", "/assets/tooltip-CfmIzAYi.js", "/assets/client-hints-BE5mB4r0.js", "/assets/index-90bzTYUX.js", "/assets/loading-CNWJVymJ.js", "/assets/button-CyZl24U2.js", "/assets/epic-video-CYnG2ziQ.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/processes": { "id": "routes/processes", "parentId": "root", "path": "processes", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/processes-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/progress": { "id": "routes/progress", "parentId": "root", "path": "progress", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/progress-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/set-playground": { "id": "routes/set-playground", "parentId": "root", "path": "set-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/set-playground-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/start": { "id": "routes/start", "parentId": "root", "path": "start", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/start-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/test": { "id": "routes/test", "parentId": "root", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/theme/index": { "id": "routes/theme/index", "parentId": "root", "path": "theme", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/update-mdx-cache": { "id": "routes/update-mdx-cache", "parentId": "root", "path": "update-mdx-cache", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/update-mdx-cache-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/video-player/index": { "id": "routes/video-player/index", "parentId": "root", "path": "video-player", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-DP2rzg_V.js", "imports": [], "css": [] } }, "url": "/assets/manifest-a1fde59b.js", "version": "a1fde59b" };
|
|
12833
|
+
const serverManifest = { "entry": { "module": "/assets/entry.client-B0vV2fsa.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-BMzmvxYw.js"], "css": [] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/root-BtQ2oAS3.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-BMzmvxYw.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-CypjEQkt.js", "/assets/request-info-CUT0ULYN.js", "/assets/tooltip-CfmIzAYi.js", "/assets/client-hints-BE5mB4r0.js", "/assets/error-boundary-DxfVshQ5.js", "/assets/progress-bar-DCrt7X4t.js", "/assets/index-Doi37489.js", "/assets/index-90bzTYUX.js", "/assets/presence-DXXVJbaH.js", "/assets/seo-D1KDDD4X.js"], "css": [] }, "routes/$": { "id": "routes/$", "parentId": "root", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_-Bd2gNcck.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/misc-CypjEQkt.js", "/assets/error-boundary-DxfVshQ5.js"], "css": [] }, "routes/_app+/_layout": { "id": "routes/_app+/_layout", "parentId": "root", "path": void 0, "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-DHBLG7Ti.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/misc-CypjEQkt.js", "/assets/tooltip-CfmIzAYi.js", "/assets/request-info-CUT0ULYN.js", "/assets/client-hints-BE5mB4r0.js", "/assets/index-4E9_Sx3m.js", "/assets/user-C4QTtQw5.js", "/assets/presence-DXXVJbaH.js", "/assets/progress-B_mReZVE.js", "/assets/index-90bzTYUX.js"], "css": [] }, "routes/_app+/_exercises+/_layout": { "id": "routes/_app+/_exercises+/_layout", "parentId": "routes/_app+/_layout", "path": void 0, "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-DaZNLfOL.js", "imports": ["/assets/index-Czg1ruVn.js"], "css": [] }, "routes/_app+/_exercises+/$exerciseNumber": { "id": "routes/_app+/_exercises+/$exerciseNumber", "parentId": "routes/_app+/_exercises+/_layout", "path": ":exerciseNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-C9e6qKP_.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-BMzmvxYw.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-CypjEQkt.js", "/assets/request-info-CUT0ULYN.js", "/assets/tooltip-CfmIzAYi.js", "/assets/client-hints-BE5mB4r0.js", "/assets/index-90bzTYUX.js", "/assets/loading-CNWJVymJ.js", "/assets/epic-video-CYnG2ziQ.js", "/assets/progress-bar-DCrt7X4t.js", "/assets/index-D6ukHE4T.js", "/assets/mdx-CR7Me1v_.js", "/assets/progress-B_mReZVE.js", "/assets/seo-D1KDDD4X.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber": { "id": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber", "parentId": "routes/_app+/_exercises+/_layout", "path": ":exerciseNumber/:stepNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber-DCbWNWpZ.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/misc-CypjEQkt.js"], "css": [] }, "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber", "path": ":type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_layout-C0aWyWxQ.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/misc-CypjEQkt.js", "/assets/tooltip-CfmIzAYi.js", "/assets/request-info-CUT0ULYN.js", "/assets/client-hints-BE5mB4r0.js", "/assets/index-90bzTYUX.js", "/assets/loading-CNWJVymJ.js", "/assets/epic-video-CYnG2ziQ.js", "/assets/progress-bar-DCrt7X4t.js", "/assets/index-4E9_Sx3m.js", "/assets/mdx-CR7Me1v_.js", "/assets/user-C4QTtQw5.js", "/assets/index-D6ukHE4T.js", "/assets/diff-P5f7-8E4.js", "/assets/error-boundary-DxfVshQ5.js", "/assets/nav-chevrons-BYKwyIgG.js", "/assets/progress-B_mReZVE.js", "/assets/seo-D1KDDD4X.js", "/assets/discord-COPE8EOZ.js", "/assets/index-Doi37489.js", "/assets/button-CyZl24U2.js", "/assets/use-event-source-ySol3hbz.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/_exercises+/$exerciseNumber_.finished": { "id": "routes/_app+/_exercises+/$exerciseNumber_.finished", "parentId": "routes/_app+/_exercises+/_layout", "path": ":exerciseNumber/finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-CBTYQuDI.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-BMzmvxYw.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-CypjEQkt.js", "/assets/request-info-CUT0ULYN.js", "/assets/tooltip-CfmIzAYi.js", "/assets/client-hints-BE5mB4r0.js", "/assets/index-90bzTYUX.js", "/assets/loading-CNWJVymJ.js", "/assets/epic-video-CYnG2ziQ.js", "/assets/progress-bar-DCrt7X4t.js", "/assets/index-D6ukHE4T.js", "/assets/nav-chevrons-BYKwyIgG.js", "/assets/mdx-CR7Me1v_.js", "/assets/progress-B_mReZVE.js", "/assets/seo-D1KDDD4X.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/account": { "id": "routes/_app+/account", "parentId": "routes/_app+/_layout", "path": "account", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/account-CnLkZd_O.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/request-info-CUT0ULYN.js", "/assets/button-CyZl24U2.js", "/assets/misc-CypjEQkt.js", "/assets/user-C4QTtQw5.js", "/assets/presence-DXXVJbaH.js"], "css": [] }, "routes/_app+/app.$appName+/$": { "id": "routes/_app+/app.$appName+/$", "parentId": "routes/_app+/_layout", "path": "app/:appName/*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/api.$": { "id": "routes/_app+/app.$appName+/api.$", "parentId": "routes/_app+/_layout", "path": "app/:appName/api/*", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/api._-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/epic_ws[.js]": { "id": "routes/_app+/app.$appName+/epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/index": { "id": "routes/_app+/app.$appName+/index", "parentId": "routes/_app+/_layout", "path": "app/:appName/", "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.$testName": { "id": "routes/_app+/app.$appName+/test.$testName", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/:testName", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test._testName-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/discord": { "id": "routes/_app+/discord", "parentId": "routes/_app+/_layout", "path": "discord", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord-DIog7bBO.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/misc-CypjEQkt.js", "/assets/user-C4QTtQw5.js", "/assets/discord-COPE8EOZ.js"], "css": [] }, "routes/_app+/finished": { "id": "routes/_app+/finished", "parentId": "routes/_app+/_layout", "path": "finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/finished-Dc-Db-Wh.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-BMzmvxYw.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-CypjEQkt.js", "/assets/request-info-CUT0ULYN.js", "/assets/tooltip-CfmIzAYi.js", "/assets/client-hints-BE5mB4r0.js", "/assets/index-90bzTYUX.js", "/assets/loading-CNWJVymJ.js", "/assets/epic-video-CYnG2ziQ.js", "/assets/progress-bar-DCrt7X4t.js", "/assets/index-D6ukHE4T.js", "/assets/nav-chevrons-BYKwyIgG.js", "/assets/mdx-CR7Me1v_.js", "/assets/seo-D1KDDD4X.js", "/assets/progress-B_mReZVE.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/index": { "id": "routes/_app+/index", "parentId": "routes/_app+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-BXefr1BB.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-BMzmvxYw.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-CypjEQkt.js", "/assets/request-info-CUT0ULYN.js", "/assets/tooltip-CfmIzAYi.js", "/assets/client-hints-BE5mB4r0.js", "/assets/index-90bzTYUX.js", "/assets/loading-CNWJVymJ.js", "/assets/epic-video-CYnG2ziQ.js", "/assets/progress-bar-DCrt7X4t.js", "/assets/index-D6ukHE4T.js", "/assets/error-boundary-DxfVshQ5.js", "/assets/mdx-CR7Me1v_.js", "/assets/progress-B_mReZVE.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/login": { "id": "routes/_app+/login", "parentId": "routes/_app+/_layout", "path": "login", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-DxG854vQ.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/request-info-CUT0ULYN.js", "/assets/client-hints-BE5mB4r0.js", "/assets/use-event-source-ySol3hbz.js", "/assets/button-CyZl24U2.js", "/assets/loading-CNWJVymJ.js"], "css": [] }, "routes/_app+/support": { "id": "routes/_app+/support", "parentId": "routes/_app+/_layout", "path": "support", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/support-DrY-qRGh.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-BMzmvxYw.js"], "css": [] }, "routes/admin+/_layout": { "id": "routes/admin+/_layout", "parentId": "root", "path": "admin", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-rEQoj43V.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/misc-CypjEQkt.js", "/assets/tooltip-CfmIzAYi.js", "/assets/progress-B_mReZVE.js"], "css": [] }, "routes/admin+/apps": { "id": "routes/admin+/apps", "parentId": "routes/admin+/_layout", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/apps": { "id": "routes/apps", "parentId": "root", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-DP2rzg_V.js", "imports": [], "css": [] }, "routes/diff": { "id": "routes/diff", "parentId": "root", "path": "diff", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/diff-PfwTHr6-.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/misc-CypjEQkt.js", "/assets/tooltip-CfmIzAYi.js", "/assets/request-info-CUT0ULYN.js", "/assets/client-hints-BE5mB4r0.js", "/assets/index-90bzTYUX.js", "/assets/loading-CNWJVymJ.js", "/assets/epic-video-CYnG2ziQ.js", "/assets/progress-bar-DCrt7X4t.js", "/assets/index-4E9_Sx3m.js", "/assets/mdx-CR7Me1v_.js", "/assets/diff-P5f7-8E4.js", "/assets/nav-chevrons-BYKwyIgG.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/discord.callback": { "id": "routes/discord.callback", "parentId": "root", "path": "discord/callback", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord.callback-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/exercises": { "id": "routes/exercises", "parentId": "root", "path": "exercises", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/exercises-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/launch-editor": { "id": "routes/launch-editor", "parentId": "root", "path": "launch-editor", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/launch-editor-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/login-sse": { "id": "routes/login-sse", "parentId": "root", "path": "login-sse", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-sse-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/og": { "id": "routes/og", "parentId": "root", "path": "og", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/og-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/onboarding": { "id": "routes/onboarding", "parentId": "root", "path": "onboarding", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/onboarding-b9lcdh4n.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-BMzmvxYw.js", "/assets/misc-CypjEQkt.js", "/assets/request-info-CUT0ULYN.js", "/assets/tooltip-CfmIzAYi.js", "/assets/client-hints-BE5mB4r0.js", "/assets/index-90bzTYUX.js", "/assets/loading-CNWJVymJ.js", "/assets/button-CyZl24U2.js", "/assets/epic-video-CYnG2ziQ.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/processes": { "id": "routes/processes", "parentId": "root", "path": "processes", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/processes-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/progress": { "id": "routes/progress", "parentId": "root", "path": "progress", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/progress-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/set-playground": { "id": "routes/set-playground", "parentId": "root", "path": "set-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/set-playground-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/start": { "id": "routes/start", "parentId": "root", "path": "start", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/start-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/test": { "id": "routes/test", "parentId": "root", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/theme/index": { "id": "routes/theme/index", "parentId": "root", "path": "theme", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-DP2rzg_V.js", "imports": [], "css": [] }, "routes/update-mdx-cache": { "id": "routes/update-mdx-cache", "parentId": "root", "path": "update-mdx-cache", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/update-mdx-cache-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/video-player/index": { "id": "routes/video-player/index", "parentId": "root", "path": "video-player", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-K6Dvbx-E.js", "imports": [], "css": [] } }, "url": "/assets/manifest-3e16f3ae.js", "version": "3e16f3ae" };
|
|
12719
12834
|
const mode = "production";
|
|
12720
12835
|
const assetsBuildDirectory = "build/client";
|
|
12721
12836
|
const basename = "/";
|