@niledatabase/nitro 5.0.0-alpha.8 → 5.0.0
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/dist/index.d.mts +7 -4
- package/dist/index.d.ts +7 -4
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -3
- package/CHANGELOG.md +0 -28
- package/src/index.ts +0 -40
- package/tsup.config.js +0 -10
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { H3Event
|
|
2
|
-
import { Server } from '@niledatabase/server';
|
|
1
|
+
import { H3Event } from 'h3';
|
|
2
|
+
import { Server, Extension } from '@niledatabase/server';
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
type withNitro = Omit<Server, 'handlers'> & {
|
|
5
|
+
handlers: (event: H3Event) => Response;
|
|
6
|
+
};
|
|
7
|
+
declare const nitro: Extension;
|
|
5
8
|
|
|
6
|
-
export {
|
|
9
|
+
export { nitro, type withNitro };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { H3Event
|
|
2
|
-
import { Server } from '@niledatabase/server';
|
|
1
|
+
import { H3Event } from 'h3';
|
|
2
|
+
import { Server, Extension } from '@niledatabase/server';
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
type withNitro = Omit<Server, 'handlers'> & {
|
|
5
|
+
handlers: (event: H3Event) => Response;
|
|
6
|
+
};
|
|
7
|
+
declare const nitro: Extension;
|
|
5
8
|
|
|
6
|
-
export {
|
|
9
|
+
export { nitro, type withNitro };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var c=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var q=(t,e)=>{for(var r in e)c(t,r,{get:e[r],enumerable:!0})},H=(t,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of y(e))!l.call(t,s)&&s!==r&&c(t,s,{get:()=>e[s],enumerable:!(a=m(e,s))||a.enumerable});return t};var g=t=>H(c({},"__esModule",{value:!0}),t);var w={};q(w,{nitro:()=>T});module.exports=g(w);var o=require("h3"),R=([t,e])=>[t.toLowerCase(),Array.isArray(e)?e.join(", "):String(e)],T=()=>({id:"nitro",replace:{handlers:t=>async e=>{try{let r=(0,o.getRequestURL)(e),a=e.node.req.headers,s=a?Object.fromEntries(Object.entries(a).map(R)):{},f=e.node.req.method||"GET",h=["POST","PUT","PATCH"].includes(f)?await(0,o.readRawBody)(e):null,p={method:f,headers:s};h&&(p.body=h);let u=new Request(r,p),n=await t[u.method](u);if(n instanceof Response){n.headers.forEach((i,E)=>{E.toLowerCase()!=="set-cookie"&&e.node.res.setHeader(E,i)});let d=n.headers.getSetCookie?.();if(d&&Array.isArray(d))for(let i of d)(0,o.appendHeader)(e,"Set-Cookie",i);else{let i=n.headers.get("set-cookie");i&&(0,o.appendHeader)(e,"Set-Cookie",i)}return e.node.res.statusCode=n.status,await n.json()}}catch(r){return{message:r instanceof Error?r.message:"The request failed"}}}}});0&&(module.exports={nitro});
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n appendHeader,\n EventHandlerRequest,\n getRequestURL,\n H3Event,\n readRawBody,\n} from 'h3';\nimport { Server } from '@niledatabase/server';\nimport type { Extension } from '@niledatabase/server';\n\nexport type withNitro = Omit<Server, 'handlers'> & {\n handlers: (event: H3Event) => Response;\n};\n\nconst convertHeader = ([key, value]: [\n string,\n string | string[] | undefined\n]) => [\n key.toLowerCase(),\n Array.isArray(value) ? value.join(', ') : String(value),\n];\n\nexport const nitro: Extension = () => ({\n id: 'nitro',\n replace: {\n handlers: (baseHandlers) => {\n return async (event: H3Event<EventHandlerRequest>) => {\n try {\n const url = getRequestURL(event);\n\n const reqHeaders = event.node.req.headers;\n const headers: HeadersInit = reqHeaders\n ? Object.fromEntries(Object.entries(reqHeaders).map(convertHeader))\n : {};\n\n const method = event.node.req.method || 'GET';\n const body = ['POST', 'PUT', 'PATCH'].includes(method)\n ? await readRawBody(event)\n : null;\n\n const requestInit: RequestInit = {\n method,\n headers,\n };\n if (body) {\n requestInit.body = body;\n }\n const request = new Request(url, requestInit);\n\n const res = await baseHandlers[\n request.method as 'GET' | 'POST' | 'PUT' | 'DELETE'\n ](request);\n\n if (res instanceof Response) {\n res.headers.forEach((value, key) => {\n if (key.toLowerCase() !== 'set-cookie') {\n event.node.res.setHeader(key, value);\n }\n });\n\n const setCookie = res.headers.getSetCookie?.();\n if (setCookie && Array.isArray(setCookie)) {\n for (const cookie of setCookie) {\n appendHeader(event, 'Set-Cookie', cookie);\n }\n } else {\n const cookie = res.headers.get('set-cookie');\n if (cookie) {\n appendHeader(event, 'Set-Cookie', cookie);\n }\n }\n\n event.node.res.statusCode = res.status;\n\n const responseBody = await res.json();\n return responseBody;\n }\n } catch (e) {\n return {\n message: e instanceof Error ? e.message : 'The request failed',\n };\n }\n };\n },\n },\n});\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,WAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAMO,cAQDC,EAAgB,CAAC,CAACC,EAAKC,CAAK,IAG5B,CACJD,EAAI,YAAY,EAChB,MAAM,QAAQC,CAAK,EAAIA,EAAM,KAAK,IAAI,EAAI,OAAOA,CAAK,CACxD,EAEaL,EAAmB,KAAO,CACrC,GAAI,QACJ,QAAS,CACP,SAAWM,GACF,MAAOC,GAAwC,CACpD,GAAI,CACF,IAAMC,KAAM,iBAAcD,CAAK,EAEzBE,EAAaF,EAAM,KAAK,IAAI,QAC5BG,EAAuBD,EACzB,OAAO,YAAY,OAAO,QAAQA,CAAU,EAAE,IAAIN,CAAa,CAAC,EAChE,CAAC,EAECQ,EAASJ,EAAM,KAAK,IAAI,QAAU,MAClCK,EAAO,CAAC,OAAQ,MAAO,OAAO,EAAE,SAASD,CAAM,EACjD,QAAM,eAAYJ,CAAK,EACvB,KAEEM,EAA2B,CAC/B,OAAAF,EACA,QAAAD,CACF,EACIE,IACFC,EAAY,KAAOD,GAErB,IAAME,EAAU,IAAI,QAAQN,EAAKK,CAAW,EAEtCE,EAAM,MAAMT,EAChBQ,EAAQ,MACV,EAAEA,CAAO,EAET,GAAIC,aAAe,SAAU,CAC3BA,EAAI,QAAQ,QAAQ,CAACV,EAAOD,IAAQ,CAC9BA,EAAI,YAAY,IAAM,cACxBG,EAAM,KAAK,IAAI,UAAUH,EAAKC,CAAK,CAEvC,CAAC,EAED,IAAMW,EAAYD,EAAI,QAAQ,eAAe,EAC7C,GAAIC,GAAa,MAAM,QAAQA,CAAS,EACtC,QAAWC,KAAUD,KACnB,gBAAaT,EAAO,aAAcU,CAAM,MAErC,CACL,IAAMA,EAASF,EAAI,QAAQ,IAAI,YAAY,EACvCE,MACF,gBAAaV,EAAO,aAAcU,CAAM,CAE5C,CAEA,OAAAV,EAAM,KAAK,IAAI,WAAaQ,EAAI,OAEX,MAAMA,EAAI,KAAK,CAEtC,CACF,OAASG,EAAG,CACV,MAAO,CACL,QAASA,aAAa,MAAQA,EAAE,QAAU,oBAC5C,CACF,CACF,CAEJ,CACF","names":["index_exports","__export","nitro","__toCommonJS","import_h3","convertHeader","key","value","baseHandlers","event","url","reqHeaders","headers","method","body","requestInit","request","res","setCookie","cookie","e"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{getRequestURL as
|
|
1
|
+
import{appendHeader as p,getRequestURL as E,readRawBody as m}from"h3";var y=([o,e])=>[o.toLowerCase(),Array.isArray(e)?e.join(", "):String(e)],R=()=>({id:"nitro",replace:{handlers:o=>async e=>{try{let s=E(e),i=e.node.req.headers,u=i?Object.fromEntries(Object.entries(i).map(y)):{},a=e.node.req.method||"GET",d=["POST","PUT","PATCH"].includes(a)?await m(e):null,c={method:a,headers:u};d&&(c.body=d);let f=new Request(s,c),t=await o[f.method](f);if(t instanceof Response){t.headers.forEach((r,h)=>{h.toLowerCase()!=="set-cookie"&&e.node.res.setHeader(h,r)});let n=t.headers.getSetCookie?.();if(n&&Array.isArray(n))for(let r of n)p(e,"Set-Cookie",r);else{let r=t.headers.get("set-cookie");r&&p(e,"Set-Cookie",r)}return e.node.res.statusCode=t.status,await t.json()}}catch(s){return{message:s instanceof Error?s.message:"The request failed"}}}}});export{R as nitro};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n appendHeader,\n EventHandlerRequest,\n getRequestURL,\n H3Event,\n readRawBody,\n} from 'h3';\nimport { Server } from '@niledatabase/server';\nimport type { Extension } from '@niledatabase/server';\n\nexport type withNitro = Omit<Server, 'handlers'> & {\n handlers: (event: H3Event) => Response;\n};\n\nconst convertHeader = ([key, value]: [\n string,\n string | string[] | undefined\n]) => [\n key.toLowerCase(),\n Array.isArray(value) ? value.join(', ') : String(value),\n];\n\nexport const nitro: Extension = () => ({\n id: 'nitro',\n replace: {\n handlers: (baseHandlers) => {\n return async (event: H3Event<EventHandlerRequest>) => {\n try {\n const url = getRequestURL(event);\n\n const reqHeaders = event.node.req.headers;\n const headers: HeadersInit = reqHeaders\n ? Object.fromEntries(Object.entries(reqHeaders).map(convertHeader))\n : {};\n\n const method = event.node.req.method || 'GET';\n const body = ['POST', 'PUT', 'PATCH'].includes(method)\n ? await readRawBody(event)\n : null;\n\n const requestInit: RequestInit = {\n method,\n headers,\n };\n if (body) {\n requestInit.body = body;\n }\n const request = new Request(url, requestInit);\n\n const res = await baseHandlers[\n request.method as 'GET' | 'POST' | 'PUT' | 'DELETE'\n ](request);\n\n if (res instanceof Response) {\n res.headers.forEach((value, key) => {\n if (key.toLowerCase() !== 'set-cookie') {\n event.node.res.setHeader(key, value);\n }\n });\n\n const setCookie = res.headers.getSetCookie?.();\n if (setCookie && Array.isArray(setCookie)) {\n for (const cookie of setCookie) {\n appendHeader(event, 'Set-Cookie', cookie);\n }\n } else {\n const cookie = res.headers.get('set-cookie');\n if (cookie) {\n appendHeader(event, 'Set-Cookie', cookie);\n }\n }\n\n event.node.res.statusCode = res.status;\n\n const responseBody = await res.json();\n return responseBody;\n }\n } catch (e) {\n return {\n message: e instanceof Error ? e.message : 'The request failed',\n };\n }\n };\n },\n },\n});\n"],"mappings":"AAAA,OACE,gBAAAA,EAEA,iBAAAC,EAEA,eAAAC,MACK,KAQP,IAAMC,EAAgB,CAAC,CAACC,EAAKC,CAAK,IAG5B,CACJD,EAAI,YAAY,EAChB,MAAM,QAAQC,CAAK,EAAIA,EAAM,KAAK,IAAI,EAAI,OAAOA,CAAK,CACxD,EAEaC,EAAmB,KAAO,CACrC,GAAI,QACJ,QAAS,CACP,SAAWC,GACF,MAAOC,GAAwC,CACpD,GAAI,CACF,IAAMC,EAAMR,EAAcO,CAAK,EAEzBE,EAAaF,EAAM,KAAK,IAAI,QAC5BG,EAAuBD,EACzB,OAAO,YAAY,OAAO,QAAQA,CAAU,EAAE,IAAIP,CAAa,CAAC,EAChE,CAAC,EAECS,EAASJ,EAAM,KAAK,IAAI,QAAU,MAClCK,EAAO,CAAC,OAAQ,MAAO,OAAO,EAAE,SAASD,CAAM,EACjD,MAAMV,EAAYM,CAAK,EACvB,KAEEM,EAA2B,CAC/B,OAAAF,EACA,QAAAD,CACF,EACIE,IACFC,EAAY,KAAOD,GAErB,IAAME,EAAU,IAAI,QAAQN,EAAKK,CAAW,EAEtCE,EAAM,MAAMT,EAChBQ,EAAQ,MACV,EAAEA,CAAO,EAET,GAAIC,aAAe,SAAU,CAC3BA,EAAI,QAAQ,QAAQ,CAACX,EAAOD,IAAQ,CAC9BA,EAAI,YAAY,IAAM,cACxBI,EAAM,KAAK,IAAI,UAAUJ,EAAKC,CAAK,CAEvC,CAAC,EAED,IAAMY,EAAYD,EAAI,QAAQ,eAAe,EAC7C,GAAIC,GAAa,MAAM,QAAQA,CAAS,EACtC,QAAWC,KAAUD,EACnBjB,EAAaQ,EAAO,aAAcU,CAAM,MAErC,CACL,IAAMA,EAASF,EAAI,QAAQ,IAAI,YAAY,EACvCE,GACFlB,EAAaQ,EAAO,aAAcU,CAAM,CAE5C,CAEA,OAAAV,EAAM,KAAK,IAAI,WAAaQ,EAAI,OAEX,MAAMA,EAAI,KAAK,CAEtC,CACF,OAASG,EAAG,CACV,MAAO,CACL,QAASA,aAAa,MAAQA,EAAE,QAAU,oBAC5C,CACF,CACF,CAEJ,CACF","names":["appendHeader","getRequestURL","readRawBody","convertHeader","key","value","nitro","baseHandlers","event","url","reqHeaders","headers","method","body","requestInit","request","res","setCookie","cookie","e"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@niledatabase/nitro",
|
|
3
|
-
"version": "5.0.0
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
"import": "./dist/index.mjs"
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
14
17
|
"prettier": {
|
|
15
18
|
"printWidth": 80,
|
|
16
19
|
"semi": true,
|
|
@@ -30,12 +33,12 @@
|
|
|
30
33
|
"access": "public"
|
|
31
34
|
},
|
|
32
35
|
"peerDependencies": {
|
|
33
|
-
"@niledatabase/server": "
|
|
36
|
+
"@niledatabase/server": ">=5.0.0-alpha",
|
|
34
37
|
"h3": "^1"
|
|
35
38
|
},
|
|
36
39
|
"devDependencies": {
|
|
37
40
|
"h3": "^1",
|
|
38
41
|
"tsup": "^8.5.0"
|
|
39
42
|
},
|
|
40
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "bc6ee6499ed130cb605ea2a373e0054072ea8fb0"
|
|
41
44
|
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# Change Log
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
-
|
|
6
|
-
# [5.0.0-alpha.8](https://github.com/niledatabase/nile-js/compare/v5.0.0-alpha.7...v5.0.0-alpha.8) (2025-06-12)
|
|
7
|
-
|
|
8
|
-
**Note:** Version bump only for package @niledatabase/nitro
|
|
9
|
-
|
|
10
|
-
# [5.0.0-alpha.7](https://github.com/niledatabase/nile-js/compare/v5.0.0-alpha.6...v5.0.0-alpha.7) (2025-06-11)
|
|
11
|
-
|
|
12
|
-
**Note:** Version bump only for package @niledatabase/nitro
|
|
13
|
-
|
|
14
|
-
# [5.0.0-alpha.6](https://github.com/niledatabase/nile-js/compare/v5.0.0-alpha.5...v5.0.0-alpha.6) (2025-06-11)
|
|
15
|
-
|
|
16
|
-
**Note:** Version bump only for package @niledatabase/nitro
|
|
17
|
-
|
|
18
|
-
# [5.0.0-alpha.5](https://github.com/niledatabase/nile-js/compare/v5.0.0-alpha.4...v5.0.0-alpha.5) (2025-06-10)
|
|
19
|
-
|
|
20
|
-
### Bug Fixes
|
|
21
|
-
|
|
22
|
-
- **nextjs:** build and export correctly ([c522c5e](https://github.com/niledatabase/nile-js/commit/c522c5e485bea75b0fdf86cfcd6b0af662f5a0b5))
|
|
23
|
-
|
|
24
|
-
# [5.0.0-alpha.4](https://github.com/niledatabase/nile-js/compare/v5.0.0-alpha.3...v5.0.0-alpha.4) (2025-06-10)
|
|
25
|
-
|
|
26
|
-
### Features
|
|
27
|
-
|
|
28
|
-
- **server:** invites ([c10f598](https://github.com/niledatabase/nile-js/commit/c10f5980bcbc55ed436ce8cceca4111aa8e6a276))
|
package/src/index.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { EventHandlerRequest, getRequestURL, H3Event, readRawBody } from 'h3';
|
|
2
|
-
import { Server } from '@niledatabase/server';
|
|
3
|
-
|
|
4
|
-
const convertHeader = ([key, value]: [
|
|
5
|
-
string,
|
|
6
|
-
string | string[] | undefined
|
|
7
|
-
]) => [
|
|
8
|
-
key.toLowerCase(),
|
|
9
|
-
Array.isArray(value) ? value.join(', ') : String(value),
|
|
10
|
-
];
|
|
11
|
-
export async function convertToRequest(
|
|
12
|
-
event: H3Event<EventHandlerRequest>,
|
|
13
|
-
nile: Server
|
|
14
|
-
) {
|
|
15
|
-
const { handlers } = nile;
|
|
16
|
-
const url = getRequestURL(event);
|
|
17
|
-
const reqHeaders = event.node.req.headers;
|
|
18
|
-
const headers: HeadersInit = reqHeaders
|
|
19
|
-
? Object.fromEntries(Object.entries(reqHeaders).map(convertHeader))
|
|
20
|
-
: {};
|
|
21
|
-
const method = event.node.req.method || 'GET';
|
|
22
|
-
const body =
|
|
23
|
-
method !== 'GET' && method !== 'HEAD' ? await readRawBody(event) : null;
|
|
24
|
-
|
|
25
|
-
const request = new Request(url, {
|
|
26
|
-
method,
|
|
27
|
-
headers,
|
|
28
|
-
body: body ? JSON.stringify(body) : null,
|
|
29
|
-
});
|
|
30
|
-
switch (request.method) {
|
|
31
|
-
case 'GET':
|
|
32
|
-
return handlers.GET(request);
|
|
33
|
-
case 'POST':
|
|
34
|
-
return handlers.POST(request);
|
|
35
|
-
case 'PUT':
|
|
36
|
-
return handlers.PUT(request);
|
|
37
|
-
case 'DELETE':
|
|
38
|
-
return handlers.DELETE(request);
|
|
39
|
-
}
|
|
40
|
-
}
|