@epic-web/workshop-app 4.16.2 → 4.17.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.
@@ -21,7 +21,7 @@ import "@total-typescript/ts-reset";
21
21
  import { execaCommand, execa } from "execa";
22
22
  import { glob } from "glob";
23
23
  import { isGitIgnored, globby } from "globby";
24
- import "chokidar";
24
+ import chokidar from "chokidar";
25
25
  import closeWithGrace from "close-with-grace";
26
26
  import fs$1 from "fs";
27
27
  import { remarkCodeBlocksShiki } from "@kentcdodds/md-temp";
@@ -585,6 +585,27 @@ function uniqueUsers(users) {
585
585
  });
586
586
  }
587
587
  let watcher = global.__change_tracker_watcher__;
588
+ function getWatcher() {
589
+ if (process.env.EPICSHOP_DEPLOYED ?? process.env.EPICSHOP_ENABLE_WATCHER !== "true") {
590
+ return null;
591
+ }
592
+ if (watcher) return watcher;
593
+ const workshopRoot2 = process.env.EPICSHOP_CONTEXT_CWD ?? process.cwd();
594
+ watcher = chokidar.watch(workshopRoot2, {
595
+ ignoreInitial: true,
596
+ ignored: [
597
+ "**/.git/**",
598
+ "**/node_modules/**",
599
+ "**/build/**",
600
+ "**/public/build/**",
601
+ "**/playwright-report/**",
602
+ "**/dist/**",
603
+ "**/.cache/**"
604
+ ]
605
+ });
606
+ global.__change_tracker_watcher__ = watcher;
607
+ return watcher;
608
+ }
588
609
  function getOptionalWatcher() {
589
610
  return watcher;
590
611
  }
@@ -1152,12 +1173,22 @@ async function queuedBundleMDX(...args) {
1152
1173
  const result = await queue.add(() => bundleMDX(...args));
1153
1174
  return result;
1154
1175
  }
1155
- z$1.object({
1176
+ const schema = z$1.object({
1156
1177
  NODE_ENV: z$1.enum(["production", "development", "test"]).default("development"),
1157
1178
  EPICSHOP_GITHUB_REPO: z$1.string(),
1158
1179
  EPICSHOP_GITHUB_ROOT: z$1.string(),
1159
1180
  EPICSHOP_CONTEXT_CWD: z$1.string()
1160
1181
  });
1182
+ function init$1() {
1183
+ const parsed = schema.safeParse(process.env);
1184
+ if (!parsed.success) {
1185
+ console.error(
1186
+ "❌ Invalid environment variables:",
1187
+ parsed.error.flatten().fieldErrors
1188
+ );
1189
+ throw new Error("Invalid environment variables");
1190
+ }
1191
+ }
1161
1192
  function getEnv() {
1162
1193
  return {
1163
1194
  MODE: process.env.NODE_ENV,
@@ -1451,7 +1482,8 @@ async function getPkgProp(fullPath, prop, defaultValue) {
1451
1482
  }
1452
1483
  return value ?? defaultValue;
1453
1484
  }
1454
- const workshopRoot = getWorkshopRoot();
1485
+ let initialized = false;
1486
+ const workshopRoot = process.env.EPICSHOP_CONTEXT_CWD = process.env.EPICSHOP_CONTEXT_CWD ?? process.cwd();
1455
1487
  let packageJson;
1456
1488
  try {
1457
1489
  packageJson = JSON.parse(
@@ -1461,7 +1493,7 @@ try {
1461
1493
  throw new Error(`Could not find and parse package.json at ${workshopRoot}`);
1462
1494
  }
1463
1495
  const playgroundAppNameInfoPath = path$1.join(
1464
- getWorkshopRoot(),
1496
+ workshopRoot,
1465
1497
  "node_modules",
1466
1498
  ".cache",
1467
1499
  "epicshop",
@@ -1591,16 +1623,57 @@ function exists(file) {
1591
1623
  () => false
1592
1624
  );
1593
1625
  }
1594
- function firstToExist(...files) {
1595
- return Promise.all(files.map(exists)).then((results) => {
1596
- const index = results.findIndex(Boolean);
1597
- return index === -1 ? null : files[index];
1598
- });
1626
+ async function firstToExist(...files) {
1627
+ const results = await Promise.all(files.map(exists));
1628
+ const index = results.findIndex(Boolean);
1629
+ return index === -1 ? null : files[index];
1599
1630
  }
1600
1631
  const modifiedTimes = remember(
1601
1632
  "modified_times",
1602
1633
  () => /* @__PURE__ */ new Map()
1603
1634
  );
1635
+ function init() {
1636
+ var _a2;
1637
+ if (initialized) return;
1638
+ initialized = true;
1639
+ try {
1640
+ const { epicshop } = packageJson;
1641
+ let root, repo;
1642
+ if (epicshop.githubRepo) {
1643
+ repo = epicshop.githubRepo;
1644
+ root = `${repo.replace(/\/$/, "")}/tree/main`;
1645
+ } else if (epicshop.githubRoot) {
1646
+ root = epicshop.githubRoot.replace(/\/$/, "");
1647
+ repo = root.replace(/\/(blob|tree)\/.*$/, "");
1648
+ } else {
1649
+ throw new Error(
1650
+ `Please set the URL of your GitHub repo in the "epicshop.githubRepo" property of the package.json.`
1651
+ );
1652
+ }
1653
+ if (!root.includes("/blob/") && !root.includes("/tree/")) {
1654
+ root = `${root.replace(/\/$/, "")}/tree/main`;
1655
+ }
1656
+ process.env.EPICSHOP_GITHUB_REPO = repo;
1657
+ process.env.EPICSHOP_GITHUB_ROOT = root;
1658
+ } catch (error) {
1659
+ throw new Error(
1660
+ `Could not set the EPICSHOP_GITHUB_ROOT environment variable. Please set it to the URL of your GitHub repo in the "epicshop.githubRoot" property of the package.json.`,
1661
+ { cause: error }
1662
+ );
1663
+ }
1664
+ init$1();
1665
+ global.ENV = getEnv();
1666
+ async function handleFileChanges(event, filePath) {
1667
+ const apps = await getApps();
1668
+ for (const app of apps) {
1669
+ if (filePath.startsWith(app.fullPath)) {
1670
+ modifiedTimes.set(app.fullPath, Date.now());
1671
+ break;
1672
+ }
1673
+ }
1674
+ }
1675
+ (_a2 = getWatcher()) == null ? void 0 : _a2.on("all", handleFileChanges);
1676
+ }
1604
1677
  function getForceFresh$1(cacheEntry) {
1605
1678
  if (!cacheEntry) return true;
1606
1679
  const latestModifiedTime = Math.max(...Array.from(modifiedTimes.values()));
@@ -1713,6 +1786,7 @@ async function getApps({
1713
1786
  request,
1714
1787
  forceFresh
1715
1788
  } = {}) {
1789
+ if (!initialized) init();
1716
1790
  const key = "apps";
1717
1791
  const apps = await cachified({
1718
1792
  key,
@@ -2532,9 +2606,6 @@ async function getEpicWorkshopSlug() {
2532
2606
  );
2533
2607
  return epicWorkshopSlug || null;
2534
2608
  }
2535
- function getWorkshopRoot() {
2536
- return process.env.EPICSHOP_CONTEXT_CWD ?? process.cwd();
2537
- }
2538
2609
  async function getWorkshopInstructions({
2539
2610
  request
2540
2611
  } = {}) {
@@ -3779,10 +3850,10 @@ const toastSessionStorage = createCookieSessionStorage({
3779
3850
  secure: process.env.NODE_ENV === "production"
3780
3851
  }
3781
3852
  });
3782
- async function redirectWithToast(url, toast2, init) {
3853
+ async function redirectWithToast(url, toast2, init2) {
3783
3854
  return redirect(url, {
3784
- ...init,
3785
- headers: combineHeaders(init == null ? void 0 : init.headers, await createToastHeaders(toast2))
3855
+ ...init2,
3856
+ headers: combineHeaders(init2 == null ? void 0 : init2.headers, await createToastHeaders(toast2))
3786
3857
  });
3787
3858
  }
3788
3859
  async function createToastHeaders(optionalToast) {
@@ -7020,7 +7091,7 @@ async function loader$s({ request, params }) {
7020
7091
  throw new Response("Not found", { status: 404 });
7021
7092
  }
7022
7093
  const readmeFilepath = path.join(
7023
- getWorkshopRoot(),
7094
+ workshopRoot,
7024
7095
  "exercises",
7025
7096
  exercise.dirName,
7026
7097
  "README.mdx"
@@ -7768,17 +7839,16 @@ async function copyUnignoredFiles(srcDir, destDir, ignoreList) {
7768
7839
  });
7769
7840
  }
7770
7841
  async function prepareForDiff(app1, app2) {
7771
- const workshopRoot2 = getWorkshopRoot();
7772
7842
  const id = Math.random().toString(36).slice(2);
7773
7843
  const app1CopyPath = path.join(
7774
7844
  diffTmpDir,
7775
- path.basename(workshopRoot2),
7845
+ path.basename(workshopRoot),
7776
7846
  app1.name,
7777
7847
  id
7778
7848
  );
7779
7849
  const app2CopyPath = path.join(
7780
7850
  diffTmpDir,
7781
- path.basename(workshopRoot2),
7851
+ path.basename(workshopRoot),
7782
7852
  app2.name,
7783
7853
  id
7784
7854
  );
@@ -7791,9 +7861,9 @@ async function prepareForDiff(app1, app2) {
7791
7861
  const app2PkgJson = app1.dev.type === "script" ? await fsExtra.readJSON(path.join(app2.fullPath, "package.json")) : {};
7792
7862
  const pkgJsonIgnore = comparePkgJson(app1PkgJson, app2PkgJson) ? ["package.json"] : [];
7793
7863
  const workshopIgnore = [
7794
- ...await getDiffIgnore(path.join(workshopRoot2, ".gitignore")),
7864
+ ...await getDiffIgnore(path.join(workshopRoot, ".gitignore")),
7795
7865
  ...await getDiffIgnore(
7796
- path.join(workshopRoot2, "epicshop", ".diffignore")
7866
+ path.join(workshopRoot, "epicshop", ".diffignore")
7797
7867
  )
7798
7868
  ];
7799
7869
  await Promise.all([
@@ -10802,9 +10872,8 @@ async function loader$l({ request, params }) {
10802
10872
  throw new Response("Not found", { status: 404 });
10803
10873
  }
10804
10874
  const workshopTitle = await getWorkshopTitle();
10805
- const workshopRoot2 = getWorkshopRoot();
10806
10875
  const exerciseFormTemplate = await getPkgProp(
10807
- workshopRoot2,
10876
+ workshopRoot,
10808
10877
  "epicshop.forms.exercise",
10809
10878
  `https://docs.google.com/forms/d/e/1FAIpQLSf3o9xyjQepTlOTH5Z7ZwkeSTdXh6YWI_RGc9KiyD3oUN0p6w/viewform?hl=en&embedded=true&entry.1836176234={workshopTitle}&entry.428900931={exerciseTitle}`
10810
10879
  );
@@ -10814,7 +10883,7 @@ async function loader$l({ request, params }) {
10814
10883
  request
10815
10884
  });
10816
10885
  const finishedFilepath = path.join(
10817
- getWorkshopRoot(),
10886
+ workshopRoot,
10818
10887
  "exercises",
10819
10888
  exercise.dirName,
10820
10889
  "FINISHED.mdx"
@@ -11659,9 +11728,8 @@ async function loader$e({ request }) {
11659
11728
  });
11660
11729
  const lastExercises = exercises[exercises.length - 1];
11661
11730
  const workshopTitle = await getWorkshopTitle();
11662
- const workshopRoot2 = getWorkshopRoot();
11663
11731
  const workshopFormTemplate = await getPkgProp(
11664
- workshopRoot2,
11732
+ workshopRoot,
11665
11733
  "epicshop.forms.workshop",
11666
11734
  "https://docs.google.com/forms/d/e/1FAIpQLSdRmj9p8-5zyoqRzxp3UpqSbC3aFkweXvvJIKes0a5s894gzg/viewform?hl=en&embedded=true&entry.2123647600={workshopTitle}"
11667
11735
  );
@@ -12217,8 +12285,7 @@ async function clearData() {
12217
12285
  }
12218
12286
  async function clearCaches() {
12219
12287
  if (ENV.EPICSHOP_DEPLOYED) return;
12220
- const workshopRoot2 = getWorkshopRoot();
12221
- await fsExtra.remove(path$1.join(workshopRoot2, "node_modules", ".cache"));
12288
+ await fsExtra.remove(path$1.join(workshopRoot, "node_modules", ".cache"));
12222
12289
  await deleteCache();
12223
12290
  }
12224
12291
  async function startInspector() {
@@ -12928,7 +12995,12 @@ function OgLayout({
12928
12995
  "img",
12929
12996
  {
12930
12997
  src: instructor.avatar.startsWith("/") ? `${domain}${instructor.avatar}` : instructor.avatar,
12931
- style: { width: 56, height: 56, borderRadius: "50%", objectFit: "cover" }
12998
+ style: {
12999
+ width: 56,
13000
+ height: 56,
13001
+ borderRadius: "50%",
13002
+ objectFit: "cover"
13003
+ }
12932
13004
  }
12933
13005
  ) : null,
12934
13006
  instructor.name ? /* @__PURE__ */ jsx(
@@ -13081,7 +13153,7 @@ const route36 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
13081
13153
  __proto__: null,
13082
13154
  loader
13083
13155
  }, Symbol.toStringTag, { value: "Module" }));
13084
- const serverManifest = { "entry": { "module": "/assets/entry.client-Cs8lBz8l.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-wgHiPsTg.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-BUqeXmeK.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-wgHiPsTg.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-S5ZD98sI.js", "/assets/request-info-DHtGM4FI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/client-hints-DLYDs4RF.js", "/assets/error-boundary-BVTbN8PZ.js", "/assets/progress-bar-wMXWRGq0.js", "/assets/index-DjzedX4O.js", "/assets/index-yEAxvbDV.js", "/assets/presence-CW1_eiIo.js", "/assets/seo-pBpFCWsy.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/_-DYArYM0Z.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.js", "/assets/error-boundary-BVTbN8PZ.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-B789acDk.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/request-info-DHtGM4FI.js", "/assets/client-hints-DLYDs4RF.js", "/assets/index-C6ToujzV.js", "/assets/user-CdUDQ7a8.js", "/assets/presence-CW1_eiIo.js", "/assets/progress-BwanvUpB.js", "/assets/index-yEAxvbDV.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-DLIzcS5v.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-BLQUCLPr.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-wgHiPsTg.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-S5ZD98sI.js", "/assets/request-info-DHtGM4FI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/client-hints-DLYDs4RF.js", "/assets/index-yEAxvbDV.js", "/assets/loading-B0uKxERz.js", "/assets/user-CdUDQ7a8.js", "/assets/epic-video-CfelX9-n.js", "/assets/progress-bar-wMXWRGq0.js", "/assets/index-D6ukHE4T.js", "/assets/mdx-CQW0I4So.js", "/assets/progress-BwanvUpB.js", "/assets/seo-pBpFCWsy.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-Ct5BCuA1.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.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-DMuKczTu.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/request-info-DHtGM4FI.js", "/assets/client-hints-DLYDs4RF.js", "/assets/index-yEAxvbDV.js", "/assets/loading-B0uKxERz.js", "/assets/user-CdUDQ7a8.js", "/assets/epic-video-CfelX9-n.js", "/assets/progress-bar-wMXWRGq0.js", "/assets/index-C6ToujzV.js", "/assets/mdx-CQW0I4So.js", "/assets/index-D6ukHE4T.js", "/assets/diff-4FQLirNf.js", "/assets/error-boundary-BVTbN8PZ.js", "/assets/nav-chevrons-DaXg0NPS.js", "/assets/progress-BwanvUpB.js", "/assets/seo-pBpFCWsy.js", "/assets/discord-BgaWmFRC.js", "/assets/index-DjzedX4O.js", "/assets/button-BA3iiLRs.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-C9TSc48F.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-wgHiPsTg.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-S5ZD98sI.js", "/assets/request-info-DHtGM4FI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/client-hints-DLYDs4RF.js", "/assets/index-yEAxvbDV.js", "/assets/loading-B0uKxERz.js", "/assets/user-CdUDQ7a8.js", "/assets/epic-video-CfelX9-n.js", "/assets/progress-bar-wMXWRGq0.js", "/assets/index-D6ukHE4T.js", "/assets/nav-chevrons-DaXg0NPS.js", "/assets/mdx-CQW0I4So.js", "/assets/progress-BwanvUpB.js", "/assets/seo-pBpFCWsy.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-LnI_Eq0t.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.js", "/assets/request-info-DHtGM4FI.js", "/assets/button-BA3iiLRs.js", "/assets/tooltip-BtzSIxlB.js", "/assets/user-CdUDQ7a8.js", "/assets/presence-CW1_eiIo.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+/app.$appName+/test.epic_ws[.js]": { "id": "routes/_app+/app.$appName+/test.epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test.epic_ws_.js_-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-Dk1wbXOn.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.js", "/assets/user-CdUDQ7a8.js", "/assets/discord-BgaWmFRC.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-C0mN8TiU.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-wgHiPsTg.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-S5ZD98sI.js", "/assets/request-info-DHtGM4FI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/client-hints-DLYDs4RF.js", "/assets/index-yEAxvbDV.js", "/assets/loading-B0uKxERz.js", "/assets/user-CdUDQ7a8.js", "/assets/epic-video-CfelX9-n.js", "/assets/progress-bar-wMXWRGq0.js", "/assets/index-D6ukHE4T.js", "/assets/nav-chevrons-DaXg0NPS.js", "/assets/mdx-CQW0I4So.js", "/assets/seo-pBpFCWsy.js", "/assets/progress-BwanvUpB.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-De7yI02n.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-wgHiPsTg.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-S5ZD98sI.js", "/assets/request-info-DHtGM4FI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/client-hints-DLYDs4RF.js", "/assets/index-yEAxvbDV.js", "/assets/loading-B0uKxERz.js", "/assets/user-CdUDQ7a8.js", "/assets/epic-video-CfelX9-n.js", "/assets/progress-bar-wMXWRGq0.js", "/assets/index-D6ukHE4T.js", "/assets/error-boundary-BVTbN8PZ.js", "/assets/mdx-CQW0I4So.js", "/assets/progress-BwanvUpB.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-SJlLMYmL.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/request-info-DHtGM4FI.js", "/assets/client-hints-DLYDs4RF.js", "/assets/use-event-source-ySol3hbz.js", "/assets/button-BA3iiLRs.js", "/assets/loading-B0uKxERz.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-DilzTPHE.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-wgHiPsTg.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-CZ3fjUvs.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/progress-BwanvUpB.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/admin+/cache": { "id": "routes/admin+/cache", "parentId": "routes/admin+/_layout", "path": "cache", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/cache-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-CPrD1rHd.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/request-info-DHtGM4FI.js", "/assets/client-hints-DLYDs4RF.js", "/assets/index-yEAxvbDV.js", "/assets/loading-B0uKxERz.js", "/assets/user-CdUDQ7a8.js", "/assets/epic-video-CfelX9-n.js", "/assets/progress-bar-wMXWRGq0.js", "/assets/index-C6ToujzV.js", "/assets/mdx-CQW0I4So.js", "/assets/diff-4FQLirNf.js", "/assets/nav-chevrons-DaXg0NPS.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-BXGyEPXy.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.js", "/assets/request-info-DHtGM4FI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/client-hints-DLYDs4RF.js", "/assets/index-yEAxvbDV.js", "/assets/loading-B0uKxERz.js", "/assets/user-CdUDQ7a8.js", "/assets/button-BA3iiLRs.js", "/assets/epic-video-CfelX9-n.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/robots[.]txt": { "id": "routes/robots[.]txt", "parentId": "root", "path": "robots.txt", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/robots_._txt-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/sitemap[.]xml": { "id": "routes/sitemap[.]xml", "parentId": "root", "path": "sitemap.xml", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/sitemap_._xml-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-37355e21.js", "version": "37355e21" };
13156
+ const serverManifest = { "entry": { "module": "/assets/entry.client-Cs8lBz8l.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-wgHiPsTg.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-BUqeXmeK.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-wgHiPsTg.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-S5ZD98sI.js", "/assets/request-info-DHtGM4FI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/client-hints-DLYDs4RF.js", "/assets/error-boundary-BVTbN8PZ.js", "/assets/progress-bar-wMXWRGq0.js", "/assets/index-DjzedX4O.js", "/assets/index-yEAxvbDV.js", "/assets/presence-CW1_eiIo.js", "/assets/seo-pBpFCWsy.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/_-DYArYM0Z.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.js", "/assets/error-boundary-BVTbN8PZ.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-B789acDk.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/request-info-DHtGM4FI.js", "/assets/client-hints-DLYDs4RF.js", "/assets/index-C6ToujzV.js", "/assets/user-CdUDQ7a8.js", "/assets/presence-CW1_eiIo.js", "/assets/progress-BwanvUpB.js", "/assets/index-yEAxvbDV.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-DLIzcS5v.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-BLQUCLPr.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-wgHiPsTg.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-S5ZD98sI.js", "/assets/request-info-DHtGM4FI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/client-hints-DLYDs4RF.js", "/assets/index-yEAxvbDV.js", "/assets/loading-B0uKxERz.js", "/assets/user-CdUDQ7a8.js", "/assets/epic-video-CfelX9-n.js", "/assets/progress-bar-wMXWRGq0.js", "/assets/index-D6ukHE4T.js", "/assets/mdx-CQW0I4So.js", "/assets/progress-BwanvUpB.js", "/assets/seo-pBpFCWsy.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-Ct5BCuA1.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.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-DMuKczTu.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/request-info-DHtGM4FI.js", "/assets/client-hints-DLYDs4RF.js", "/assets/index-yEAxvbDV.js", "/assets/loading-B0uKxERz.js", "/assets/user-CdUDQ7a8.js", "/assets/epic-video-CfelX9-n.js", "/assets/progress-bar-wMXWRGq0.js", "/assets/index-C6ToujzV.js", "/assets/mdx-CQW0I4So.js", "/assets/index-D6ukHE4T.js", "/assets/diff-4FQLirNf.js", "/assets/error-boundary-BVTbN8PZ.js", "/assets/nav-chevrons-DaXg0NPS.js", "/assets/progress-BwanvUpB.js", "/assets/seo-pBpFCWsy.js", "/assets/discord-BgaWmFRC.js", "/assets/index-DjzedX4O.js", "/assets/button-BA3iiLRs.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-C9TSc48F.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-wgHiPsTg.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-S5ZD98sI.js", "/assets/request-info-DHtGM4FI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/client-hints-DLYDs4RF.js", "/assets/index-yEAxvbDV.js", "/assets/loading-B0uKxERz.js", "/assets/user-CdUDQ7a8.js", "/assets/epic-video-CfelX9-n.js", "/assets/progress-bar-wMXWRGq0.js", "/assets/index-D6ukHE4T.js", "/assets/nav-chevrons-DaXg0NPS.js", "/assets/mdx-CQW0I4So.js", "/assets/progress-BwanvUpB.js", "/assets/seo-pBpFCWsy.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-LnI_Eq0t.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.js", "/assets/request-info-DHtGM4FI.js", "/assets/button-BA3iiLRs.js", "/assets/tooltip-BtzSIxlB.js", "/assets/user-CdUDQ7a8.js", "/assets/presence-CW1_eiIo.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+/app.$appName+/test.epic_ws[.js]": { "id": "routes/_app+/app.$appName+/test.epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test.epic_ws_.js_-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-Dk1wbXOn.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.js", "/assets/user-CdUDQ7a8.js", "/assets/discord-BgaWmFRC.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-C0mN8TiU.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-wgHiPsTg.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-S5ZD98sI.js", "/assets/request-info-DHtGM4FI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/client-hints-DLYDs4RF.js", "/assets/index-yEAxvbDV.js", "/assets/loading-B0uKxERz.js", "/assets/user-CdUDQ7a8.js", "/assets/epic-video-CfelX9-n.js", "/assets/progress-bar-wMXWRGq0.js", "/assets/index-D6ukHE4T.js", "/assets/nav-chevrons-DaXg0NPS.js", "/assets/mdx-CQW0I4So.js", "/assets/seo-pBpFCWsy.js", "/assets/progress-BwanvUpB.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-De7yI02n.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-wgHiPsTg.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-S5ZD98sI.js", "/assets/request-info-DHtGM4FI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/client-hints-DLYDs4RF.js", "/assets/index-yEAxvbDV.js", "/assets/loading-B0uKxERz.js", "/assets/user-CdUDQ7a8.js", "/assets/epic-video-CfelX9-n.js", "/assets/progress-bar-wMXWRGq0.js", "/assets/index-D6ukHE4T.js", "/assets/error-boundary-BVTbN8PZ.js", "/assets/mdx-CQW0I4So.js", "/assets/progress-BwanvUpB.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-SJlLMYmL.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/request-info-DHtGM4FI.js", "/assets/client-hints-DLYDs4RF.js", "/assets/use-event-source-ySol3hbz.js", "/assets/button-BA3iiLRs.js", "/assets/loading-B0uKxERz.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-DilzTPHE.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/components-wgHiPsTg.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-CZ3fjUvs.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/progress-BwanvUpB.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/admin+/cache": { "id": "routes/admin+/cache", "parentId": "routes/admin+/_layout", "path": "cache", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/cache-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-CPrD1rHd.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/request-info-DHtGM4FI.js", "/assets/client-hints-DLYDs4RF.js", "/assets/index-yEAxvbDV.js", "/assets/loading-B0uKxERz.js", "/assets/user-CdUDQ7a8.js", "/assets/epic-video-CfelX9-n.js", "/assets/progress-bar-wMXWRGq0.js", "/assets/index-C6ToujzV.js", "/assets/mdx-CQW0I4So.js", "/assets/diff-4FQLirNf.js", "/assets/nav-chevrons-DaXg0NPS.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-BXGyEPXy.js", "imports": ["/assets/index-Czg1ruVn.js", "/assets/clsx-B-dksMZM.js", "/assets/components-wgHiPsTg.js", "/assets/misc-S5ZD98sI.js", "/assets/request-info-DHtGM4FI.js", "/assets/tooltip-BtzSIxlB.js", "/assets/client-hints-DLYDs4RF.js", "/assets/index-yEAxvbDV.js", "/assets/loading-B0uKxERz.js", "/assets/user-CdUDQ7a8.js", "/assets/button-BA3iiLRs.js", "/assets/epic-video-CfelX9-n.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/robots[.]txt": { "id": "routes/robots[.]txt", "parentId": "root", "path": "robots.txt", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/robots_._txt-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/sitemap[.]xml": { "id": "routes/sitemap[.]xml", "parentId": "root", "path": "sitemap.xml", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/sitemap_._xml-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-838b854e.js", "version": "838b854e" };
13085
13157
  const mode = "production";
13086
13158
  const assetsBuildDirectory = "build/client";
13087
13159
  const basename = "/";