1import{_ as a,D as l}from"./chunks/card-deck.BOmbs_Ay.js";import{j as p,q as s,k as n,aA as d,bY as m,bZ as h,D as i,s as t,W as r,x as o}from"./chunks/framework.DitISda3.js";import{_ as y}from"./chunks/arona-banner.vue_vue_type_script_setup_true_lang.Dtp8oZIs.js";import"./chunks/theme.BpLJ48_5.js";const g={href:"/tutorial/",class:"clicky isolate group relative flex flex-col justify-start items-start w-full min-h-32 p-4 pr-16 sm:p-6 border border-mauve-200 dark:border-mauve-600 rounded-xl !no-underline bg-white dark:bg-mauve-800 overflow-hidden duration-750 ease-out-expo interact:shadow-xl interact:shadow-mauve-700/5"},w=p({__name:"tutorial-link",setup(u){return(f,e)=>(s(),n("a",g,[...e[0]||(e[0]=[d("",4)])]))}}),C=JSON.parse(`{"title":"Table of Content - ElysiaJS","description":"There's no correct or organized way to learn Elysia, however, we recommended completing the essential chapter first as the chapter briefly covers most of Elysia's features and foundation before jumping to other topics that interest you. Once you've completed the essential chapter, you may jump to any topic that interests you. However, we recommended following the order of the chapter as it may reference to previous chapter.","frontmatter":{"title":"Table of Content - ElysiaJS","head":[["meta",{"property":"og:title","content":"Table of Content - ElysiaJS"}],["meta",{"name":"description","content":"There's no correct or organized way to learn Elysia, however, we recommended completing the essential chapter first as the chapter briefly covers most of Elysia's features and foundation before jumping to other topics that interest you. Once you've completed the essential chapter, you may jump to any topic that interests you. However, we recommended following the order of the chapter as it may reference to previous chapter."}],["meta",{"property":"og:description","content":"There's no correct or organized way to learn Elysia, however, we recommended completing the essential chapter first as the chapter briefly covers most of Elysia's features and foundation before jumping to other topics that interest you. Once you've completed the essential chapter, you may jump to any topic that interests you. However, we recommended following the order of the chapter as it may reference to previous chapter."}]]},"headers":[],"relativePath":"table-of-content.md","filePath":"table-of-content.md","lastUpdated":1789076147000}`),k={name:"table-of-content.md"},F=Object.assign(k,{setup(u){return(f,e)=>(s(),n("div",null,[e[31]||(e[31]=i("h1",{id:"table-of-content",tabindex:"-1"},[t("Table of Content "),i("a",{class:"header-anchor",href:"#table-of-content","aria-label":"Permalink to âTable of Contentâ"},"â")],-1)),e[32]||(e[32]=i("p",null,[t("There's no correct way to learn Elysia, but we "),i("strong",null,"highly recommend"),t(" you check out the "),i("strong",null,"Interactive Tutorial"),t(" first to get familiar with Elysia:")],-1)),r(w),r(y),e[33]||(e[33]=i("h2",{id:"first-up",tabindex:"-1"},[t("First up "),i("a",{class:"header-anchor",href:"#first-up","aria-label":"Permalink to âFirst upâ"},"â")],-1)),e[34]||(e[34]=i("p",null,"We highly recommend you check out these 2 pages first before getting started with Elysia:",-1)),r(l,null,{default:o(()=>[r(a,{title:"Key Concept",href:"/key-concept"},{default:o(()=>[...e[0]||(e[0]=[t(" Core concept of Elysia and how to effectively ",-1)])]),_:1}),r(a,{title:"Best Practice",href:"/essential/best-practice"},{default:o(()=>[...e[1]||(e[1]=[t(" Understand best practice to write Elysia code ",-1)])]),_:1})]),_:1}),e[35]||(e[35]=d("",3)),r(l,null,{default:o(()=>[r(a,{title:"llms.txt",href:"/llms.txt",download:""},{default:o(()=>[...e[2]||(e[2]=[t(" Download summarized Elysia doc in Markdown format with reference for prompting LLMs ",-1)])]),_:1}),r(a,{title:"llms-full.txt",href:"/llms-full.txt",download:""},{default:o(()=>[...e[3]||(e[3]=[t(" Download full Elysia doc in Markdown format in a single file for prompting LLMs ",-1)])]),_:1})]),_:1}),e[36]||(e[36]=i("h2",{id:"from-other-frameworks",tabindex:"-1"},[t("From Other Frameworks? "),i("a",{class:"header-anchor",href:"#from-other
1-frameworks","aria-label":"Permalink to âFrom Other Frameworks?â"},"â")],-1)),e[37]||(e[37]=i("p",null,"If you have used other popular frameworks like Express, Fastify, or Hono, you will find Elysia right at home with just a few differences.",-1)),r(l,null,{default:o(()=>[r(a,{title:"From Express",href:"/migrate/from-express"},{default:o(()=>[...e[4]||(e[4]=[t(" Comparison between Express and Elysia ",-1)])]),_:1}),r(a,{title:"From Fastify",href:"/migrate/from-fastify"},{default:o(()=>[...e[5]||(e[5]=[t(" Comparison between Fastify and Elysia ",-1)])]),_:1}),r(a,{title:"From Hono",href:"/migrate/from-hono"},{default:o(()=>[...e[6]||(e[6]=[t(" Comparison between Hono and Elysia ",-1)])]),_:1}),r(a,{title:"From tRPC",href:"/migrate/from-trpc"},{default:o(()=>[...e[7]||(e[7]=[t(" Comparison between tRPC and Elysia ",-1)])]),_:1})]),_:1}),e[38]||(e[38]=i("h2",{id:"essential-chapter",tabindex:"-1"},[t("Essential Chapter "),i("a",{class:"header-anchor",href:"#essential-chapter","aria-label":"Permalink to âEssential Chapterâ"},"â")],-1)),e[39]||(e[39]=i("p",null,"Here are the foundations of Elysia. We highly recommend you go through these pages before jumping to other topics:",-1)),r(l,null,{default:o(()=>[r(a,{title:"Route",href:"/essential/route"},{default:o(()=>[...e[8]||(e[8]=[t(" Understand how routing works in Elysia ",-1)])]),_:1}),r(a,{title:"Handler",href:"/essential/handler"},{default:o(()=>[...e[9]||(e[9]=[t(" Learn about how to handle request ",-1)])]),_:1}),r(a,{title:"Validation",href:"/essential/plugin"},{default:o(()=>[...e[10]||(e[10]=[t(" How to enforce type safety with Elysia ",-1)])]),_:1}),r(a,{title:"Lifecycle",href:"/essential/plugin"},{default:o(()=>[...e[11]||(e[11]=[t(" Learn different type of lifecycle ",-1)])]),_:1}),r(a,{title:"Plugin",href:"/essential/plugin"},{default:o(()=>[...e[12]||(e[12]=[t(" Learn how to extend Elysia with Plugin ",-1)])]),_:1})]),_:1}),e[40]||(e[40]=i("h2",{id:"more-patterns",tabindex:"-1"},[t("More Patterns "),i("a",{class:"header-anchor",href:"#more-patterns","aria-label":"Permalink to âMore Patternsâ"},"â")],-1)),e[41]||(e[41]=i("p",null,"If you feel like exploring more Elysia features, check out:",-1)),r(l,null,{default:o(()=>[r(a,{title:"Handler",href:"/eden/overview"},{default:o(()=>[...e[13]||(e[13]=[t(" More patterns on how to send a file, use Server Sent Events, etc. ",-1)])]),_:1}),r(a,{title:"Web Socket",href:"/patterns/websocket"},{default:o(()=>[...e[14]||(e[14]=[t(" See how to create Real Time applications with Elysia ",-1)])]),_:1}),r(a,{title:"Eden",href:"/eden/overview"},{default:o(()=>[...e[15]||(e[15]=[t(" Learn more about Eden and how to use it effectively ",-1)])]),_:1}),r(a,{title:"Open Telemetry",href:"/patterns/opentelemetry"},{default:o(()=>[...e[16]||(e[16]=[t(" Learn how to monitor your application with Open Telemetry ",-1)])]),_:1}),r(a,{title:"Deploy to Production",href:"/patterns/deploy"},{default:o(()=>[...e[17]||(e[17]=[t(" Learn how to deploy Elysia to production ",-1)])]),_:1})]),_:1}),e[42]||(e[42]=i("h2",{id:"integration-with-meta-frameworks",tabindex:"-1"},[t("Integration with Meta Frameworks "),i("a",{class:"header-anchor",href:"#integration-with-meta-frameworks","aria-label":"Permalink to âIntegration with Meta Frameworksâ"},"â")],-1)),e[43]||(e[43]=i("p",null,"You can also use Elysia with Meta Frameworks like Next.js, Nuxt, Astro, etc.",-1)),r(l,null,{default:o(()=>[r(a,{title:"Astro",href:"/integrations/astro"},{default:o(()=>[...e[18]||(e[18]=[t(" Elysia in Astro Endpoint ",-1)])]),_:1}),r(a,{title:"Expo",href:"/integrations/expo"},{default:o(()=>[...e[19]||(e[19]=[t(" Elysia in Expo API Route ",-1)])]),_:1}),r(a,{title:"Nextjs",href:"/integrations/nextjs"},{default:o(()=>[...e[20]||(e[20]=[t(" Elysia in Route Handler ",-1)])]),_:1}),r(a,{title:"Nuxt",href:"/integrations/nuxt"},{default:o(()=>[...e[21]||(e[21]=[t(" Elysia in Nuxt Server Route ",-1)])]),_:1}),r(a,{title:"SvelteKit",href:"/integrations/sveltekit"},{default:o(()=>[...e[22]||(e[22]=[t(" Elysia in SvelteKit Endpoint ",-1)])]),_:1})]),_:1}),e[44]||(e[44]=i("h2",{id:"integration-with-your-favorite-tools",tabindex:"-1"},[t("Integration with Your Favorite Tools "),i("a",{class:"header-anchor",href:"#integration-with-your-favorite-tools","aria-label":"Permalink to âIntegration with Your Favorite Toolsâ"},"â")],-1)),e[45]||(e[45]=i("p",null,"We have some integrations with popular tools:",-1)),r(l,null,{default:o(()=>[r(a,{title:"AI SDK",href:"/integrations/ai-sdk"},{default:o(()=>[...e[23]||(e[23]=[t(" Learn how to use Vercel AI SDK with Elysia ",-1)])]),_:1}),r(a,{title:"Better Auth",href:"/integrations/better-auth"},{default:o(()=>[...e[24]||(e[24]=[t(" Learn how to use Better Auth with Elysia ",-1)])]),_:1}),r(a,{title:"Drizzle",href:"/integrations/drizzle"},{default:o(()=>[...e[25]||(e[25]=[t(" Elysia provides type-safe utilities with Drizzle ",-1)])]),_:1}),r(a,{title:"Prisma",href:"/integrations/prisma"},{default:o(()=>[...e[26]||(e[26]=[t(" Learn how to use Prisma with Elysia ",-1)])]),_:1}),r(a,{title:"React Email",href:"/integrations/react-email"},{default:o(()=>[...e[27]||(e[27]=[t(" Use JSX to create email templates ",-1)])]),_:1})]),_:1}),e[46]||(e[46]=i("h2",{id:"community-support",tabindex:"-1"},[t("Community & Support "),i("a",{class:"header-anchor",href:"#community-support","aria-label":"Permalink to âCommunity & Supportâ"},"â")],-1)),e[47]||(e[47]=i("p",null,"If you are stuck, feel free to ask our community on GitHub Discussions, Discord, and Twitter.",-1)),r(l,null,{default:o(()=>[r(a,{title:"Discord",href:"https://discord.gg/eaFJ2KDJck"},{default:o(()=>[...e[28]||(e[28]=[t(" Official ElysiaJS Discord community server ",-1)])]),_:1}),r(a,{title:"Twitter",href:"https://twitter.com/elysiajs"},{default:o(()=>[...e[29]||(e[29]=[t(" Track updates and status of Elysia ",-1)])]),_:1}),r(a,{title:"GitHub",href:"https://github.com/elysiajs"},{default:o(()=>[...e[30]||(e[30]=[t(" Source code and development ",-1)])]),_:1})]),_:1}),e[48]||(e[48]=i("hr",null,null,-1)),e[49]||(e[49]=i("p",null,"We hope you will love Elysia as much as we do!",-1))]))}});
1export{C as __pageData,F as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.