@vercel/remix-builder 2.1.7 → 2.1.9
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/defaults/server-node.mjs +15 -8
- package/package.json +3 -3
package/defaults/server-node.mjs
CHANGED
|
@@ -4,7 +4,11 @@ import {
|
|
|
4
4
|
installGlobals,
|
|
5
5
|
} from '@remix-run/node';
|
|
6
6
|
|
|
7
|
-
installGlobals(
|
|
7
|
+
installGlobals({
|
|
8
|
+
nativeFetch:
|
|
9
|
+
parseInt(process.versions.node, 10) >= 20 &&
|
|
10
|
+
process.env.VERCEL_REMIX_NATIVE_FETCH === '1',
|
|
11
|
+
});
|
|
8
12
|
|
|
9
13
|
import * as build from '@remix-run/dev/server-build';
|
|
10
14
|
|
|
@@ -13,11 +17,11 @@ const handleRequest = createRemixRequestHandler(
|
|
|
13
17
|
process.env.NODE_ENV
|
|
14
18
|
);
|
|
15
19
|
|
|
16
|
-
function
|
|
20
|
+
function toWebHeaders(nodeHeaders) {
|
|
17
21
|
const headers = new Headers();
|
|
18
22
|
|
|
19
|
-
for (const key in
|
|
20
|
-
const header =
|
|
23
|
+
for (const key in nodeHeaders) {
|
|
24
|
+
const header = nodeHeaders[key];
|
|
21
25
|
// set-cookie is an array (maybe others)
|
|
22
26
|
if (Array.isArray(header)) {
|
|
23
27
|
for (const value of header) {
|
|
@@ -31,8 +35,12 @@ function createRemixHeaders(requestHeaders) {
|
|
|
31
35
|
return headers;
|
|
32
36
|
}
|
|
33
37
|
|
|
38
|
+
function toNodeHeaders(webHeaders) {
|
|
39
|
+
return webHeaders.raw?.() || [...webHeaders].flat();
|
|
40
|
+
}
|
|
41
|
+
|
|
34
42
|
function createRemixRequest(req, res) {
|
|
35
|
-
const host = req.headers['x-forwarded-host'] || req.headers
|
|
43
|
+
const host = req.headers['x-forwarded-host'] || req.headers.host;
|
|
36
44
|
const protocol = req.headers['x-forwarded-proto'] || 'https';
|
|
37
45
|
const url = new URL(req.url, `${protocol}://${host}`);
|
|
38
46
|
|
|
@@ -42,7 +50,7 @@ function createRemixRequest(req, res) {
|
|
|
42
50
|
|
|
43
51
|
const init = {
|
|
44
52
|
method: req.method,
|
|
45
|
-
headers:
|
|
53
|
+
headers: toWebHeaders(req.headers),
|
|
46
54
|
signal: controller.signal,
|
|
47
55
|
};
|
|
48
56
|
|
|
@@ -55,11 +63,10 @@ function createRemixRequest(req, res) {
|
|
|
55
63
|
|
|
56
64
|
async function sendRemixResponse(res, nodeResponse) {
|
|
57
65
|
res.statusMessage = nodeResponse.statusText;
|
|
58
|
-
let multiValueHeaders = nodeResponse.headers.raw();
|
|
59
66
|
res.writeHead(
|
|
60
67
|
nodeResponse.status,
|
|
61
68
|
nodeResponse.statusText,
|
|
62
|
-
|
|
69
|
+
toNodeHeaders(nodeResponse.headers)
|
|
63
70
|
);
|
|
64
71
|
|
|
65
72
|
if (nodeResponse.body) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vercel/remix-builder",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.9",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"homepage": "https://vercel.com/docs",
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
"ts-morph": "12.0.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@remix-run/dev": "npm:@vercel/remix-run-dev@2.
|
|
24
|
+
"@remix-run/dev": "npm:@vercel/remix-run-dev@2.10.0",
|
|
25
25
|
"@types/jest": "27.5.1",
|
|
26
26
|
"@types/node": "14.18.33",
|
|
27
27
|
"@types/semver": "7.3.13",
|
|
28
|
-
"@vercel/build-utils": "8.
|
|
28
|
+
"@vercel/build-utils": "8.3.0",
|
|
29
29
|
"glob": "10.3.16",
|
|
30
30
|
"jest-junit": "16.0.0",
|
|
31
31
|
"path-to-regexp": "6.2.1",
|