@rivetkit/next-js
Version:
Next.js integration for RivetKit actors and client
1 lines • 1.97 kB
Source Map (JSON)
{"version":3,"sources":["../src/mod.ts"],"sourcesContent":["import type { Registry, RunConfigInput } from \"rivetkit\";\n\nexport const toNextHandler = (\n\tregistry: Registry<any>,\n\tinputConfig: RunConfigInput = {},\n) => {\n\t// Don't run server locally since we're using the fetch handler directly\n\tinputConfig.disableDefaultServer = true;\n\n\t// Configure serverless\n\tconst publicUrl =\n\t\tprocess.env.NEXT_PUBLIC_SITE_URL ??\n\t\tprocess.env.NEXT_PUBLIC_VERCEL_URL ??\n\t\t`http://127.0.0.1:${process.env.PORT ?? 3000}`;\n\tinputConfig.runnerKind = \"serverless\";\n\tinputConfig.runEngine = true;\n\tinputConfig.autoConfigureServerless = {\n\t\turl: `${publicUrl}/api/rivet/start`,\n\t};\n\n\t// Next logs this on every request\n\tinputConfig.noWelcome = true;\n\n\tconst { fetch } = registry.start(inputConfig);\n\n\tconst fetchWrapper = async (\n\t\trequest: Request,\n\t\t{ params }: { params: Promise<{ all: string[] }> },\n\t) => {\n\t\tconst { all } = await params;\n\n\t\tconst newUrl = new URL(request.url);\n\t\tnewUrl.pathname = all.join(\"/\");\n\t\tconst newReq = new Request(newUrl, request);\n\n\t\treturn await fetch(newReq);\n\t};\n\n\treturn {\n\t\tGET: fetchWrapper,\n\t\tPOST: fetchWrapper,\n\t\tPUT: fetchWrapper,\n\t\tPATCH: fetchWrapper,\n\t\tHEAD: fetchWrapper,\n\t\tOPTIONS: fetchWrapper,\n\t};\n};\n"],"mappings":";AAEO,IAAM,gBAAgB,CAC5B,UACA,cAA8B,CAAC,MAC3B;AAEJ,cAAY,uBAAuB;AAGnC,QAAM,YACL,QAAQ,IAAI,wBACZ,QAAQ,IAAI,0BACZ,oBAAoB,QAAQ,IAAI,QAAQ,GAAI;AAC7C,cAAY,aAAa;AACzB,cAAY,YAAY;AACxB,cAAY,0BAA0B;AAAA,IACrC,KAAK,GAAG,SAAS;AAAA,EAClB;AAGA,cAAY,YAAY;AAExB,QAAM,EAAE,MAAM,IAAI,SAAS,MAAM,WAAW;AAE5C,QAAM,eAAe,OACpB,SACA,EAAE,OAAO,MACL;AACJ,UAAM,EAAE,IAAI,IAAI,MAAM;AAEtB,UAAM,SAAS,IAAI,IAAI,QAAQ,GAAG;AAClC,WAAO,WAAW,IAAI,KAAK,GAAG;AAC9B,UAAM,SAAS,IAAI,QAAQ,QAAQ,OAAO;AAE1C,WAAO,MAAM,MAAM,MAAM;AAAA,EAC1B;AAEA,SAAO;AAAA,IACN,KAAK;AAAA,IACL,MAAM;AAAA,IACN,KAAK;AAAA,IACL,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AACD;","names":[]}