@epic-web/workshop-app 4.5.1 → 4.6.1

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.
Files changed (54) hide show
  1. package/bin/epicshop.js +3 -3
  2. package/build/client/assets/_exerciseNumber-rfzZiDNa.js +2 -0
  3. package/build/client/assets/_exerciseNumber-rfzZiDNa.js.map +1 -0
  4. package/build/client/assets/_exerciseNumber_._stepNumber-C37pli7_.js.map +1 -1
  5. package/build/client/assets/_exerciseNumber_.finished-B7SgnqdS.js +2 -0
  6. package/build/client/assets/_exerciseNumber_.finished-B7SgnqdS.js.map +1 -0
  7. package/build/client/assets/_layout-BG1Jwh7V.js +2 -0
  8. package/build/client/assets/_layout-BG1Jwh7V.js.map +1 -0
  9. package/build/client/assets/_layout-CNgYirUN.js.map +1 -1
  10. package/build/client/assets/_layout-D0zbQZjf.js.map +1 -1
  11. package/build/client/assets/{diff-tDYfSlOc.js → diff-BKsbFB6w.js} +2 -2
  12. package/build/client/assets/diff-BKsbFB6w.js.map +1 -0
  13. package/build/client/assets/{diff-DZFtsH-a.js → diff-KDzcgGYL.js} +2 -2
  14. package/build/client/assets/diff-KDzcgGYL.js.map +1 -0
  15. package/build/client/assets/epic-video-BwtXsHGU.js.map +1 -1
  16. package/build/client/assets/error-boundary-Bcric_4t.js.map +1 -1
  17. package/build/client/assets/finished-BI2-0Ykt.js +2 -0
  18. package/build/client/assets/finished-BI2-0Ykt.js.map +1 -0
  19. package/build/client/assets/index-BQRtqn3g.js.map +1 -1
  20. package/build/client/assets/index-Bg9MMnnf.js.map +1 -1
  21. package/build/client/assets/manifest-1a2446b9.js +1 -0
  22. package/build/client/assets/mdx-BYvGbvEr.js.map +1 -1
  23. package/build/client/assets/misc-DNgC2Frq.js.map +1 -1
  24. package/build/client/assets/og-l0sNRNKZ.js +2 -0
  25. package/build/client/assets/og-l0sNRNKZ.js.map +1 -0
  26. package/build/client/assets/presence-BJPzwbUy.js.map +1 -1
  27. package/build/client/assets/progress-CF9Xwfxf.js.map +1 -1
  28. package/build/client/assets/progress-bar-7LK87ZMh.js.map +1 -1
  29. package/build/client/assets/{root-BJrmef-V.js → root-BXq0yevS.js} +4 -4
  30. package/build/client/assets/root-BXq0yevS.js.map +1 -0
  31. package/build/client/assets/seo-CHrqghsC.js +2 -0
  32. package/build/client/assets/seo-CHrqghsC.js.map +1 -0
  33. package/build/client/img/epicweb-og-background.png +0 -0
  34. package/build/server/index.js +465 -100
  35. package/build/server/index.js.map +1 -1
  36. package/node_modules/tslib/package.json +1 -1
  37. package/node_modules/tslib/tslib.d.ts +1 -1
  38. package/node_modules/tslib/tslib.es6.js +7 -3
  39. package/node_modules/tslib/tslib.es6.mjs +10 -7
  40. package/node_modules/tslib/tslib.js +7 -4
  41. package/package.json +4 -3
  42. package/start.js +2 -2
  43. package/build/client/assets/_exerciseNumber-jTT5JRgC.js +0 -2
  44. package/build/client/assets/_exerciseNumber-jTT5JRgC.js.map +0 -1
  45. package/build/client/assets/_exerciseNumber_.finished-zgJKkJ7I.js +0 -2
  46. package/build/client/assets/_exerciseNumber_.finished-zgJKkJ7I.js.map +0 -1
  47. package/build/client/assets/_layout-CGUp6BkS.js +0 -2
  48. package/build/client/assets/_layout-CGUp6BkS.js.map +0 -1
  49. package/build/client/assets/diff-DZFtsH-a.js.map +0 -1
  50. package/build/client/assets/diff-tDYfSlOc.js.map +0 -1
  51. package/build/client/assets/finished-BSWdtBA4.js +0 -2
  52. package/build/client/assets/finished-BSWdtBA4.js.map +0 -1
  53. package/build/client/assets/manifest-03cfc48d.js +0 -1
  54. package/build/client/assets/root-BJrmef-V.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{c as e,j as r}from"./index-D6ygCrVn.js";import{d as o,c as m}from"./misc-DNgC2Frq.js";import{D as n}from"./diff-tDYfSlOc.js";import{N as p}from"./nav-chevrons-DOYtx9XE.js";import{u as f,c}from"./components-C5xBZAiL.js";import"./clsx-B-dksMZM.js";import"./tooltip-Kw0lYWBI.js";import"./mdx-BYvGbvEr.js";import"./epic-video-BwtXsHGU.js";import"./index-Bg9MMnnf.js";import"./request-info-Dyls4H67.js";import"./client-hints-BKxdo5Js.js";import"./loading-C9f_vBoM.js";import"./progress-bar-7LK87ZMh.js";function S(){const s=f(),[a]=c();new URLSearchParams(a).set("forceFresh","diff");const i=e(),t=o.useSpinDelay(i.state!=="idle",{delay:200,minDuration:200});return r.jsxs("div",{className:m("grid h-full grid-rows-[1fr,auto]",{"cursor-wait opacity-30":t}),children:[r.jsx("div",{className:"overflow-y-auto",children:r.jsx(n,{diff:s.diff,allApps:s.allApps})}),r.jsx("div",{className:"flex h-16 items-center justify-end border-t",children:r.jsx(p,{prev:s.prevLink,next:s.nextLink})})]})}export{S as default};
2
- //# sourceMappingURL=diff-DZFtsH-a.js.map
1
+ import{c as e,j as r}from"./index-D6ygCrVn.js";import{d as o,c as m}from"./misc-DNgC2Frq.js";import{D as n}from"./diff-BKsbFB6w.js";import{N as p}from"./nav-chevrons-DOYtx9XE.js";import{u as f,c}from"./components-C5xBZAiL.js";import"./clsx-B-dksMZM.js";import"./tooltip-Kw0lYWBI.js";import"./mdx-BYvGbvEr.js";import"./epic-video-BwtXsHGU.js";import"./index-Bg9MMnnf.js";import"./request-info-Dyls4H67.js";import"./client-hints-BKxdo5Js.js";import"./loading-C9f_vBoM.js";import"./progress-bar-7LK87ZMh.js";function S(){const s=f(),[a]=c();new URLSearchParams(a).set("forceFresh","diff");const i=e(),t=o.useSpinDelay(i.state!=="idle",{delay:200,minDuration:200});return r.jsxs("div",{className:m("grid h-full grid-rows-[1fr,auto]",{"cursor-wait opacity-30":t}),children:[r.jsx("div",{className:"overflow-y-auto",children:r.jsx(n,{diff:s.diff,allApps:s.allApps})}),r.jsx("div",{className:"flex h-16 items-center justify-end border-t",children:r.jsx(p,{prev:s.prevLink,next:s.nextLink})})]})}export{S as default};
2
+ //# sourceMappingURL=diff-KDzcgGYL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-KDzcgGYL.js","sources":["../../../app/routes/diff.tsx"],"sourcesContent":["import {\n\tgetAppByName,\n\tgetAppDisplayName,\n\tgetApps,\n\tisExerciseStepApp,\n} from '@epic-web/workshop-utils/apps.server'\nimport { makeTimings } from '@epic-web/workshop-utils/timing.server'\nimport { defer, type LoaderFunctionArgs } from '@remix-run/node'\nimport { useLoaderData, useNavigation, useSearchParams } from '@remix-run/react'\nimport { useSpinDelay } from 'spin-delay'\nimport { Diff } from '#app/components/diff.tsx'\nimport { NavChevrons } from '#app/components/nav-chevrons.tsx'\nimport { getDiffCode } from '#app/utils/diff.server.ts'\nimport { cn } from '#app/utils/misc.tsx'\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tconst reqUrl = new URL(request.url)\n\tconst searchParams = reqUrl.searchParams\n\tconst timings = makeTimings('diffLoader')\n\tconst cacheOptions = { request, timings }\n\tconst allAppsFull = await getApps()\n\tconst app1Name = reqUrl.searchParams.get('app1')\n\tconst app2Name = reqUrl.searchParams.get('app2')\n\n\tconst usingDefaultApp1 = !app1Name\n\n\t// defaults to first problem app\n\tconst app1 = app1Name\n\t\t? await getAppByName(app1Name)\n\t\t: allAppsFull.filter(isExerciseStepApp).at(0)\n\n\t// defaults to last exercise step app\n\tconst app2 = app2Name\n\t\t? await getAppByName(app2Name)\n\t\t: allAppsFull.filter(isExerciseStepApp).at(-1)\n\n\tasync function getDiffProp() {\n\t\tif (!app1 || !app2) {\n\t\t\treturn {\n\t\t\t\tapp1: app1?.name,\n\t\t\t\tapp2: app2?.name,\n\t\t\t\tdiffCode: null,\n\t\t\t}\n\t\t}\n\t\tconst diffCode = await getDiffCode(app1, app2, {\n\t\t\t...cacheOptions,\n\t\t\tforceFresh: searchParams.get('forceFresh') === 'diff',\n\t\t}).catch((e) => {\n\t\t\tconsole.error(e)\n\t\t\treturn null\n\t\t})\n\t\treturn {\n\t\t\tapp1: app1.name,\n\t\t\tapp2: app2.name,\n\t\t\tdiffCode,\n\t\t}\n\t}\n\n\tconst allApps = allAppsFull\n\t\t.filter((a, i, ar) => ar.findIndex((b) => a.name === b.name) === i)\n\t\t.map((a) => ({\n\t\t\tdisplayName: getAppDisplayName(a, allAppsFull),\n\t\t\tname: a.name,\n\t\t\ttitle: a.title,\n\t\t\ttype: a.type,\n\t\t}))\n\n\tconst diff = getDiffProp()\n\tconst app1Index = allApps.findIndex((a) => a.name === app1?.name)\n\tconst prevApp1Index = usingDefaultApp1\n\t\t? allApps.length - 2\n\t\t: app1Index === 0\n\t\t\t? -2\n\t\t\t: app1Index - 1\n\tconst prevApp2Index = prevApp1Index + 1\n\tconst nextApp1Index = usingDefaultApp1\n\t\t? 0\n\t\t: app1Index + 1 < allApps.length\n\t\t\t? app1Index + 1\n\t\t\t: -2\n\tconst nextApp2Index = nextApp1Index + 1\n\tconst prevApp1 = allAppsFull[prevApp1Index]?.name\n\tconst prevApp2 = allAppsFull[prevApp2Index]?.name\n\tconst nextApp1 = allAppsFull[nextApp1Index]?.name\n\tconst nextApp2 = allAppsFull[nextApp2Index]?.name\n\tconst prevSearchParams = new URLSearchParams(reqUrl.searchParams)\n\tprevSearchParams.set('app1', prevApp1 ?? '')\n\tprevSearchParams.set('app2', prevApp2 ?? '')\n\tconst nextSearchParams = new URLSearchParams(reqUrl.searchParams)\n\tnextSearchParams.set('app1', nextApp1 ?? '')\n\tnextSearchParams.set('app2', nextApp2 ?? '')\n\treturn defer({\n\t\tallApps,\n\t\tdiff,\n\t\tprevLink:\n\t\t\tprevApp1 && prevApp2\n\t\t\t\t? { to: `/diff?${prevSearchParams}`, 'aria-label': 'Previous App' }\n\t\t\t\t: { to: '/diff' },\n\t\tnextLink:\n\t\t\tnextApp1 && nextApp2\n\t\t\t\t? { to: `/diff?${nextSearchParams}`, 'aria-label': 'Next App' }\n\t\t\t\t: { to: '/diff' },\n\t})\n}\n\nexport default function DiffViewer() {\n\tconst data = useLoaderData<typeof loader>()\n\tconst [params] = useSearchParams()\n\tconst paramsWithForcedRefresh = new URLSearchParams(params)\n\tparamsWithForcedRefresh.set('forceFresh', 'diff')\n\tconst navigation = useNavigation()\n\tconst isNavigating = useSpinDelay(navigation.state !== 'idle', {\n\t\tdelay: 200,\n\t\tminDuration: 200,\n\t})\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn('grid h-full grid-rows-[1fr,auto]', {\n\t\t\t\t'cursor-wait opacity-30': isNavigating,\n\t\t\t})}\n\t\t>\n\t\t\t<div className=\"overflow-y-auto\">\n\t\t\t\t<Diff diff={data.diff} allApps={data.allApps} />\n\t\t\t</div>\n\t\t\t<div className=\"flex h-16 items-center justify-end border-t\">\n\t\t\t\t<NavChevrons prev={data.prevLink} next={data.nextLink} />\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n"],"names":["DiffViewer","data","useLoaderData","params","useSearchParams","URLSearchParams","set","navigation","useNavigation","isNavigating","useSpinDelay","state","delay","minDuration","jsxs","className","cn","children","jsx","Diff","diff","allApps","NavChevrons","prev","prevLink","next","nextLink"],"mappings":"yfAyGA,SAAwBA,GAAa,CACpC,MAAMC,EAAOC,IACP,CAACC,CAAM,EAAIC,IACe,IAAIC,gBAAgBF,CAAM,EAClCG,IAAI,aAAc,MAAM,EAChD,MAAMC,EAAaC,IACbC,EAAeC,EAAA,aAAaH,EAAWI,QAAU,OAAQ,CAC9DC,MAAO,IACPC,YAAa,GACd,CAAC,EAGA,OAAAC,EAAAA,KAAC,MAAA,CACAC,UAAWC,EAAG,mCAAoC,CACjD,yBAA0BP,CAC3B,CAAC,EAEDQ,SAAA,CAACC,EAAA,IAAA,MAAA,CAAIH,UAAU,kBACdE,SAACC,EAAA,IAAAC,EAAA,CAAKC,KAAMnB,EAAKmB,KAAMC,QAASpB,EAAKoB,QAAS,CAC/C,CAAA,EACCH,EAAA,IAAA,MAAA,CAAIH,UAAU,8CACdE,SAACC,EAAA,IAAAI,EAAA,CAAYC,KAAMtB,EAAKuB,SAAUC,KAAMxB,EAAKyB,SAAU,CACxD,CAAA,CAAA,CAAA,CACD,CAEF"}