@epic-web/workshop-app 5.3.7 → 5.4.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/{_-CWSCXcBv.js → _-BrkpfnBb.js} +2 -2
- package/build/client/assets/{_-CWSCXcBv.js.map → _-BrkpfnBb.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber-BnwWTYFw.js → _exerciseNumber-DCSM0NCG.js} +2 -2
- package/build/client/assets/{_exerciseNumber-BnwWTYFw.js.map → _exerciseNumber-DCSM0NCG.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber_._stepNumber-BA2Xhzqs.js → _exerciseNumber_._stepNumber-BIMJh_sg.js} +2 -2
- package/build/client/assets/{_exerciseNumber_._stepNumber-BA2Xhzqs.js.map → _exerciseNumber_._stepNumber-BIMJh_sg.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber_.finished-BfeMSie-.js → _exerciseNumber_.finished-nbpk1ToO.js} +2 -2
- package/build/client/assets/{_exerciseNumber_.finished-BfeMSie-.js.map → _exerciseNumber_.finished-nbpk1ToO.js.map} +1 -1
- package/build/client/assets/{_layout-pUNfVRe2.js → _layout-Cbz7Qt-S.js} +2 -2
- package/build/client/assets/{_layout-pUNfVRe2.js.map → _layout-Cbz7Qt-S.js.map} +1 -1
- package/build/client/assets/{_layout-Bpho30KN.js → _layout-DTAM9xh5.js} +2 -2
- package/build/client/assets/{_layout-Bpho30KN.js.map → _layout-DTAM9xh5.js.map} +1 -1
- package/build/client/assets/_layout-Dfmv2zcn.js +2 -0
- package/build/client/assets/_layout-Dfmv2zcn.js.map +1 -0
- package/build/client/assets/{accordion-DC885Li1.js → accordion-D9-D-n9p.js} +2 -2
- package/build/client/assets/{accordion-DC885Li1.js.map → accordion-D9-D-n9p.js.map} +1 -1
- package/build/client/assets/account-C4Piztoz.js +2 -0
- package/build/client/assets/account-C4Piztoz.js.map +1 -0
- package/build/client/assets/app-DgTXXO8s.js +2 -0
- package/build/client/assets/{app-CM8yuYni.js.map → app-DgTXXO8s.js.map} +1 -1
- package/build/client/assets/{button-DQ001ob0.js → button-_qPvcoqR.js} +2 -2
- package/build/client/assets/{button-DQ001ob0.js.map → button-_qPvcoqR.js.map} +1 -1
- package/build/client/assets/{components-9EGYHTc_.js → components-Be92gVxW.js} +2 -2
- package/build/client/assets/{components-9EGYHTc_.js.map → components-Be92gVxW.js.map} +1 -1
- package/build/client/assets/{diff-CyIaJAoJ.js → diff-8nlDkmpc.js} +2 -2
- package/build/client/assets/{diff-CyIaJAoJ.js.map → diff-8nlDkmpc.js.map} +1 -1
- package/build/client/assets/diff-BhRAIPKc.js +2 -0
- package/build/client/assets/{diff-Cnw7IcG5.js.map → diff-BhRAIPKc.js.map} +1 -1
- package/build/client/assets/discord-BUWZUTEC.js +2 -0
- package/build/client/assets/discord-BUWZUTEC.js.map +1 -0
- package/build/client/assets/discord-Bdnx7fu-.js +2 -0
- package/build/client/assets/discord-Bdnx7fu-.js.map +1 -0
- package/build/client/assets/{entry.client-BTYTUpFV.js → entry.client-DqIWuxf8.js} +2 -2
- package/build/client/assets/{entry.client-BTYTUpFV.js.map → entry.client-DqIWuxf8.js.map} +1 -1
- package/build/client/assets/{epic-video-1XLXSFCL.js → epic-video-Bp4BOD2R.js} +2 -2
- package/build/client/assets/{epic-video-1XLXSFCL.js.map → epic-video-Bp4BOD2R.js.map} +1 -1
- package/build/client/assets/{error-boundary-1-dmC941.js → error-boundary-BZA-ffa8.js} +2 -2
- package/build/client/assets/{error-boundary-1-dmC941.js.map → error-boundary-BZA-ffa8.js.map} +1 -1
- package/build/client/assets/{finished-DjF_kSoF.js → finished-C0cpfAFL.js} +2 -2
- package/build/client/assets/{finished-DjF_kSoF.js.map → finished-C0cpfAFL.js.map} +1 -1
- package/build/client/assets/{index-BuoaxPEj.js → index-BCTr8uu6.js} +2 -2
- package/build/client/assets/{index-BuoaxPEj.js.map → index-BCTr8uu6.js.map} +1 -1
- package/build/client/assets/{index-_J-F_Dnc.js → index-Bdg3v8tC.js} +2 -2
- package/build/client/assets/{index-_J-F_Dnc.js.map → index-Bdg3v8tC.js.map} +1 -1
- package/build/client/assets/index-Bi1TbRTj.js +2 -0
- package/build/client/assets/index-Bi1TbRTj.js.map +1 -0
- package/build/client/assets/{index-DRH72MzK.js → index-C9Hx0Dey.js} +2 -2
- package/build/client/assets/{index-DRH72MzK.js.map → index-C9Hx0Dey.js.map} +1 -1
- package/build/client/assets/{index-f5Q6XZEy.js → index-Ca4vBON4.js} +2 -2
- package/build/client/assets/{index-f5Q6XZEy.js.map → index-Ca4vBON4.js.map} +1 -1
- package/build/client/assets/{index-BuA_RWlU.js → index-DZDhtMuq.js} +2 -2
- package/build/client/assets/{index-BuA_RWlU.js.map → index-DZDhtMuq.js.map} +1 -1
- package/build/client/assets/index-pkiQppkK.js +2 -0
- package/build/client/assets/index-pkiQppkK.js.map +1 -0
- package/build/client/assets/{loading-Dk0n07O3.js → loading-XhMtj4mp.js} +2 -2
- package/build/client/assets/{loading-Dk0n07O3.js.map → loading-XhMtj4mp.js.map} +1 -1
- package/build/client/assets/{login-pZYDEC_l.js → login-C1oOgi98.js} +2 -2
- package/build/client/assets/{login-pZYDEC_l.js.map → login-C1oOgi98.js.map} +1 -1
- package/build/client/assets/manifest-bc809ee6.js +1 -0
- package/build/client/assets/{mdx-DiFCTSLR.js → mdx-CEjzXoEx.js} +2 -2
- package/build/client/assets/{mdx-DiFCTSLR.js.map → mdx-CEjzXoEx.js.map} +1 -1
- package/build/client/assets/{misc-BJtHv_Jh.js → misc-DUy_whwE.js} +2 -2
- package/build/client/assets/{misc-BJtHv_Jh.js.map → misc-DUy_whwE.js.map} +1 -1
- package/build/client/assets/{nav-chevrons-CgbSMLeb.js → nav-chevrons-DnR25VLp.js} +2 -2
- package/build/client/assets/{nav-chevrons-CgbSMLeb.js.map → nav-chevrons-DnR25VLp.js.map} +1 -1
- package/build/client/assets/{onboarding-DXICEaMi.js → onboarding-C2YNq60k.js} +2 -2
- package/build/client/assets/{onboarding-DXICEaMi.js.map → onboarding-C2YNq60k.js.map} +1 -1
- package/build/client/assets/{presence-DyppfK2V.js → presence-DJGFvdDh.js} +2 -2
- package/build/client/assets/{presence-DyppfK2V.js.map → presence-DJGFvdDh.js.map} +1 -1
- package/build/client/assets/{preview-CW_12I0i.js → preview-DaZd0wMb.js} +2 -2
- package/build/client/assets/{preview-CW_12I0i.js.map → preview-DaZd0wMb.js.map} +1 -1
- package/build/client/assets/{product-C1ynnrN_.js → product-DIAmCwmZ.js} +2 -2
- package/build/client/assets/{product-C1ynnrN_.js.map → product-DIAmCwmZ.js.map} +1 -1
- package/build/client/assets/{progress-DAB3nDa2.js → progress-DQt_Bn9o.js} +2 -2
- package/build/client/assets/{progress-DAB3nDa2.js.map → progress-DQt_Bn9o.js.map} +1 -1
- package/build/client/assets/{progress-bar-Cj5R4Zk7.js → progress-bar-BaTU3Yx_.js} +2 -2
- package/build/client/assets/{progress-bar-Cj5R4Zk7.js.map → progress-bar-BaTU3Yx_.js.map} +1 -1
- package/build/client/assets/{request-info-DCIQLE6H.js → request-info-ByUEfOil.js} +2 -2
- package/build/client/assets/{request-info-DCIQLE6H.js.map → request-info-ByUEfOil.js.map} +1 -1
- package/build/client/assets/{revalidation-ws-DU-PzW-_.js → revalidation-ws-dUa9CAqr.js} +2 -2
- package/build/client/assets/{revalidation-ws-DU-PzW-_.js.map → revalidation-ws-dUa9CAqr.js.map} +1 -1
- package/build/client/assets/{root-DCfiv1cO.js → root-a3d3Qwip.js} +2 -2
- package/build/client/assets/{root-DCfiv1cO.js.map → root-a3d3Qwip.js.map} +1 -1
- package/build/client/assets/{set-playground-S_rIwJAa.js → set-playground-CBHBA46B.js} +2 -2
- package/build/client/assets/{set-playground-S_rIwJAa.js.map → set-playground-CBHBA46B.js.map} +1 -1
- package/build/client/assets/{support-BNS-kEhc.js → support-CIz02V_r.js} +2 -2
- package/build/client/assets/{support-BNS-kEhc.js.map → support-CIz02V_r.js.map} +1 -1
- package/build/client/assets/test-DoKJvNug.js +2 -0
- package/build/client/assets/{test-CvzcNTDp.js.map → test-DoKJvNug.js.map} +1 -1
- package/build/client/assets/{tests-Bp85P9FF.js → tests-DbuyD2cI.js} +2 -2
- package/build/client/assets/{tests-Bp85P9FF.js.map → tests-DbuyD2cI.js.map} +1 -1
- package/build/client/assets/{tooltip-BgynKV2c.js → tooltip-DO9uwurQ.js} +2 -2
- package/build/client/assets/{tooltip-BgynKV2c.js.map → tooltip-DO9uwurQ.js.map} +1 -1
- package/build/client/assets/user-Bv6wYhQP.js +2 -0
- package/build/client/assets/user-Bv6wYhQP.js.map +1 -0
- package/build/client/assets/version-CaywAlNQ.js +2 -0
- package/build/client/assets/version-CaywAlNQ.js.map +1 -0
- package/build/client/assets/{workshop-config-DJY2cXU_.js → workshop-config-WVltG_BV.js} +2 -2
- package/build/client/assets/{workshop-config-DJY2cXU_.js.map → workshop-config-WVltG_BV.js.map} +1 -1
- package/build/server/index.js +420 -361
- package/build/server/index.js.map +1 -1
- package/package.json +3 -3
- package/start.js +6 -0
- package/build/client/assets/_layout-gyrNluke.js +0 -2
- package/build/client/assets/_layout-gyrNluke.js.map +0 -1
- package/build/client/assets/account-RJjysGnp.js +0 -2
- package/build/client/assets/account-RJjysGnp.js.map +0 -1
- package/build/client/assets/app-CM8yuYni.js +0 -2
- package/build/client/assets/diff-Cnw7IcG5.js +0 -2
- package/build/client/assets/discord-DxisvcaU.js +0 -2
- package/build/client/assets/discord-DxisvcaU.js.map +0 -1
- package/build/client/assets/discord-lXkS53K3.js +0 -2
- package/build/client/assets/discord-lXkS53K3.js.map +0 -1
- package/build/client/assets/discord.callback-l0sNRNKZ.js +0 -2
- package/build/client/assets/discord.callback-l0sNRNKZ.js.map +0 -1
- package/build/client/assets/index-DZ0It6pH.js +0 -2
- package/build/client/assets/index-DZ0It6pH.js.map +0 -1
- package/build/client/assets/manifest-9328c766.js +0 -1
- package/build/client/assets/test-CvzcNTDp.js +0 -2
- package/build/client/assets/user-DJiL1Lk-.js +0 -2
- package/build/client/assets/user-DJiL1Lk-.js.map +0 -1
package/build/server/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import { isbot } from "isbot";
|
|
|
6
6
|
import { renderToPipeableStream, renderToStaticMarkup } from "react-dom/server";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import { makeSingletonCache, cachified, fsCache, deleteCache, compiledCodeCache, diffFilesCache, diffCodeCache, shouldForceFresh, getAllFileCacheEntries, ogCache } from "@epic-web/workshop-utils/cache.server";
|
|
9
|
-
import { getPreferences, getAuthInfo, readOnboardingData,
|
|
9
|
+
import { getPreferences, getAuthInfo, readOnboardingData, requireAuthInfo, deleteDb, setPresencePreferences, PlayerPreferencesSchema, setPlayerPreferences, setAuthInfo, markOnboardingVideoWatched } from "@epic-web/workshop-utils/db.server";
|
|
10
10
|
import { z } from "zod";
|
|
11
11
|
import { getWorkshopInstructions, getWorkshopFinished, getExercises, getApps, getPlaygroundAppName, extractNumbersAndTypeFromAppNameOrPath, getAppFromFile, getAppByName, isProblemApp, isPlaygroundApp, isExerciseStepApp, getExercise, isSolutionApp, isExampleApp, getRelativePath as getRelativePath$1, workshopRoot, modifiedTimes, getForceFreshForDir, setPlayground, requireExerciseApp, requireExercise, getExerciseApp, getAppDisplayName, getNextExerciseApp, getPrevExerciseApp, getAppPageRoute } from "@epic-web/workshop-utils/apps.server";
|
|
12
12
|
import { getWorkshopConfig } from "@epic-web/workshop-utils/config.server";
|
|
@@ -76,6 +76,7 @@ import { EventEmitter } from "events";
|
|
|
76
76
|
import { remember } from "@epic-web/remember";
|
|
77
77
|
import { Issuer } from "openid-client";
|
|
78
78
|
import inspector from "node:inspector";
|
|
79
|
+
import { getCommitInfo, getLatestWorkshopAppVersion } from "@epic-web/workshop-utils/git.server";
|
|
79
80
|
import { Resvg } from "@resvg/resvg-js";
|
|
80
81
|
import satori from "satori";
|
|
81
82
|
import { generateRobotsTxt, generateSitemap } from "@nasa-gcn/remix-seo";
|
|
@@ -557,10 +558,10 @@ function getDomainUrl(request) {
|
|
|
557
558
|
function getBaseUrl({
|
|
558
559
|
request,
|
|
559
560
|
domain = request ? getDomainUrl(request) : window.location.origin,
|
|
560
|
-
port
|
|
561
|
+
port
|
|
561
562
|
}) {
|
|
562
563
|
const url = new URL(domain);
|
|
563
|
-
url.port = String(
|
|
564
|
+
url.port = String(port);
|
|
564
565
|
return url.toString();
|
|
565
566
|
}
|
|
566
567
|
function combineHeaders(...headers2) {
|
|
@@ -877,7 +878,7 @@ function useTheme() {
|
|
|
877
878
|
}
|
|
878
879
|
return requestInfo.session.theme ?? hints.theme;
|
|
879
880
|
}
|
|
880
|
-
const
|
|
881
|
+
const route44 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
881
882
|
__proto__: null,
|
|
882
883
|
ThemeSwitch,
|
|
883
884
|
action: action$b,
|
|
@@ -1611,7 +1612,7 @@ const links = () => {
|
|
|
1611
1612
|
{ rel: "icon", type: "image/svg+xml", href: "/favicon.svg" }
|
|
1612
1613
|
];
|
|
1613
1614
|
};
|
|
1614
|
-
const meta$
|
|
1615
|
+
const meta$6 = ({ data: data2 }) => {
|
|
1615
1616
|
if (!data2) return [];
|
|
1616
1617
|
return getSeoMetaTags({
|
|
1617
1618
|
instructor: data2.instructor,
|
|
@@ -1620,7 +1621,7 @@ const meta$5 = ({ data: data2 }) => {
|
|
|
1620
1621
|
requestInfo: data2.requestInfo
|
|
1621
1622
|
});
|
|
1622
1623
|
};
|
|
1623
|
-
async function loader$
|
|
1624
|
+
async function loader$x({ request }) {
|
|
1624
1625
|
const timings = makeTimings("rootLoader");
|
|
1625
1626
|
const workshopConfig = getWorkshopConfig();
|
|
1626
1627
|
const {
|
|
@@ -1645,7 +1646,6 @@ async function loader$y({ request }) {
|
|
|
1645
1646
|
const emptyProgress = [];
|
|
1646
1647
|
return emptyProgress;
|
|
1647
1648
|
}),
|
|
1648
|
-
discordMember: getDiscordMember(),
|
|
1649
1649
|
user: getUserInfo(),
|
|
1650
1650
|
userHasAccess: userHasAccessToWorkshop({ request, timings }),
|
|
1651
1651
|
apps: getApps({ request, timings })
|
|
@@ -1691,7 +1691,7 @@ async function loader$y({ request }) {
|
|
|
1691
1691
|
}
|
|
1692
1692
|
);
|
|
1693
1693
|
}
|
|
1694
|
-
const headers$
|
|
1694
|
+
const headers$c = ({ loaderHeaders }) => {
|
|
1695
1695
|
const headers2 = {
|
|
1696
1696
|
"Cache-Control": loaderHeaders.get("Cache-Control") ?? "",
|
|
1697
1697
|
"Server-Timing": loaderHeaders.get("Server-Timing") ?? ""
|
|
@@ -1765,12 +1765,12 @@ const route0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
1765
1765
|
__proto__: null,
|
|
1766
1766
|
ErrorBoundary: ErrorBoundary$6,
|
|
1767
1767
|
default: AppWithProviders,
|
|
1768
|
-
headers: headers$
|
|
1768
|
+
headers: headers$c,
|
|
1769
1769
|
links,
|
|
1770
|
-
loader: loader$
|
|
1771
|
-
meta: meta$
|
|
1770
|
+
loader: loader$x,
|
|
1771
|
+
meta: meta$6
|
|
1772
1772
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
1773
|
-
async function loader$
|
|
1773
|
+
async function loader$w({ params }) {
|
|
1774
1774
|
const splat = params["*"];
|
|
1775
1775
|
const segments = (splat == null ? void 0 : splat.split("/")) ?? [];
|
|
1776
1776
|
if (segments.length > 0 && !isNaN(Number(segments[0]))) {
|
|
@@ -1808,7 +1808,7 @@ const route1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
1808
1808
|
__proto__: null,
|
|
1809
1809
|
ErrorBoundary: ErrorBoundary$5,
|
|
1810
1810
|
default: NotFound,
|
|
1811
|
-
loader: loader$
|
|
1811
|
+
loader: loader$w
|
|
1812
1812
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
1813
1813
|
function makeMediaQueryStore(mediaQuery, serverSnapshot) {
|
|
1814
1814
|
function getSnapshot() {
|
|
@@ -1917,8 +1917,8 @@ function useRevalidationWSImpl({ watchPaths }) {
|
|
|
1917
1917
|
const socketQuery = socketParams.toString();
|
|
1918
1918
|
const protocol = requestInfo.protocol === "https:" ? "wss:" : "ws:";
|
|
1919
1919
|
const host = requestInfo.hostname;
|
|
1920
|
-
const
|
|
1921
|
-
const socketPath = `${protocol}//${host}:${
|
|
1920
|
+
const port = requestInfo.port;
|
|
1921
|
+
const socketPath = `${protocol}//${host}:${port}/__ws?${socketQuery}`;
|
|
1922
1922
|
useEffect(() => {
|
|
1923
1923
|
if (!socketQuery) return;
|
|
1924
1924
|
let ws = null;
|
|
@@ -2052,11 +2052,11 @@ function useUser() {
|
|
|
2052
2052
|
function useOptionalDiscordMember() {
|
|
2053
2053
|
var _a;
|
|
2054
2054
|
const data = useRouteLoaderData("root");
|
|
2055
|
-
return (
|
|
2055
|
+
return ((_a = data == null ? void 0 : data.user) == null ? void 0 : _a.discordProfile) ? {
|
|
2056
2056
|
id: data.user.discordProfile.user.id,
|
|
2057
2057
|
displayName: data.user.discordProfile.nick ?? data.user.discordProfile.user.global_name,
|
|
2058
2058
|
avatarUrl: data.user.imageUrlLarge
|
|
2059
|
-
} : null
|
|
2059
|
+
} : null;
|
|
2060
2060
|
}
|
|
2061
2061
|
function useUserHasAccess() {
|
|
2062
2062
|
const data = useRouteLoaderData("root");
|
|
@@ -2347,7 +2347,7 @@ function ProgressToggle({
|
|
|
2347
2347
|
)
|
|
2348
2348
|
] });
|
|
2349
2349
|
}
|
|
2350
|
-
const
|
|
2350
|
+
const route38 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2351
2351
|
__proto__: null,
|
|
2352
2352
|
ProgressToggle,
|
|
2353
2353
|
action: action$a,
|
|
@@ -2358,7 +2358,7 @@ const route37 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
2358
2358
|
useProgressItemClassName,
|
|
2359
2359
|
useRequireEpicProgress
|
|
2360
2360
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
2361
|
-
async function loader$
|
|
2361
|
+
async function loader$v({ request }) {
|
|
2362
2362
|
var _a;
|
|
2363
2363
|
const timings = makeTimings("appLayoutLoader");
|
|
2364
2364
|
const { title: workshopTitle } = getWorkshopConfig();
|
|
@@ -2405,7 +2405,7 @@ async function loader$w({ request }) {
|
|
|
2405
2405
|
);
|
|
2406
2406
|
return result;
|
|
2407
2407
|
}
|
|
2408
|
-
const headers$
|
|
2408
|
+
const headers$b = ({ loaderHeaders, parentHeaders }) => {
|
|
2409
2409
|
const headers2 = {
|
|
2410
2410
|
"Cache-Control": loaderHeaders.get("Cache-Control") ?? "",
|
|
2411
2411
|
Vary: "Cookie",
|
|
@@ -3447,8 +3447,8 @@ function NavToggle({
|
|
|
3447
3447
|
const route2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3448
3448
|
__proto__: null,
|
|
3449
3449
|
default: App,
|
|
3450
|
-
headers: headers$
|
|
3451
|
-
loader: loader$
|
|
3450
|
+
headers: headers$b,
|
|
3451
|
+
loader: loader$v
|
|
3452
3452
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
3453
3453
|
function PendingState() {
|
|
3454
3454
|
return /* @__PURE__ */ jsx("span", { className: "inline-block animate-spin", children: "🌀" });
|
|
@@ -3514,106 +3514,19 @@ function ButtonLink({
|
|
|
3514
3514
|
}
|
|
3515
3515
|
) });
|
|
3516
3516
|
}
|
|
3517
|
-
const
|
|
3518
|
-
const scope = "guilds.join identify messages.read";
|
|
3519
|
-
const DiscordApiResponseSchema = z.object({
|
|
3520
|
-
status: z.literal("error"),
|
|
3521
|
-
error: z.string()
|
|
3522
|
-
}).or(
|
|
3523
|
-
z.object({
|
|
3524
|
-
status: z.literal("success"),
|
|
3525
|
-
member: DiscordMemberSchema
|
|
3526
|
-
})
|
|
3527
|
-
);
|
|
3528
|
-
function getDiscordAuthURL() {
|
|
3529
|
-
const discordAuthUrl = new URL("https://discord.com/oauth2/authorize");
|
|
3530
|
-
discordAuthUrl.searchParams.append("client_id", "738096608440483870");
|
|
3531
|
-
discordAuthUrl.searchParams.append(
|
|
3532
|
-
"redirect_uri",
|
|
3533
|
-
`http://localhost:${port}/discord/callback`
|
|
3534
|
-
);
|
|
3535
|
-
discordAuthUrl.searchParams.append("response_type", "code");
|
|
3536
|
-
discordAuthUrl.searchParams.append("scope", scope);
|
|
3537
|
-
return discordAuthUrl.toString();
|
|
3538
|
-
}
|
|
3539
|
-
async function loader$v({ request }) {
|
|
3540
|
-
const authInfo = await requireAuthInfo({ request });
|
|
3541
|
-
const discordCode = new URL(request.url).searchParams.get("code");
|
|
3542
|
-
invariantResponse(discordCode, "Missing code");
|
|
3543
|
-
const result = await fetch(
|
|
3544
|
-
// 'http://localhost:3000/resources/connect-epic-web',
|
|
3545
|
-
"https://kcd-discord-bot-v2.fly.dev/resources/connect-epic-web",
|
|
3546
|
-
{
|
|
3547
|
-
method: "POST",
|
|
3548
|
-
headers: { "content-type": "application/json" },
|
|
3549
|
-
body: JSON.stringify({
|
|
3550
|
-
deviceToken: authInfo.tokenSet.access_token,
|
|
3551
|
-
discordCode,
|
|
3552
|
-
port,
|
|
3553
|
-
scope
|
|
3554
|
-
})
|
|
3555
|
-
}
|
|
3556
|
-
);
|
|
3557
|
-
if (!result.ok) {
|
|
3558
|
-
console.error(`There was an error connecting Discord`);
|
|
3559
|
-
try {
|
|
3560
|
-
console.error(await result.text());
|
|
3561
|
-
} catch {
|
|
3562
|
-
}
|
|
3563
|
-
return redirectWithToast("/account", {
|
|
3564
|
-
type: "error",
|
|
3565
|
-
title: "Error",
|
|
3566
|
-
description: `There was an error connecting your Discord account (details in terminal output). Please try again.`
|
|
3567
|
-
});
|
|
3568
|
-
}
|
|
3569
|
-
const parseResult = DiscordApiResponseSchema.safeParse(await result.json());
|
|
3570
|
-
if (!parseResult.success) {
|
|
3571
|
-
console.error(`There was an error connecting Discord`);
|
|
3572
|
-
console.error(parseResult.error);
|
|
3573
|
-
return redirectWithToast("/account", {
|
|
3574
|
-
type: "error",
|
|
3575
|
-
title: "Error",
|
|
3576
|
-
description: `There was an error connecting your Discord account (details in terminal output). Please try again.`
|
|
3577
|
-
});
|
|
3578
|
-
}
|
|
3579
|
-
if (parseResult.data.status === "error") {
|
|
3580
|
-
console.error(`There was an error connecting Discord`);
|
|
3581
|
-
console.error(parseResult.data.error);
|
|
3582
|
-
return redirect$1("/account?error");
|
|
3583
|
-
}
|
|
3584
|
-
const member = parseResult.data.member;
|
|
3585
|
-
await setDiscordMember(member);
|
|
3586
|
-
return redirectWithToast("/account", {
|
|
3587
|
-
type: "success",
|
|
3588
|
-
title: "Success",
|
|
3589
|
-
description: `Your Discord account "${member.displayName}" has been connected!`
|
|
3590
|
-
});
|
|
3591
|
-
}
|
|
3592
|
-
const route30 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3593
|
-
__proto__: null,
|
|
3594
|
-
getDiscordAuthURL,
|
|
3595
|
-
loader: loader$v
|
|
3596
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
3597
|
-
const handle$7 = {
|
|
3517
|
+
const handle$9 = {
|
|
3598
3518
|
getSitemapEntries: () => null
|
|
3599
3519
|
};
|
|
3600
3520
|
async function loader$u({ request }) {
|
|
3601
3521
|
ensureUndeployed();
|
|
3602
3522
|
await requireAuthInfo({ request });
|
|
3603
|
-
return {
|
|
3523
|
+
return {};
|
|
3604
3524
|
}
|
|
3605
3525
|
async function action$9({ request }) {
|
|
3606
3526
|
ensureUndeployed();
|
|
3607
3527
|
const formData = await request.formData();
|
|
3608
3528
|
const intent = formData.get("intent");
|
|
3609
|
-
if (intent === "
|
|
3610
|
-
await deleteDiscordInfo();
|
|
3611
|
-
return redirectWithToast("/account", {
|
|
3612
|
-
type: "success",
|
|
3613
|
-
title: "Disconnected",
|
|
3614
|
-
description: "Local discord data has been deleted."
|
|
3615
|
-
});
|
|
3616
|
-
} else if (intent === "logout") {
|
|
3529
|
+
if (intent === "logout") {
|
|
3617
3530
|
await deleteDb();
|
|
3618
3531
|
await deleteCache();
|
|
3619
3532
|
return redirectWithToast("/login", {
|
|
@@ -3632,12 +3545,17 @@ async function action$9({ request }) {
|
|
|
3632
3545
|
}
|
|
3633
3546
|
return redirect$1("/account");
|
|
3634
3547
|
}
|
|
3548
|
+
function useConnectDiscordURL$1() {
|
|
3549
|
+
const {
|
|
3550
|
+
product: { host }
|
|
3551
|
+
} = useWorkshopConfig();
|
|
3552
|
+
return `https://${host}/discord`;
|
|
3553
|
+
}
|
|
3635
3554
|
function Account() {
|
|
3636
|
-
const data = useLoaderData();
|
|
3637
|
-
const disconnectFetcher = useFetcher();
|
|
3638
3555
|
const user = useUser();
|
|
3639
3556
|
const discordMember = useOptionalDiscordMember();
|
|
3640
3557
|
const presencePreferences = usePresencePreferences();
|
|
3558
|
+
const connectDiscordURL = useConnectDiscordURL$1();
|
|
3641
3559
|
return /* @__PURE__ */ jsxs("main", { className: "container flex h-full w-full max-w-3xl flex-grow flex-col items-center justify-center gap-4", children: [
|
|
3642
3560
|
user.imageUrlLarge ? /* @__PURE__ */ jsx(
|
|
3643
3561
|
"img",
|
|
@@ -3649,31 +3567,25 @@ function Account() {
|
|
|
3649
3567
|
) : /* @__PURE__ */ jsx(Icon, { name: "User", className: "flex-shrink-0", size: "lg" }),
|
|
3650
3568
|
/* @__PURE__ */ jsx("h1", { className: "mb-1 text-2xl", children: "Your Account" }),
|
|
3651
3569
|
/* @__PURE__ */ jsx("p", { className: "text-center text-gray-700 dark:text-gray-300", children: user.name ? `Hi ${(discordMember == null ? void 0 : discordMember.displayName) ?? user.name}, your device is logged in with ${user.email}.` : `Your device is logged in with ${user.email}.` }),
|
|
3652
|
-
discordMember ? /* @__PURE__ */
|
|
3653
|
-
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
|
-
|
|
3657
|
-
|
|
3658
|
-
{
|
|
3659
|
-
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
] }),
|
|
3668
|
-
/* @__PURE__ */ jsxs("div", { className: "flex justify-center gap-2", children: [
|
|
3669
|
-
/* @__PURE__ */ jsx(disconnectFetcher.Form, { method: "post", children: /* @__PURE__ */ jsx(Button, { varient: "mono", name: "intent", value: "disconnect-discord", children: "Disconnect Discord" }) }),
|
|
3670
|
-
/* @__PURE__ */ jsx(SimpleTooltip, { content: "Your discord connection gives you access to the exclusive Discord channels for Epic Web", children: /* @__PURE__ */ jsx(Icon, { name: "Question", tabIndex: 0 }) })
|
|
3671
|
-
] })
|
|
3672
|
-
] }) : /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3570
|
+
discordMember ? /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("p", { className: "text-center text-gray-700 dark:text-gray-300", children: [
|
|
3571
|
+
"And you are connected to discord as",
|
|
3572
|
+
" ",
|
|
3573
|
+
/* @__PURE__ */ jsx(
|
|
3574
|
+
"a",
|
|
3575
|
+
{
|
|
3576
|
+
href: `https://discord.com/users/${discordMember.id}`,
|
|
3577
|
+
target: "_blank",
|
|
3578
|
+
rel: "noopener noreferrer",
|
|
3579
|
+
className: "underline",
|
|
3580
|
+
children: discordMember.displayName
|
|
3581
|
+
}
|
|
3582
|
+
),
|
|
3583
|
+
"."
|
|
3584
|
+
] }) }) : /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3673
3585
|
/* @__PURE__ */ jsxs(
|
|
3674
3586
|
Link,
|
|
3675
3587
|
{
|
|
3676
|
-
to:
|
|
3588
|
+
to: connectDiscordURL,
|
|
3677
3589
|
className: "inline-flex items-center gap-2 underline",
|
|
3678
3590
|
children: [
|
|
3679
3591
|
/* @__PURE__ */ jsx(Icon, { name: "Discord", size: "lg" }),
|
|
@@ -3736,7 +3648,7 @@ const route3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
3736
3648
|
__proto__: null,
|
|
3737
3649
|
action: action$9,
|
|
3738
3650
|
default: Account,
|
|
3739
|
-
handle: handle$
|
|
3651
|
+
handle: handle$9,
|
|
3740
3652
|
loader: loader$u
|
|
3741
3653
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
3742
3654
|
async function getForceFresh(filePath, cacheEntry) {
|
|
@@ -4298,28 +4210,31 @@ const route10 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
4298
4210
|
__proto__: null,
|
|
4299
4211
|
loader: loader$r
|
|
4300
4212
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
4301
|
-
const handle$
|
|
4213
|
+
const handle$8 = {
|
|
4302
4214
|
getSitemapEntries: () => null
|
|
4303
4215
|
};
|
|
4304
|
-
|
|
4305
|
-
|
|
4216
|
+
function useConnectDiscordURL() {
|
|
4217
|
+
const {
|
|
4218
|
+
product: { host }
|
|
4219
|
+
} = useWorkshopConfig();
|
|
4220
|
+
return `https://${host}/discord`;
|
|
4306
4221
|
}
|
|
4307
|
-
function useDiscordCTALink({
|
|
4308
|
-
discordAuthUrl
|
|
4309
|
-
}) {
|
|
4222
|
+
function useDiscordCTALink() {
|
|
4310
4223
|
const user = useOptionalUser();
|
|
4311
4224
|
const discordMember = useOptionalDiscordMember();
|
|
4225
|
+
const connectDiscordURL = useConnectDiscordURL();
|
|
4312
4226
|
if (!user) {
|
|
4313
4227
|
return "/login";
|
|
4314
4228
|
}
|
|
4315
4229
|
if (!discordMember) {
|
|
4316
|
-
return
|
|
4230
|
+
return connectDiscordURL;
|
|
4317
4231
|
}
|
|
4318
4232
|
return "https://discord.com/channels/715220730605731931/1161045224907341972";
|
|
4319
4233
|
}
|
|
4320
|
-
function DiscordCTA(
|
|
4234
|
+
function DiscordCTA() {
|
|
4321
4235
|
const user = useOptionalUser();
|
|
4322
4236
|
const discordMember = useOptionalDiscordMember();
|
|
4237
|
+
const connectDiscordURL = useConnectDiscordURL();
|
|
4323
4238
|
if (!user) {
|
|
4324
4239
|
return /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-center gap-2 text-xl", children: [
|
|
4325
4240
|
/* @__PURE__ */ jsxs(Link, { to: "/login", className: "inline-flex items-center gap-2 underline", children: [
|
|
@@ -4337,10 +4252,17 @@ function DiscordCTA({ discordAuthUrl }) {
|
|
|
4337
4252
|
}
|
|
4338
4253
|
if (!discordMember) {
|
|
4339
4254
|
return /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-center gap-2 text-xl", children: [
|
|
4340
|
-
/* @__PURE__ */ jsxs(
|
|
4341
|
-
|
|
4342
|
-
|
|
4343
|
-
|
|
4255
|
+
/* @__PURE__ */ jsxs(
|
|
4256
|
+
Link,
|
|
4257
|
+
{
|
|
4258
|
+
to: connectDiscordURL,
|
|
4259
|
+
className: "flex items-center gap-2 underline",
|
|
4260
|
+
children: [
|
|
4261
|
+
/* @__PURE__ */ jsx(Icon, { name: "Discord", size: "2xl" }),
|
|
4262
|
+
"Connect Discord"
|
|
4263
|
+
]
|
|
4264
|
+
}
|
|
4265
|
+
),
|
|
4344
4266
|
" ",
|
|
4345
4267
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
4346
4268
|
"to get access to the exclusive",
|
|
@@ -4364,9 +4286,8 @@ function DiscordCTA({ discordAuthUrl }) {
|
|
|
4364
4286
|
] });
|
|
4365
4287
|
}
|
|
4366
4288
|
function DiscordRoute() {
|
|
4367
|
-
const data = useLoaderData();
|
|
4368
4289
|
return /* @__PURE__ */ jsxs("div", { className: "container flex h-full max-w-3xl flex-col items-center justify-center gap-4 p-12", children: [
|
|
4369
|
-
/* @__PURE__ */ jsx(DiscordCTA, {
|
|
4290
|
+
/* @__PURE__ */ jsx(DiscordCTA, {}),
|
|
4370
4291
|
/* @__PURE__ */ jsxs("p", { children: [
|
|
4371
4292
|
"The",
|
|
4372
4293
|
" ",
|
|
@@ -4404,11 +4325,10 @@ const route11 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
4404
4325
|
__proto__: null,
|
|
4405
4326
|
DiscordCTA,
|
|
4406
4327
|
default: DiscordRoute,
|
|
4407
|
-
handle: handle$
|
|
4408
|
-
loader: loader$o,
|
|
4328
|
+
handle: handle$8,
|
|
4409
4329
|
useDiscordCTALink
|
|
4410
4330
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
4411
|
-
const handle$
|
|
4331
|
+
const handle$7 = {
|
|
4412
4332
|
getSitemapEntries: async (request) => {
|
|
4413
4333
|
const exercises = await getExercises({
|
|
4414
4334
|
request
|
|
@@ -4431,7 +4351,7 @@ function ExercisesLayout() {
|
|
|
4431
4351
|
const route12 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
4432
4352
|
__proto__: null,
|
|
4433
4353
|
default: ExercisesLayout,
|
|
4434
|
-
handle: handle$
|
|
4354
|
+
handle: handle$7
|
|
4435
4355
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
4436
4356
|
const PlaybackTimeSchema = z.object({
|
|
4437
4357
|
time: z.number(),
|
|
@@ -4631,7 +4551,7 @@ function isDeepEqual(obj1, obj2) {
|
|
|
4631
4551
|
}
|
|
4632
4552
|
return true;
|
|
4633
4553
|
}
|
|
4634
|
-
const
|
|
4554
|
+
const route45 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
4635
4555
|
__proto__: null,
|
|
4636
4556
|
MuxPlayer,
|
|
4637
4557
|
action: action$7,
|
|
@@ -5725,7 +5645,7 @@ function EditFileOnGitHub({
|
|
|
5725
5645
|
);
|
|
5726
5646
|
}
|
|
5727
5647
|
const LaunchEditor = ENV.EPICSHOP_DEPLOYED ? LaunchGitHub : LaunchEditorImpl;
|
|
5728
|
-
const
|
|
5648
|
+
const route33 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
5729
5649
|
__proto__: null,
|
|
5730
5650
|
EditFileOnGitHub,
|
|
5731
5651
|
LaunchEditor,
|
|
@@ -5909,7 +5829,7 @@ function Mdx({
|
|
|
5909
5829
|
);
|
|
5910
5830
|
return /* @__PURE__ */ jsx(Component, { components });
|
|
5911
5831
|
}
|
|
5912
|
-
const meta$
|
|
5832
|
+
const meta$5 = ({
|
|
5913
5833
|
data: data2,
|
|
5914
5834
|
matches
|
|
5915
5835
|
}) => {
|
|
@@ -5926,7 +5846,7 @@ const meta$4 = ({
|
|
|
5926
5846
|
requestInfo: rootData.requestInfo
|
|
5927
5847
|
});
|
|
5928
5848
|
};
|
|
5929
|
-
async function loader$
|
|
5849
|
+
async function loader$o({ request, params }) {
|
|
5930
5850
|
const timings = makeTimings("exerciseNumberLoader");
|
|
5931
5851
|
invariantResponse(params.exerciseNumber, "exerciseNumber is required");
|
|
5932
5852
|
const { title: workshopTitle } = getWorkshopConfig();
|
|
@@ -5974,7 +5894,7 @@ async function loader$n({ request, params }) {
|
|
|
5974
5894
|
}
|
|
5975
5895
|
);
|
|
5976
5896
|
}
|
|
5977
|
-
const headers$
|
|
5897
|
+
const headers$a = ({ loaderHeaders, parentHeaders }) => {
|
|
5978
5898
|
const headers2 = {
|
|
5979
5899
|
"Cache-Control": loaderHeaders.get("Cache-Control") ?? "",
|
|
5980
5900
|
"Server-Timing": combineServerTimings(loaderHeaders, parentHeaders)
|
|
@@ -6068,11 +5988,11 @@ const route13 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
6068
5988
|
__proto__: null,
|
|
6069
5989
|
ErrorBoundary: ErrorBoundary$4,
|
|
6070
5990
|
default: ExerciseNumberRoute,
|
|
6071
|
-
headers: headers$
|
|
6072
|
-
loader: loader$
|
|
6073
|
-
meta: meta$
|
|
5991
|
+
headers: headers$a,
|
|
5992
|
+
loader: loader$o,
|
|
5993
|
+
meta: meta$5
|
|
6074
5994
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
6075
|
-
async function loader$
|
|
5995
|
+
async function loader$n({ request, params }) {
|
|
6076
5996
|
const timings = makeTimings("stepLoader");
|
|
6077
5997
|
invariantResponse(params.exerciseNumber, "exerciseNumber is required");
|
|
6078
5998
|
const exercises = await getExercises({ request, timings });
|
|
@@ -6101,7 +6021,7 @@ async function loader$m({ request, params }) {
|
|
|
6101
6021
|
);
|
|
6102
6022
|
return result;
|
|
6103
6023
|
}
|
|
6104
|
-
const headers$
|
|
6024
|
+
const headers$9 = ({ loaderHeaders, parentHeaders }) => {
|
|
6105
6025
|
const headers2 = {
|
|
6106
6026
|
"Cache-Control": loaderHeaders.get("Cache-Control") ?? "",
|
|
6107
6027
|
"Server-Timing": combineServerTimings(loaderHeaders, parentHeaders)
|
|
@@ -6126,8 +6046,8 @@ const route14 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
6126
6046
|
__proto__: null,
|
|
6127
6047
|
ErrorBoundary: ErrorBoundary$3,
|
|
6128
6048
|
default: StepRoute,
|
|
6129
|
-
headers: headers$
|
|
6130
|
-
loader: loader$
|
|
6049
|
+
headers: headers$9,
|
|
6050
|
+
loader: loader$n
|
|
6131
6051
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
6132
6052
|
function NavChevrons({
|
|
6133
6053
|
prev,
|
|
@@ -6753,7 +6673,7 @@ function SetAppToPlayground({ appName }) {
|
|
|
6753
6673
|
}
|
|
6754
6674
|
);
|
|
6755
6675
|
}
|
|
6756
|
-
const
|
|
6676
|
+
const route40 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
6757
6677
|
__proto__: null,
|
|
6758
6678
|
PlaygroundChooser,
|
|
6759
6679
|
SetAppToPlayground,
|
|
@@ -7081,7 +7001,7 @@ function pageTitle(data2, workshopTitle) {
|
|
|
7081
7001
|
type: (data2 == null ? void 0 : data2.type) ?? "problem"
|
|
7082
7002
|
};
|
|
7083
7003
|
}
|
|
7084
|
-
const meta$
|
|
7004
|
+
const meta$4 = ({
|
|
7085
7005
|
data: data2,
|
|
7086
7006
|
matches,
|
|
7087
7007
|
params
|
|
@@ -7099,7 +7019,7 @@ const meta$3 = ({
|
|
|
7099
7019
|
requestInfo: rootData.requestInfo
|
|
7100
7020
|
});
|
|
7101
7021
|
};
|
|
7102
|
-
async function loader$
|
|
7022
|
+
async function loader$m({ request, params }) {
|
|
7103
7023
|
var _a, _b;
|
|
7104
7024
|
const timings = makeTimings("exerciseStepTypeLayoutLoader");
|
|
7105
7025
|
const url = new URL(request.url);
|
|
@@ -7228,7 +7148,7 @@ async function loader$l({ request, params }) {
|
|
|
7228
7148
|
}
|
|
7229
7149
|
);
|
|
7230
7150
|
}
|
|
7231
|
-
const headers$
|
|
7151
|
+
const headers$8 = ({ loaderHeaders, parentHeaders }) => {
|
|
7232
7152
|
const headers2 = {
|
|
7233
7153
|
"Server-Timing": combineServerTimings(loaderHeaders, parentHeaders)
|
|
7234
7154
|
};
|
|
@@ -7360,9 +7280,9 @@ const route15 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
7360
7280
|
__proto__: null,
|
|
7361
7281
|
ErrorBoundary: ErrorBoundary$2,
|
|
7362
7282
|
default: ExercisePartRoute$1,
|
|
7363
|
-
headers: headers$
|
|
7364
|
-
loader: loader$
|
|
7365
|
-
meta: meta$
|
|
7283
|
+
headers: headers$8,
|
|
7284
|
+
loader: loader$m,
|
|
7285
|
+
meta: meta$4
|
|
7366
7286
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
7367
7287
|
async function action$4({ request }) {
|
|
7368
7288
|
ensureUndeployed();
|
|
@@ -7440,9 +7360,9 @@ async function action$4({ request }) {
|
|
|
7440
7360
|
}
|
|
7441
7361
|
}
|
|
7442
7362
|
if (intent === "stop-port") {
|
|
7443
|
-
const
|
|
7444
|
-
invariantResponse(typeof
|
|
7445
|
-
await stopPort(
|
|
7363
|
+
const port = formData.get("port");
|
|
7364
|
+
invariantResponse(typeof port === "string", "port is required");
|
|
7365
|
+
await stopPort(port);
|
|
7446
7366
|
return dataWithPE(formData, { status: "port-stopped" });
|
|
7447
7367
|
}
|
|
7448
7368
|
throw new Error(`Unknown intent: ${intent}`);
|
|
@@ -7470,13 +7390,13 @@ function AppStopper({ name }) {
|
|
|
7470
7390
|
)
|
|
7471
7391
|
] });
|
|
7472
7392
|
}
|
|
7473
|
-
function PortStopper({ port
|
|
7393
|
+
function PortStopper({ port }) {
|
|
7474
7394
|
const fetcher = useFetcher();
|
|
7475
7395
|
const peRedirectInput = usePERedirectInput();
|
|
7476
7396
|
return /* @__PURE__ */ jsxs(fetcher.Form, { method: "POST", action: "/start", children: [
|
|
7477
7397
|
peRedirectInput,
|
|
7478
7398
|
showProgressBarField,
|
|
7479
|
-
/* @__PURE__ */ jsx("input", { type: "hidden", name: "port", value:
|
|
7399
|
+
/* @__PURE__ */ jsx("input", { type: "hidden", name: "port", value: port }),
|
|
7480
7400
|
/* @__PURE__ */ jsx(Button, { varient: "mono", type: "submit", name: "intent", value: "stop-port", children: fetcher.state === "idle" ? "Stop Port" : "Stopping Port" })
|
|
7481
7401
|
] });
|
|
7482
7402
|
}
|
|
@@ -7501,7 +7421,7 @@ function AppStarter({ name }) {
|
|
|
7501
7421
|
fetcher.state === "idle" ? /* @__PURE__ */ jsx(Button, { type: "submit", name: "intent", value: "start", varient: "mono", children: "Start App" }) : /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Loading, { children: "Starting App" }) })
|
|
7502
7422
|
] });
|
|
7503
7423
|
}
|
|
7504
|
-
const
|
|
7424
|
+
const route42 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
7505
7425
|
__proto__: null,
|
|
7506
7426
|
AppStarter,
|
|
7507
7427
|
AppStopper,
|
|
@@ -7551,7 +7471,7 @@ function getNewIndex(prevIndex, delta, max) {
|
|
|
7551
7471
|
const InBrowserBrowser = forwardRef(
|
|
7552
7472
|
InBrowserBrowserImpl
|
|
7553
7473
|
);
|
|
7554
|
-
function InBrowserBrowserImpl({ name, port
|
|
7474
|
+
function InBrowserBrowserImpl({ name, port, portIsAvailable, isRunning, baseUrl, id, initialRoute }, ref) {
|
|
7555
7475
|
const requestInfo = useRequestInfo();
|
|
7556
7476
|
return isRunning ? /* @__PURE__ */ jsx(
|
|
7557
7477
|
InBrowserBrowserForRealz,
|
|
@@ -7568,14 +7488,14 @@ function InBrowserBrowserImpl({ name, port: port2, portIsAvailable, isRunning, b
|
|
|
7568
7488
|
/* @__PURE__ */ jsx(
|
|
7569
7489
|
"a",
|
|
7570
7490
|
{
|
|
7571
|
-
href: getBaseUrl({ domain: requestInfo.domain, port
|
|
7491
|
+
href: getBaseUrl({ domain: requestInfo.domain, port }),
|
|
7572
7492
|
className: "underline",
|
|
7573
7493
|
children: "elsewhere"
|
|
7574
7494
|
}
|
|
7575
7495
|
),
|
|
7576
7496
|
"?"
|
|
7577
7497
|
] }),
|
|
7578
|
-
/* @__PURE__ */ jsx(PortStopper, { port
|
|
7498
|
+
/* @__PURE__ */ jsx(PortStopper, { port })
|
|
7579
7499
|
] }) : /* @__PURE__ */ jsx(AppStarter, { name });
|
|
7580
7500
|
}
|
|
7581
7501
|
const InBrowserBrowserForRealz = forwardRef(InBrowserBrowserForRealzImpl);
|
|
@@ -7964,7 +7884,7 @@ async function getAppRunningState(a) {
|
|
|
7964
7884
|
const portIsAvailable = isRunning ? null : await isPortAvailable(a.dev.portNumber);
|
|
7965
7885
|
return { isRunning, portIsAvailable };
|
|
7966
7886
|
}
|
|
7967
|
-
async function loader$
|
|
7887
|
+
async function loader$l({ request, params }) {
|
|
7968
7888
|
const timings = makeTimings("exercise-step-test");
|
|
7969
7889
|
const exerciseStepApp = await requireExerciseApp(params, { request, timings });
|
|
7970
7890
|
const { isRunning, portIsAvailable } = await getAppRunningState(exerciseStepApp);
|
|
@@ -7989,7 +7909,7 @@ async function loader$k({ request, params }) {
|
|
|
7989
7909
|
}
|
|
7990
7910
|
);
|
|
7991
7911
|
}
|
|
7992
|
-
const headers$
|
|
7912
|
+
const headers$7 = ({ loaderHeaders, parentHeaders }) => {
|
|
7993
7913
|
const headers2 = {
|
|
7994
7914
|
"Server-Timing": combineServerTimings(loaderHeaders, parentHeaders)
|
|
7995
7915
|
};
|
|
@@ -8003,8 +7923,8 @@ function TestsList$1() {
|
|
|
8003
7923
|
const route16 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
8004
7924
|
__proto__: null,
|
|
8005
7925
|
default: TestsList$1,
|
|
8006
|
-
headers: headers$
|
|
8007
|
-
loader: loader$
|
|
7926
|
+
headers: headers$7,
|
|
7927
|
+
loader: loader$l
|
|
8008
7928
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
8009
7929
|
const AccordionComponent = ({
|
|
8010
7930
|
title,
|
|
@@ -8427,15 +8347,14 @@ async function fetchDiscordPosts({ request }) {
|
|
|
8427
8347
|
}));
|
|
8428
8348
|
}
|
|
8429
8349
|
function DiscordChat() {
|
|
8430
|
-
const data = useLoaderData();
|
|
8431
8350
|
return /* @__PURE__ */ jsxs("div", { className: "flex h-full w-full flex-col gap-4 pt-4", children: [
|
|
8432
|
-
/* @__PURE__ */ jsx("div", { className: "text-center", children: /* @__PURE__ */ jsx(DiscordCTA, {
|
|
8351
|
+
/* @__PURE__ */ jsx("div", { className: "text-center", children: /* @__PURE__ */ jsx(DiscordCTA, {}) }),
|
|
8433
8352
|
/* @__PURE__ */ jsx("div", { className: "flex-1 overflow-y-scroll bg-accent pb-4 scrollbar-thin scrollbar-thumb-scrollbar", children: /* @__PURE__ */ jsx(DiscordPosts, {}) })
|
|
8434
8353
|
] });
|
|
8435
8354
|
}
|
|
8436
8355
|
function DiscordPosts() {
|
|
8437
8356
|
const data = useLoaderData();
|
|
8438
|
-
const ctaLink = useDiscordCTALink(
|
|
8357
|
+
const ctaLink = useDiscordCTALink();
|
|
8439
8358
|
const altDown = useAltDown();
|
|
8440
8359
|
return /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col items-center justify-between", children: [
|
|
8441
8360
|
/* @__PURE__ */ jsx(
|
|
@@ -8881,7 +8800,7 @@ const testEventSchema = z.union([
|
|
|
8881
8800
|
})
|
|
8882
8801
|
]);
|
|
8883
8802
|
const testEventQueueSchema = z.array(testEventSchema);
|
|
8884
|
-
async function loader$
|
|
8803
|
+
async function loader$k({ request }) {
|
|
8885
8804
|
ensureUndeployed();
|
|
8886
8805
|
const url = new URL(request.url);
|
|
8887
8806
|
const name = url.searchParams.get("name");
|
|
@@ -9230,14 +9149,14 @@ function StopTest({
|
|
|
9230
9149
|
)
|
|
9231
9150
|
] });
|
|
9232
9151
|
}
|
|
9233
|
-
const
|
|
9152
|
+
const route43 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
9234
9153
|
__proto__: null,
|
|
9235
9154
|
ClearTest,
|
|
9236
9155
|
StopTest,
|
|
9237
9156
|
TestOutput,
|
|
9238
9157
|
TestRunner,
|
|
9239
9158
|
action: action$3,
|
|
9240
|
-
loader: loader$
|
|
9159
|
+
loader: loader$k
|
|
9241
9160
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
9242
9161
|
function Tests({
|
|
9243
9162
|
appInfo: playgroundAppInfo,
|
|
@@ -9304,7 +9223,7 @@ function TestUI({
|
|
|
9304
9223
|
}
|
|
9305
9224
|
return /* @__PURE__ */ jsx("div", { className: "flex h-full items-center justify-center text-lg", children: /* @__PURE__ */ jsx("p", { children: "No tests here 😢 Sorry." }) });
|
|
9306
9225
|
}
|
|
9307
|
-
async function loader$
|
|
9226
|
+
async function loader$j({ request, params }) {
|
|
9308
9227
|
const timings = makeTimings("exerciseStepTypeIndexLoader");
|
|
9309
9228
|
const userHasAccess = await userHasAccessToWorkshop({
|
|
9310
9229
|
request,
|
|
@@ -9398,7 +9317,6 @@ async function loader$i({ request, params }) {
|
|
|
9398
9317
|
type: params.type,
|
|
9399
9318
|
exerciseStepApp,
|
|
9400
9319
|
allApps,
|
|
9401
|
-
discordAuthUrl: getDiscordAuthURL(),
|
|
9402
9320
|
// defer this promise so that we don't block the response from being sent
|
|
9403
9321
|
discordPostsPromise: fetchDiscordPosts({ request }),
|
|
9404
9322
|
playground: playgroundApp ? {
|
|
@@ -9442,7 +9360,7 @@ async function loader$i({ request, params }) {
|
|
|
9442
9360
|
}
|
|
9443
9361
|
);
|
|
9444
9362
|
}
|
|
9445
|
-
const headers$
|
|
9363
|
+
const headers$6 = ({ loaderHeaders, parentHeaders }) => {
|
|
9446
9364
|
const headers2 = {
|
|
9447
9365
|
"Server-Timing": combineServerTimings(loaderHeaders, parentHeaders)
|
|
9448
9366
|
};
|
|
@@ -9624,10 +9542,10 @@ const route17 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
9624
9542
|
__proto__: null,
|
|
9625
9543
|
ErrorBoundary: ErrorBoundary$1,
|
|
9626
9544
|
default: ExercisePartRoute,
|
|
9627
|
-
headers: headers$
|
|
9628
|
-
loader: loader$
|
|
9545
|
+
headers: headers$6,
|
|
9546
|
+
loader: loader$j
|
|
9629
9547
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
9630
|
-
async function loader$
|
|
9548
|
+
async function loader$i({ request, params }) {
|
|
9631
9549
|
const timings = makeTimings("exercise-step-test");
|
|
9632
9550
|
const exerciseStepApp = await requireExerciseApp(params, { request, timings });
|
|
9633
9551
|
return unstable_data$1(
|
|
@@ -9644,7 +9562,7 @@ async function loader$h({ request, params }) {
|
|
|
9644
9562
|
}
|
|
9645
9563
|
);
|
|
9646
9564
|
}
|
|
9647
|
-
const headers$
|
|
9565
|
+
const headers$5 = ({ loaderHeaders, parentHeaders }) => {
|
|
9648
9566
|
const headers2 = {
|
|
9649
9567
|
"Cache-Control": loaderHeaders.get("Cache-Control") ?? "",
|
|
9650
9568
|
"Server-Timing": combineServerTimings(loaderHeaders, parentHeaders)
|
|
@@ -9658,10 +9576,10 @@ function TestsList() {
|
|
|
9658
9576
|
const route18 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
9659
9577
|
__proto__: null,
|
|
9660
9578
|
default: TestsList,
|
|
9661
|
-
headers: headers$
|
|
9662
|
-
loader: loader$
|
|
9579
|
+
headers: headers$5,
|
|
9580
|
+
loader: loader$i
|
|
9663
9581
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
9664
|
-
async function loader$
|
|
9582
|
+
async function loader$h({ params }) {
|
|
9665
9583
|
const problemApp = await getExerciseApp({ ...params, type: "problem" }).then(
|
|
9666
9584
|
(a) => isProblemApp(a) ? a : null
|
|
9667
9585
|
);
|
|
@@ -9683,9 +9601,9 @@ async function loader$g({ params }) {
|
|
|
9683
9601
|
}
|
|
9684
9602
|
const route19 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
9685
9603
|
__proto__: null,
|
|
9686
|
-
loader: loader$
|
|
9604
|
+
loader: loader$h
|
|
9687
9605
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
9688
|
-
const meta$
|
|
9606
|
+
const meta$3 = ({
|
|
9689
9607
|
data: data2,
|
|
9690
9608
|
matches
|
|
9691
9609
|
}) => {
|
|
@@ -9702,7 +9620,7 @@ const meta$2 = ({
|
|
|
9702
9620
|
requestInfo: rootData.requestInfo
|
|
9703
9621
|
});
|
|
9704
9622
|
};
|
|
9705
|
-
async function loader$
|
|
9623
|
+
async function loader$g({ request, params }) {
|
|
9706
9624
|
const timings = makeTimings("exerciseFinishedLoader");
|
|
9707
9625
|
invariantResponse(params.exerciseNumber, "exerciseNumber is required");
|
|
9708
9626
|
const exercise = await getExercise(params.exerciseNumber, {
|
|
@@ -9762,7 +9680,7 @@ async function loader$f({ request, params }) {
|
|
|
9762
9680
|
}
|
|
9763
9681
|
);
|
|
9764
9682
|
}
|
|
9765
|
-
const headers$
|
|
9683
|
+
const headers$4 = ({ loaderHeaders, parentHeaders }) => {
|
|
9766
9684
|
const headers2 = {
|
|
9767
9685
|
"Cache-Control": loaderHeaders.get("Cache-Control") ?? "",
|
|
9768
9686
|
"Server-Timing": combineServerTimings(loaderHeaders, parentHeaders)
|
|
@@ -9865,14 +9783,14 @@ function Survey$1({
|
|
|
9865
9783
|
const route20 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
9866
9784
|
__proto__: null,
|
|
9867
9785
|
default: ExerciseFinished$1,
|
|
9868
|
-
headers: headers$
|
|
9869
|
-
loader: loader$
|
|
9870
|
-
meta: meta$
|
|
9786
|
+
headers: headers$4,
|
|
9787
|
+
loader: loader$g,
|
|
9788
|
+
meta: meta$3
|
|
9871
9789
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
9872
|
-
const handle$
|
|
9790
|
+
const handle$6 = {
|
|
9873
9791
|
getSitemapEntries: () => [{ route: "/finished" }]
|
|
9874
9792
|
};
|
|
9875
|
-
const meta$
|
|
9793
|
+
const meta$2 = ({
|
|
9876
9794
|
matches
|
|
9877
9795
|
}) => {
|
|
9878
9796
|
var _a;
|
|
@@ -9887,7 +9805,7 @@ const meta$1 = ({
|
|
|
9887
9805
|
requestInfo: rootData.requestInfo
|
|
9888
9806
|
});
|
|
9889
9807
|
};
|
|
9890
|
-
async function loader$
|
|
9808
|
+
async function loader$f({ request }) {
|
|
9891
9809
|
const timings = makeTimings("finishedLoader");
|
|
9892
9810
|
const exercises = await getExercises({ request, timings });
|
|
9893
9811
|
const compiledFinished = await time(() => getWorkshopFinished({ request }), {
|
|
@@ -9928,7 +9846,7 @@ async function loader$e({ request }) {
|
|
|
9928
9846
|
}
|
|
9929
9847
|
);
|
|
9930
9848
|
}
|
|
9931
|
-
const headers$
|
|
9849
|
+
const headers$3 = ({ loaderHeaders, parentHeaders }) => {
|
|
9932
9850
|
const headers2 = {
|
|
9933
9851
|
"Cache-Control": loaderHeaders.get("Cache-Control") ?? "",
|
|
9934
9852
|
"Server-Timing": combineServerTimings(loaderHeaders, parentHeaders)
|
|
@@ -10021,12 +9939,12 @@ function Survey({
|
|
|
10021
9939
|
const route21 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10022
9940
|
__proto__: null,
|
|
10023
9941
|
default: ExerciseFinished,
|
|
10024
|
-
handle: handle$
|
|
10025
|
-
headers: headers$
|
|
10026
|
-
loader: loader$
|
|
10027
|
-
meta: meta$
|
|
9942
|
+
handle: handle$6,
|
|
9943
|
+
headers: headers$3,
|
|
9944
|
+
loader: loader$f,
|
|
9945
|
+
meta: meta$2
|
|
10028
9946
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
10029
|
-
async function loader$
|
|
9947
|
+
async function loader$e({ request }) {
|
|
10030
9948
|
const timings = makeTimings("indexLoader");
|
|
10031
9949
|
const { title } = getWorkshopConfig();
|
|
10032
9950
|
const [exercises, workshopReadme] = await Promise.all([
|
|
@@ -10061,7 +9979,7 @@ async function loader$d({ request }) {
|
|
|
10061
9979
|
}
|
|
10062
9980
|
);
|
|
10063
9981
|
}
|
|
10064
|
-
const headers$
|
|
9982
|
+
const headers$2 = ({ loaderHeaders, parentHeaders }) => {
|
|
10065
9983
|
const headers2 = {
|
|
10066
9984
|
"Cache-Control": loaderHeaders.get("Cache-Control") ?? "",
|
|
10067
9985
|
"Server-Timing": combineServerTimings(loaderHeaders, parentHeaders)
|
|
@@ -10151,8 +10069,8 @@ const route22 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
10151
10069
|
__proto__: null,
|
|
10152
10070
|
ErrorBoundary,
|
|
10153
10071
|
default: Index,
|
|
10154
|
-
headers: headers$
|
|
10155
|
-
loader: loader$
|
|
10072
|
+
headers: headers$2,
|
|
10073
|
+
loader: loader$e
|
|
10156
10074
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
10157
10075
|
const EVENTS = {
|
|
10158
10076
|
USER_CODE_RECEIVED: "USER_CODE_RECEIVED",
|
|
@@ -10217,7 +10135,7 @@ const EventSchema = z.union([
|
|
|
10217
10135
|
AuthResolvedEventSchema,
|
|
10218
10136
|
AuthRejectedEventSchema
|
|
10219
10137
|
]);
|
|
10220
|
-
async function loader$
|
|
10138
|
+
async function loader$d({ request }) {
|
|
10221
10139
|
ensureUndeployed();
|
|
10222
10140
|
return eventStream(request.signal, function setup(send) {
|
|
10223
10141
|
function handleCodeReceived(data) {
|
|
@@ -10251,15 +10169,15 @@ async function loader$c({ request }) {
|
|
|
10251
10169
|
};
|
|
10252
10170
|
});
|
|
10253
10171
|
}
|
|
10254
|
-
const
|
|
10172
|
+
const route34 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10255
10173
|
__proto__: null,
|
|
10256
10174
|
EventSchema,
|
|
10257
|
-
loader: loader$
|
|
10175
|
+
loader: loader$d
|
|
10258
10176
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
10259
|
-
const handle$
|
|
10177
|
+
const handle$5 = {
|
|
10260
10178
|
getSitemapEntries: () => null
|
|
10261
10179
|
};
|
|
10262
|
-
async function loader$
|
|
10180
|
+
async function loader$c() {
|
|
10263
10181
|
ensureUndeployed();
|
|
10264
10182
|
const isAuthenticated = Boolean(await getAuthInfo());
|
|
10265
10183
|
if (isAuthenticated) throw redirect$1("/account");
|
|
@@ -10378,10 +10296,10 @@ const route23 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
10378
10296
|
__proto__: null,
|
|
10379
10297
|
action: action$2,
|
|
10380
10298
|
default: Login,
|
|
10381
|
-
handle: handle$
|
|
10382
|
-
loader: loader$
|
|
10299
|
+
handle: handle$5,
|
|
10300
|
+
loader: loader$c
|
|
10383
10301
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
10384
|
-
const handle$
|
|
10302
|
+
const handle$4 = {
|
|
10385
10303
|
getSitemapEntries: () => null
|
|
10386
10304
|
};
|
|
10387
10305
|
function Support() {
|
|
@@ -10440,9 +10358,56 @@ function Support() {
|
|
|
10440
10358
|
const route24 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10441
10359
|
__proto__: null,
|
|
10442
10360
|
default: Support,
|
|
10443
|
-
handle: handle$
|
|
10361
|
+
handle: handle$4
|
|
10362
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
10363
|
+
const handle$3 = {
|
|
10364
|
+
getSitemapEntries: () => null
|
|
10365
|
+
};
|
|
10366
|
+
const meta$1 = ({ matches }) => {
|
|
10367
|
+
var _a;
|
|
10368
|
+
const rootData = (_a = matches.find((m) => m.id === "root")) == null ? void 0 : _a.data;
|
|
10369
|
+
return [{ title: `👷 | ${rootData == null ? void 0 : rootData.workshopTitle}` }];
|
|
10370
|
+
};
|
|
10371
|
+
function AdminLayout$1() {
|
|
10372
|
+
return /* @__PURE__ */ jsxs("main", { className: "container mx-auto mt-8", children: [
|
|
10373
|
+
/* @__PURE__ */ jsx("h1", { className: "text-4xl font-bold", children: "Admin" }),
|
|
10374
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
10375
|
+
/* @__PURE__ */ jsx("nav", { children: /* @__PURE__ */ jsxs("ul", { className: "flex gap-3", children: [
|
|
10376
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { className: "underline", to: "/", children: "Home" }) }),
|
|
10377
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { className: "underline", to: "/admin", children: "Admin" }) }),
|
|
10378
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { className: "underline", to: "/diff", children: "Diff Viewer" }) }),
|
|
10379
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { className: "underline", to: "version", children: "Version" }) })
|
|
10380
|
+
] }) }),
|
|
10381
|
+
/* @__PURE__ */ jsx(Outlet, {})
|
|
10382
|
+
] })
|
|
10383
|
+
] });
|
|
10384
|
+
}
|
|
10385
|
+
const route25 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10386
|
+
__proto__: null,
|
|
10387
|
+
default: AdminLayout$1,
|
|
10388
|
+
handle: handle$3,
|
|
10389
|
+
meta: meta$1
|
|
10390
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
10391
|
+
async function loader$b() {
|
|
10392
|
+
ensureUndeployed();
|
|
10393
|
+
const apps = await getApps();
|
|
10394
|
+
return Response.json({ apps });
|
|
10395
|
+
}
|
|
10396
|
+
const route26 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10397
|
+
__proto__: null,
|
|
10398
|
+
loader: loader$b
|
|
10399
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
10400
|
+
async function loader$a() {
|
|
10401
|
+
ensureUndeployed();
|
|
10402
|
+
const entries = await getAllFileCacheEntries();
|
|
10403
|
+
return Response.json({ entries });
|
|
10404
|
+
}
|
|
10405
|
+
const route27 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10406
|
+
__proto__: null,
|
|
10407
|
+
loader: loader$a
|
|
10444
10408
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
10445
10409
|
async function clearData() {
|
|
10410
|
+
if (ENV.EPICSHOP_DEPLOYED) return;
|
|
10446
10411
|
await clearCaches();
|
|
10447
10412
|
await deleteDb();
|
|
10448
10413
|
}
|
|
@@ -10452,6 +10417,7 @@ async function clearCaches() {
|
|
|
10452
10417
|
await deleteCache();
|
|
10453
10418
|
}
|
|
10454
10419
|
async function startInspector() {
|
|
10420
|
+
if (ENV.EPICSHOP_DEPLOYED) return;
|
|
10455
10421
|
if (!global.__inspector_open__) {
|
|
10456
10422
|
global.__inspector_open__ = true;
|
|
10457
10423
|
inspector.open();
|
|
@@ -10460,6 +10426,7 @@ async function startInspector() {
|
|
|
10460
10426
|
}
|
|
10461
10427
|
}
|
|
10462
10428
|
async function stopInspector() {
|
|
10429
|
+
if (ENV.EPICSHOP_DEPLOYED) return;
|
|
10463
10430
|
if (global.__inspector_open__) {
|
|
10464
10431
|
global.__inspector_open__ = false;
|
|
10465
10432
|
inspector.close();
|
|
@@ -10467,7 +10434,7 @@ async function stopInspector() {
|
|
|
10467
10434
|
console.info(`Inspector already stopped.`);
|
|
10468
10435
|
}
|
|
10469
10436
|
}
|
|
10470
|
-
const handle$
|
|
10437
|
+
const handle$2 = {
|
|
10471
10438
|
getSitemapEntries: () => null
|
|
10472
10439
|
};
|
|
10473
10440
|
const meta = ({
|
|
@@ -10477,7 +10444,7 @@ const meta = ({
|
|
|
10477
10444
|
const rootData = (_a = matches.find((m) => m.id === "root")) == null ? void 0 : _a.data;
|
|
10478
10445
|
return [{ title: `👷 | ${rootData == null ? void 0 : rootData.workshopTitle}` }];
|
|
10479
10446
|
};
|
|
10480
|
-
async function loader$
|
|
10447
|
+
async function loader$9({ request }) {
|
|
10481
10448
|
ensureUndeployed();
|
|
10482
10449
|
const timings = makeTimings("adminLoader");
|
|
10483
10450
|
const apps = (await getApps({ request, timings })).filter(
|
|
@@ -10487,9 +10454,9 @@ async function loader$a({ request }) {
|
|
|
10487
10454
|
const testProcesses = {};
|
|
10488
10455
|
for (const [
|
|
10489
10456
|
name,
|
|
10490
|
-
{ port
|
|
10457
|
+
{ port, process: process2, color }
|
|
10491
10458
|
] of getProcesses().devProcesses.entries()) {
|
|
10492
|
-
processes[name] = { port
|
|
10459
|
+
processes[name] = { port, pid: process2.pid, color };
|
|
10493
10460
|
}
|
|
10494
10461
|
for (const [
|
|
10495
10462
|
name,
|
|
@@ -10567,82 +10534,75 @@ function AdminLayout() {
|
|
|
10567
10534
|
completed: "bg-blue-500",
|
|
10568
10535
|
incomplete: "bg-yellow-500"
|
|
10569
10536
|
};
|
|
10570
|
-
return /* @__PURE__ */ jsxs("
|
|
10571
|
-
/* @__PURE__ */
|
|
10572
|
-
|
|
10573
|
-
|
|
10574
|
-
|
|
10575
|
-
|
|
10576
|
-
|
|
10577
|
-
|
|
10578
|
-
|
|
10579
|
-
|
|
10580
|
-
|
|
10581
|
-
|
|
10582
|
-
|
|
10583
|
-
|
|
10584
|
-
|
|
10585
|
-
|
|
10586
|
-
|
|
10587
|
-
|
|
10588
|
-
|
|
10589
|
-
|
|
10590
|
-
|
|
10591
|
-
|
|
10592
|
-
|
|
10593
|
-
|
|
10594
|
-
|
|
10595
|
-
|
|
10596
|
-
|
|
10597
|
-
|
|
10598
|
-
|
|
10599
|
-
|
|
10600
|
-
|
|
10601
|
-
|
|
10602
|
-
|
|
10603
|
-
|
|
10604
|
-
|
|
10605
|
-
|
|
10606
|
-
|
|
10607
|
-
|
|
10608
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
10609
|
-
/* @__PURE__ */ jsx("h2", { className: "text-lg font-bold", children: "Commands" }),
|
|
10610
|
-
/* @__PURE__ */ jsxs("ul", { className: "max-h-48 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar", children: [
|
|
10611
|
-
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Form, { method: "POST", children: /* @__PURE__ */ jsx("button", { name: "intent", value: "clear-caches", children: "Clear local caches" }) }) }),
|
|
10612
|
-
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Form, { method: "POST", children: /* @__PURE__ */ jsx("button", { name: "intent", value: "clear-data", children: "Clear all local data (including auth data)" }) }) }),
|
|
10613
|
-
/* @__PURE__ */ jsx("li", { children: data2.inspectorRunning ? /* @__PURE__ */ jsx(Form, { method: "POST", children: /* @__PURE__ */ jsx("button", { name: "intent", value: "stop-inspect", children: isStartingInspector ? "Stopping inspector..." : "Stop inspector" }) }) : /* @__PURE__ */ jsx(Form, { method: "POST", children: /* @__PURE__ */ jsx("button", { name: "intent", value: "inspect", children: isStoppingInspector ? "Starting inspector..." : "Start inspector" }) }) })
|
|
10614
|
-
] })
|
|
10615
|
-
] }),
|
|
10616
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
10617
|
-
/* @__PURE__ */ jsx("h2", { className: "text-lg font-bold", children: "Apps" }),
|
|
10618
|
-
/* @__PURE__ */ jsx("ul", { className: "max-h-48 list-none overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar", children: data2.apps.map((app) => /* @__PURE__ */ jsxs("li", { className: "flex items-center gap-2 py-1", children: [
|
|
10619
|
-
data2.processes[app.name] ? /* @__PURE__ */ jsx(Pinger, { status: "running" }) : /* @__PURE__ */ jsx(Pinger, { status: "stopped" }),
|
|
10620
|
-
app.name
|
|
10621
|
-
] }, app.name)) })
|
|
10622
|
-
] }),
|
|
10623
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
10624
|
-
/* @__PURE__ */ jsx("h2", { className: "text-lg font-bold", children: "Processes" }),
|
|
10625
|
-
/* @__PURE__ */ jsx("ul", { className: "overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar", children: Object.entries(data2.processes).map(([key, process2]) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("span", { children: [
|
|
10626
|
-
key,
|
|
10627
|
-
" - Port: ",
|
|
10628
|
-
process2.port,
|
|
10629
|
-
" - PID ",
|
|
10630
|
-
process2.pid,
|
|
10631
|
-
" -",
|
|
10632
|
-
" ",
|
|
10633
|
-
process2.color
|
|
10634
|
-
] }) }, key)) })
|
|
10635
|
-
] }),
|
|
10636
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
10637
|
-
/* @__PURE__ */ jsx("h2", { className: "text-lg font-bold", children: "Test Processes" }),
|
|
10638
|
-
/* @__PURE__ */ jsx("ul", { className: "overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar", children: Object.entries(data2.testProcesses).map(([key, process2]) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("span", { children: [
|
|
10639
|
-
key,
|
|
10640
|
-
" - PID ",
|
|
10641
|
-
process2.pid,
|
|
10642
|
-
" - Exit code: ",
|
|
10643
|
-
process2.exitCode
|
|
10644
|
-
] }) }, key)) })
|
|
10537
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
10538
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
10539
|
+
/* @__PURE__ */ jsx("h2", { className: "text-lg font-bold", children: "Progress" }),
|
|
10540
|
+
epicProgress ? /* @__PURE__ */ jsx("ul", { className: "flex max-h-72 flex-col gap-2 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar", children: epicProgress.sort(sortProgress).map((progress) => {
|
|
10541
|
+
const status = progress.epicCompletedAt ? "completed" : "incomplete";
|
|
10542
|
+
const label = [
|
|
10543
|
+
progress.epicLessonSlug,
|
|
10544
|
+
progress.epicCompletedAt ? `(${progress.epicCompletedAt})` : null
|
|
10545
|
+
].filter(Boolean).join(" ");
|
|
10546
|
+
return /* @__PURE__ */ jsxs(
|
|
10547
|
+
"li",
|
|
10548
|
+
{
|
|
10549
|
+
className: "flex items-center gap-2",
|
|
10550
|
+
children: [
|
|
10551
|
+
/* @__PURE__ */ jsx(
|
|
10552
|
+
"span",
|
|
10553
|
+
{
|
|
10554
|
+
className: `h-3 w-3 rounded-full ${progressStatus[status]}`,
|
|
10555
|
+
title: status
|
|
10556
|
+
}
|
|
10557
|
+
),
|
|
10558
|
+
progress.type === "unknown" ? /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1", children: [
|
|
10559
|
+
label,
|
|
10560
|
+
/* @__PURE__ */ jsx("span", { className: "text-red-500", children: /* @__PURE__ */ jsx(SimpleTooltip, { content: "This video is in the workshop on EpicWeb.dev, but not in the local workshop.", children: /* @__PURE__ */ jsx(Icon, { name: "Close" }) }) })
|
|
10561
|
+
] }) : /* @__PURE__ */ jsx(Link, { to: linkProgress(progress), children: label }),
|
|
10562
|
+
/* @__PURE__ */ jsx(Link, { to: progress.epicLessonUrl, children: /* @__PURE__ */ jsx(Icon, { name: "ExternalLink" }) })
|
|
10563
|
+
]
|
|
10564
|
+
},
|
|
10565
|
+
progress.epicLessonSlug
|
|
10566
|
+
);
|
|
10567
|
+
}) }) : /* @__PURE__ */ jsx("p", { children: "No progress data" })
|
|
10568
|
+
] }),
|
|
10569
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
10570
|
+
/* @__PURE__ */ jsx("h2", { className: "text-lg font-bold", children: "Commands" }),
|
|
10571
|
+
/* @__PURE__ */ jsxs("ul", { className: "max-h-48 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar", children: [
|
|
10572
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Form, { method: "POST", children: /* @__PURE__ */ jsx("button", { name: "intent", value: "clear-caches", children: "Clear local caches" }) }) }),
|
|
10573
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Form, { method: "POST", children: /* @__PURE__ */ jsx("button", { name: "intent", value: "clear-data", children: "Clear all local data (including auth data)" }) }) }),
|
|
10574
|
+
/* @__PURE__ */ jsx("li", { children: data2.inspectorRunning ? /* @__PURE__ */ jsx(Form, { method: "POST", children: /* @__PURE__ */ jsx("button", { name: "intent", value: "stop-inspect", children: isStartingInspector ? "Stopping inspector..." : "Stop inspector" }) }) : /* @__PURE__ */ jsx(Form, { method: "POST", children: /* @__PURE__ */ jsx("button", { name: "intent", value: "inspect", children: isStoppingInspector ? "Starting inspector..." : "Start inspector" }) }) })
|
|
10645
10575
|
] })
|
|
10576
|
+
] }),
|
|
10577
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
10578
|
+
/* @__PURE__ */ jsx("h2", { className: "text-lg font-bold", children: "Apps" }),
|
|
10579
|
+
/* @__PURE__ */ jsx("ul", { className: "max-h-48 list-none overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar", children: data2.apps.map((app) => /* @__PURE__ */ jsxs("li", { className: "flex items-center gap-2 py-1", children: [
|
|
10580
|
+
data2.processes[app.name] ? /* @__PURE__ */ jsx(Pinger, { status: "running" }) : /* @__PURE__ */ jsx(Pinger, { status: "stopped" }),
|
|
10581
|
+
app.name
|
|
10582
|
+
] }, app.name)) })
|
|
10583
|
+
] }),
|
|
10584
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
10585
|
+
/* @__PURE__ */ jsx("h2", { className: "text-lg font-bold", children: "Processes" }),
|
|
10586
|
+
/* @__PURE__ */ jsx("ul", { className: "overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar", children: Object.entries(data2.processes).map(([key, process2]) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("span", { children: [
|
|
10587
|
+
key,
|
|
10588
|
+
" - Port: ",
|
|
10589
|
+
process2.port,
|
|
10590
|
+
" - PID ",
|
|
10591
|
+
process2.pid,
|
|
10592
|
+
" -",
|
|
10593
|
+
" ",
|
|
10594
|
+
process2.color
|
|
10595
|
+
] }) }, key)) })
|
|
10596
|
+
] }),
|
|
10597
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
10598
|
+
/* @__PURE__ */ jsx("h2", { className: "text-lg font-bold", children: "Test Processes" }),
|
|
10599
|
+
/* @__PURE__ */ jsx("ul", { className: "overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar", children: Object.entries(data2.testProcesses).map(([key, process2]) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("span", { children: [
|
|
10600
|
+
key,
|
|
10601
|
+
" - PID ",
|
|
10602
|
+
process2.pid,
|
|
10603
|
+
" - Exit code: ",
|
|
10604
|
+
process2.exitCode
|
|
10605
|
+
] }) }, key)) })
|
|
10646
10606
|
] })
|
|
10647
10607
|
] });
|
|
10648
10608
|
}
|
|
@@ -10681,30 +10641,121 @@ function Pinger({
|
|
|
10681
10641
|
)
|
|
10682
10642
|
] });
|
|
10683
10643
|
}
|
|
10684
|
-
const
|
|
10644
|
+
const route28 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10685
10645
|
__proto__: null,
|
|
10686
10646
|
action: action$1,
|
|
10687
10647
|
default: AdminLayout,
|
|
10688
|
-
handle: handle$
|
|
10689
|
-
loader: loader$
|
|
10648
|
+
handle: handle$2,
|
|
10649
|
+
loader: loader$9,
|
|
10690
10650
|
meta
|
|
10691
10651
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
10692
|
-
|
|
10693
|
-
|
|
10694
|
-
|
|
10695
|
-
return Response.json({ apps });
|
|
10696
|
-
}
|
|
10697
|
-
const route26 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10698
|
-
__proto__: null,
|
|
10699
|
-
loader: loader$9
|
|
10700
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
10652
|
+
const handle$1 = {
|
|
10653
|
+
getSitemapEntries: () => null
|
|
10654
|
+
};
|
|
10701
10655
|
async function loader$8() {
|
|
10702
|
-
|
|
10703
|
-
const
|
|
10704
|
-
|
|
10656
|
+
const timings = makeTimings("versionLoader");
|
|
10657
|
+
const [commitInfo, latestVersion] = await Promise.all([
|
|
10658
|
+
time(() => getCommitInfo(), { timings, type: "getCommitInfo" }),
|
|
10659
|
+
time(() => getLatestWorkshopAppVersion(), {
|
|
10660
|
+
timings,
|
|
10661
|
+
type: "getLatestWorkshopAppVersion"
|
|
10662
|
+
})
|
|
10663
|
+
]);
|
|
10664
|
+
const dayjs2 = getDayjs();
|
|
10665
|
+
const uptime = process.uptime() * 1e3;
|
|
10666
|
+
const startDate = new Date(Date.now() - uptime);
|
|
10667
|
+
return unstable_data(
|
|
10668
|
+
{
|
|
10669
|
+
workshopCommit: commitInfo ? {
|
|
10670
|
+
...commitInfo,
|
|
10671
|
+
dateFormatted: dayjs2(commitInfo.date).format("YYYY-MM-DD HH:mm:ss"),
|
|
10672
|
+
dateFromNow: dayjs2(commitInfo.date).fromNow()
|
|
10673
|
+
} : null,
|
|
10674
|
+
latestWorkshopAppVersion: latestVersion,
|
|
10675
|
+
startTime: startDate.toISOString(),
|
|
10676
|
+
startTimeFormatted: dayjs2(startDate).format("YYYY-MM-DD HH:mm:ss"),
|
|
10677
|
+
startTimeFromNow: dayjs2(startDate).fromNow()
|
|
10678
|
+
},
|
|
10679
|
+
{
|
|
10680
|
+
headers: {
|
|
10681
|
+
"Server-Timing": timings.toString()
|
|
10682
|
+
}
|
|
10683
|
+
}
|
|
10684
|
+
);
|
|
10705
10685
|
}
|
|
10706
|
-
const
|
|
10686
|
+
const headers$1 = ({ parentHeaders, loaderHeaders }) => {
|
|
10687
|
+
return {
|
|
10688
|
+
"Server-Timing": combineServerTimings(parentHeaders, loaderHeaders)
|
|
10689
|
+
};
|
|
10690
|
+
};
|
|
10691
|
+
function Version() {
|
|
10692
|
+
const data2 = useLoaderData();
|
|
10693
|
+
const workshopConfig = useWorkshopConfig();
|
|
10694
|
+
return /* @__PURE__ */ jsxs("div", { children: [
|
|
10695
|
+
/* @__PURE__ */ jsx("h2", { className: "text-lg font-bold", children: "Workshop Version Information" }),
|
|
10696
|
+
/* @__PURE__ */ jsx("h3", { className: "text-md font-bold", children: "Workshop Commit" }),
|
|
10697
|
+
data2.workshopCommit ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
10698
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
10699
|
+
"Hash:",
|
|
10700
|
+
" ",
|
|
10701
|
+
/* @__PURE__ */ jsx(
|
|
10702
|
+
"a",
|
|
10703
|
+
{
|
|
10704
|
+
href: `${workshopConfig.githubRepo}/commit/${data2.workshopCommit.hash}`,
|
|
10705
|
+
className: "underline",
|
|
10706
|
+
children: data2.workshopCommit.hash
|
|
10707
|
+
}
|
|
10708
|
+
)
|
|
10709
|
+
] }),
|
|
10710
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
10711
|
+
"Message: ",
|
|
10712
|
+
data2.workshopCommit.message
|
|
10713
|
+
] }),
|
|
10714
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
10715
|
+
"Date: ",
|
|
10716
|
+
data2.workshopCommit.dateFormatted,
|
|
10717
|
+
" (",
|
|
10718
|
+
data2.workshopCommit.dateFromNow,
|
|
10719
|
+
")"
|
|
10720
|
+
] })
|
|
10721
|
+
] }) : /* @__PURE__ */ jsx("p", { children: "No commit information available" }),
|
|
10722
|
+
/* @__PURE__ */ jsx("h3", { className: "text-md font-bold", children: "Workshop App" }),
|
|
10723
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
10724
|
+
"Current Version: ",
|
|
10725
|
+
/* @__PURE__ */ jsx(
|
|
10726
|
+
"a",
|
|
10727
|
+
{
|
|
10728
|
+
href: `https://github.com/epicweb-dev/epicshop/releases/tag/v${ENV.EPICSHOP_APP_VERSION}`,
|
|
10729
|
+
className: "underline",
|
|
10730
|
+
children: ENV.EPICSHOP_APP_VERSION
|
|
10731
|
+
}
|
|
10732
|
+
)
|
|
10733
|
+
] }),
|
|
10734
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
10735
|
+
"Latest Version: ",
|
|
10736
|
+
/* @__PURE__ */ jsx(
|
|
10737
|
+
"a",
|
|
10738
|
+
{
|
|
10739
|
+
href: `https://github.com/epicweb-dev/epicshop/releases/tag/v${data2.latestWorkshopAppVersion}`,
|
|
10740
|
+
className: "underline",
|
|
10741
|
+
children: data2.latestWorkshopAppVersion
|
|
10742
|
+
}
|
|
10743
|
+
)
|
|
10744
|
+
] }),
|
|
10745
|
+
/* @__PURE__ */ jsx("h3", { className: "text-md font-bold", children: "App Start Time" }),
|
|
10746
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
10747
|
+
data2.startTimeFormatted,
|
|
10748
|
+
" (",
|
|
10749
|
+
data2.startTimeFromNow,
|
|
10750
|
+
")"
|
|
10751
|
+
] })
|
|
10752
|
+
] });
|
|
10753
|
+
}
|
|
10754
|
+
const route29 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10707
10755
|
__proto__: null,
|
|
10756
|
+
default: Version,
|
|
10757
|
+
handle: handle$1,
|
|
10758
|
+
headers: headers$1,
|
|
10708
10759
|
loader: loader$8
|
|
10709
10760
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
10710
10761
|
async function loader$7({ request }) {
|
|
@@ -10715,7 +10766,7 @@ async function loader$7({ request }) {
|
|
|
10715
10766
|
{ headers: { "Server-Timing": getServerTimeHeader(timings) } }
|
|
10716
10767
|
);
|
|
10717
10768
|
}
|
|
10718
|
-
const
|
|
10769
|
+
const route30 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10719
10770
|
__proto__: null,
|
|
10720
10771
|
loader: loader$7
|
|
10721
10772
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
@@ -10804,7 +10855,7 @@ function DiffViewer() {
|
|
|
10804
10855
|
}
|
|
10805
10856
|
);
|
|
10806
10857
|
}
|
|
10807
|
-
const
|
|
10858
|
+
const route31 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10808
10859
|
__proto__: null,
|
|
10809
10860
|
default: DiffViewer,
|
|
10810
10861
|
loader: loader$6
|
|
@@ -10817,7 +10868,7 @@ async function loader$5({ request }) {
|
|
|
10817
10868
|
{ headers: { "Server-Timing": getServerTimeHeader(timings) } }
|
|
10818
10869
|
);
|
|
10819
10870
|
}
|
|
10820
|
-
const
|
|
10871
|
+
const route32 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10821
10872
|
__proto__: null,
|
|
10822
10873
|
loader: loader$5
|
|
10823
10874
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
@@ -11148,7 +11199,7 @@ function OgLayout({
|
|
|
11148
11199
|
}
|
|
11149
11200
|
);
|
|
11150
11201
|
}
|
|
11151
|
-
const
|
|
11202
|
+
const route35 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
11152
11203
|
__proto__: null,
|
|
11153
11204
|
loader: loader$4
|
|
11154
11205
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
@@ -11196,7 +11247,7 @@ function Onboarding() {
|
|
|
11196
11247
|
/* @__PURE__ */ jsx(Form, { method: "post", className: "pb-4", children: /* @__PURE__ */ jsx(Button, { name: "intent", value: "complete", varient: "primary", children: "I've watched it. Let's go!" }) })
|
|
11197
11248
|
] });
|
|
11198
11249
|
}
|
|
11199
|
-
const
|
|
11250
|
+
const route36 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
11200
11251
|
__proto__: null,
|
|
11201
11252
|
action,
|
|
11202
11253
|
default: Onboarding,
|
|
@@ -11209,9 +11260,9 @@ async function loader$2() {
|
|
|
11209
11260
|
const processes = {};
|
|
11210
11261
|
for (const [
|
|
11211
11262
|
name,
|
|
11212
|
-
{ port
|
|
11263
|
+
{ port, process: process2, color }
|
|
11213
11264
|
] of getProcesses().devProcesses.entries()) {
|
|
11214
|
-
processes[name] = { port
|
|
11265
|
+
processes[name] = { port, pid: process2.pid, color };
|
|
11215
11266
|
}
|
|
11216
11267
|
const testProcesses = {};
|
|
11217
11268
|
for (const [
|
|
@@ -11222,7 +11273,7 @@ async function loader$2() {
|
|
|
11222
11273
|
}
|
|
11223
11274
|
return Response.json({ processes, testProcesses });
|
|
11224
11275
|
}
|
|
11225
|
-
const
|
|
11276
|
+
const route37 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
11226
11277
|
__proto__: null,
|
|
11227
11278
|
loader: loader$2
|
|
11228
11279
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
@@ -11231,7 +11282,7 @@ function loader$1({ request }) {
|
|
|
11231
11282
|
{ type: "sitemap", value: `${getDomainUrl(request)}/sitemap.xml` }
|
|
11232
11283
|
]);
|
|
11233
11284
|
}
|
|
11234
|
-
const
|
|
11285
|
+
const route39 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
11235
11286
|
__proto__: null,
|
|
11236
11287
|
loader: loader$1
|
|
11237
11288
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
@@ -11244,11 +11295,11 @@ async function loader({ request, context }) {
|
|
|
11244
11295
|
}
|
|
11245
11296
|
});
|
|
11246
11297
|
}
|
|
11247
|
-
const
|
|
11298
|
+
const route41 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
11248
11299
|
__proto__: null,
|
|
11249
11300
|
loader
|
|
11250
11301
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
11251
|
-
const serverManifest = { "entry": { "module": "/assets/entry.client-BTYTUpFV.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/components-9EGYHTc_.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-DCfiv1cO.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/components-9EGYHTc_.js", "/assets/misc-BJtHv_Jh.js", "/assets/pe-ChIwTk8v.js", "/assets/error-boundary-1-dmC941.js", "/assets/progress-bar-Cj5R4Zk7.js", "/assets/index-DRH72MzK.js", "/assets/tooltip-BgynKV2c.js", "/assets/index-_J-F_Dnc.js", "/assets/presence-DyppfK2V.js", "/assets/seo-pBpFCWsy.js", "/assets/request-info-DCIQLE6H.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/_-CWSCXcBv.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/error-boundary-1-dmC941.js", "/assets/misc-BJtHv_Jh.js", "/assets/components-9EGYHTc_.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-pUNfVRe2.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/misc-BJtHv_Jh.js", "/assets/pe-ChIwTk8v.js", "/assets/product-C1ynnrN_.js", "/assets/revalidation-ws-DU-PzW-_.js", "/assets/tooltip-BgynKV2c.js", "/assets/index-BuoaxPEj.js", "/assets/user-DJiL1Lk-.js", "/assets/workshop-config-DJY2cXU_.js", "/assets/presence-DyppfK2V.js", "/assets/progress-DAB3nDa2.js", "/assets/index-_J-F_Dnc.js", "/assets/components-9EGYHTc_.js", "/assets/request-info-DCIQLE6H.js"], "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-RJjysGnp.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/button-DQ001ob0.js", "/assets/misc-BJtHv_Jh.js", "/assets/tooltip-BgynKV2c.js", "/assets/user-DJiL1Lk-.js", "/assets/presence-DyppfK2V.js", "/assets/components-9EGYHTc_.js", "/assets/request-info-DCIQLE6H.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+/app.epic_ws[.js]": { "id": "routes/_app+/app.epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/app.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-lXkS53K3.js", "imports": ["/assets/discord-DxisvcaU.js", "/assets/index-BFGhCX_U.js", "/assets/misc-BJtHv_Jh.js", "/assets/components-9EGYHTc_.js", "/assets/user-DJiL1Lk-.js"], "css": [] }, "routes/_app+/exercise+/_layout": { "id": "routes/_app+/exercise+/_layout", "parentId": "routes/_app+/_layout", "path": "exercise", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-88n0To1b.js", "imports": ["/assets/index-BFGhCX_U.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber": { "id": "routes/_app+/exercise+/$exerciseNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-BnwWTYFw.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/index-BCxBKsqT.js", "/assets/epic-video-1XLXSFCL.js", "/assets/revalidation-ws-DU-PzW-_.js", "/assets/mdx-DiFCTSLR.js", "/assets/progress-DAB3nDa2.js", "/assets/misc-BJtHv_Jh.js", "/assets/seo-pBpFCWsy.js", "/assets/components-9EGYHTc_.js", "/assets/index-_J-F_Dnc.js", "/assets/request-info-DCIQLE6H.js", "/assets/tooltip-BgynKV2c.js", "/assets/pe-ChIwTk8v.js", "/assets/loading-Dk0n07O3.js", "/assets/user-DJiL1Lk-.js", "/assets/workshop-config-DJY2cXU_.js", "/assets/progress-bar-Cj5R4Zk7.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber-BA2Xhzqs.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/misc-BJtHv_Jh.js", "/assets/components-9EGYHTc_.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": ":type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_layout-Bpho30KN.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/index-BCxBKsqT.js", "/assets/error-boundary-1-dmC941.js", "/assets/nav-chevrons-CgbSMLeb.js", "/assets/revalidation-ws-DU-PzW-_.js", "/assets/mdx-DiFCTSLR.js", "/assets/progress-DAB3nDa2.js", "/assets/set-playground-S_rIwJAa.js", "/assets/seo-pBpFCWsy.js", "/assets/misc-BJtHv_Jh.js", "/assets/epic-video-1XLXSFCL.js", "/assets/tooltip-BgynKV2c.js", "/assets/request-info-DCIQLE6H.js", "/assets/components-9EGYHTc_.js", "/assets/index-BuoaxPEj.js", "/assets/progress-bar-Cj5R4Zk7.js", "/assets/pe-ChIwTk8v.js", "/assets/index-BuA_RWlU.js", "/assets/index-_J-F_Dnc.js", "/assets/loading-Dk0n07O3.js", "/assets/user-DJiL1Lk-.js", "/assets/workshop-config-DJY2cXU_.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "app", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/app-CM8yuYni.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/preview-CW_12I0i.js", "/assets/components-9EGYHTc_.js", "/assets/misc-BJtHv_Jh.js", "/assets/request-info-DCIQLE6H.js", "/assets/button-DQ001ob0.js", "/assets/loading-Dk0n07O3.js", "/assets/index-_J-F_Dnc.js", "/assets/tooltip-BgynKV2c.js", "/assets/pe-ChIwTk8v.js", "/assets/progress-bar-Cj5R4Zk7.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-DZ0It6pH.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/tooltip-BgynKV2c.js", "/assets/index-BuA_RWlU.js", "/assets/misc-BJtHv_Jh.js", "/assets/diff-CyIaJAoJ.js", "/assets/error-boundary-1-dmC941.js", "/assets/loading-Dk0n07O3.js", "/assets/discord-DxisvcaU.js", "/assets/components-9EGYHTc_.js", "/assets/index-DRH72MzK.js", "/assets/set-playground-S_rIwJAa.js", "/assets/tests-Bp85P9FF.js", "/assets/preview-CW_12I0i.js", "/assets/index-BuoaxPEj.js", "/assets/accordion-DC885Li1.js", "/assets/mdx-DiFCTSLR.js", "/assets/epic-video-1XLXSFCL.js", "/assets/index-_J-F_Dnc.js", "/assets/request-info-DCIQLE6H.js", "/assets/pe-ChIwTk8v.js", "/assets/user-DJiL1Lk-.js", "/assets/workshop-config-DJY2cXU_.js", "/assets/progress-bar-Cj5R4Zk7.js", "/assets/revalidation-ws-DU-PzW-_.js", "/assets/use-event-source-x59d4R2Z.js", "/assets/button-DQ001ob0.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-CvzcNTDp.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/tests-Bp85P9FF.js", "/assets/components-9EGYHTc_.js", "/assets/epic-video-1XLXSFCL.js", "/assets/index-_J-F_Dnc.js", "/assets/request-info-DCIQLE6H.js", "/assets/misc-BJtHv_Jh.js", "/assets/tooltip-BgynKV2c.js", "/assets/pe-ChIwTk8v.js", "/assets/loading-Dk0n07O3.js", "/assets/user-DJiL1Lk-.js", "/assets/workshop-config-DJY2cXU_.js", "/assets/accordion-DC885Li1.js", "/assets/index-BuA_RWlU.js", "/assets/index-BuoaxPEj.js", "/assets/use-event-source-x59d4R2Z.js", "/assets/set-playground-S_rIwJAa.js", "/assets/progress-bar-Cj5R4Zk7.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/exercise+/$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+/exercise+/$exerciseNumber_.finished": { "id": "routes/_app+/exercise+/$exerciseNumber_.finished", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-BfeMSie-.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/index-BCxBKsqT.js", "/assets/epic-video-1XLXSFCL.js", "/assets/loading-Dk0n07O3.js", "/assets/nav-chevrons-CgbSMLeb.js", "/assets/revalidation-ws-DU-PzW-_.js", "/assets/mdx-DiFCTSLR.js", "/assets/progress-DAB3nDa2.js", "/assets/misc-BJtHv_Jh.js", "/assets/seo-pBpFCWsy.js", "/assets/components-9EGYHTc_.js", "/assets/index-_J-F_Dnc.js", "/assets/request-info-DCIQLE6H.js", "/assets/tooltip-BgynKV2c.js", "/assets/pe-ChIwTk8v.js", "/assets/user-DJiL1Lk-.js", "/assets/workshop-config-DJY2cXU_.js", "/assets/progress-bar-Cj5R4Zk7.js"], "css": ["/assets/epic-video-DUnRvy1A.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-DjF_kSoF.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/index-BCxBKsqT.js", "/assets/epic-video-1XLXSFCL.js", "/assets/loading-Dk0n07O3.js", "/assets/nav-chevrons-CgbSMLeb.js", "/assets/revalidation-ws-DU-PzW-_.js", "/assets/mdx-DiFCTSLR.js", "/assets/misc-BJtHv_Jh.js", "/assets/seo-pBpFCWsy.js", "/assets/progress-DAB3nDa2.js", "/assets/components-9EGYHTc_.js", "/assets/index-_J-F_Dnc.js", "/assets/request-info-DCIQLE6H.js", "/assets/tooltip-BgynKV2c.js", "/assets/pe-ChIwTk8v.js", "/assets/user-DJiL1Lk-.js", "/assets/workshop-config-DJY2cXU_.js", "/assets/progress-bar-Cj5R4Zk7.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-f5Q6XZEy.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/index-BCxBKsqT.js", "/assets/epic-video-1XLXSFCL.js", "/assets/error-boundary-1-dmC941.js", "/assets/mdx-DiFCTSLR.js", "/assets/misc-BJtHv_Jh.js", "/assets/progress-DAB3nDa2.js", "/assets/components-9EGYHTc_.js", "/assets/index-_J-F_Dnc.js", "/assets/request-info-DCIQLE6H.js", "/assets/tooltip-BgynKV2c.js", "/assets/pe-ChIwTk8v.js", "/assets/loading-Dk0n07O3.js", "/assets/user-DJiL1Lk-.js", "/assets/workshop-config-DJY2cXU_.js", "/assets/progress-bar-Cj5R4Zk7.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-pZYDEC_l.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/use-event-source-x59d4R2Z.js", "/assets/button-DQ001ob0.js", "/assets/loading-Dk0n07O3.js", "/assets/product-C1ynnrN_.js", "/assets/workshop-config-DJY2cXU_.js", "/assets/request-info-DCIQLE6H.js", "/assets/components-9EGYHTc_.js", "/assets/misc-BJtHv_Jh.js", "/assets/index-_J-F_Dnc.js", "/assets/tooltip-BgynKV2c.js", "/assets/pe-ChIwTk8v.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-BNS-kEhc.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/components-9EGYHTc_.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-gyrNluke.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/misc-BJtHv_Jh.js", "/assets/tooltip-BgynKV2c.js", "/assets/progress-DAB3nDa2.js", "/assets/components-9EGYHTc_.js", "/assets/pe-ChIwTk8v.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-Cnw7IcG5.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/misc-BJtHv_Jh.js", "/assets/diff-CyIaJAoJ.js", "/assets/nav-chevrons-CgbSMLeb.js", "/assets/components-9EGYHTc_.js", "/assets/accordion-DC885Li1.js", "/assets/tooltip-BgynKV2c.js", "/assets/index-BuA_RWlU.js", "/assets/index-BuoaxPEj.js", "/assets/mdx-DiFCTSLR.js", "/assets/epic-video-1XLXSFCL.js", "/assets/index-_J-F_Dnc.js", "/assets/request-info-DCIQLE6H.js", "/assets/pe-ChIwTk8v.js", "/assets/loading-Dk0n07O3.js", "/assets/user-DJiL1Lk-.js", "/assets/workshop-config-DJY2cXU_.js", "/assets/progress-bar-Cj5R4Zk7.js", "/assets/revalidation-ws-DU-PzW-_.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-DXICEaMi.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/button-DQ001ob0.js", "/assets/epic-video-1XLXSFCL.js", "/assets/components-9EGYHTc_.js", "/assets/misc-BJtHv_Jh.js", "/assets/index-_J-F_Dnc.js", "/assets/request-info-DCIQLE6H.js", "/assets/tooltip-BgynKV2c.js", "/assets/pe-ChIwTk8v.js", "/assets/loading-Dk0n07O3.js", "/assets/user-DJiL1Lk-.js", "/assets/workshop-config-DJY2cXU_.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/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-9328c766.js", "version": "9328c766" };
|
|
11302
|
+
const serverManifest = { "entry": { "module": "/assets/entry.client-DqIWuxf8.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/components-Be92gVxW.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-a3d3Qwip.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/components-Be92gVxW.js", "/assets/misc-DUy_whwE.js", "/assets/pe-ChIwTk8v.js", "/assets/error-boundary-BZA-ffa8.js", "/assets/progress-bar-BaTU3Yx_.js", "/assets/index-C9Hx0Dey.js", "/assets/tooltip-DO9uwurQ.js", "/assets/index-Bdg3v8tC.js", "/assets/presence-DJGFvdDh.js", "/assets/seo-pBpFCWsy.js", "/assets/request-info-ByUEfOil.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/_-BrkpfnBb.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/error-boundary-BZA-ffa8.js", "/assets/misc-DUy_whwE.js", "/assets/components-Be92gVxW.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-Cbz7Qt-S.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/misc-DUy_whwE.js", "/assets/pe-ChIwTk8v.js", "/assets/product-DIAmCwmZ.js", "/assets/revalidation-ws-dUa9CAqr.js", "/assets/tooltip-DO9uwurQ.js", "/assets/index-BCTr8uu6.js", "/assets/user-Bv6wYhQP.js", "/assets/workshop-config-WVltG_BV.js", "/assets/presence-DJGFvdDh.js", "/assets/progress-DQt_Bn9o.js", "/assets/index-Bdg3v8tC.js", "/assets/components-Be92gVxW.js", "/assets/request-info-ByUEfOil.js"], "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-C4Piztoz.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/button-_qPvcoqR.js", "/assets/misc-DUy_whwE.js", "/assets/tooltip-DO9uwurQ.js", "/assets/user-Bv6wYhQP.js", "/assets/workshop-config-WVltG_BV.js", "/assets/presence-DJGFvdDh.js", "/assets/components-Be92gVxW.js", "/assets/request-info-ByUEfOil.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+/app.epic_ws[.js]": { "id": "routes/_app+/app.epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/app.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": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord-Bdnx7fu-.js", "imports": ["/assets/discord-BUWZUTEC.js", "/assets/index-BFGhCX_U.js", "/assets/misc-DUy_whwE.js", "/assets/components-Be92gVxW.js", "/assets/user-Bv6wYhQP.js", "/assets/workshop-config-WVltG_BV.js"], "css": [] }, "routes/_app+/exercise+/_layout": { "id": "routes/_app+/exercise+/_layout", "parentId": "routes/_app+/_layout", "path": "exercise", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-88n0To1b.js", "imports": ["/assets/index-BFGhCX_U.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber": { "id": "routes/_app+/exercise+/$exerciseNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-DCSM0NCG.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/index-BCxBKsqT.js", "/assets/epic-video-Bp4BOD2R.js", "/assets/revalidation-ws-dUa9CAqr.js", "/assets/mdx-CEjzXoEx.js", "/assets/progress-DQt_Bn9o.js", "/assets/misc-DUy_whwE.js", "/assets/seo-pBpFCWsy.js", "/assets/components-Be92gVxW.js", "/assets/index-Bdg3v8tC.js", "/assets/request-info-ByUEfOil.js", "/assets/tooltip-DO9uwurQ.js", "/assets/pe-ChIwTk8v.js", "/assets/loading-XhMtj4mp.js", "/assets/user-Bv6wYhQP.js", "/assets/workshop-config-WVltG_BV.js", "/assets/progress-bar-BaTU3Yx_.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber-BIMJh_sg.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/misc-DUy_whwE.js", "/assets/components-Be92gVxW.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": ":type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_layout-DTAM9xh5.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/index-BCxBKsqT.js", "/assets/error-boundary-BZA-ffa8.js", "/assets/nav-chevrons-DnR25VLp.js", "/assets/revalidation-ws-dUa9CAqr.js", "/assets/mdx-CEjzXoEx.js", "/assets/progress-DQt_Bn9o.js", "/assets/set-playground-CBHBA46B.js", "/assets/seo-pBpFCWsy.js", "/assets/misc-DUy_whwE.js", "/assets/epic-video-Bp4BOD2R.js", "/assets/tooltip-DO9uwurQ.js", "/assets/request-info-ByUEfOil.js", "/assets/components-Be92gVxW.js", "/assets/index-BCTr8uu6.js", "/assets/progress-bar-BaTU3Yx_.js", "/assets/pe-ChIwTk8v.js", "/assets/index-DZDhtMuq.js", "/assets/index-Bdg3v8tC.js", "/assets/loading-XhMtj4mp.js", "/assets/user-Bv6wYhQP.js", "/assets/workshop-config-WVltG_BV.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "app", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/app-DgTXXO8s.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/preview-DaZd0wMb.js", "/assets/components-Be92gVxW.js", "/assets/misc-DUy_whwE.js", "/assets/request-info-ByUEfOil.js", "/assets/button-_qPvcoqR.js", "/assets/loading-XhMtj4mp.js", "/assets/index-Bdg3v8tC.js", "/assets/tooltip-DO9uwurQ.js", "/assets/pe-ChIwTk8v.js", "/assets/progress-bar-BaTU3Yx_.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-Bi1TbRTj.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/tooltip-DO9uwurQ.js", "/assets/index-DZDhtMuq.js", "/assets/misc-DUy_whwE.js", "/assets/diff-8nlDkmpc.js", "/assets/error-boundary-BZA-ffa8.js", "/assets/loading-XhMtj4mp.js", "/assets/discord-BUWZUTEC.js", "/assets/components-Be92gVxW.js", "/assets/index-C9Hx0Dey.js", "/assets/set-playground-CBHBA46B.js", "/assets/tests-DbuyD2cI.js", "/assets/preview-DaZd0wMb.js", "/assets/index-BCTr8uu6.js", "/assets/accordion-D9-D-n9p.js", "/assets/mdx-CEjzXoEx.js", "/assets/epic-video-Bp4BOD2R.js", "/assets/index-Bdg3v8tC.js", "/assets/request-info-ByUEfOil.js", "/assets/pe-ChIwTk8v.js", "/assets/user-Bv6wYhQP.js", "/assets/workshop-config-WVltG_BV.js", "/assets/progress-bar-BaTU3Yx_.js", "/assets/revalidation-ws-dUa9CAqr.js", "/assets/use-event-source-x59d4R2Z.js", "/assets/button-_qPvcoqR.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-DoKJvNug.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/tests-DbuyD2cI.js", "/assets/components-Be92gVxW.js", "/assets/epic-video-Bp4BOD2R.js", "/assets/index-Bdg3v8tC.js", "/assets/request-info-ByUEfOil.js", "/assets/misc-DUy_whwE.js", "/assets/tooltip-DO9uwurQ.js", "/assets/pe-ChIwTk8v.js", "/assets/loading-XhMtj4mp.js", "/assets/user-Bv6wYhQP.js", "/assets/workshop-config-WVltG_BV.js", "/assets/accordion-D9-D-n9p.js", "/assets/index-DZDhtMuq.js", "/assets/index-BCTr8uu6.js", "/assets/use-event-source-x59d4R2Z.js", "/assets/set-playground-CBHBA46B.js", "/assets/progress-bar-BaTU3Yx_.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/exercise+/$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+/exercise+/$exerciseNumber_.finished": { "id": "routes/_app+/exercise+/$exerciseNumber_.finished", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-nbpk1ToO.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/index-BCxBKsqT.js", "/assets/epic-video-Bp4BOD2R.js", "/assets/loading-XhMtj4mp.js", "/assets/nav-chevrons-DnR25VLp.js", "/assets/revalidation-ws-dUa9CAqr.js", "/assets/mdx-CEjzXoEx.js", "/assets/progress-DQt_Bn9o.js", "/assets/misc-DUy_whwE.js", "/assets/seo-pBpFCWsy.js", "/assets/components-Be92gVxW.js", "/assets/index-Bdg3v8tC.js", "/assets/request-info-ByUEfOil.js", "/assets/tooltip-DO9uwurQ.js", "/assets/pe-ChIwTk8v.js", "/assets/user-Bv6wYhQP.js", "/assets/workshop-config-WVltG_BV.js", "/assets/progress-bar-BaTU3Yx_.js"], "css": ["/assets/epic-video-DUnRvy1A.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-C0cpfAFL.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/index-BCxBKsqT.js", "/assets/epic-video-Bp4BOD2R.js", "/assets/loading-XhMtj4mp.js", "/assets/nav-chevrons-DnR25VLp.js", "/assets/revalidation-ws-dUa9CAqr.js", "/assets/mdx-CEjzXoEx.js", "/assets/misc-DUy_whwE.js", "/assets/seo-pBpFCWsy.js", "/assets/progress-DQt_Bn9o.js", "/assets/components-Be92gVxW.js", "/assets/index-Bdg3v8tC.js", "/assets/request-info-ByUEfOil.js", "/assets/tooltip-DO9uwurQ.js", "/assets/pe-ChIwTk8v.js", "/assets/user-Bv6wYhQP.js", "/assets/workshop-config-WVltG_BV.js", "/assets/progress-bar-BaTU3Yx_.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-Ca4vBON4.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/index-BCxBKsqT.js", "/assets/epic-video-Bp4BOD2R.js", "/assets/error-boundary-BZA-ffa8.js", "/assets/mdx-CEjzXoEx.js", "/assets/misc-DUy_whwE.js", "/assets/progress-DQt_Bn9o.js", "/assets/components-Be92gVxW.js", "/assets/index-Bdg3v8tC.js", "/assets/request-info-ByUEfOil.js", "/assets/tooltip-DO9uwurQ.js", "/assets/pe-ChIwTk8v.js", "/assets/loading-XhMtj4mp.js", "/assets/user-Bv6wYhQP.js", "/assets/workshop-config-WVltG_BV.js", "/assets/progress-bar-BaTU3Yx_.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-C1oOgi98.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/use-event-source-x59d4R2Z.js", "/assets/button-_qPvcoqR.js", "/assets/loading-XhMtj4mp.js", "/assets/product-DIAmCwmZ.js", "/assets/workshop-config-WVltG_BV.js", "/assets/request-info-ByUEfOil.js", "/assets/components-Be92gVxW.js", "/assets/misc-DUy_whwE.js", "/assets/index-Bdg3v8tC.js", "/assets/tooltip-DO9uwurQ.js", "/assets/pe-ChIwTk8v.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-CIz02V_r.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/components-Be92gVxW.js"], "css": [] }, "routes/admin+/_layout": { "id": "routes/admin+/_layout", "parentId": "root", "path": "admin", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-Dfmv2zcn.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/components-Be92gVxW.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/admin+/index": { "id": "routes/admin+/index", "parentId": "routes/admin+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-pkiQppkK.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/misc-DUy_whwE.js", "/assets/tooltip-DO9uwurQ.js", "/assets/progress-DQt_Bn9o.js", "/assets/components-Be92gVxW.js", "/assets/pe-ChIwTk8v.js"], "css": [] }, "routes/admin+/version": { "id": "routes/admin+/version", "parentId": "routes/admin+/_layout", "path": "version", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/version-CaywAlNQ.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/workshop-config-WVltG_BV.js", "/assets/components-Be92gVxW.js"], "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-BhRAIPKc.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/misc-DUy_whwE.js", "/assets/diff-8nlDkmpc.js", "/assets/nav-chevrons-DnR25VLp.js", "/assets/components-Be92gVxW.js", "/assets/accordion-D9-D-n9p.js", "/assets/tooltip-DO9uwurQ.js", "/assets/index-DZDhtMuq.js", "/assets/index-BCTr8uu6.js", "/assets/mdx-CEjzXoEx.js", "/assets/epic-video-Bp4BOD2R.js", "/assets/index-Bdg3v8tC.js", "/assets/request-info-ByUEfOil.js", "/assets/pe-ChIwTk8v.js", "/assets/loading-XhMtj4mp.js", "/assets/user-Bv6wYhQP.js", "/assets/workshop-config-WVltG_BV.js", "/assets/progress-bar-BaTU3Yx_.js", "/assets/revalidation-ws-dUa9CAqr.js"], "css": ["/assets/epic-video-DUnRvy1A.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-C2YNq60k.js", "imports": ["/assets/index-BFGhCX_U.js", "/assets/button-_qPvcoqR.js", "/assets/epic-video-Bp4BOD2R.js", "/assets/components-Be92gVxW.js", "/assets/misc-DUy_whwE.js", "/assets/index-Bdg3v8tC.js", "/assets/request-info-ByUEfOil.js", "/assets/tooltip-DO9uwurQ.js", "/assets/pe-ChIwTk8v.js", "/assets/loading-XhMtj4mp.js", "/assets/user-Bv6wYhQP.js", "/assets/workshop-config-WVltG_BV.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/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-bc809ee6.js", "version": "bc809ee6" };
|
|
11252
11303
|
const mode = "production";
|
|
11253
11304
|
const assetsBuildDirectory = "build/client";
|
|
11254
11305
|
const basename = "/";
|
|
@@ -11481,13 +11532,29 @@ const routes = {
|
|
|
11481
11532
|
caseSensitive: void 0,
|
|
11482
11533
|
module: route27
|
|
11483
11534
|
},
|
|
11535
|
+
"routes/admin+/index": {
|
|
11536
|
+
id: "routes/admin+/index",
|
|
11537
|
+
parentId: "routes/admin+/_layout",
|
|
11538
|
+
path: void 0,
|
|
11539
|
+
index: true,
|
|
11540
|
+
caseSensitive: void 0,
|
|
11541
|
+
module: route28
|
|
11542
|
+
},
|
|
11543
|
+
"routes/admin+/version": {
|
|
11544
|
+
id: "routes/admin+/version",
|
|
11545
|
+
parentId: "routes/admin+/_layout",
|
|
11546
|
+
path: "version",
|
|
11547
|
+
index: void 0,
|
|
11548
|
+
caseSensitive: void 0,
|
|
11549
|
+
module: route29
|
|
11550
|
+
},
|
|
11484
11551
|
"routes/apps": {
|
|
11485
11552
|
id: "routes/apps",
|
|
11486
11553
|
parentId: "root",
|
|
11487
11554
|
path: "apps",
|
|
11488
11555
|
index: void 0,
|
|
11489
11556
|
caseSensitive: void 0,
|
|
11490
|
-
module:
|
|
11557
|
+
module: route30
|
|
11491
11558
|
},
|
|
11492
11559
|
"routes/diff": {
|
|
11493
11560
|
id: "routes/diff",
|
|
@@ -11495,15 +11562,7 @@ const routes = {
|
|
|
11495
11562
|
path: "diff",
|
|
11496
11563
|
index: void 0,
|
|
11497
11564
|
caseSensitive: void 0,
|
|
11498
|
-
module:
|
|
11499
|
-
},
|
|
11500
|
-
"routes/discord.callback": {
|
|
11501
|
-
id: "routes/discord.callback",
|
|
11502
|
-
parentId: "root",
|
|
11503
|
-
path: "discord/callback",
|
|
11504
|
-
index: void 0,
|
|
11505
|
-
caseSensitive: void 0,
|
|
11506
|
-
module: route30
|
|
11565
|
+
module: route31
|
|
11507
11566
|
},
|
|
11508
11567
|
"routes/exercises": {
|
|
11509
11568
|
id: "routes/exercises",
|
|
@@ -11511,7 +11570,7 @@ const routes = {
|
|
|
11511
11570
|
path: "exercises",
|
|
11512
11571
|
index: void 0,
|
|
11513
11572
|
caseSensitive: void 0,
|
|
11514
|
-
module:
|
|
11573
|
+
module: route32
|
|
11515
11574
|
},
|
|
11516
11575
|
"routes/launch-editor": {
|
|
11517
11576
|
id: "routes/launch-editor",
|
|
@@ -11519,7 +11578,7 @@ const routes = {
|
|
|
11519
11578
|
path: "launch-editor",
|
|
11520
11579
|
index: void 0,
|
|
11521
11580
|
caseSensitive: void 0,
|
|
11522
|
-
module:
|
|
11581
|
+
module: route33
|
|
11523
11582
|
},
|
|
11524
11583
|
"routes/login-sse": {
|
|
11525
11584
|
id: "routes/login-sse",
|
|
@@ -11527,7 +11586,7 @@ const routes = {
|
|
|
11527
11586
|
path: "login-sse",
|
|
11528
11587
|
index: void 0,
|
|
11529
11588
|
caseSensitive: void 0,
|
|
11530
|
-
module:
|
|
11589
|
+
module: route34
|
|
11531
11590
|
},
|
|
11532
11591
|
"routes/og": {
|
|
11533
11592
|
id: "routes/og",
|
|
@@ -11535,7 +11594,7 @@ const routes = {
|
|
|
11535
11594
|
path: "og",
|
|
11536
11595
|
index: void 0,
|
|
11537
11596
|
caseSensitive: void 0,
|
|
11538
|
-
module:
|
|
11597
|
+
module: route35
|
|
11539
11598
|
},
|
|
11540
11599
|
"routes/onboarding": {
|
|
11541
11600
|
id: "routes/onboarding",
|
|
@@ -11543,7 +11602,7 @@ const routes = {
|
|
|
11543
11602
|
path: "onboarding",
|
|
11544
11603
|
index: void 0,
|
|
11545
11604
|
caseSensitive: void 0,
|
|
11546
|
-
module:
|
|
11605
|
+
module: route36
|
|
11547
11606
|
},
|
|
11548
11607
|
"routes/processes": {
|
|
11549
11608
|
id: "routes/processes",
|
|
@@ -11551,7 +11610,7 @@ const routes = {
|
|
|
11551
11610
|
path: "processes",
|
|
11552
11611
|
index: void 0,
|
|
11553
11612
|
caseSensitive: void 0,
|
|
11554
|
-
module:
|
|
11613
|
+
module: route37
|
|
11555
11614
|
},
|
|
11556
11615
|
"routes/progress": {
|
|
11557
11616
|
id: "routes/progress",
|
|
@@ -11559,7 +11618,7 @@ const routes = {
|
|
|
11559
11618
|
path: "progress",
|
|
11560
11619
|
index: void 0,
|
|
11561
11620
|
caseSensitive: void 0,
|
|
11562
|
-
module:
|
|
11621
|
+
module: route38
|
|
11563
11622
|
},
|
|
11564
11623
|
"routes/robots[.]txt": {
|
|
11565
11624
|
id: "routes/robots[.]txt",
|
|
@@ -11567,7 +11626,7 @@ const routes = {
|
|
|
11567
11626
|
path: "robots.txt",
|
|
11568
11627
|
index: void 0,
|
|
11569
11628
|
caseSensitive: void 0,
|
|
11570
|
-
module:
|
|
11629
|
+
module: route39
|
|
11571
11630
|
},
|
|
11572
11631
|
"routes/set-playground": {
|
|
11573
11632
|
id: "routes/set-playground",
|
|
@@ -11575,7 +11634,7 @@ const routes = {
|
|
|
11575
11634
|
path: "set-playground",
|
|
11576
11635
|
index: void 0,
|
|
11577
11636
|
caseSensitive: void 0,
|
|
11578
|
-
module:
|
|
11637
|
+
module: route40
|
|
11579
11638
|
},
|
|
11580
11639
|
"routes/sitemap[.]xml": {
|
|
11581
11640
|
id: "routes/sitemap[.]xml",
|
|
@@ -11583,7 +11642,7 @@ const routes = {
|
|
|
11583
11642
|
path: "sitemap.xml",
|
|
11584
11643
|
index: void 0,
|
|
11585
11644
|
caseSensitive: void 0,
|
|
11586
|
-
module:
|
|
11645
|
+
module: route41
|
|
11587
11646
|
},
|
|
11588
11647
|
"routes/start": {
|
|
11589
11648
|
id: "routes/start",
|
|
@@ -11591,7 +11650,7 @@ const routes = {
|
|
|
11591
11650
|
path: "start",
|
|
11592
11651
|
index: void 0,
|
|
11593
11652
|
caseSensitive: void 0,
|
|
11594
|
-
module:
|
|
11653
|
+
module: route42
|
|
11595
11654
|
},
|
|
11596
11655
|
"routes/test": {
|
|
11597
11656
|
id: "routes/test",
|
|
@@ -11599,7 +11658,7 @@ const routes = {
|
|
|
11599
11658
|
path: "test",
|
|
11600
11659
|
index: void 0,
|
|
11601
11660
|
caseSensitive: void 0,
|
|
11602
|
-
module:
|
|
11661
|
+
module: route43
|
|
11603
11662
|
},
|
|
11604
11663
|
"routes/theme/index": {
|
|
11605
11664
|
id: "routes/theme/index",
|
|
@@ -11607,7 +11666,7 @@ const routes = {
|
|
|
11607
11666
|
path: "theme",
|
|
11608
11667
|
index: void 0,
|
|
11609
11668
|
caseSensitive: void 0,
|
|
11610
|
-
module:
|
|
11669
|
+
module: route44
|
|
11611
11670
|
},
|
|
11612
11671
|
"routes/video-player/index": {
|
|
11613
11672
|
id: "routes/video-player/index",
|
|
@@ -11615,7 +11674,7 @@ const routes = {
|
|
|
11615
11674
|
path: "video-player",
|
|
11616
11675
|
index: void 0,
|
|
11617
11676
|
caseSensitive: void 0,
|
|
11618
|
-
module:
|
|
11677
|
+
module: route45
|
|
11619
11678
|
}
|
|
11620
11679
|
};
|
|
11621
11680
|
export {
|