[{"data":1,"prerenderedAt":896},["ShallowReactive",2],{"navigation_docs":3,"-platforms-node-js":195,"-platforms-node-js-surround":891},[4,27,61,75,100,126,147,177],{"title":5,"icon":6,"redirect":7,"path":8,"stem":9,"children":10,"page":26},"Introduction","icon-park-outline:home","\u002Fintroduction\u002Fabout-mion","\u002Fintroduction","1.introduction",[11,14,18,22],{"title":12,"path":7,"stem":13},"About mion","1.introduction\u002F1.about-mion",{"title":15,"path":16,"stem":17},"Quick Start","\u002Fintroduction\u002Fquick-start","1.introduction\u002F2.quick-start",{"title":19,"path":20,"stem":21},"Manual Install","\u002Fintroduction\u002Fmanual-install","1.introduction\u002F3.manual-install",{"title":23,"path":24,"stem":25},"What's Next","\u002Fintroduction\u002Fwhat-is-next","1.introduction\u002F4.what-is-next",false,{"title":28,"icon":29,"path":30,"stem":31,"children":32,"page":26},"Server","icon-park-outline:server","\u002Fserver","20.server",[33,37,41,45,49,53,57],{"title":34,"path":35,"stem":36},"Router Overview","\u002Fserver\u002Foverview","20.server\u002F0.overview",{"title":38,"path":39,"stem":40},"Routes","\u002Fserver\u002Froutes","20.server\u002F1.routes",{"title":42,"path":43,"stem":44},"Middleware","\u002Fserver\u002Fmiddle-fns","20.server\u002F2.middle-fns",{"title":46,"path":47,"stem":48},"Request & Response","\u002Fserver\u002Frequest-and-response","20.server\u002F5.request-and-response",{"title":50,"path":51,"stem":52},"Error Handling","\u002Fserver\u002Ferror-handling","20.server\u002F6.error-handling",{"title":54,"path":55,"stem":56},"Validation","\u002Fserver\u002Fvalidation","20.server\u002F7.validation",{"title":58,"path":59,"stem":60},"Serialization","\u002Fserver\u002Fserialization","20.server\u002F8.serialization",{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":26},"Drizzle ORM","i-lineicons-drizzle","\u002Fdrizzle-orm","21.drizzle-orm",[67,71],{"title":68,"path":69,"stem":70},"Drizzle Overview","\u002Fdrizzle-orm\u002Fdrizzle-overview","21.drizzle-orm\u002F0.drizzle-overview",{"title":72,"path":73,"stem":74},"Column Mapping","\u002Fdrizzle-orm\u002Fcolumn-mapping","21.drizzle-orm\u002F1.column-mapping",{"title":76,"icon":77,"path":78,"stem":79,"children":80,"page":26},"Client","icon-park-outline:computer","\u002Fclient","3.client",[81,85,88,92,96],{"title":82,"path":83,"stem":84},"Client Overview","\u002Fclient\u002Fclient-overview","3.client\u002F0.client-overview",{"title":50,"path":86,"stem":87},"\u002Fclient\u002Ferror-handling","3.client\u002F1.error-handling",{"title":89,"path":90,"stem":91},"Validation Errors","\u002Fclient\u002Fvalidation-errors","3.client\u002F2.validation-errors",{"title":93,"path":94,"stem":95},"Routes Flow","\u002Fclient\u002Fclient-flow","3.client\u002F3.client-flow",{"title":97,"path":98,"stem":99},"Cancellation & Timeouts","\u002Fclient\u002Fcancellation-timeouts","3.client\u002F4.cancellation-timeouts",{"title":101,"icon":102,"redirect":103,"path":104,"stem":105,"children":106,"page":26},"RunTypes","i-lucide-scan-text","\u002Frun-types\u002Foverview","\u002Frun-types","4.run-types",[107,110,114,118,122],{"title":108,"path":103,"stem":109},"RunTypes Overview","4.run-types\u002F0.overview",{"title":111,"path":112,"stem":113},"Supported Types","\u002Frun-types\u002Ffeatures","4.run-types\u002F1.features",{"title":115,"path":116,"stem":117},"Type Formats","\u002Frun-types\u002Ftype-formats","4.run-types\u002F2.type-formats",{"title":119,"path":120,"stem":121},"Built-in Formats","\u002Frun-types\u002Fbuilt-in-formats","4.run-types\u002F3.built-in-formats",{"title":123,"path":124,"stem":125},"Caveats","\u002Frun-types\u002Fcaveats","4.run-types\u002F4.caveats",{"title":127,"path":128,"stem":129,"children":130,"page":26},"Devtools","\u002Fdevtools","5.devtools",[131,135,139,143],{"title":132,"path":133,"stem":134},"AOT Compilation","\u002Fdevtools\u002Faot-compilation","5.devtools\u002F0.aot-compilation",{"title":136,"path":137,"stem":138},"Pure Functions","\u002Fdevtools\u002Fpure-functions","5.devtools\u002F1.pure-functions",{"title":140,"path":141,"stem":142},"ESLint Rules","\u002Fdevtools\u002Feslint-rules","5.devtools\u002F2.eslint-rules",{"title":144,"path":145,"stem":146},"Vite Configuration","\u002Fdevtools\u002Fvite-config","5.devtools\u002F3.vite-config",{"title":148,"redirect":149,"icon":150,"path":151,"stem":152,"children":153,"page":26},"Platforms","\u002Fplatforms\u002Fnode-js","icon-park-outline:play","\u002Fplatforms","6.platforms",[154,157,161,165,169,173],{"title":155,"path":149,"stem":156},"Node.js","6.platforms\u002F1.node-js",{"title":158,"path":159,"stem":160},"Bun","\u002Fplatforms\u002Fbun","6.platforms\u002F2.bun",{"title":162,"path":163,"stem":164},"AWS Lambda","\u002Fplatforms\u002Faws-lambda","6.platforms\u002F3.aws-lambda",{"title":166,"path":167,"stem":168},"Google Cloud Functions","\u002Fplatforms\u002Fgoogle-cloud-functions","6.platforms\u002F4.google-cloud-functions",{"title":170,"path":171,"stem":172},"Cloudflare Workers","\u002Fplatforms\u002Fcloudflare","6.platforms\u002F5.cloudflare",{"title":174,"path":175,"stem":176},"Vercel","\u002Fplatforms\u002Fvercel","6.platforms\u002F6.vercel",{"title":178,"icon":179,"redirect":180,"path":181,"stem":182,"children":183,"page":26},"Benchmarks","icon-park-outline:chart-line","\u002Fbenchmarks\u002Fhello-world","\u002Fbenchmarks","7.benchmarks",[184,187,191],{"title":185,"path":180,"stem":186},"Hello World","7.benchmarks\u002F1.hello-world",{"title":188,"path":189,"stem":190},"Light Validation","\u002Fbenchmarks\u002Flight-validation","7.benchmarks\u002F2.light-validation",{"title":192,"path":193,"stem":194},"Heavy Validation","\u002Fbenchmarks\u002Fheavy-validation","7.benchmarks\u002F3.heavy-validation",{"id":196,"title":155,"body":197,"description":885,"extension":886,"links":887,"meta":888,"navigation":331,"path":149,"seo":889,"stem":156,"__hash__":890},"docs\u002F6.platforms\u002F1.node-js.md",{"type":198,"value":199},"minimark",[200,205,234,237,564,568,575,711,715,718,722,727,881],[201,202,204],"h2",{"id":203},"installation","Installation",[206,207,212],"pre",{"className":208,"code":209,"language":210,"meta":211,"style":211},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npm install @mionjs\u002Fplatform-node @mionjs\u002Frouter\n","bash","",[213,214,215],"code",{"__ignoreMap":211},[216,217,220,224,228,231],"span",{"class":218,"line":219},"line",1,[216,221,223],{"class":222},"sBMFI","npm",[216,225,227],{"class":226},"sfazB"," install",[216,229,230],{"class":226}," @mionjs\u002Fplatform-node",[216,232,233],{"class":226}," @mionjs\u002Frouter\n",[201,235,15],{"id":236},"quick-start",[238,239,240,426],"code-group",{},[206,241,246],{"className":242,"code":243,"filename":244,"language":245,"meta":211,"style":211},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import {startNodeServer} from '@mionjs\u002Fplatform-node';\nimport {initMionRouter} from '@mionjs\u002Frouter';\nimport {routes} from '.\u002Fnode-routes.ts';\n\nawait initMionRouter(routes);\n\nconst server = await startNodeServer({port: 3000});\n\nconsole.log('Server running at http:\u002F\u002Flocalhost:3000');\n","src\u002Fserver.ts","ts",[213,247,248,280,303,326,333,348,353,396,401],{"__ignoreMap":211},[216,249,250,254,258,262,265,268,271,274,277],{"class":218,"line":219},[216,251,253],{"class":252},"s7zQu","import",[216,255,257],{"class":256},"sMK4o"," {",[216,259,261],{"class":260},"sTEyZ","startNodeServer",[216,263,264],{"class":256},"}",[216,266,267],{"class":252}," from",[216,269,270],{"class":256}," '",[216,272,273],{"class":226},"@mionjs\u002Fplatform-node",[216,275,276],{"class":256},"'",[216,278,279],{"class":256},";\n",[216,281,283,285,287,290,292,294,296,299,301],{"class":218,"line":282},2,[216,284,253],{"class":252},[216,286,257],{"class":256},[216,288,289],{"class":260},"initMionRouter",[216,291,264],{"class":256},[216,293,267],{"class":252},[216,295,270],{"class":256},[216,297,298],{"class":226},"@mionjs\u002Frouter",[216,300,276],{"class":256},[216,302,279],{"class":256},[216,304,306,308,310,313,315,317,319,322,324],{"class":218,"line":305},3,[216,307,253],{"class":252},[216,309,257],{"class":256},[216,311,312],{"class":260},"routes",[216,314,264],{"class":256},[216,316,267],{"class":252},[216,318,270],{"class":256},[216,320,321],{"class":226},".\u002Fnode-routes.ts",[216,323,276],{"class":256},[216,325,279],{"class":256},[216,327,329],{"class":218,"line":328},4,[216,330,332],{"emptyLinePlaceholder":331},true,"\n",[216,334,336,339,343,346],{"class":218,"line":335},5,[216,337,338],{"class":252},"await",[216,340,342],{"class":341},"s2Zo4"," initMionRouter",[216,344,345],{"class":260},"(routes)",[216,347,279],{"class":256},[216,349,351],{"class":218,"line":350},6,[216,352,332],{"emptyLinePlaceholder":331},[216,354,356,360,363,366,369,372,375,378,382,385,389,391,394],{"class":218,"line":355},7,[216,357,359],{"class":358},"spNyl","const",[216,361,362],{"class":260}," server ",[216,364,365],{"class":256},"=",[216,367,368],{"class":252}," await",[216,370,371],{"class":341}," startNodeServer",[216,373,374],{"class":260},"(",[216,376,377],{"class":256},"{",[216,379,381],{"class":380},"swJcz","port",[216,383,384],{"class":256},":",[216,386,388],{"class":387},"sbssI"," 3000",[216,390,264],{"class":256},[216,392,393],{"class":260},")",[216,395,279],{"class":256},[216,397,399],{"class":218,"line":398},8,[216,400,332],{"emptyLinePlaceholder":331},[216,402,404,407,410,413,415,417,420,422,424],{"class":218,"line":403},9,[216,405,406],{"class":260},"console",[216,408,409],{"class":256},".",[216,411,412],{"class":341},"log",[216,414,374],{"class":260},[216,416,276],{"class":256},[216,418,419],{"class":226},"Server running at http:\u002F\u002Flocalhost:3000",[216,421,276],{"class":256},[216,423,393],{"class":260},[216,425,279],{"class":256},[206,427,430],{"className":242,"code":428,"filename":429,"language":245,"meta":211,"style":211},"import {Routes, route} from '@mionjs\u002Frouter';\n\nexport const routes = {\n    sayHello: route((ctx, name: string): string => {\n        return `Hello ${name}!`;\n    }),\n} satisfies Routes;\n","src\u002Froutes.ts",[213,431,432,458,462,478,515,542,552],{"__ignoreMap":211},[216,433,434,436,438,440,443,446,448,450,452,454,456],{"class":218,"line":219},[216,435,253],{"class":252},[216,437,257],{"class":256},[216,439,38],{"class":260},[216,441,442],{"class":256},",",[216,444,445],{"class":260}," route",[216,447,264],{"class":256},[216,449,267],{"class":252},[216,451,270],{"class":256},[216,453,298],{"class":226},[216,455,276],{"class":256},[216,457,279],{"class":256},[216,459,460],{"class":218,"line":282},[216,461,332],{"emptyLinePlaceholder":331},[216,463,464,467,470,473,475],{"class":218,"line":305},[216,465,466],{"class":252},"export",[216,468,469],{"class":358}," const",[216,471,472],{"class":260}," routes ",[216,474,365],{"class":256},[216,476,477],{"class":256}," {\n",[216,479,480,483,485,487,489,491,495,497,500,502,505,508,510,513],{"class":218,"line":328},[216,481,482],{"class":380},"    sayHello",[216,484,384],{"class":256},[216,486,445],{"class":341},[216,488,374],{"class":260},[216,490,374],{"class":256},[216,492,494],{"class":493},"sHdIc","ctx",[216,496,442],{"class":256},[216,498,499],{"class":493}," name",[216,501,384],{"class":256},[216,503,504],{"class":222}," string",[216,506,507],{"class":256},"):",[216,509,504],{"class":222},[216,511,512],{"class":358}," =>",[216,514,477],{"class":256},[216,516,517,520,523,526,529,532,534,537,540],{"class":218,"line":335},[216,518,519],{"class":252},"        return",[216,521,522],{"class":256}," `",[216,524,525],{"class":226},"Hello ",[216,527,528],{"class":256},"${",[216,530,531],{"class":260},"name",[216,533,264],{"class":256},[216,535,536],{"class":226},"!",[216,538,539],{"class":256},"`",[216,541,279],{"class":256},[216,543,544,547,549],{"class":218,"line":350},[216,545,546],{"class":256},"    }",[216,548,393],{"class":260},[216,550,551],{"class":256},",\n",[216,553,554,556,559,562],{"class":218,"line":355},[216,555,264],{"class":256},[216,557,558],{"class":252}," satisfies",[216,560,561],{"class":222}," Routes",[216,563,279],{"class":256},[201,565,567],{"id":566},"configuration","Configuration",[569,570,571,572,384],"p",{},"You can pass configuration options to ",[213,573,574],{},"initMionHttp",[206,576,578],{"className":242,"code":577,"language":245,"meta":211,"style":211},"import {startNodeServer} from '@mionjs\u002Fplatform-node';\nimport {initMionRouter} from '@mionjs\u002Frouter';\nimport {routes} from '.\u002Fnode-routes.ts';\n\nawait initMionRouter(routes, {\n    basePath: 'api', \u002F\u002F API prefix\n});\n\nawait startNodeServer({port: 3000});\n",[213,579,580,600,620,640,644,657,677,685,689],{"__ignoreMap":211},[216,581,582,584,586,588,590,592,594,596,598],{"class":218,"line":219},[216,583,253],{"class":252},[216,585,257],{"class":256},[216,587,261],{"class":260},[216,589,264],{"class":256},[216,591,267],{"class":252},[216,593,270],{"class":256},[216,595,273],{"class":226},[216,597,276],{"class":256},[216,599,279],{"class":256},[216,601,602,604,606,608,610,612,614,616,618],{"class":218,"line":282},[216,603,253],{"class":252},[216,605,257],{"class":256},[216,607,289],{"class":260},[216,609,264],{"class":256},[216,611,267],{"class":252},[216,613,270],{"class":256},[216,615,298],{"class":226},[216,617,276],{"class":256},[216,619,279],{"class":256},[216,621,622,624,626,628,630,632,634,636,638],{"class":218,"line":305},[216,623,253],{"class":252},[216,625,257],{"class":256},[216,627,312],{"class":260},[216,629,264],{"class":256},[216,631,267],{"class":252},[216,633,270],{"class":256},[216,635,321],{"class":226},[216,637,276],{"class":256},[216,639,279],{"class":256},[216,641,642],{"class":218,"line":328},[216,643,332],{"emptyLinePlaceholder":331},[216,645,646,648,650,653,655],{"class":218,"line":335},[216,647,338],{"class":252},[216,649,342],{"class":341},[216,651,652],{"class":260},"(routes",[216,654,442],{"class":256},[216,656,477],{"class":256},[216,658,659,662,664,666,669,671,673],{"class":218,"line":350},[216,660,661],{"class":380},"    basePath",[216,663,384],{"class":256},[216,665,270],{"class":256},[216,667,668],{"class":226},"api",[216,670,276],{"class":256},[216,672,442],{"class":256},[216,674,676],{"class":675},"sHwdD"," \u002F\u002F API prefix\n",[216,678,679,681,683],{"class":218,"line":355},[216,680,264],{"class":256},[216,682,393],{"class":260},[216,684,279],{"class":256},[216,686,687],{"class":218,"line":398},[216,688,332],{"emptyLinePlaceholder":331},[216,690,691,693,695,697,699,701,703,705,707,709],{"class":218,"line":403},[216,692,338],{"class":252},[216,694,371],{"class":341},[216,696,374],{"class":260},[216,698,377],{"class":256},[216,700,381],{"class":380},[216,702,384],{"class":256},[216,704,388],{"class":387},[216,706,264],{"class":256},[216,708,393],{"class":260},[216,710,279],{"class":256},[712,713,714],"tip",{},"For production deployments, consider using a process manager like PM2 or running behind a reverse proxy like nginx.",[716,717],"spacer",{},[201,719,721],{"id":720},"type-reference","Type Reference",[723,724,726],"h3",{"id":725},"nodehttpoptions","NodeHttpOptions",[206,728,730],{"className":242,"code":729,"language":245,"meta":211,"style":211},"export interface NodeHttpOptions {\n    protocol: 'http' | 'https';\n    port: number;\n    \u002F** Native node's ServerOptions. By default maxHeaderSize defaults to 8KB, same as in latest node versions *\u002F\n    options: ServerOptions;\n    \u002F** Set of default response header to add to every response*\u002F\n    defaultResponseHeaders: Record\u003Cstring, string>;\n    \u002F**\n     * 256KB by default, same as lambda payload\n     * @link https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Foperatorguide\u002Fpayload.html\n     * *\u002F\n    maxBodySize: number; \u002F\u002F default 256KB\n}\n",[213,731,732,744,770,782,787,799,804,827,832,837,853,859,875],{"__ignoreMap":211},[216,733,734,736,739,742],{"class":218,"line":219},[216,735,466],{"class":252},[216,737,738],{"class":358}," interface",[216,740,741],{"class":222}," NodeHttpOptions",[216,743,477],{"class":256},[216,745,746,749,751,753,756,758,761,763,766,768],{"class":218,"line":282},[216,747,748],{"class":380},"    protocol",[216,750,384],{"class":256},[216,752,270],{"class":256},[216,754,755],{"class":226},"http",[216,757,276],{"class":256},[216,759,760],{"class":256}," |",[216,762,270],{"class":256},[216,764,765],{"class":226},"https",[216,767,276],{"class":256},[216,769,279],{"class":256},[216,771,772,775,777,780],{"class":218,"line":305},[216,773,774],{"class":380},"    port",[216,776,384],{"class":256},[216,778,779],{"class":222}," number",[216,781,279],{"class":256},[216,783,784],{"class":218,"line":328},[216,785,786],{"class":675},"    \u002F** Native node's ServerOptions. By default maxHeaderSize defaults to 8KB, same as in latest node versions *\u002F\n",[216,788,789,792,794,797],{"class":218,"line":335},[216,790,791],{"class":380},"    options",[216,793,384],{"class":256},[216,795,796],{"class":222}," ServerOptions",[216,798,279],{"class":256},[216,800,801],{"class":218,"line":350},[216,802,803],{"class":675},"    \u002F** Set of default response header to add to every response*\u002F\n",[216,805,806,809,811,814,817,820,822,824],{"class":218,"line":355},[216,807,808],{"class":380},"    defaultResponseHeaders",[216,810,384],{"class":256},[216,812,813],{"class":222}," Record",[216,815,816],{"class":256},"\u003C",[216,818,819],{"class":222},"string",[216,821,442],{"class":256},[216,823,504],{"class":222},[216,825,826],{"class":256},">;\n",[216,828,829],{"class":218,"line":398},[216,830,831],{"class":675},"    \u002F**\n",[216,833,834],{"class":218,"line":403},[216,835,836],{"class":675},"     * 256KB by default, same as lambda payload\n",[216,838,840,843,846,850],{"class":218,"line":839},10,[216,841,842],{"class":675},"     * ",[216,844,845],{"class":252},"@",[216,847,849],{"class":848},"s6hCs","link",[216,851,852],{"class":675}," https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Foperatorguide\u002Fpayload.html\n",[216,854,856],{"class":218,"line":855},11,[216,857,858],{"class":675},"     * *\u002F\n",[216,860,862,865,867,869,872],{"class":218,"line":861},12,[216,863,864],{"class":380},"    maxBodySize",[216,866,384],{"class":256},[216,868,779],{"class":222},[216,870,871],{"class":256},";",[216,873,874],{"class":675}," \u002F\u002F default 256KB\n",[216,876,878],{"class":218,"line":877},13,[216,879,880],{"class":256},"}\n",[882,883,884],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s6hCs, html code.shiki .s6hCs{--shiki-light:#9C3EDA;--shiki-light-font-style:italic;--shiki-default:#C792EA;--shiki-default-font-style:italic;--shiki-dark:#C792EA;--shiki-dark-font-style:italic}","Running mion APIs on Node.js using the http module.","md",null,{"toc":26},{"title":155,"description":885},"nZ9jPsFOGZ6hDdhL5d0VEvnxek2y-gCybUScRUC2t_g",[892,894],{"title":144,"path":145,"stem":146,"description":893,"children":-1},"How to configure the mion Vite plugin for server and client packages.",{"title":158,"path":159,"stem":160,"description":895,"children":-1},"Running mion APIs on Bun runtime for maximum performance.",1778674524008]