@epic-web/workshop-app 4.2.7 → 4.2.9
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/epic_ws_.js_-l0sNRNKZ.js +2 -0
- package/build/client/assets/epic_ws_.js_-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/manifest-db6261a7.js +1 -0
- package/build/server/index.js +185 -709
- package/build/server/index.js.map +1 -1
- package/package.json +3 -3
- package/build/client/assets/app._id-l0sNRNKZ.js +0 -2
- package/build/client/assets/app._id-l0sNRNKZ.js.map +0 -1
- package/build/client/assets/app._id._-l0sNRNKZ.js +0 -2
- package/build/client/assets/app._id._-l0sNRNKZ.js.map +0 -1
- package/build/client/assets/app._id.api._-l0sNRNKZ.js +0 -2
- package/build/client/assets/app._id.api._-l0sNRNKZ.js.map +0 -1
- package/build/client/assets/app._id.epic_ws_.js_-l0sNRNKZ.js +0 -2
- package/build/client/assets/app._id.epic_ws_.js_-l0sNRNKZ.js.map +0 -1
- package/build/client/assets/app._id.test._testName-l0sNRNKZ.js +0 -2
- package/build/client/assets/app._id.test._testName-l0sNRNKZ.js.map +0 -1
- package/build/client/assets/kcd_ws_.js_-l0sNRNKZ.js +0 -2
- package/build/client/assets/kcd_ws_.js_-l0sNRNKZ.js.map +0 -1
- package/build/client/assets/manifest-ca420c07.js +0 -1
package/build/server/index.js
CHANGED
|
@@ -3163,7 +3163,7 @@ const ThemeFormSchema = z$1.object({
|
|
|
3163
3163
|
redirectTo: z$1.string().optional(),
|
|
3164
3164
|
theme: z$1.enum(["system", "light", "dark"])
|
|
3165
3165
|
});
|
|
3166
|
-
async function action$
|
|
3166
|
+
async function action$c({ request }) {
|
|
3167
3167
|
const formData = await request.formData();
|
|
3168
3168
|
const submission = parseWithZod(formData, {
|
|
3169
3169
|
schema: ThemeFormSchema
|
|
@@ -3242,10 +3242,10 @@ function useTheme() {
|
|
|
3242
3242
|
}
|
|
3243
3243
|
return requestInfo.session.theme ?? hints.theme;
|
|
3244
3244
|
}
|
|
3245
|
-
const
|
|
3245
|
+
const route34 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3246
3246
|
__proto__: null,
|
|
3247
3247
|
ThemeSwitch,
|
|
3248
|
-
action: action$
|
|
3248
|
+
action: action$c,
|
|
3249
3249
|
useTheme
|
|
3250
3250
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
3251
3251
|
const appStylesheetUrl = "/assets/app-B0HiIPBO.css";
|
|
@@ -3799,7 +3799,7 @@ const links = () => {
|
|
|
3799
3799
|
const meta$5 = ({ data }) => {
|
|
3800
3800
|
return [{ title: data == null ? void 0 : data.workshopTitle }];
|
|
3801
3801
|
};
|
|
3802
|
-
async function loader$
|
|
3802
|
+
async function loader$r({ request }) {
|
|
3803
3803
|
const timings = makeTimings("rootLoader");
|
|
3804
3804
|
const onboarding = await readOnboardingData();
|
|
3805
3805
|
if (!ENV.EPICSHOP_DEPLOYED && !(onboarding == null ? void 0 : onboarding.finishedTourVideo)) {
|
|
@@ -4004,10 +4004,10 @@ const route0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
4004
4004
|
default: AppWithProviders,
|
|
4005
4005
|
headers: headers$8,
|
|
4006
4006
|
links,
|
|
4007
|
-
loader: loader$
|
|
4007
|
+
loader: loader$r,
|
|
4008
4008
|
meta: meta$5
|
|
4009
4009
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
4010
|
-
async function loader$
|
|
4010
|
+
async function loader$q() {
|
|
4011
4011
|
throw new Response("Not found", { status: 404 });
|
|
4012
4012
|
}
|
|
4013
4013
|
function NotFound() {
|
|
@@ -4034,7 +4034,7 @@ const route1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
4034
4034
|
__proto__: null,
|
|
4035
4035
|
ErrorBoundary: ErrorBoundary$4,
|
|
4036
4036
|
default: NotFound,
|
|
4037
|
-
loader: loader$
|
|
4037
|
+
loader: loader$q
|
|
4038
4038
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
4039
4039
|
function useEpicProgress() {
|
|
4040
4040
|
const data = useRouteLoaderData("root");
|
|
@@ -4165,7 +4165,7 @@ function useProgressItem({
|
|
|
4165
4165
|
}
|
|
4166
4166
|
return null;
|
|
4167
4167
|
}
|
|
4168
|
-
async function action$
|
|
4168
|
+
async function action$b({ request }) {
|
|
4169
4169
|
ensureUndeployed();
|
|
4170
4170
|
await requireAuthInfo({ request });
|
|
4171
4171
|
const formData = await request.formData();
|
|
@@ -4327,10 +4327,10 @@ function ProgressToggle({
|
|
|
4327
4327
|
)
|
|
4328
4328
|
] });
|
|
4329
4329
|
}
|
|
4330
|
-
const
|
|
4330
|
+
const route30 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
4331
4331
|
__proto__: null,
|
|
4332
4332
|
ProgressToggle,
|
|
4333
|
-
action: action$
|
|
4333
|
+
action: action$b,
|
|
4334
4334
|
useEpicProgress,
|
|
4335
4335
|
useExerciseProgressClassName,
|
|
4336
4336
|
useNextExerciseRoute,
|
|
@@ -4355,7 +4355,7 @@ function useOptionalDiscordMember() {
|
|
|
4355
4355
|
const data = useRouteLoaderData("root");
|
|
4356
4356
|
return data == null ? void 0 : data.discordMember;
|
|
4357
4357
|
}
|
|
4358
|
-
async function loader$
|
|
4358
|
+
async function loader$p({ request }) {
|
|
4359
4359
|
var _a2;
|
|
4360
4360
|
const timings = makeTimings("stepLoader");
|
|
4361
4361
|
const [exercises, workshopTitle, playgroundAppName] = await Promise.all([
|
|
@@ -5052,7 +5052,7 @@ const route2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
5052
5052
|
__proto__: null,
|
|
5053
5053
|
default: App,
|
|
5054
5054
|
headers: headers$7,
|
|
5055
|
-
loader: loader$
|
|
5055
|
+
loader: loader$p
|
|
5056
5056
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
5057
5057
|
function ExercisesLayout() {
|
|
5058
5058
|
return /* @__PURE__ */ jsx("div", { className: "flex h-full flex-grow", children: /* @__PURE__ */ jsx(Outlet, {}) });
|
|
@@ -5130,7 +5130,7 @@ const ignoredInputs = [
|
|
|
5130
5130
|
"mux-player",
|
|
5131
5131
|
"summary"
|
|
5132
5132
|
];
|
|
5133
|
-
async function action$
|
|
5133
|
+
async function action$a({ request }) {
|
|
5134
5134
|
const result = PlayerPreferencesSchema.safeParse(await request.json());
|
|
5135
5135
|
if (!result.success) {
|
|
5136
5136
|
return json({ status: "error", error: result.error.flatten() }, {
|
|
@@ -5316,10 +5316,10 @@ function isDeepEqual(obj1, obj2) {
|
|
|
5316
5316
|
}
|
|
5317
5317
|
return true;
|
|
5318
5318
|
}
|
|
5319
|
-
const
|
|
5319
|
+
const route36 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
5320
5320
|
__proto__: null,
|
|
5321
5321
|
MuxPlayer,
|
|
5322
|
-
action: action$
|
|
5322
|
+
action: action$a,
|
|
5323
5323
|
usePlayerPreferences
|
|
5324
5324
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
5325
5325
|
const EpicVideoInfoContext = React.createContext(null);
|
|
@@ -6106,7 +6106,7 @@ const LaunchSchema = z$1.intersection(
|
|
|
6106
6106
|
}),
|
|
6107
6107
|
getFileDescriptorSchema(z$1.array(z$1.string()))
|
|
6108
6108
|
);
|
|
6109
|
-
async function action$
|
|
6109
|
+
async function action$9({ request }) {
|
|
6110
6110
|
ensureUndeployed();
|
|
6111
6111
|
const formData = await request.formData();
|
|
6112
6112
|
const syncTo = {
|
|
@@ -6349,11 +6349,11 @@ function EditFileOnGitHub({
|
|
|
6349
6349
|
);
|
|
6350
6350
|
}
|
|
6351
6351
|
const LaunchEditor = ENV.EPICSHOP_DEPLOYED ? ENV.EPICSHOP_GITHUB_ROOT ? LaunchGitHub : ({ children }) => /* @__PURE__ */ jsx(SimpleTooltip, { content: "Cannot open files in deployed app", children: /* @__PURE__ */ jsx("button", { className: "launch_button cursor-not-allowed", children }) }) : LaunchEditorImpl;
|
|
6352
|
-
const
|
|
6352
|
+
const route26 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
6353
6353
|
__proto__: null,
|
|
6354
6354
|
EditFileOnGitHub,
|
|
6355
6355
|
LaunchEditor,
|
|
6356
|
-
action: action$
|
|
6356
|
+
action: action$9
|
|
6357
6357
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
6358
6358
|
const safePath = (s) => s.replace(/\\/g, "/");
|
|
6359
6359
|
function getRelativePath(file, separator, type) {
|
|
@@ -6552,7 +6552,7 @@ const meta$4 = ({
|
|
|
6552
6552
|
}
|
|
6553
6553
|
];
|
|
6554
6554
|
};
|
|
6555
|
-
async function loader$
|
|
6555
|
+
async function loader$o({ request, params }) {
|
|
6556
6556
|
const timings = makeTimings("exerciseNumberLoader");
|
|
6557
6557
|
invariantResponse(params.exerciseNumber, "exerciseNumber is required");
|
|
6558
6558
|
const [exercises, workshopTitle] = await Promise.all([
|
|
@@ -6696,10 +6696,10 @@ const route4 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
6696
6696
|
ErrorBoundary: ErrorBoundary$3,
|
|
6697
6697
|
default: ExerciseNumberRoute,
|
|
6698
6698
|
headers: headers$6,
|
|
6699
|
-
loader: loader$
|
|
6699
|
+
loader: loader$o,
|
|
6700
6700
|
meta: meta$4
|
|
6701
6701
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
6702
|
-
async function loader$
|
|
6702
|
+
async function loader$n({ request, params }) {
|
|
6703
6703
|
const timings = makeTimings("stepLoader");
|
|
6704
6704
|
invariantResponse(params.exerciseNumber, "exerciseNumber is required");
|
|
6705
6705
|
const [exercises, workshopTitle] = await Promise.all([
|
|
@@ -6756,7 +6756,7 @@ const route5 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
6756
6756
|
ErrorBoundary: ErrorBoundary$2,
|
|
6757
6757
|
default: StepRoute,
|
|
6758
6758
|
headers: headers$5,
|
|
6759
|
-
loader: loader$
|
|
6759
|
+
loader: loader$n
|
|
6760
6760
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
6761
6761
|
const EmojiDataSchema = z$1.union([
|
|
6762
6762
|
z$1.object({
|
|
@@ -6873,7 +6873,7 @@ function getDiscordAuthURL() {
|
|
|
6873
6873
|
discordAuthUrl.searchParams.append("scope", scope);
|
|
6874
6874
|
return discordAuthUrl.toString();
|
|
6875
6875
|
}
|
|
6876
|
-
async function loader$
|
|
6876
|
+
async function loader$m({ request }) {
|
|
6877
6877
|
const authInfo = await requireAuthInfo({ request });
|
|
6878
6878
|
const discordCode = new URL(request.url).searchParams.get("code");
|
|
6879
6879
|
invariantResponse(discordCode, "Missing code");
|
|
@@ -6926,12 +6926,12 @@ async function loader$r({ request }) {
|
|
|
6926
6926
|
description: `Your Discord account "${member.displayName}" has been connected!`
|
|
6927
6927
|
});
|
|
6928
6928
|
}
|
|
6929
|
-
const
|
|
6929
|
+
const route24 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
6930
6930
|
__proto__: null,
|
|
6931
6931
|
getDiscordAuthURL,
|
|
6932
|
-
loader: loader$
|
|
6932
|
+
loader: loader$m
|
|
6933
6933
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
6934
|
-
async function loader$
|
|
6934
|
+
async function loader$l() {
|
|
6935
6935
|
return json({ discordAuthUrl: getDiscordAuthURL() });
|
|
6936
6936
|
}
|
|
6937
6937
|
function useDiscordCTALink({
|
|
@@ -7030,11 +7030,11 @@ function DiscordRoute() {
|
|
|
7030
7030
|
] }) })
|
|
7031
7031
|
] });
|
|
7032
7032
|
}
|
|
7033
|
-
const
|
|
7033
|
+
const route15 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
7034
7034
|
__proto__: null,
|
|
7035
7035
|
DiscordCTA,
|
|
7036
7036
|
default: DiscordRoute,
|
|
7037
|
-
loader: loader$
|
|
7037
|
+
loader: loader$l,
|
|
7038
7038
|
useDiscordCTALink
|
|
7039
7039
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
7040
7040
|
function DiscordChat() {
|
|
@@ -7574,7 +7574,7 @@ const SetPlaygroundSchema = z$1.object({
|
|
|
7574
7574
|
appName: z$1.string(),
|
|
7575
7575
|
reset: z$1.string().nullable().optional().transform((v) => v === "true")
|
|
7576
7576
|
});
|
|
7577
|
-
async function action$
|
|
7577
|
+
async function action$8({ request }) {
|
|
7578
7578
|
ensureUndeployed();
|
|
7579
7579
|
const formData = await request.formData();
|
|
7580
7580
|
const rawData = {
|
|
@@ -7744,12 +7744,12 @@ function SetAppToPlayground({ appName }) {
|
|
|
7744
7744
|
}
|
|
7745
7745
|
);
|
|
7746
7746
|
}
|
|
7747
|
-
const
|
|
7747
|
+
const route31 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
7748
7748
|
__proto__: null,
|
|
7749
7749
|
PlaygroundChooser,
|
|
7750
7750
|
SetAppToPlayground,
|
|
7751
7751
|
SetPlayground,
|
|
7752
|
-
action: action$
|
|
7752
|
+
action: action$8
|
|
7753
7753
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
7754
7754
|
function PlaygroundWindow({
|
|
7755
7755
|
playgroundAppName,
|
|
@@ -7868,7 +7868,7 @@ function ButtonLink({
|
|
|
7868
7868
|
}
|
|
7869
7869
|
) });
|
|
7870
7870
|
}
|
|
7871
|
-
async function action$
|
|
7871
|
+
async function action$7({ request }) {
|
|
7872
7872
|
ensureUndeployed();
|
|
7873
7873
|
const formData = await request.formData();
|
|
7874
7874
|
const intent = formData.get("intent");
|
|
@@ -7997,12 +7997,12 @@ function AppStarter({ name }) {
|
|
|
7997
7997
|
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" }) })
|
|
7998
7998
|
] });
|
|
7999
7999
|
}
|
|
8000
|
-
const
|
|
8000
|
+
const route32 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
8001
8001
|
__proto__: null,
|
|
8002
8002
|
AppStarter,
|
|
8003
8003
|
AppStopper,
|
|
8004
8004
|
PortStopper,
|
|
8005
|
-
action: action$
|
|
8005
|
+
action: action$7
|
|
8006
8006
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
8007
8007
|
const historyCallDataSchema = z$1.intersection(
|
|
8008
8008
|
z$1.object({
|
|
@@ -8474,7 +8474,7 @@ function checkFileExists(file) {
|
|
|
8474
8474
|
() => false
|
|
8475
8475
|
);
|
|
8476
8476
|
}
|
|
8477
|
-
async function action$
|
|
8477
|
+
async function action$6({ request }) {
|
|
8478
8478
|
var _a2, _b2;
|
|
8479
8479
|
ensureUndeployed();
|
|
8480
8480
|
const formData = await request.formData();
|
|
@@ -8537,10 +8537,10 @@ function UpdateMdxCache({
|
|
|
8537
8537
|
)
|
|
8538
8538
|
] });
|
|
8539
8539
|
}
|
|
8540
|
-
const
|
|
8540
|
+
const route35 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
8541
8541
|
__proto__: null,
|
|
8542
8542
|
UpdateMdxCache,
|
|
8543
|
-
action: action$
|
|
8543
|
+
action: action$6
|
|
8544
8544
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
8545
8545
|
const StepContext = React.createContext(null);
|
|
8546
8546
|
function useStepContext() {
|
|
@@ -9125,7 +9125,7 @@ const testEventSchema = z$1.union([
|
|
|
9125
9125
|
})
|
|
9126
9126
|
]);
|
|
9127
9127
|
const testEventQueueSchema = z$1.array(testEventSchema);
|
|
9128
|
-
async function loader$
|
|
9128
|
+
async function loader$k({ request }) {
|
|
9129
9129
|
ensureUndeployed();
|
|
9130
9130
|
const url = new URL(request.url);
|
|
9131
9131
|
const name = url.searchParams.get("name");
|
|
@@ -9202,7 +9202,7 @@ async function loader$p({ request }) {
|
|
|
9202
9202
|
};
|
|
9203
9203
|
});
|
|
9204
9204
|
}
|
|
9205
|
-
async function action$
|
|
9205
|
+
async function action$5({ request }) {
|
|
9206
9206
|
var _a2;
|
|
9207
9207
|
ensureUndeployed();
|
|
9208
9208
|
const formData = await request.formData();
|
|
@@ -9445,14 +9445,14 @@ function StopTest({
|
|
|
9445
9445
|
)
|
|
9446
9446
|
] });
|
|
9447
9447
|
}
|
|
9448
|
-
const
|
|
9448
|
+
const route33 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
9449
9449
|
__proto__: null,
|
|
9450
9450
|
ClearTest,
|
|
9451
9451
|
StopTest,
|
|
9452
9452
|
TestOutput,
|
|
9453
9453
|
TestRunner,
|
|
9454
|
-
action: action$
|
|
9455
|
-
loader: loader$
|
|
9454
|
+
action: action$5,
|
|
9455
|
+
loader: loader$k
|
|
9456
9456
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
9457
9457
|
function Tests({
|
|
9458
9458
|
appInfo: playgroundAppInfo,
|
|
@@ -9849,7 +9849,7 @@ const meta$3 = ({
|
|
|
9849
9849
|
}
|
|
9850
9850
|
];
|
|
9851
9851
|
};
|
|
9852
|
-
async function loader$
|
|
9852
|
+
async function loader$j({ request, params }) {
|
|
9853
9853
|
var _a2, _b2;
|
|
9854
9854
|
const timings = makeTimings("exerciseStepTypeLoader");
|
|
9855
9855
|
const workshopTitle = await getWorkshopTitle();
|
|
@@ -10283,10 +10283,10 @@ const route6 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
10283
10283
|
ErrorBoundary: ErrorBoundary$1,
|
|
10284
10284
|
default: ExercisePartRoute,
|
|
10285
10285
|
headers: headers$4,
|
|
10286
|
-
loader: loader$
|
|
10286
|
+
loader: loader$j,
|
|
10287
10287
|
meta: meta$3
|
|
10288
10288
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
10289
|
-
async function loader$
|
|
10289
|
+
async function loader$i({ params }) {
|
|
10290
10290
|
const problemApp = await getExerciseApp({ ...params, type: "problem" }).then(
|
|
10291
10291
|
(a) => isProblemApp(a) ? a : null
|
|
10292
10292
|
);
|
|
@@ -10304,7 +10304,7 @@ async function loader$n({ params }) {
|
|
|
10304
10304
|
}
|
|
10305
10305
|
const route7 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10306
10306
|
__proto__: null,
|
|
10307
|
-
loader: loader$
|
|
10307
|
+
loader: loader$i
|
|
10308
10308
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
10309
10309
|
const meta$2 = ({
|
|
10310
10310
|
data,
|
|
@@ -10322,7 +10322,7 @@ const meta$2 = ({
|
|
|
10322
10322
|
}
|
|
10323
10323
|
];
|
|
10324
10324
|
};
|
|
10325
|
-
async function loader$
|
|
10325
|
+
async function loader$h({ request, params }) {
|
|
10326
10326
|
const timings = makeTimings("exerciseFinishedLoader");
|
|
10327
10327
|
invariantResponse(params.exerciseNumber, "exerciseNumber is required");
|
|
10328
10328
|
const exercise = await getExercise(params.exerciseNumber, {
|
|
@@ -10487,15 +10487,15 @@ const route8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
10487
10487
|
__proto__: null,
|
|
10488
10488
|
default: ExerciseFinished$1,
|
|
10489
10489
|
headers: headers$3,
|
|
10490
|
-
loader: loader$
|
|
10490
|
+
loader: loader$h,
|
|
10491
10491
|
meta: meta$2
|
|
10492
10492
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
10493
|
-
async function loader$
|
|
10493
|
+
async function loader$g({ request }) {
|
|
10494
10494
|
ensureUndeployed();
|
|
10495
10495
|
await requireAuthInfo({ request });
|
|
10496
10496
|
return json({ discordAuthUrl: getDiscordAuthURL() });
|
|
10497
10497
|
}
|
|
10498
|
-
async function action$
|
|
10498
|
+
async function action$4({ request }) {
|
|
10499
10499
|
ensureUndeployed();
|
|
10500
10500
|
const formData = await request.formData();
|
|
10501
10501
|
const intent = formData.get("intent");
|
|
@@ -10600,9 +10600,9 @@ function Account() {
|
|
|
10600
10600
|
}
|
|
10601
10601
|
const route9 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10602
10602
|
__proto__: null,
|
|
10603
|
-
action: action$
|
|
10603
|
+
action: action$4,
|
|
10604
10604
|
default: Account,
|
|
10605
|
-
loader: loader$
|
|
10605
|
+
loader: loader$g
|
|
10606
10606
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
10607
10607
|
async function resolveApps({
|
|
10608
10608
|
request,
|
|
@@ -10672,7 +10672,7 @@ async function compileTs(filePath, fullPath, {
|
|
|
10672
10672
|
}
|
|
10673
10673
|
});
|
|
10674
10674
|
}
|
|
10675
|
-
async function loader$
|
|
10675
|
+
async function loader$f({ request, params }) {
|
|
10676
10676
|
const timings = makeTimings("app-file");
|
|
10677
10677
|
const { fileApp, app } = await resolveApps({ request, params, timings });
|
|
10678
10678
|
if (!fileApp || !app) {
|
|
@@ -10728,10 +10728,10 @@ async function loader$k({ request, params }) {
|
|
|
10728
10728
|
}
|
|
10729
10729
|
const route10 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10730
10730
|
__proto__: null,
|
|
10731
|
-
loader: loader$
|
|
10731
|
+
loader: loader$f
|
|
10732
10732
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
10733
|
-
async function loader$
|
|
10734
|
-
const api = await getApiModule
|
|
10733
|
+
async function loader$e(args) {
|
|
10734
|
+
const api = await getApiModule(args);
|
|
10735
10735
|
invariantResponse(
|
|
10736
10736
|
api.mod.loader,
|
|
10737
10737
|
"Attempted to make a GET request to the api endpoint but the api module does not export a loader function",
|
|
@@ -10744,8 +10744,8 @@ async function loader$j(args) {
|
|
|
10744
10744
|
api.cleanupError(error);
|
|
10745
10745
|
}
|
|
10746
10746
|
}
|
|
10747
|
-
async function action$
|
|
10748
|
-
const api = await getApiModule
|
|
10747
|
+
async function action$3(args) {
|
|
10748
|
+
const api = await getApiModule(args);
|
|
10749
10749
|
invariantResponse(
|
|
10750
10750
|
api.mod.action,
|
|
10751
10751
|
"Attempted to make a non-GET request to the api endpoint but the api module does not export an action function",
|
|
@@ -10758,11 +10758,11 @@ async function action$4(args) {
|
|
|
10758
10758
|
api.cleanupError(error);
|
|
10759
10759
|
}
|
|
10760
10760
|
}
|
|
10761
|
-
const ApiModuleSchema
|
|
10761
|
+
const ApiModuleSchema = z$1.object({
|
|
10762
10762
|
loader: z$1.function().optional(),
|
|
10763
10763
|
action: z$1.function().optional()
|
|
10764
10764
|
});
|
|
10765
|
-
async function getApiModule
|
|
10765
|
+
async function getApiModule({ request, params }) {
|
|
10766
10766
|
const timings = makeTimings("app-api");
|
|
10767
10767
|
const { fileApp, app } = await resolveApps({ request, params, timings });
|
|
10768
10768
|
if (!fileApp || !app) {
|
|
@@ -10788,6 +10788,10 @@ async function getApiModule$1({ request, params }) {
|
|
|
10788
10788
|
const { outputFiles, errors } = await compileTs(apiFile, app.fullPath, {
|
|
10789
10789
|
esbuildOptions: {
|
|
10790
10790
|
platform: "node",
|
|
10791
|
+
// packages external causes issues in Node 20 because Node tries to resolve the package.json from the data URL 🤷♂️
|
|
10792
|
+
// packages: 'external', // figure out how to turn this on in the future...
|
|
10793
|
+
// just adds noise to errors and doesn't appear to help with debugging
|
|
10794
|
+
sourcemap: false,
|
|
10791
10795
|
// remove the process.env define
|
|
10792
10796
|
define: {}
|
|
10793
10797
|
},
|
|
@@ -10808,7 +10812,7 @@ async function getApiModule$1({ request, params }) {
|
|
|
10808
10812
|
/* @vite-ignore */
|
|
10809
10813
|
dataUrl
|
|
10810
10814
|
).catch(cleanupError);
|
|
10811
|
-
const apiModule = ApiModuleSchema
|
|
10815
|
+
const apiModule = ApiModuleSchema.safeParse(mod);
|
|
10812
10816
|
if (!apiModule.success) {
|
|
10813
10817
|
throw new Response(
|
|
10814
10818
|
`Invalid api module. It should export a loader and/or action: ${apiModule.error.message}`,
|
|
@@ -10828,10 +10832,78 @@ async function getApiModule$1({ request, params }) {
|
|
|
10828
10832
|
}
|
|
10829
10833
|
const route11 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10830
10834
|
__proto__: null,
|
|
10831
|
-
action: action$
|
|
10832
|
-
loader: loader$
|
|
10835
|
+
action: action$3,
|
|
10836
|
+
loader: loader$e
|
|
10837
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
10838
|
+
async function loader$d({ request, params }) {
|
|
10839
|
+
const timings = makeTimings("epic_ws script");
|
|
10840
|
+
const { fileApp, app } = await resolveApps({ request, params, timings });
|
|
10841
|
+
if (!fileApp || !app) {
|
|
10842
|
+
throw new Response(`Apps not found`, { status: 404 });
|
|
10843
|
+
}
|
|
10844
|
+
if (app.dev.type === "script") {
|
|
10845
|
+
return redirect(getBaseUrl({ request, port: app.dev.portNumber }));
|
|
10846
|
+
}
|
|
10847
|
+
const relevantPaths = Array.from(/* @__PURE__ */ new Set([app.fullPath, fileApp.fullPath]));
|
|
10848
|
+
const js = (
|
|
10849
|
+
/* javascript */
|
|
10850
|
+
`
|
|
10851
|
+
function epicLiveReloadConnect(config) {
|
|
10852
|
+
const protocol = location.protocol === "https:" ? "wss:" : "ws:";
|
|
10853
|
+
const host = location.hostname;
|
|
10854
|
+
const port = location.port;
|
|
10855
|
+
const socketPath = protocol + "//" + host + ":" + port + "/__ws";
|
|
10856
|
+
const ws = new WebSocket(socketPath);
|
|
10857
|
+
ws.onmessage = (message) => {
|
|
10858
|
+
const event = JSON.parse(message.data);
|
|
10859
|
+
if (event.type !== 'epicshop:file-change') return;
|
|
10860
|
+
const { filePaths } = event.data;
|
|
10861
|
+
if (${JSON.stringify(relevantPaths)}.some(p => filePaths.some(filePath => filePath.startsWith(p)))) {
|
|
10862
|
+
console.log(
|
|
10863
|
+
['🐨 Reloading', window.frameElement?.getAttribute('title')]
|
|
10864
|
+
.filter(Boolean)
|
|
10865
|
+
.join(' '),
|
|
10866
|
+
);
|
|
10867
|
+
window.location.reload();
|
|
10868
|
+
}
|
|
10869
|
+
};
|
|
10870
|
+
ws.onopen = () => {
|
|
10871
|
+
if (config && typeof config.onOpen === "function") {
|
|
10872
|
+
config.onOpen();
|
|
10873
|
+
}
|
|
10874
|
+
};
|
|
10875
|
+
ws.onclose = (event) => {
|
|
10876
|
+
if (event.code === 1006) {
|
|
10877
|
+
console.log("Epic Web dev server web socket closed. Reconnecting...");
|
|
10878
|
+
setTimeout(
|
|
10879
|
+
() =>
|
|
10880
|
+
epicLiveReloadConnect({
|
|
10881
|
+
onOpen: () => window.location.reload(),
|
|
10882
|
+
}),
|
|
10883
|
+
1000
|
|
10884
|
+
);
|
|
10885
|
+
}
|
|
10886
|
+
};
|
|
10887
|
+
ws.onerror = (error) => {
|
|
10888
|
+
console.log("Epic Web dev server web socket error:");
|
|
10889
|
+
console.error(error);
|
|
10890
|
+
};
|
|
10891
|
+
}
|
|
10892
|
+
epicLiveReloadConnect();
|
|
10893
|
+
`
|
|
10894
|
+
);
|
|
10895
|
+
return new Response(js, {
|
|
10896
|
+
headers: {
|
|
10897
|
+
"Content-Length": Buffer.byteLength(js).toString(),
|
|
10898
|
+
"Content-Type": "text/javascript"
|
|
10899
|
+
}
|
|
10900
|
+
});
|
|
10901
|
+
}
|
|
10902
|
+
const route12 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10903
|
+
__proto__: null,
|
|
10904
|
+
loader: loader$d
|
|
10833
10905
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
10834
|
-
async function loader$
|
|
10906
|
+
async function loader$c({ request, params }) {
|
|
10835
10907
|
var _a2;
|
|
10836
10908
|
const timings = makeTimings("app");
|
|
10837
10909
|
const { fileApp, app } = await resolveApps({ request, params, timings });
|
|
@@ -10915,79 +10987,11 @@ async function loader$i({ request, params }) {
|
|
|
10915
10987
|
}
|
|
10916
10988
|
});
|
|
10917
10989
|
}
|
|
10918
|
-
const route12 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10919
|
-
__proto__: null,
|
|
10920
|
-
loader: loader$i
|
|
10921
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
10922
|
-
async function loader$h({ request, params }) {
|
|
10923
|
-
const timings = makeTimings("epic_ws script");
|
|
10924
|
-
const { fileApp, app } = await resolveApps({ request, params, timings });
|
|
10925
|
-
if (!fileApp || !app) {
|
|
10926
|
-
throw new Response(`Apps not found`, { status: 404 });
|
|
10927
|
-
}
|
|
10928
|
-
if (app.dev.type === "script") {
|
|
10929
|
-
return redirect(getBaseUrl({ request, port: app.dev.portNumber }));
|
|
10930
|
-
}
|
|
10931
|
-
const relevantPaths = Array.from(/* @__PURE__ */ new Set([app.fullPath, fileApp.fullPath]));
|
|
10932
|
-
const js = (
|
|
10933
|
-
/* javascript */
|
|
10934
|
-
`
|
|
10935
|
-
function epicLiveReloadConnect(config) {
|
|
10936
|
-
const protocol = location.protocol === "https:" ? "wss:" : "ws:";
|
|
10937
|
-
const host = location.hostname;
|
|
10938
|
-
const port = location.port;
|
|
10939
|
-
const socketPath = protocol + "//" + host + ":" + port + "/__ws";
|
|
10940
|
-
const ws = new WebSocket(socketPath);
|
|
10941
|
-
ws.onmessage = (message) => {
|
|
10942
|
-
const event = JSON.parse(message.data);
|
|
10943
|
-
if (event.type !== 'epicshop:file-change') return;
|
|
10944
|
-
const { filePaths } = event.data;
|
|
10945
|
-
if (${JSON.stringify(relevantPaths)}.some(p => filePaths.some(filePath => filePath.startsWith(p)))) {
|
|
10946
|
-
console.log(
|
|
10947
|
-
['🐨 Reloading', window.frameElement?.getAttribute('title')]
|
|
10948
|
-
.filter(Boolean)
|
|
10949
|
-
.join(' '),
|
|
10950
|
-
);
|
|
10951
|
-
window.location.reload();
|
|
10952
|
-
}
|
|
10953
|
-
};
|
|
10954
|
-
ws.onopen = () => {
|
|
10955
|
-
if (config && typeof config.onOpen === "function") {
|
|
10956
|
-
config.onOpen();
|
|
10957
|
-
}
|
|
10958
|
-
};
|
|
10959
|
-
ws.onclose = (event) => {
|
|
10960
|
-
if (event.code === 1006) {
|
|
10961
|
-
console.log("Epic Web dev server web socket closed. Reconnecting...");
|
|
10962
|
-
setTimeout(
|
|
10963
|
-
() =>
|
|
10964
|
-
epicLiveReloadConnect({
|
|
10965
|
-
onOpen: () => window.location.reload(),
|
|
10966
|
-
}),
|
|
10967
|
-
1000
|
|
10968
|
-
);
|
|
10969
|
-
}
|
|
10970
|
-
};
|
|
10971
|
-
ws.onerror = (error) => {
|
|
10972
|
-
console.log("Epic Web dev server web socket error:");
|
|
10973
|
-
console.error(error);
|
|
10974
|
-
};
|
|
10975
|
-
}
|
|
10976
|
-
epicLiveReloadConnect();
|
|
10977
|
-
`
|
|
10978
|
-
);
|
|
10979
|
-
return new Response(js, {
|
|
10980
|
-
headers: {
|
|
10981
|
-
"Content-Length": Buffer.byteLength(js).toString(),
|
|
10982
|
-
"Content-Type": "text/javascript"
|
|
10983
|
-
}
|
|
10984
|
-
});
|
|
10985
|
-
}
|
|
10986
10990
|
const route13 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
10987
10991
|
__proto__: null,
|
|
10988
|
-
loader: loader$
|
|
10992
|
+
loader: loader$c
|
|
10989
10993
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
10990
|
-
async function loader$
|
|
10994
|
+
async function loader$b({ request, params }) {
|
|
10991
10995
|
var _a2;
|
|
10992
10996
|
const timings = makeTimings("app_test_loader");
|
|
10993
10997
|
const { testName } = params;
|
|
@@ -11127,499 +11131,11 @@ import(${JSON.stringify(testScriptPath)}).then(
|
|
|
11127
11131
|
}
|
|
11128
11132
|
const route14 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
11129
11133
|
__proto__: null,
|
|
11130
|
-
loader: loader$
|
|
11134
|
+
loader: loader$b
|
|
11131
11135
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
11132
|
-
|
|
11133
|
-
|
|
11134
|
-
|
|
11135
|
-
const { id: appId } = params;
|
|
11136
|
-
invariantResponse(appId, "App id is required");
|
|
11137
|
-
const app = await getAppByName(appId, { request, timings });
|
|
11138
|
-
const baseApp = isPlaygroundApp(app) ? await getAppByName(app.appName) : app;
|
|
11139
|
-
if (!app) {
|
|
11140
|
-
throw new Response(`App "${appId}" not found`, {
|
|
11141
|
-
status: 404,
|
|
11142
|
-
headers: { "Server-Timing": getServerTimeHeader(timings) }
|
|
11143
|
-
});
|
|
11144
|
-
}
|
|
11145
|
-
if (app.dev.type === "script") {
|
|
11146
|
-
return redirect(getBaseUrl({ request, port: app.dev.portNumber }), {
|
|
11147
|
-
headers: { "Server-Timing": getServerTimeHeader(timings) }
|
|
11148
|
-
});
|
|
11149
|
-
}
|
|
11150
|
-
if (app.dev.type !== "browser") {
|
|
11151
|
-
throw new Response(
|
|
11152
|
-
`App "${appId}" is not a browser app, its dev type is: "${app.dev.type}"`,
|
|
11153
|
-
{ status: 400 }
|
|
11154
|
-
);
|
|
11155
|
-
}
|
|
11156
|
-
const htmlFile = path.join(app.fullPath, "index.html");
|
|
11157
|
-
const hasHtml = await fsExtra.pathExists(htmlFile);
|
|
11158
|
-
if (hasHtml) {
|
|
11159
|
-
const html2 = await fsExtra.readFile(htmlFile);
|
|
11160
|
-
return new Response(html2, {
|
|
11161
|
-
headers: {
|
|
11162
|
-
"Content-Length": Buffer.byteLength(html2).toString(),
|
|
11163
|
-
"Content-Type": "text/html",
|
|
11164
|
-
"Server-Timing": getServerTimeHeader(timings)
|
|
11165
|
-
}
|
|
11166
|
-
});
|
|
11167
|
-
}
|
|
11168
|
-
const indexFiles = (await fsExtra.readdir(app.fullPath)).filter(
|
|
11169
|
-
(file) => file.startsWith("index.")
|
|
11170
|
-
);
|
|
11171
|
-
const indexCss = indexFiles.find((file) => file.endsWith("index.css"));
|
|
11172
|
-
const indexJs = indexFiles.find((file) => file.endsWith("index.js"));
|
|
11173
|
-
const indexTs = indexFiles.find((file) => file.endsWith("index.ts"));
|
|
11174
|
-
const indexTsx = indexFiles.find((file) => file.endsWith("index.tsx"));
|
|
11175
|
-
const scripts = [indexJs, indexTs, indexTsx].filter(Boolean);
|
|
11176
|
-
if (scripts.length > 1) {
|
|
11177
|
-
throw new Response(
|
|
11178
|
-
`Only one index.(js|ts|tsx) file is allowed, found ${scripts.join(", ")}`,
|
|
11179
|
-
{ status: 400 }
|
|
11180
|
-
);
|
|
11181
|
-
}
|
|
11182
|
-
const appTitle = app.title;
|
|
11183
|
-
const workshopTitle = await getWorkshopTitle();
|
|
11184
|
-
const baseAppTitle = isExerciseStepApp(baseApp) ? [
|
|
11185
|
-
`${baseApp.stepNumber.toString().padStart(2, "0")}. ${baseApp.title}`,
|
|
11186
|
-
`${baseApp.exerciseNumber.toString().padStart(2, "0")}. ${((_a2 = await getExercise(baseApp.exerciseNumber, { request, timings })) == null ? void 0 : _a2.title) ?? "Unknown"}`,
|
|
11187
|
-
workshopTitle
|
|
11188
|
-
] : [(baseApp == null ? void 0 : baseApp.title) ?? "N/A"];
|
|
11189
|
-
const title = (isExerciseStepApp(app) ? [
|
|
11190
|
-
isProblemApp(app) ? "💪" : isSolutionApp(app) ? "🏁" : null,
|
|
11191
|
-
...baseAppTitle
|
|
11192
|
-
] : isPlaygroundApp(app) ? ["🛝", ...baseAppTitle] : [appTitle]).filter(Boolean).join(" | ");
|
|
11193
|
-
const html = (
|
|
11194
|
-
/* html */
|
|
11195
|
-
`
|
|
11196
|
-
<!DOCTYPE html>
|
|
11197
|
-
<html>
|
|
11198
|
-
<head>
|
|
11199
|
-
<base href="${app.dev.pathname}" />
|
|
11200
|
-
<meta charset="utf-8">
|
|
11201
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
11202
|
-
<title>${title}</title>
|
|
11203
|
-
<link rel="stylesheet" href="/app-default.css">
|
|
11204
|
-
${indexCss ? `<link rel="stylesheet" href="${indexCss}">` : ""}
|
|
11205
|
-
</head>
|
|
11206
|
-
<body>
|
|
11207
|
-
${scripts.map((script) => `<script type="module" src="${script}"><\/script>`).join("\n")}
|
|
11208
|
-
<script type="module" src="epic_ws.js"><\/script>
|
|
11209
|
-
</body>
|
|
11210
|
-
</html>
|
|
11211
|
-
`
|
|
11212
|
-
);
|
|
11213
|
-
return new Response(html, {
|
|
11214
|
-
headers: {
|
|
11215
|
-
"Content-Length": Buffer.byteLength(html).toString(),
|
|
11216
|
-
"Content-Type": "text/html",
|
|
11217
|
-
"Server-Timing": getServerTimeHeader(timings)
|
|
11218
|
-
}
|
|
11219
|
-
});
|
|
11220
|
-
}
|
|
11221
|
-
const route15 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
11222
|
-
__proto__: null,
|
|
11223
|
-
loader: loader$f
|
|
11224
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
11225
|
-
async function loader$e({ request, params }) {
|
|
11226
|
-
const timings = makeTimings("app-file");
|
|
11227
|
-
const { id: appId, "*": splat } = params;
|
|
11228
|
-
const url = new URL(request.url);
|
|
11229
|
-
const fileAppName = url.searchParams.get("fileAppName");
|
|
11230
|
-
invariantResponse(appId, "App id is required");
|
|
11231
|
-
invariantResponse(splat, "Splat is required");
|
|
11232
|
-
const app = await getAppByName(appId);
|
|
11233
|
-
const fileApp = fileAppName ? await getAppByName(fileAppName) : app;
|
|
11234
|
-
if (!fileApp || !app) {
|
|
11235
|
-
throw new Response(
|
|
11236
|
-
`Apps with ids "${fileAppName}" (resolveDir) and "${appId}" (app) for resource "${splat}" not found`,
|
|
11237
|
-
{ status: 404 }
|
|
11238
|
-
);
|
|
11239
|
-
}
|
|
11240
|
-
if (app.dev.type === "script") {
|
|
11241
|
-
return redirect(getBaseUrl({ request, port: app.dev.portNumber }));
|
|
11242
|
-
}
|
|
11243
|
-
const filePath = path.join(fileApp.fullPath, splat);
|
|
11244
|
-
const fileExists = await fsExtra.pathExists(filePath);
|
|
11245
|
-
if (!fileExists) {
|
|
11246
|
-
throw new Response("File not found", { status: 404 });
|
|
11247
|
-
}
|
|
11248
|
-
if (filePath.endsWith(".ts") || filePath.endsWith(".tsx")) {
|
|
11249
|
-
const { outputFiles, errors } = await compileTs(filePath, app.fullPath, {
|
|
11250
|
-
request,
|
|
11251
|
-
timings
|
|
11252
|
-
});
|
|
11253
|
-
if (errors.length) {
|
|
11254
|
-
console.error(`Failed to compile file "${filePath}"`);
|
|
11255
|
-
console.error(errors);
|
|
11256
|
-
throw new Response(errors.join("\n"), { status: 500 });
|
|
11257
|
-
}
|
|
11258
|
-
if (!(outputFiles == null ? void 0 : outputFiles[0])) {
|
|
11259
|
-
throw new Response("Failed to compile file", { status: 500 });
|
|
11260
|
-
}
|
|
11261
|
-
const file = outputFiles[0].text;
|
|
11262
|
-
return getFileResponse(file, { "Content-Type": "text/javascript" });
|
|
11263
|
-
} else {
|
|
11264
|
-
const file = await fsExtra.readFile(filePath);
|
|
11265
|
-
const mimeType = mimeTypes.lookup(filePath) || "text/plain";
|
|
11266
|
-
return getFileResponse(file, { "Content-Type": mimeType });
|
|
11267
|
-
}
|
|
11268
|
-
function getFileResponse(file, headers2 = {}) {
|
|
11269
|
-
const etagValue = etag(file);
|
|
11270
|
-
const ifNoneMatch = request.headers.get("if-none-match");
|
|
11271
|
-
if (ifNoneMatch === etagValue) {
|
|
11272
|
-
return new Response(null, { status: 304 });
|
|
11273
|
-
}
|
|
11274
|
-
return new Response(file, {
|
|
11275
|
-
headers: combineHeaders(
|
|
11276
|
-
{
|
|
11277
|
-
"Content-Length": Buffer.byteLength(file).toString(),
|
|
11278
|
-
"Server-Timing": timings.toString(),
|
|
11279
|
-
ETag: etagValue
|
|
11280
|
-
},
|
|
11281
|
-
headers2
|
|
11282
|
-
)
|
|
11283
|
-
});
|
|
11284
|
-
}
|
|
11285
|
-
}
|
|
11286
|
-
const route16 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
11287
|
-
__proto__: null,
|
|
11288
|
-
loader: loader$e
|
|
11289
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
11290
|
-
async function loader$d(args) {
|
|
11291
|
-
const api = await getApiModule(args);
|
|
11292
|
-
invariantResponse(
|
|
11293
|
-
api.mod.loader,
|
|
11294
|
-
"Attempted to make a GET request to the api endpoint but the api module does not export a loader function",
|
|
11295
|
-
{ status: 405 }
|
|
11296
|
-
);
|
|
11297
|
-
try {
|
|
11298
|
-
const result = await api.mod.loader(args);
|
|
11299
|
-
return result;
|
|
11300
|
-
} catch (error) {
|
|
11301
|
-
api.cleanupError(error);
|
|
11302
|
-
}
|
|
11303
|
-
}
|
|
11304
|
-
async function action$3(args) {
|
|
11305
|
-
const api = await getApiModule(args);
|
|
11306
|
-
invariantResponse(
|
|
11307
|
-
api.mod.action,
|
|
11308
|
-
"Attempted to make a non-GET request to the api endpoint but the api module does not export an action function",
|
|
11309
|
-
{ status: 405 }
|
|
11310
|
-
);
|
|
11311
|
-
try {
|
|
11312
|
-
const result = await api.mod.action(args);
|
|
11313
|
-
return result;
|
|
11314
|
-
} catch (error) {
|
|
11315
|
-
api.cleanupError(error);
|
|
11316
|
-
}
|
|
11317
|
-
}
|
|
11318
|
-
const ApiModuleSchema = z$1.object({
|
|
11319
|
-
loader: z$1.function().optional(),
|
|
11320
|
-
action: z$1.function().optional()
|
|
11321
|
-
});
|
|
11322
|
-
async function getApiModule({ request, params }) {
|
|
11323
|
-
const timings = makeTimings("app-api");
|
|
11324
|
-
const { id: appId } = params;
|
|
11325
|
-
const url = new URL(request.url);
|
|
11326
|
-
const fileAppName = url.searchParams.get("fileAppName");
|
|
11327
|
-
invariantResponse(appId, "App id is required");
|
|
11328
|
-
const app = await getAppByName(appId);
|
|
11329
|
-
const fileApp = fileAppName ? await getAppByName(fileAppName) : app;
|
|
11330
|
-
if (!fileApp || !app) {
|
|
11331
|
-
throw new Response(
|
|
11332
|
-
`Apps with ids "${fileAppName}" (resolveDir) and "${appId}" (app) for api not found`,
|
|
11333
|
-
{ status: 404 }
|
|
11334
|
-
);
|
|
11335
|
-
}
|
|
11336
|
-
if (app.dev.type === "script") {
|
|
11337
|
-
throw redirect(getBaseUrl({ request, port: app.dev.portNumber }));
|
|
11338
|
-
}
|
|
11339
|
-
const apiFiles = (await fsExtra.readdir(app.fullPath)).filter((file) => /^api\.server\.(ts|tsx|js|jsx)$/.test(file)).map((f) => path$1.join(app.fullPath, f));
|
|
11340
|
-
const apiFile = apiFiles[0];
|
|
11341
|
-
if (!apiFile) {
|
|
11342
|
-
throw new Response(
|
|
11343
|
-
`No api.server.(ts|tsx|js|jsx) file found in "${app.fullPath}"`,
|
|
11344
|
-
{ status: 404 }
|
|
11345
|
-
);
|
|
11346
|
-
}
|
|
11347
|
-
if (apiFiles.length > 1) {
|
|
11348
|
-
throw new Response(
|
|
11349
|
-
`Only one api.server.(ts|tsx|js|jsx) file is allowed, found ${apiFiles.join(", ")}`,
|
|
11350
|
-
{ status: 400 }
|
|
11351
|
-
);
|
|
11352
|
-
}
|
|
11353
|
-
const { outputFiles, errors } = await compileTs(apiFile, app.fullPath, {
|
|
11354
|
-
esbuildOptions: {
|
|
11355
|
-
platform: "node",
|
|
11356
|
-
// remove the process.env define
|
|
11357
|
-
define: {}
|
|
11358
|
-
},
|
|
11359
|
-
request,
|
|
11360
|
-
timings
|
|
11361
|
-
});
|
|
11362
|
-
if (errors.length) {
|
|
11363
|
-
console.error(`Failed to compile file "${apiFile}"`);
|
|
11364
|
-
console.error(errors);
|
|
11365
|
-
throw new Response(errors.join("\n"), { status: 500 });
|
|
11366
|
-
}
|
|
11367
|
-
if (!(outputFiles == null ? void 0 : outputFiles[0])) {
|
|
11368
|
-
throw new Response(`Failed to compile file "${apiFile}"`, { status: 500 });
|
|
11369
|
-
}
|
|
11370
|
-
const apiCode = outputFiles[0].text;
|
|
11371
|
-
const dataUrl = `data:text/javascript;base64,${Buffer.from(apiCode).toString("base64")}`;
|
|
11372
|
-
const mod = await import(
|
|
11373
|
-
/* @vite-ignore */
|
|
11374
|
-
dataUrl
|
|
11375
|
-
).catch(cleanupError);
|
|
11376
|
-
const apiModule = ApiModuleSchema.safeParse(mod);
|
|
11377
|
-
if (!apiModule.success) {
|
|
11378
|
-
throw new Response(
|
|
11379
|
-
`Invalid api module. It should export a loader and/or action: ${apiModule.error.message}`,
|
|
11380
|
-
{ status: 500 }
|
|
11381
|
-
);
|
|
11382
|
-
}
|
|
11383
|
-
return {
|
|
11384
|
-
mod: apiModule.data,
|
|
11385
|
-
cleanupError
|
|
11386
|
-
};
|
|
11387
|
-
function cleanupError(error) {
|
|
11388
|
-
if (apiFile && error instanceof Error && error.stack) {
|
|
11389
|
-
error.stack = error.stack.replace(dataUrl, apiFile);
|
|
11390
|
-
}
|
|
11391
|
-
throw error;
|
|
11392
|
-
}
|
|
11393
|
-
}
|
|
11394
|
-
const route17 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
11395
|
-
__proto__: null,
|
|
11396
|
-
action: action$3,
|
|
11397
|
-
loader: loader$d
|
|
11398
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
11399
|
-
async function loader$c({ request, params }) {
|
|
11400
|
-
const { id: appId } = params;
|
|
11401
|
-
const url = new URL(request.url);
|
|
11402
|
-
const fileAppName = url.searchParams.get("fileAppName");
|
|
11403
|
-
invariantResponse(appId, "App id is required");
|
|
11404
|
-
const app = await getAppByName(appId);
|
|
11405
|
-
const fileApp = fileAppName ? await getAppByName(fileAppName) : app;
|
|
11406
|
-
if (!app || !fileApp) {
|
|
11407
|
-
throw new Response(
|
|
11408
|
-
`Apps with ids "${fileAppName}" (resolveDir) or "${appId}" (app) not found`,
|
|
11409
|
-
{ status: 404 }
|
|
11410
|
-
);
|
|
11411
|
-
}
|
|
11412
|
-
if (app.dev.type === "script") {
|
|
11413
|
-
return redirect(getBaseUrl({ request, port: app.dev.portNumber }));
|
|
11414
|
-
}
|
|
11415
|
-
const relevantPaths = Array.from(/* @__PURE__ */ new Set([app.fullPath, fileApp.fullPath]));
|
|
11416
|
-
const js = (
|
|
11417
|
-
/* javascript */
|
|
11418
|
-
`
|
|
11419
|
-
function epicLiveReloadConnect(config) {
|
|
11420
|
-
const protocol = location.protocol === "https:" ? "wss:" : "ws:";
|
|
11421
|
-
const host = location.hostname;
|
|
11422
|
-
const port = location.port;
|
|
11423
|
-
const socketPath = protocol + "//" + host + ":" + port + "/__ws";
|
|
11424
|
-
const ws = new WebSocket(socketPath);
|
|
11425
|
-
ws.onmessage = (message) => {
|
|
11426
|
-
const event = JSON.parse(message.data);
|
|
11427
|
-
if (event.type !== 'epicshop:file-change') return;
|
|
11428
|
-
const { filePaths } = event.data;
|
|
11429
|
-
if (${JSON.stringify(relevantPaths)}.some(p => filePaths.some(filePath => filePath.startsWith(p)))) {
|
|
11430
|
-
console.log(
|
|
11431
|
-
['🐨 Reloading', window.frameElement?.getAttribute('title')]
|
|
11432
|
-
.filter(Boolean)
|
|
11433
|
-
.join(' '),
|
|
11434
|
-
);
|
|
11435
|
-
window.location.reload();
|
|
11436
|
-
}
|
|
11437
|
-
};
|
|
11438
|
-
ws.onopen = () => {
|
|
11439
|
-
if (config && typeof config.onOpen === "function") {
|
|
11440
|
-
config.onOpen();
|
|
11441
|
-
}
|
|
11442
|
-
};
|
|
11443
|
-
ws.onclose = (event) => {
|
|
11444
|
-
if (event.code === 1006) {
|
|
11445
|
-
console.log("Epic Web dev server web socket closed. Reconnecting...");
|
|
11446
|
-
setTimeout(
|
|
11447
|
-
() =>
|
|
11448
|
-
epicLiveReloadConnect({
|
|
11449
|
-
onOpen: () => window.location.reload(),
|
|
11450
|
-
}),
|
|
11451
|
-
1000
|
|
11452
|
-
);
|
|
11453
|
-
}
|
|
11454
|
-
};
|
|
11455
|
-
ws.onerror = (error) => {
|
|
11456
|
-
console.log("Epic Web dev server web socket error:");
|
|
11457
|
-
console.error(error);
|
|
11458
|
-
};
|
|
11459
|
-
}
|
|
11460
|
-
epicLiveReloadConnect();
|
|
11461
|
-
`
|
|
11462
|
-
);
|
|
11463
|
-
return new Response(js, {
|
|
11464
|
-
headers: {
|
|
11465
|
-
"Content-Length": Buffer.byteLength(js).toString(),
|
|
11466
|
-
"Content-Type": "text/javascript"
|
|
11467
|
-
}
|
|
11468
|
-
});
|
|
11469
|
-
}
|
|
11470
|
-
const route18 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
11471
|
-
__proto__: null,
|
|
11472
|
-
loader: loader$c
|
|
11473
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
11474
|
-
async function loader$b({ request, params }) {
|
|
11475
|
-
var _a2;
|
|
11476
|
-
const timings = makeTimings("app_test_loader");
|
|
11477
|
-
const { id: appId, testName } = params;
|
|
11478
|
-
invariantResponse(appId, "App id is required");
|
|
11479
|
-
invariantResponse(testName, "Test name is required");
|
|
11480
|
-
const app = await getAppByName(appId, { request, timings });
|
|
11481
|
-
if (!app) {
|
|
11482
|
-
throw new Response(`App "${appId}" not found`, {
|
|
11483
|
-
status: 404,
|
|
11484
|
-
headers: { "Server-Timing": getServerTimeHeader(timings) }
|
|
11485
|
-
});
|
|
11486
|
-
}
|
|
11487
|
-
if (app.test.type !== "browser" || app.dev.type !== "browser") {
|
|
11488
|
-
return redirectWithToast(
|
|
11489
|
-
"/",
|
|
11490
|
-
{
|
|
11491
|
-
type: "error",
|
|
11492
|
-
title: "Unsupported",
|
|
11493
|
-
description: `Cannot load this app's tests in the browser`
|
|
11494
|
-
},
|
|
11495
|
-
{ headers: { "Server-Timing": getServerTimeHeader(timings) } }
|
|
11496
|
-
);
|
|
11497
|
-
}
|
|
11498
|
-
const testFile = app.test.testFiles.find((file) => file === testName);
|
|
11499
|
-
if (!testFile) {
|
|
11500
|
-
throw new Response(`Test "${testName}" not found`, {
|
|
11501
|
-
status: 404,
|
|
11502
|
-
headers: { "Server-Timing": getServerTimeHeader(timings) }
|
|
11503
|
-
});
|
|
11504
|
-
}
|
|
11505
|
-
if (!/(js|ts|tsx)$/.test(testFile)) {
|
|
11506
|
-
throw new Response(`Test "${testName}" is not a script`, {
|
|
11507
|
-
status: 400,
|
|
11508
|
-
headers: { "Server-Timing": getServerTimeHeader(timings) }
|
|
11509
|
-
});
|
|
11510
|
-
}
|
|
11511
|
-
let testFileAppName = app.name;
|
|
11512
|
-
if (isProblemApp(app)) {
|
|
11513
|
-
testFileAppName = isProblemApp(app) ? app.solutionName : null;
|
|
11514
|
-
}
|
|
11515
|
-
if (isPlaygroundApp(app)) {
|
|
11516
|
-
const appBasis = await getAppByName(app.appName);
|
|
11517
|
-
testFileAppName = isProblemApp(appBasis) ? appBasis.solutionName : null;
|
|
11518
|
-
}
|
|
11519
|
-
const testFileQueryString = testFileAppName ? `?fileAppName=${encodeURIComponent(testFileAppName)}` : "";
|
|
11520
|
-
const testScriptPath = `${app.dev.pathname}${testFile}${testFileQueryString}`;
|
|
11521
|
-
const testScriptSrc = (
|
|
11522
|
-
/* javascript */
|
|
11523
|
-
`
|
|
11524
|
-
function logStatus(message) {
|
|
11525
|
-
if (window.parent !== window) {
|
|
11526
|
-
window.parent.postMessage(
|
|
11527
|
-
{ type: 'epicshop:test-status-update', ...message },
|
|
11528
|
-
'*',
|
|
11529
|
-
)
|
|
11530
|
-
} else {
|
|
11531
|
-
if (message.status === 'fail') {
|
|
11532
|
-
console.error(message)
|
|
11533
|
-
} else if (message.status === 'pending') {
|
|
11534
|
-
console.info(message)
|
|
11535
|
-
} else if (message.status === 'pass') {
|
|
11536
|
-
console.log(message)
|
|
11537
|
-
}
|
|
11538
|
-
}
|
|
11539
|
-
}
|
|
11540
|
-
const testFile = ${JSON.stringify(testFile)}
|
|
11541
|
-
logStatus({status: 'pending', timestamp: Date.now()})
|
|
11542
|
-
import(${JSON.stringify(testScriptPath)}).then(
|
|
11543
|
-
() => {
|
|
11544
|
-
logStatus({ status: 'pass', timestamp: Date.now() })
|
|
11545
|
-
},
|
|
11546
|
-
error => {
|
|
11547
|
-
logStatus({
|
|
11548
|
-
status: 'fail',
|
|
11549
|
-
error:
|
|
11550
|
-
typeof error === 'string'
|
|
11551
|
-
? error
|
|
11552
|
-
: typeof error === 'object' && error && 'message' in error
|
|
11553
|
-
? error.message
|
|
11554
|
-
: 'unknown error',
|
|
11555
|
-
timestamp: Date.now(),
|
|
11556
|
-
})
|
|
11557
|
-
throw error
|
|
11558
|
-
},
|
|
11559
|
-
)
|
|
11560
|
-
`
|
|
11561
|
-
);
|
|
11562
|
-
const testScriptTag = `<script type="module">${testScriptSrc}<\/script>`;
|
|
11563
|
-
const htmlFile = path.join(app.fullPath, "index.html");
|
|
11564
|
-
const hasHtml = await fsExtra.pathExists(htmlFile);
|
|
11565
|
-
if (hasHtml) {
|
|
11566
|
-
const html2 = await fsExtra.readFile(htmlFile);
|
|
11567
|
-
const testableHtml = html2.toString().replace(`</body>`, `${testScriptTag}</body>`);
|
|
11568
|
-
return new Response(testableHtml, {
|
|
11569
|
-
headers: {
|
|
11570
|
-
"Content-Length": Buffer.byteLength(testableHtml).toString(),
|
|
11571
|
-
"Content-Type": "text/html",
|
|
11572
|
-
"Server-Timing": getServerTimeHeader(timings)
|
|
11573
|
-
}
|
|
11574
|
-
});
|
|
11575
|
-
}
|
|
11576
|
-
const indexFiles = (await fsExtra.readdir(app.fullPath)).filter(
|
|
11577
|
-
(file) => file.startsWith("index.")
|
|
11578
|
-
);
|
|
11579
|
-
const indexCss = indexFiles.find((file) => file.endsWith("index.css"));
|
|
11580
|
-
const appTitle = app.title;
|
|
11581
|
-
const workshopTitle = await getWorkshopTitle();
|
|
11582
|
-
const title = (isExerciseStepApp(app) ? [
|
|
11583
|
-
isProblemApp(app) ? "🧪💪" : isSolutionApp(app) ? "🧪🏁" : null,
|
|
11584
|
-
`${app.stepNumber.toString().padStart(2, "0")}. ${app.title}`,
|
|
11585
|
-
`${app.exerciseNumber.toString().padStart(2, "0")}. ${((_a2 = await getExercise(app.exerciseNumber, { request, timings })) == null ? void 0 : _a2.title) ?? "Unknown"}`,
|
|
11586
|
-
workshopTitle
|
|
11587
|
-
] : ["🧪", appTitle]).filter(Boolean).join(" | ");
|
|
11588
|
-
const html = (
|
|
11589
|
-
/* html */
|
|
11590
|
-
`
|
|
11591
|
-
<!DOCTYPE html>
|
|
11592
|
-
<html>
|
|
11593
|
-
<head>
|
|
11594
|
-
<base href="${app.dev.pathname}" />
|
|
11595
|
-
<meta charset="utf-8">
|
|
11596
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
11597
|
-
<title>${title}</title>
|
|
11598
|
-
<link rel="stylesheet" href="/app-default.css">
|
|
11599
|
-
${indexCss ? `<link rel="stylesheet" href="${indexCss}">` : ""}
|
|
11600
|
-
</head>
|
|
11601
|
-
<body>
|
|
11602
|
-
${testScriptTag}
|
|
11603
|
-
<script type="module" src="epic_ws.js${testFileQueryString}"><\/script>
|
|
11604
|
-
</body>
|
|
11605
|
-
</html>
|
|
11606
|
-
`
|
|
11607
|
-
);
|
|
11608
|
-
return new Response(html, {
|
|
11609
|
-
headers: {
|
|
11610
|
-
"Content-Length": Buffer.byteLength(html).toString(),
|
|
11611
|
-
"Content-Type": "text/html",
|
|
11612
|
-
"Server-Timing": getServerTimeHeader(timings)
|
|
11613
|
-
}
|
|
11614
|
-
});
|
|
11615
|
-
}
|
|
11616
|
-
const route19 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
11617
|
-
__proto__: null,
|
|
11618
|
-
loader: loader$b
|
|
11619
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
11620
|
-
const meta$1 = ({
|
|
11621
|
-
matches
|
|
11622
|
-
}) => {
|
|
11136
|
+
const meta$1 = ({
|
|
11137
|
+
matches
|
|
11138
|
+
}) => {
|
|
11623
11139
|
var _a2;
|
|
11624
11140
|
const rootData = (_a2 = matches.find((m) => m.id === "root")) == null ? void 0 : _a2.data;
|
|
11625
11141
|
return [{ title: `🎉 ${rootData == null ? void 0 : rootData.workshopTitle}` }];
|
|
@@ -11757,7 +11273,7 @@ function Survey({
|
|
|
11757
11273
|
)
|
|
11758
11274
|
] });
|
|
11759
11275
|
}
|
|
11760
|
-
const
|
|
11276
|
+
const route16 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
11761
11277
|
__proto__: null,
|
|
11762
11278
|
default: ExerciseFinished,
|
|
11763
11279
|
headers: headers$2,
|
|
@@ -11889,7 +11405,7 @@ function Index() {
|
|
|
11889
11405
|
function ErrorBoundary() {
|
|
11890
11406
|
return /* @__PURE__ */ jsx(GeneralErrorBoundary, {});
|
|
11891
11407
|
}
|
|
11892
|
-
const
|
|
11408
|
+
const route17 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
11893
11409
|
__proto__: null,
|
|
11894
11410
|
ErrorBoundary,
|
|
11895
11411
|
default: Index,
|
|
@@ -11990,7 +11506,7 @@ async function loader$8({ request }) {
|
|
|
11990
11506
|
};
|
|
11991
11507
|
});
|
|
11992
11508
|
}
|
|
11993
|
-
const
|
|
11509
|
+
const route27 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
11994
11510
|
__proto__: null,
|
|
11995
11511
|
EventSchema,
|
|
11996
11512
|
loader: loader$8
|
|
@@ -12114,7 +11630,7 @@ function Logo({ className = "" }) {
|
|
|
12114
11630
|
}
|
|
12115
11631
|
);
|
|
12116
11632
|
}
|
|
12117
|
-
const
|
|
11633
|
+
const route18 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
12118
11634
|
__proto__: null,
|
|
12119
11635
|
action: action$2,
|
|
12120
11636
|
default: Login,
|
|
@@ -12173,7 +11689,7 @@ function Support() {
|
|
|
12173
11689
|
] })
|
|
12174
11690
|
] });
|
|
12175
11691
|
}
|
|
12176
|
-
const
|
|
11692
|
+
const route19 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
12177
11693
|
__proto__: null,
|
|
12178
11694
|
default: Support
|
|
12179
11695
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
@@ -12418,7 +11934,7 @@ function Pinger({
|
|
|
12418
11934
|
)
|
|
12419
11935
|
] });
|
|
12420
11936
|
}
|
|
12421
|
-
const
|
|
11937
|
+
const route20 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
12422
11938
|
__proto__: null,
|
|
12423
11939
|
action: action$1,
|
|
12424
11940
|
default: AdminLayout,
|
|
@@ -12429,7 +11945,7 @@ async function loader$5() {
|
|
|
12429
11945
|
const apps = await getApps();
|
|
12430
11946
|
return json({ apps });
|
|
12431
11947
|
}
|
|
12432
|
-
const
|
|
11948
|
+
const route21 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
12433
11949
|
__proto__: null,
|
|
12434
11950
|
loader: loader$5
|
|
12435
11951
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
@@ -12441,7 +11957,7 @@ async function loader$4({ request }) {
|
|
|
12441
11957
|
{ headers: { "Server-Timing": getServerTimeHeader(timings) } }
|
|
12442
11958
|
);
|
|
12443
11959
|
}
|
|
12444
|
-
const
|
|
11960
|
+
const route22 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
12445
11961
|
__proto__: null,
|
|
12446
11962
|
loader: loader$4
|
|
12447
11963
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
@@ -12530,7 +12046,7 @@ function DiffViewer() {
|
|
|
12530
12046
|
}
|
|
12531
12047
|
);
|
|
12532
12048
|
}
|
|
12533
|
-
const
|
|
12049
|
+
const route23 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
12534
12050
|
__proto__: null,
|
|
12535
12051
|
default: DiffViewer,
|
|
12536
12052
|
loader: loader$3
|
|
@@ -12543,7 +12059,7 @@ async function loader$2({ request }) {
|
|
|
12543
12059
|
{ headers: { "Server-Timing": getServerTimeHeader(timings) } }
|
|
12544
12060
|
);
|
|
12545
12061
|
}
|
|
12546
|
-
const
|
|
12062
|
+
const route25 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
12547
12063
|
__proto__: null,
|
|
12548
12064
|
loader: loader$2
|
|
12549
12065
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
@@ -12585,7 +12101,7 @@ function Onboarding() {
|
|
|
12585
12101
|
/* @__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!" }) })
|
|
12586
12102
|
] });
|
|
12587
12103
|
}
|
|
12588
|
-
const
|
|
12104
|
+
const route28 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
12589
12105
|
__proto__: null,
|
|
12590
12106
|
action,
|
|
12591
12107
|
default: Onboarding,
|
|
@@ -12610,11 +12126,11 @@ async function loader() {
|
|
|
12610
12126
|
}
|
|
12611
12127
|
return json({ processes, testProcesses: testProcesses2 });
|
|
12612
12128
|
}
|
|
12613
|
-
const
|
|
12129
|
+
const route29 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
12614
12130
|
__proto__: null,
|
|
12615
12131
|
loader
|
|
12616
12132
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
12617
|
-
const serverManifest = { "entry": { "module": "/assets/entry.client-DBBrAxtJ.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/components-Dj3sm47B.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-B02acrJe.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/components-Dj3sm47B.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-CXGQ7VS9.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/client-hints-KnbHFIgn.js", "/assets/error-boundary-Bg54_knF.js", "/assets/progress-bar-DX6yYES2.js", "/assets/index-BL4aE6WC.js", "/assets/index-CLnz0tXz.js", "/assets/presence-u-05JV3Z.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/_-ByTWgb53.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/misc-CXGQ7VS9.js", "/assets/error-boundary-Bg54_knF.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-D7Qo_r0X.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/misc-CXGQ7VS9.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/client-hints-KnbHFIgn.js", "/assets/progress-CBZt2pmu.js", "/assets/index-CLnz0tXz.js", "/assets/user-DiGtbaa7.js", "/assets/presence-u-05JV3Z.js"], "css": [] }, "routes/_app+/_exercises+/_layout": { "id": "routes/_app+/_exercises+/_layout", "parentId": "routes/_app+/_layout", "path": void 0, "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-Bj9PyQQD.js", "imports": ["/assets/index-D1WEsmVZ.js"], "css": [] }, "routes/_app+/_exercises+/$exerciseNumber": { "id": "routes/_app+/_exercises+/$exerciseNumber", "parentId": "routes/_app+/_exercises+/_layout", "path": ":exerciseNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-s_qbmGEJ.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/components-Dj3sm47B.js", "/assets/clsx-B-dksMZM.js", "/assets/client-hints-KnbHFIgn.js", "/assets/misc-CXGQ7VS9.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/loading-D-DClzm1.js", "/assets/index-CLnz0tXz.js", "/assets/epic-video-Df7qGSN7.js", "/assets/progress-bar-DX6yYES2.js", "/assets/index-BfoHqrT5.js", "/assets/mdx-ytg-y2nh.js", "/assets/progress-CBZt2pmu.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber": { "id": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber", "parentId": "routes/_app+/_exercises+/_layout", "path": ":exerciseNumber/:stepNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber-D1wwEMQx.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/misc-CXGQ7VS9.js"], "css": [] }, "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber", "path": ":type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_layout-49l6Rvwp.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/components-Dj3sm47B.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-CXGQ7VS9.js", "/assets/client-hints-KnbHFIgn.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/loading-D-DClzm1.js", "/assets/index-CLnz0tXz.js", "/assets/epic-video-Df7qGSN7.js", "/assets/progress-bar-DX6yYES2.js", "/assets/mdx-ytg-y2nh.js", "/assets/user-DiGtbaa7.js", "/assets/index-BfoHqrT5.js", "/assets/diff-CT3-9rtW.js", "/assets/discord-CsluX01E.js", "/assets/index-BL4aE6WC.js", "/assets/button-DnQOyJAN.js", "/assets/use-event-source-DXlRuRq2.js", "/assets/error-boundary-Bg54_knF.js", "/assets/nav-chevrons-D8c9lJW6.js", "/assets/progress-CBZt2pmu.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/_exercises+/$exerciseNumber_.finished": { "id": "routes/_app+/_exercises+/$exerciseNumber_.finished", "parentId": "routes/_app+/_exercises+/_layout", "path": ":exerciseNumber/finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-DJgT9oaU.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/components-Dj3sm47B.js", "/assets/clsx-B-dksMZM.js", "/assets/client-hints-KnbHFIgn.js", "/assets/misc-CXGQ7VS9.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/loading-D-DClzm1.js", "/assets/index-CLnz0tXz.js", "/assets/epic-video-Df7qGSN7.js", "/assets/progress-bar-DX6yYES2.js", "/assets/index-BfoHqrT5.js", "/assets/nav-chevrons-D8c9lJW6.js", "/assets/mdx-ytg-y2nh.js", "/assets/progress-CBZt2pmu.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/account": { "id": "routes/_app+/account", "parentId": "routes/_app+/_layout", "path": "account", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/account-Bk4o4AzZ.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/index-B8k-Gd1G.js", "/assets/button-DnQOyJAN.js", "/assets/misc-CXGQ7VS9.js", "/assets/user-DiGtbaa7.js", "/assets/presence-u-05JV3Z.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+/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+/kcd_ws[.js]": { "id": "routes/_app+/app.$appName+/kcd_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/kcd_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/kcd_ws_.js_-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.$id": { "id": "routes/_app+/app.$id", "parentId": "routes/_app+/_layout", "path": "app/:id", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/app._id-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$id.$": { "id": "routes/_app+/app.$id.$", "parentId": "routes/_app+/app.$id", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/app._id._-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$id.api.$": { "id": "routes/_app+/app.$id.api.$", "parentId": "routes/_app+/app.$id", "path": "api/*", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/app._id.api._-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$id.epic_ws[.js]": { "id": "routes/_app+/app.$id.epic_ws[.js]", "parentId": "routes/_app+/app.$id", "path": "epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/app._id.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$id.test.$testName": { "id": "routes/_app+/app.$id.test.$testName", "parentId": "routes/_app+/app.$id", "path": "test/:testName", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/app._id.test._testName-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/discord": { "id": "routes/_app+/discord", "parentId": "routes/_app+/_layout", "path": "discord", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord-CK7yz4w6.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/misc-CXGQ7VS9.js", "/assets/user-DiGtbaa7.js", "/assets/discord-CsluX01E.js"], "css": [] }, "routes/_app+/finished": { "id": "routes/_app+/finished", "parentId": "routes/_app+/_layout", "path": "finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/finished-Dw3SJA8A.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/components-Dj3sm47B.js", "/assets/clsx-B-dksMZM.js", "/assets/client-hints-KnbHFIgn.js", "/assets/misc-CXGQ7VS9.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/loading-D-DClzm1.js", "/assets/index-CLnz0tXz.js", "/assets/epic-video-Df7qGSN7.js", "/assets/progress-bar-DX6yYES2.js", "/assets/index-BfoHqrT5.js", "/assets/mdx-ytg-y2nh.js", "/assets/progress-CBZt2pmu.js", "/assets/nav-chevrons-D8c9lJW6.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-YgRENgjt.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/components-Dj3sm47B.js", "/assets/clsx-B-dksMZM.js", "/assets/client-hints-KnbHFIgn.js", "/assets/misc-CXGQ7VS9.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/loading-D-DClzm1.js", "/assets/index-CLnz0tXz.js", "/assets/epic-video-Df7qGSN7.js", "/assets/progress-bar-DX6yYES2.js", "/assets/index-BfoHqrT5.js", "/assets/progress-CBZt2pmu.js", "/assets/error-boundary-Bg54_knF.js", "/assets/mdx-ytg-y2nh.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-CjvZj820.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/client-hints-KnbHFIgn.js", "/assets/use-event-source-DXlRuRq2.js", "/assets/index-B8k-Gd1G.js", "/assets/button-DnQOyJAN.js", "/assets/loading-D-DClzm1.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-QTdmLyE7.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/components-Dj3sm47B.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-BaPtC79F.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/misc-CXGQ7VS9.js", "/assets/tooltip-CVFWPOu0.js", "/assets/progress-CBZt2pmu.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-DP2rzg_V.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-l0sNRNKZ.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-CLRdJhCn.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/misc-CXGQ7VS9.js", "/assets/client-hints-KnbHFIgn.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/loading-D-DClzm1.js", "/assets/index-CLnz0tXz.js", "/assets/epic-video-Df7qGSN7.js", "/assets/progress-bar-DX6yYES2.js", "/assets/mdx-ytg-y2nh.js", "/assets/diff-CT3-9rtW.js", "/assets/nav-chevrons-D8c9lJW6.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/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-BxcIdiGj.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/client-hints-KnbHFIgn.js", "/assets/misc-CXGQ7VS9.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/loading-D-DClzm1.js", "/assets/index-CLnz0tXz.js", "/assets/button-DnQOyJAN.js", "/assets/epic-video-Df7qGSN7.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/processes": { "id": "routes/processes", "parentId": "root", "path": "processes", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/processes-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/progress": { "id": "routes/progress", "parentId": "root", "path": "progress", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/progress-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/set-playground": { "id": "routes/set-playground", "parentId": "root", "path": "set-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/set-playground-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/start": { "id": "routes/start", "parentId": "root", "path": "start", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/start-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/test": { "id": "routes/test", "parentId": "root", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/theme/index": { "id": "routes/theme/index", "parentId": "root", "path": "theme", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-DP2rzg_V.js", "imports": [], "css": [] }, "routes/update-mdx-cache": { "id": "routes/update-mdx-cache", "parentId": "root", "path": "update-mdx-cache", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/update-mdx-cache-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/video-player/index": { "id": "routes/video-player/index", "parentId": "root", "path": "video-player", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-K6Dvbx-E.js", "imports": [], "css": [] } }, "url": "/assets/manifest-ca420c07.js", "version": "ca420c07" };
|
|
12133
|
+
const serverManifest = { "entry": { "module": "/assets/entry.client-DBBrAxtJ.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/components-Dj3sm47B.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-B02acrJe.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/components-Dj3sm47B.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-CXGQ7VS9.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/client-hints-KnbHFIgn.js", "/assets/error-boundary-Bg54_knF.js", "/assets/progress-bar-DX6yYES2.js", "/assets/index-BL4aE6WC.js", "/assets/index-CLnz0tXz.js", "/assets/presence-u-05JV3Z.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/_-ByTWgb53.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/misc-CXGQ7VS9.js", "/assets/error-boundary-Bg54_knF.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-D7Qo_r0X.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/misc-CXGQ7VS9.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/client-hints-KnbHFIgn.js", "/assets/progress-CBZt2pmu.js", "/assets/index-CLnz0tXz.js", "/assets/user-DiGtbaa7.js", "/assets/presence-u-05JV3Z.js"], "css": [] }, "routes/_app+/_exercises+/_layout": { "id": "routes/_app+/_exercises+/_layout", "parentId": "routes/_app+/_layout", "path": void 0, "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-Bj9PyQQD.js", "imports": ["/assets/index-D1WEsmVZ.js"], "css": [] }, "routes/_app+/_exercises+/$exerciseNumber": { "id": "routes/_app+/_exercises+/$exerciseNumber", "parentId": "routes/_app+/_exercises+/_layout", "path": ":exerciseNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-s_qbmGEJ.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/components-Dj3sm47B.js", "/assets/clsx-B-dksMZM.js", "/assets/client-hints-KnbHFIgn.js", "/assets/misc-CXGQ7VS9.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/loading-D-DClzm1.js", "/assets/index-CLnz0tXz.js", "/assets/epic-video-Df7qGSN7.js", "/assets/progress-bar-DX6yYES2.js", "/assets/index-BfoHqrT5.js", "/assets/mdx-ytg-y2nh.js", "/assets/progress-CBZt2pmu.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber": { "id": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber", "parentId": "routes/_app+/_exercises+/_layout", "path": ":exerciseNumber/:stepNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber-D1wwEMQx.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/misc-CXGQ7VS9.js"], "css": [] }, "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber", "path": ":type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_layout-49l6Rvwp.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/components-Dj3sm47B.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-CXGQ7VS9.js", "/assets/client-hints-KnbHFIgn.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/loading-D-DClzm1.js", "/assets/index-CLnz0tXz.js", "/assets/epic-video-Df7qGSN7.js", "/assets/progress-bar-DX6yYES2.js", "/assets/mdx-ytg-y2nh.js", "/assets/user-DiGtbaa7.js", "/assets/index-BfoHqrT5.js", "/assets/diff-CT3-9rtW.js", "/assets/discord-CsluX01E.js", "/assets/index-BL4aE6WC.js", "/assets/button-DnQOyJAN.js", "/assets/use-event-source-DXlRuRq2.js", "/assets/error-boundary-Bg54_knF.js", "/assets/nav-chevrons-D8c9lJW6.js", "/assets/progress-CBZt2pmu.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/_exercises+/$exerciseNumber_.$stepNumber", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/_exercises+/$exerciseNumber_.finished": { "id": "routes/_app+/_exercises+/$exerciseNumber_.finished", "parentId": "routes/_app+/_exercises+/_layout", "path": ":exerciseNumber/finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-DJgT9oaU.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/components-Dj3sm47B.js", "/assets/clsx-B-dksMZM.js", "/assets/client-hints-KnbHFIgn.js", "/assets/misc-CXGQ7VS9.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/loading-D-DClzm1.js", "/assets/index-CLnz0tXz.js", "/assets/epic-video-Df7qGSN7.js", "/assets/progress-bar-DX6yYES2.js", "/assets/index-BfoHqrT5.js", "/assets/nav-chevrons-D8c9lJW6.js", "/assets/mdx-ytg-y2nh.js", "/assets/progress-CBZt2pmu.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/account": { "id": "routes/_app+/account", "parentId": "routes/_app+/_layout", "path": "account", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/account-Bk4o4AzZ.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/index-B8k-Gd1G.js", "/assets/button-DnQOyJAN.js", "/assets/misc-CXGQ7VS9.js", "/assets/user-DiGtbaa7.js", "/assets/presence-u-05JV3Z.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-DP2rzg_V.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.$testName": { "id": "routes/_app+/app.$appName+/test.$testName", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/:testName", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test._testName-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/discord": { "id": "routes/_app+/discord", "parentId": "routes/_app+/_layout", "path": "discord", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord-CK7yz4w6.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/misc-CXGQ7VS9.js", "/assets/user-DiGtbaa7.js", "/assets/discord-CsluX01E.js"], "css": [] }, "routes/_app+/finished": { "id": "routes/_app+/finished", "parentId": "routes/_app+/_layout", "path": "finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/finished-Dw3SJA8A.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/components-Dj3sm47B.js", "/assets/clsx-B-dksMZM.js", "/assets/client-hints-KnbHFIgn.js", "/assets/misc-CXGQ7VS9.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/loading-D-DClzm1.js", "/assets/index-CLnz0tXz.js", "/assets/epic-video-Df7qGSN7.js", "/assets/progress-bar-DX6yYES2.js", "/assets/index-BfoHqrT5.js", "/assets/mdx-ytg-y2nh.js", "/assets/progress-CBZt2pmu.js", "/assets/nav-chevrons-D8c9lJW6.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-YgRENgjt.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/components-Dj3sm47B.js", "/assets/clsx-B-dksMZM.js", "/assets/client-hints-KnbHFIgn.js", "/assets/misc-CXGQ7VS9.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/loading-D-DClzm1.js", "/assets/index-CLnz0tXz.js", "/assets/epic-video-Df7qGSN7.js", "/assets/progress-bar-DX6yYES2.js", "/assets/index-BfoHqrT5.js", "/assets/progress-CBZt2pmu.js", "/assets/error-boundary-Bg54_knF.js", "/assets/mdx-ytg-y2nh.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-CjvZj820.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/client-hints-KnbHFIgn.js", "/assets/use-event-source-DXlRuRq2.js", "/assets/index-B8k-Gd1G.js", "/assets/button-DnQOyJAN.js", "/assets/loading-D-DClzm1.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-QTdmLyE7.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/components-Dj3sm47B.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-BaPtC79F.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/misc-CXGQ7VS9.js", "/assets/tooltip-CVFWPOu0.js", "/assets/progress-CBZt2pmu.js"], "css": [] }, "routes/admin+/apps": { "id": "routes/admin+/apps", "parentId": "routes/admin+/_layout", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/apps": { "id": "routes/apps", "parentId": "root", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-DP2rzg_V.js", "imports": [], "css": [] }, "routes/diff": { "id": "routes/diff", "parentId": "root", "path": "diff", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/diff-CLRdJhCn.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/misc-CXGQ7VS9.js", "/assets/client-hints-KnbHFIgn.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/loading-D-DClzm1.js", "/assets/index-CLnz0tXz.js", "/assets/epic-video-Df7qGSN7.js", "/assets/progress-bar-DX6yYES2.js", "/assets/mdx-ytg-y2nh.js", "/assets/diff-CT3-9rtW.js", "/assets/nav-chevrons-D8c9lJW6.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/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-BxcIdiGj.js", "imports": ["/assets/index-D1WEsmVZ.js", "/assets/clsx-B-dksMZM.js", "/assets/components-Dj3sm47B.js", "/assets/client-hints-KnbHFIgn.js", "/assets/misc-CXGQ7VS9.js", "/assets/index-B8k-Gd1G.js", "/assets/tooltip-CVFWPOu0.js", "/assets/loading-D-DClzm1.js", "/assets/index-CLnz0tXz.js", "/assets/button-DnQOyJAN.js", "/assets/epic-video-Df7qGSN7.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/processes": { "id": "routes/processes", "parentId": "root", "path": "processes", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/processes-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/progress": { "id": "routes/progress", "parentId": "root", "path": "progress", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/progress-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/set-playground": { "id": "routes/set-playground", "parentId": "root", "path": "set-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/set-playground-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/start": { "id": "routes/start", "parentId": "root", "path": "start", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/start-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/test": { "id": "routes/test", "parentId": "root", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/theme/index": { "id": "routes/theme/index", "parentId": "root", "path": "theme", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-K6Dvbx-E.js", "imports": [], "css": [] }, "routes/update-mdx-cache": { "id": "routes/update-mdx-cache", "parentId": "root", "path": "update-mdx-cache", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/update-mdx-cache-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/video-player/index": { "id": "routes/video-player/index", "parentId": "root", "path": "video-player", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-l0sNRNKZ.js", "imports": [], "css": [] } }, "url": "/assets/manifest-db6261a7.js", "version": "db6261a7" };
|
|
12618
12134
|
const mode = "production";
|
|
12619
12135
|
const assetsBuildDirectory = "build/client";
|
|
12620
12136
|
const basename = "/";
|
|
@@ -12719,19 +12235,19 @@ const routes = {
|
|
|
12719
12235
|
caseSensitive: void 0,
|
|
12720
12236
|
module: route11
|
|
12721
12237
|
},
|
|
12722
|
-
"routes/_app+/app.$appName+/
|
|
12723
|
-
id: "routes/_app+/app.$appName+/
|
|
12238
|
+
"routes/_app+/app.$appName+/epic_ws[.js]": {
|
|
12239
|
+
id: "routes/_app+/app.$appName+/epic_ws[.js]",
|
|
12724
12240
|
parentId: "routes/_app+/_layout",
|
|
12725
|
-
path: "app/:appName/",
|
|
12726
|
-
index:
|
|
12241
|
+
path: "app/:appName/epic_ws.js",
|
|
12242
|
+
index: void 0,
|
|
12727
12243
|
caseSensitive: void 0,
|
|
12728
12244
|
module: route12
|
|
12729
12245
|
},
|
|
12730
|
-
"routes/_app+/app.$appName+/
|
|
12731
|
-
id: "routes/_app+/app.$appName+/
|
|
12246
|
+
"routes/_app+/app.$appName+/index": {
|
|
12247
|
+
id: "routes/_app+/app.$appName+/index",
|
|
12732
12248
|
parentId: "routes/_app+/_layout",
|
|
12733
|
-
path: "app/:appName/
|
|
12734
|
-
index:
|
|
12249
|
+
path: "app/:appName/",
|
|
12250
|
+
index: true,
|
|
12735
12251
|
caseSensitive: void 0,
|
|
12736
12252
|
module: route13
|
|
12737
12253
|
},
|
|
@@ -12743,53 +12259,13 @@ const routes = {
|
|
|
12743
12259
|
caseSensitive: void 0,
|
|
12744
12260
|
module: route14
|
|
12745
12261
|
},
|
|
12746
|
-
"routes/_app+/app.$id": {
|
|
12747
|
-
id: "routes/_app+/app.$id",
|
|
12748
|
-
parentId: "routes/_app+/_layout",
|
|
12749
|
-
path: "app/:id",
|
|
12750
|
-
index: void 0,
|
|
12751
|
-
caseSensitive: void 0,
|
|
12752
|
-
module: route15
|
|
12753
|
-
},
|
|
12754
|
-
"routes/_app+/app.$id.$": {
|
|
12755
|
-
id: "routes/_app+/app.$id.$",
|
|
12756
|
-
parentId: "routes/_app+/app.$id",
|
|
12757
|
-
path: "*",
|
|
12758
|
-
index: void 0,
|
|
12759
|
-
caseSensitive: void 0,
|
|
12760
|
-
module: route16
|
|
12761
|
-
},
|
|
12762
|
-
"routes/_app+/app.$id.api.$": {
|
|
12763
|
-
id: "routes/_app+/app.$id.api.$",
|
|
12764
|
-
parentId: "routes/_app+/app.$id",
|
|
12765
|
-
path: "api/*",
|
|
12766
|
-
index: void 0,
|
|
12767
|
-
caseSensitive: void 0,
|
|
12768
|
-
module: route17
|
|
12769
|
-
},
|
|
12770
|
-
"routes/_app+/app.$id.epic_ws[.js]": {
|
|
12771
|
-
id: "routes/_app+/app.$id.epic_ws[.js]",
|
|
12772
|
-
parentId: "routes/_app+/app.$id",
|
|
12773
|
-
path: "epic_ws.js",
|
|
12774
|
-
index: void 0,
|
|
12775
|
-
caseSensitive: void 0,
|
|
12776
|
-
module: route18
|
|
12777
|
-
},
|
|
12778
|
-
"routes/_app+/app.$id.test.$testName": {
|
|
12779
|
-
id: "routes/_app+/app.$id.test.$testName",
|
|
12780
|
-
parentId: "routes/_app+/app.$id",
|
|
12781
|
-
path: "test/:testName",
|
|
12782
|
-
index: void 0,
|
|
12783
|
-
caseSensitive: void 0,
|
|
12784
|
-
module: route19
|
|
12785
|
-
},
|
|
12786
12262
|
"routes/_app+/discord": {
|
|
12787
12263
|
id: "routes/_app+/discord",
|
|
12788
12264
|
parentId: "routes/_app+/_layout",
|
|
12789
12265
|
path: "discord",
|
|
12790
12266
|
index: void 0,
|
|
12791
12267
|
caseSensitive: void 0,
|
|
12792
|
-
module:
|
|
12268
|
+
module: route15
|
|
12793
12269
|
},
|
|
12794
12270
|
"routes/_app+/finished": {
|
|
12795
12271
|
id: "routes/_app+/finished",
|
|
@@ -12797,7 +12273,7 @@ const routes = {
|
|
|
12797
12273
|
path: "finished",
|
|
12798
12274
|
index: void 0,
|
|
12799
12275
|
caseSensitive: void 0,
|
|
12800
|
-
module:
|
|
12276
|
+
module: route16
|
|
12801
12277
|
},
|
|
12802
12278
|
"routes/_app+/index": {
|
|
12803
12279
|
id: "routes/_app+/index",
|
|
@@ -12805,7 +12281,7 @@ const routes = {
|
|
|
12805
12281
|
path: void 0,
|
|
12806
12282
|
index: true,
|
|
12807
12283
|
caseSensitive: void 0,
|
|
12808
|
-
module:
|
|
12284
|
+
module: route17
|
|
12809
12285
|
},
|
|
12810
12286
|
"routes/_app+/login": {
|
|
12811
12287
|
id: "routes/_app+/login",
|
|
@@ -12813,7 +12289,7 @@ const routes = {
|
|
|
12813
12289
|
path: "login",
|
|
12814
12290
|
index: void 0,
|
|
12815
12291
|
caseSensitive: void 0,
|
|
12816
|
-
module:
|
|
12292
|
+
module: route18
|
|
12817
12293
|
},
|
|
12818
12294
|
"routes/_app+/support": {
|
|
12819
12295
|
id: "routes/_app+/support",
|
|
@@ -12821,7 +12297,7 @@ const routes = {
|
|
|
12821
12297
|
path: "support",
|
|
12822
12298
|
index: void 0,
|
|
12823
12299
|
caseSensitive: void 0,
|
|
12824
|
-
module:
|
|
12300
|
+
module: route19
|
|
12825
12301
|
},
|
|
12826
12302
|
"routes/admin+/_layout": {
|
|
12827
12303
|
id: "routes/admin+/_layout",
|
|
@@ -12829,7 +12305,7 @@ const routes = {
|
|
|
12829
12305
|
path: "admin",
|
|
12830
12306
|
index: void 0,
|
|
12831
12307
|
caseSensitive: void 0,
|
|
12832
|
-
module:
|
|
12308
|
+
module: route20
|
|
12833
12309
|
},
|
|
12834
12310
|
"routes/admin+/apps": {
|
|
12835
12311
|
id: "routes/admin+/apps",
|
|
@@ -12837,7 +12313,7 @@ const routes = {
|
|
|
12837
12313
|
path: "apps",
|
|
12838
12314
|
index: void 0,
|
|
12839
12315
|
caseSensitive: void 0,
|
|
12840
|
-
module:
|
|
12316
|
+
module: route21
|
|
12841
12317
|
},
|
|
12842
12318
|
"routes/apps": {
|
|
12843
12319
|
id: "routes/apps",
|
|
@@ -12845,7 +12321,7 @@ const routes = {
|
|
|
12845
12321
|
path: "apps",
|
|
12846
12322
|
index: void 0,
|
|
12847
12323
|
caseSensitive: void 0,
|
|
12848
|
-
module:
|
|
12324
|
+
module: route22
|
|
12849
12325
|
},
|
|
12850
12326
|
"routes/diff": {
|
|
12851
12327
|
id: "routes/diff",
|
|
@@ -12853,7 +12329,7 @@ const routes = {
|
|
|
12853
12329
|
path: "diff",
|
|
12854
12330
|
index: void 0,
|
|
12855
12331
|
caseSensitive: void 0,
|
|
12856
|
-
module:
|
|
12332
|
+
module: route23
|
|
12857
12333
|
},
|
|
12858
12334
|
"routes/discord.callback": {
|
|
12859
12335
|
id: "routes/discord.callback",
|
|
@@ -12861,7 +12337,7 @@ const routes = {
|
|
|
12861
12337
|
path: "discord/callback",
|
|
12862
12338
|
index: void 0,
|
|
12863
12339
|
caseSensitive: void 0,
|
|
12864
|
-
module:
|
|
12340
|
+
module: route24
|
|
12865
12341
|
},
|
|
12866
12342
|
"routes/exercises": {
|
|
12867
12343
|
id: "routes/exercises",
|
|
@@ -12869,7 +12345,7 @@ const routes = {
|
|
|
12869
12345
|
path: "exercises",
|
|
12870
12346
|
index: void 0,
|
|
12871
12347
|
caseSensitive: void 0,
|
|
12872
|
-
module:
|
|
12348
|
+
module: route25
|
|
12873
12349
|
},
|
|
12874
12350
|
"routes/launch-editor": {
|
|
12875
12351
|
id: "routes/launch-editor",
|
|
@@ -12877,7 +12353,7 @@ const routes = {
|
|
|
12877
12353
|
path: "launch-editor",
|
|
12878
12354
|
index: void 0,
|
|
12879
12355
|
caseSensitive: void 0,
|
|
12880
|
-
module:
|
|
12356
|
+
module: route26
|
|
12881
12357
|
},
|
|
12882
12358
|
"routes/login-sse": {
|
|
12883
12359
|
id: "routes/login-sse",
|
|
@@ -12885,7 +12361,7 @@ const routes = {
|
|
|
12885
12361
|
path: "login-sse",
|
|
12886
12362
|
index: void 0,
|
|
12887
12363
|
caseSensitive: void 0,
|
|
12888
|
-
module:
|
|
12364
|
+
module: route27
|
|
12889
12365
|
},
|
|
12890
12366
|
"routes/onboarding": {
|
|
12891
12367
|
id: "routes/onboarding",
|
|
@@ -12893,7 +12369,7 @@ const routes = {
|
|
|
12893
12369
|
path: "onboarding",
|
|
12894
12370
|
index: void 0,
|
|
12895
12371
|
caseSensitive: void 0,
|
|
12896
|
-
module:
|
|
12372
|
+
module: route28
|
|
12897
12373
|
},
|
|
12898
12374
|
"routes/processes": {
|
|
12899
12375
|
id: "routes/processes",
|
|
@@ -12901,7 +12377,7 @@ const routes = {
|
|
|
12901
12377
|
path: "processes",
|
|
12902
12378
|
index: void 0,
|
|
12903
12379
|
caseSensitive: void 0,
|
|
12904
|
-
module:
|
|
12380
|
+
module: route29
|
|
12905
12381
|
},
|
|
12906
12382
|
"routes/progress": {
|
|
12907
12383
|
id: "routes/progress",
|
|
@@ -12909,7 +12385,7 @@ const routes = {
|
|
|
12909
12385
|
path: "progress",
|
|
12910
12386
|
index: void 0,
|
|
12911
12387
|
caseSensitive: void 0,
|
|
12912
|
-
module:
|
|
12388
|
+
module: route30
|
|
12913
12389
|
},
|
|
12914
12390
|
"routes/set-playground": {
|
|
12915
12391
|
id: "routes/set-playground",
|
|
@@ -12917,7 +12393,7 @@ const routes = {
|
|
|
12917
12393
|
path: "set-playground",
|
|
12918
12394
|
index: void 0,
|
|
12919
12395
|
caseSensitive: void 0,
|
|
12920
|
-
module:
|
|
12396
|
+
module: route31
|
|
12921
12397
|
},
|
|
12922
12398
|
"routes/start": {
|
|
12923
12399
|
id: "routes/start",
|
|
@@ -12925,7 +12401,7 @@ const routes = {
|
|
|
12925
12401
|
path: "start",
|
|
12926
12402
|
index: void 0,
|
|
12927
12403
|
caseSensitive: void 0,
|
|
12928
|
-
module:
|
|
12404
|
+
module: route32
|
|
12929
12405
|
},
|
|
12930
12406
|
"routes/test": {
|
|
12931
12407
|
id: "routes/test",
|
|
@@ -12933,7 +12409,7 @@ const routes = {
|
|
|
12933
12409
|
path: "test",
|
|
12934
12410
|
index: void 0,
|
|
12935
12411
|
caseSensitive: void 0,
|
|
12936
|
-
module:
|
|
12412
|
+
module: route33
|
|
12937
12413
|
},
|
|
12938
12414
|
"routes/theme/index": {
|
|
12939
12415
|
id: "routes/theme/index",
|
|
@@ -12941,7 +12417,7 @@ const routes = {
|
|
|
12941
12417
|
path: "theme",
|
|
12942
12418
|
index: void 0,
|
|
12943
12419
|
caseSensitive: void 0,
|
|
12944
|
-
module:
|
|
12420
|
+
module: route34
|
|
12945
12421
|
},
|
|
12946
12422
|
"routes/update-mdx-cache": {
|
|
12947
12423
|
id: "routes/update-mdx-cache",
|
|
@@ -12949,7 +12425,7 @@ const routes = {
|
|
|
12949
12425
|
path: "update-mdx-cache",
|
|
12950
12426
|
index: void 0,
|
|
12951
12427
|
caseSensitive: void 0,
|
|
12952
|
-
module:
|
|
12428
|
+
module: route35
|
|
12953
12429
|
},
|
|
12954
12430
|
"routes/video-player/index": {
|
|
12955
12431
|
id: "routes/video-player/index",
|
|
@@ -12957,7 +12433,7 @@ const routes = {
|
|
|
12957
12433
|
path: "video-player",
|
|
12958
12434
|
index: void 0,
|
|
12959
12435
|
caseSensitive: void 0,
|
|
12960
|
-
module:
|
|
12436
|
+
module: route36
|
|
12961
12437
|
}
|
|
12962
12438
|
};
|
|
12963
12439
|
export {
|