expo-server 55.0.2 → 55.0.4
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/build/cjs/ImmutableRequest.d.ts +3 -1
- package/build/cjs/ImmutableRequest.js +2 -1
- package/build/cjs/ImmutableRequest.js.map +1 -1
- package/build/cjs/manifest.d.ts +1 -0
- package/build/cjs/private.d.ts +1 -0
- package/build/cjs/private.js +3 -1
- package/build/cjs/private.js.map +1 -1
- package/build/cjs/rendering.d.ts +1 -0
- package/build/cjs/runtime/api.d.ts +7 -3
- package/build/cjs/runtime/api.js +11 -3
- package/build/cjs/runtime/api.js.map +1 -1
- package/build/cjs/runtime/index.d.ts +2 -1
- package/build/cjs/runtime/index.js +15 -1
- package/build/cjs/runtime/index.js.map +1 -1
- package/build/cjs/runtime/scope.d.ts +2 -1
- package/build/cjs/runtime/scope.js.map +1 -1
- package/build/cjs/types.d.ts +9 -3
- package/build/cjs/utils/matchers.d.ts +12 -0
- package/build/cjs/utils/matchers.js +36 -0
- package/build/cjs/utils/matchers.js.map +1 -1
- package/build/cjs/vendor/eas.d.ts +4 -1
- package/build/cjs/vendor/eas.js +8 -6
- package/build/cjs/vendor/eas.js.map +1 -1
- package/build/cjs/vendor/environment/common.d.ts +5 -3
- package/build/cjs/vendor/environment/common.js +46 -22
- package/build/cjs/vendor/environment/common.js.map +1 -1
- package/build/cjs/vendor/environment/node.d.ts +2 -7
- package/build/cjs/vendor/environment/node.js +11 -1
- package/build/cjs/vendor/environment/node.js.map +1 -1
- package/build/cjs/vendor/environment/workerd.d.ts +2 -7
- package/build/cjs/vendor/environment/workerd.js +11 -1
- package/build/cjs/vendor/environment/workerd.js.map +1 -1
- package/build/cjs/vendor/netlify.js +1 -1
- package/build/cjs/vendor/netlify.js.map +1 -1
- package/build/cjs/vendor/vercel.js +1 -1
- package/build/cjs/vendor/vercel.js.map +1 -1
- package/build/cjs/vendor/workerd.d.ts +4 -1
- package/build/cjs/vendor/workerd.js +7 -5
- package/build/cjs/vendor/workerd.js.map +1 -1
- package/build/mjs/ImmutableRequest.d.ts +3 -1
- package/build/mjs/ImmutableRequest.js +1 -1
- package/build/mjs/ImmutableRequest.js.map +1 -1
- package/build/mjs/manifest.d.ts +1 -0
- package/build/mjs/private.d.ts +1 -0
- package/build/mjs/private.js +1 -0
- package/build/mjs/private.js.map +1 -1
- package/build/mjs/rendering.d.ts +1 -0
- package/build/mjs/runtime/api.d.ts +7 -3
- package/build/mjs/runtime/api.js +10 -3
- package/build/mjs/runtime/api.js.map +1 -1
- package/build/mjs/runtime/index.d.ts +2 -1
- package/build/mjs/runtime/index.js +15 -1
- package/build/mjs/runtime/index.js.map +1 -1
- package/build/mjs/runtime/scope.d.ts +2 -1
- package/build/mjs/runtime/scope.js.map +1 -1
- package/build/mjs/types.d.ts +9 -3
- package/build/mjs/utils/matchers.d.ts +12 -0
- package/build/mjs/utils/matchers.js +35 -0
- package/build/mjs/utils/matchers.js.map +1 -1
- package/build/mjs/vendor/eas.d.ts +4 -1
- package/build/mjs/vendor/eas.js +8 -6
- package/build/mjs/vendor/eas.js.map +1 -1
- package/build/mjs/vendor/environment/common.d.ts +5 -3
- package/build/mjs/vendor/environment/common.js +47 -23
- package/build/mjs/vendor/environment/common.js.map +1 -1
- package/build/mjs/vendor/environment/node.d.ts +2 -7
- package/build/mjs/vendor/environment/node.js +11 -1
- package/build/mjs/vendor/environment/node.js.map +1 -1
- package/build/mjs/vendor/environment/workerd.d.ts +2 -7
- package/build/mjs/vendor/environment/workerd.js +11 -1
- package/build/mjs/vendor/environment/workerd.js.map +1 -1
- package/build/mjs/vendor/netlify.js +1 -1
- package/build/mjs/vendor/netlify.js.map +1 -1
- package/build/mjs/vendor/vercel.js +1 -1
- package/build/mjs/vendor/vercel.js.map +1 -1
- package/build/mjs/vendor/workerd.d.ts +4 -1
- package/build/mjs/vendor/workerd.js +7 -5
- package/build/mjs/vendor/workerd.js.map +1 -1
- package/package.json +2 -2
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
+
/** @hidden */
|
|
8
|
+
export type _ImmutableHeaders = Omit<Headers, 'append' | 'delete' | 'set'>;
|
|
7
9
|
declare const ImmutableHeaders_base: {
|
|
8
10
|
new (init?: HeadersInit): Headers;
|
|
9
11
|
prototype: Headers;
|
|
@@ -11,7 +13,7 @@ declare const ImmutableHeaders_base: {
|
|
|
11
13
|
/**
|
|
12
14
|
* An immutable version of the Fetch API's [`Headers`](https://developer.mozilla.org/en-US/docs/Web/API/Headers) object which prevents mutations.
|
|
13
15
|
*/
|
|
14
|
-
declare class ImmutableHeaders extends ImmutableHeaders_base {
|
|
16
|
+
export declare class ImmutableHeaders extends ImmutableHeaders_base {
|
|
15
17
|
#private;
|
|
16
18
|
set(): void;
|
|
17
19
|
append(): void;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.ImmutableRequest = void 0;
|
|
9
|
+
exports.ImmutableRequest = exports.ImmutableHeaders = void 0;
|
|
10
10
|
exports.assertRuntimeFetchAPISupport = assertRuntimeFetchAPISupport;
|
|
11
11
|
const getHeadersConstructor = () => {
|
|
12
12
|
if (typeof Headers !== 'undefined') {
|
|
@@ -40,6 +40,7 @@ class ImmutableHeaders extends getHeadersConstructor() {
|
|
|
40
40
|
this.#throwImmutableError();
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
+
exports.ImmutableHeaders = ImmutableHeaders;
|
|
43
44
|
/**
|
|
44
45
|
* An immutable version of the Fetch API's [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request) object which prevents mutations to the request body and headers.
|
|
45
46
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImmutableRequest.js","sourceRoot":"","sources":["../../src/ImmutableRequest.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;
|
|
1
|
+
{"version":3,"file":"ImmutableRequest.js","sourceRoot":"","sources":["../../src/ImmutableRequest.ts"],"names":[],"mappings":"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"}
|
package/build/cjs/manifest.d.ts
CHANGED
package/build/cjs/private.d.ts
CHANGED
package/build/cjs/private.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getRscMiddleware = exports.ImmutableRequest = void 0;
|
|
3
|
+
exports.resolveLoaderContextKey = exports.getRscMiddleware = exports.ImmutableRequest = void 0;
|
|
4
4
|
var ImmutableRequest_1 = require("./ImmutableRequest");
|
|
5
5
|
Object.defineProperty(exports, "ImmutableRequest", { enumerable: true, get: function () { return ImmutableRequest_1.ImmutableRequest; } });
|
|
6
6
|
var rsc_1 = require("./middleware/rsc");
|
|
7
7
|
Object.defineProperty(exports, "getRscMiddleware", { enumerable: true, get: function () { return rsc_1.getRscMiddleware; } });
|
|
8
|
+
var matchers_1 = require("./utils/matchers");
|
|
9
|
+
Object.defineProperty(exports, "resolveLoaderContextKey", { enumerable: true, get: function () { return matchers_1.resolveLoaderContextKey; } });
|
|
8
10
|
//# sourceMappingURL=private.js.map
|
package/build/cjs/private.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private.js","sourceRoot":"","sources":["../../src/private.ts"],"names":[],"mappings":";;;AAAA,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,wCAAwE;AAA3C,uGAAA,gBAAgB,OAAA"}
|
|
1
|
+
{"version":3,"file":"private.js","sourceRoot":"","sources":["../../src/private.ts"],"names":[],"mappings":";;;AAAA,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,wCAAwE;AAA3C,uGAAA,gBAAgB,OAAA;AAC7C,6CAA2D;AAAlD,mHAAA,uBAAuB,OAAA"}
|
package/build/cjs/rendering.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
+
import { ImmutableHeaders } from '../ImmutableRequest';
|
|
1
2
|
export { StatusError } from './error';
|
|
2
|
-
/** Returns the current request's
|
|
3
|
+
/** Returns the current request's URL.
|
|
3
4
|
*
|
|
4
|
-
* This typically returns the request's
|
|
5
|
-
*
|
|
5
|
+
* This typically returns the request's URL, or on certain platform,
|
|
6
|
+
* the origin of the request. This does not use the `Origin` header
|
|
7
|
+
* in development as it may contain an untrusted value.
|
|
6
8
|
* @returns A request origin
|
|
7
9
|
*/
|
|
8
10
|
export declare function origin(): string | null;
|
|
11
|
+
/** Returns an immutable copy of the current request's headers. */
|
|
12
|
+
export declare function requestHeaders(): ImmutableHeaders;
|
|
9
13
|
/** Returns the request's environment, if the server runtime supports this.
|
|
10
14
|
*
|
|
11
15
|
* In EAS Hosting, the returned environment name is the
|
package/build/cjs/runtime/api.js
CHANGED
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StatusError = void 0;
|
|
4
4
|
exports.origin = origin;
|
|
5
|
+
exports.requestHeaders = requestHeaders;
|
|
5
6
|
exports.environment = environment;
|
|
6
7
|
exports.runTask = runTask;
|
|
7
8
|
exports.deferTask = deferTask;
|
|
8
9
|
exports.setResponseHeaders = setResponseHeaders;
|
|
10
|
+
const ImmutableRequest_1 = require("../ImmutableRequest");
|
|
9
11
|
const scope_1 = require("./scope");
|
|
10
12
|
function enforcedRequestScope() {
|
|
11
13
|
const scope = scope_1.scopeRef.current?.getStore();
|
|
@@ -25,15 +27,21 @@ function assertSupport(name, v) {
|
|
|
25
27
|
}
|
|
26
28
|
var error_1 = require("./error");
|
|
27
29
|
Object.defineProperty(exports, "StatusError", { enumerable: true, get: function () { return error_1.StatusError; } });
|
|
28
|
-
/** Returns the current request's
|
|
30
|
+
/** Returns the current request's URL.
|
|
29
31
|
*
|
|
30
|
-
* This typically returns the request's
|
|
31
|
-
*
|
|
32
|
+
* This typically returns the request's URL, or on certain platform,
|
|
33
|
+
* the origin of the request. This does not use the `Origin` header
|
|
34
|
+
* in development as it may contain an untrusted value.
|
|
32
35
|
* @returns A request origin
|
|
33
36
|
*/
|
|
34
37
|
function origin() {
|
|
35
38
|
return assertSupport('origin()', enforcedRequestScope().origin);
|
|
36
39
|
}
|
|
40
|
+
/** Returns an immutable copy of the current request's headers. */
|
|
41
|
+
function requestHeaders() {
|
|
42
|
+
const headers = assertSupport('requestHeaders', enforcedRequestScope().requestHeaders);
|
|
43
|
+
return new ImmutableRequest_1.ImmutableHeaders(headers);
|
|
44
|
+
}
|
|
37
45
|
/** Returns the request's environment, if the server runtime supports this.
|
|
38
46
|
*
|
|
39
47
|
* In EAS Hosting, the returned environment name is the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/runtime/api.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/runtime/api.ts"],"names":[],"mappings":";;;AAkCA,wBAEC;AAGD,wCAGC;AAUD,kCAEC;AAYD,0BAEC;AAWD,8BAEC;AAUD,gDAOC;AAlGD,0DAAuD;AACvD,mCAAoD;AAEpD,SAAS,oBAAoB;IAC3B,MAAM,KAAK,GAAG,gBAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,6FAA6F;YAC3F,sDAAsD;YACtD,6EAA6E;YAC7E,4DAA4D,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAI,IAAY,EAAE,CAAgB;IACtD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,wCAAwC,IAAI,0DAA0D,CACvG,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,iCAAsC;AAA7B,oGAAA,WAAW,OAAA;AAEpB;;;;;;GAMG;AACH,SAAgB,MAAM;IACpB,OAAO,aAAa,CAAC,UAAU,EAAE,oBAAoB,EAAE,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC;AAED,kEAAkE;AAClE,SAAgB,cAAc;IAC5B,MAAM,OAAO,GAAG,aAAa,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,CAAC,cAAc,CAAC,CAAC;IACvF,OAAO,IAAI,mCAAgB,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,WAAW;IACzB,OAAO,aAAa,CAAC,eAAe,EAAE,oBAAoB,EAAE,CAAC,WAAW,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,OAAO,CAAC,EAA0B;IAChD,aAAa,CAAC,WAAW,EAAE,oBAAoB,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,SAAS,CAAC,EAAiC;IACzD,aAAa,CAAC,aAAa,EAAE,oBAAoB,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAChC,aAG0C;IAE1C,aAAa,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC,CAAC;AAClG,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type ScopeDefinition, type RequestAPI } from './scope';
|
|
2
2
|
export interface RequestAPISetup extends RequestAPI {
|
|
3
|
-
origin?: string;
|
|
3
|
+
origin?: string | null;
|
|
4
4
|
environment?: string | null;
|
|
5
|
+
requestHeaders?: Headers;
|
|
5
6
|
waitUntil?(promise: Promise<unknown>): void;
|
|
6
7
|
}
|
|
7
8
|
type RequestContextFactory = (...args: any[]) => Partial<RequestAPISetup>;
|
|
@@ -10,7 +10,9 @@ function setupRuntime() {
|
|
|
10
10
|
enumerable: true,
|
|
11
11
|
configurable: true,
|
|
12
12
|
get() {
|
|
13
|
-
|
|
13
|
+
// NOTE(@kitten): By convention, this property must be a string, and runtimes typically
|
|
14
|
+
// choose to stringify "null" when the value is not available
|
|
15
|
+
return scope_1.scopeRef.current?.getStore()?.origin ?? 'null';
|
|
14
16
|
},
|
|
15
17
|
});
|
|
16
18
|
}
|
|
@@ -46,6 +48,7 @@ function createRequestScope(scopeDefinition, makeRequestAPISetup) {
|
|
|
46
48
|
...setup,
|
|
47
49
|
origin: setup.origin,
|
|
48
50
|
environment: setup.environment,
|
|
51
|
+
requestHeaders: setup.requestHeaders,
|
|
49
52
|
waitUntil,
|
|
50
53
|
deferTask: setup.deferTask,
|
|
51
54
|
setResponseHeaders(updateHeaders) {
|
|
@@ -75,6 +78,17 @@ function createRequestScope(scopeDefinition, makeRequestAPISetup) {
|
|
|
75
78
|
throw error;
|
|
76
79
|
}
|
|
77
80
|
}
|
|
81
|
+
// Recreate the response with mutable headers, since the original response
|
|
82
|
+
// may have an immutable headers guard (like from `Response.redirect()`)
|
|
83
|
+
result = new Response(result.body, {
|
|
84
|
+
...result,
|
|
85
|
+
status: result.status,
|
|
86
|
+
statusText: result.statusText,
|
|
87
|
+
headers: result.headers,
|
|
88
|
+
// Cloudflare-specific response properties
|
|
89
|
+
cf: result.cf,
|
|
90
|
+
webSocket: result.webSocket,
|
|
91
|
+
});
|
|
78
92
|
deferredTasks.forEach((fn) => {
|
|
79
93
|
const maybePromise = fn();
|
|
80
94
|
if (maybePromise != null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export type UpdateResponseHeaders = Headers | Record<string, string | string[]> | ((headers: Headers) => Headers | void);
|
|
2
2
|
export interface RequestAPI {
|
|
3
|
-
origin?: string;
|
|
3
|
+
origin?: string | null;
|
|
4
4
|
environment?: string | null;
|
|
5
|
+
requestHeaders?: Headers;
|
|
5
6
|
waitUntil?(promise: Promise<unknown>): void;
|
|
6
7
|
deferTask?(fn: () => Promise<unknown> | void): void;
|
|
7
8
|
setResponseHeaders?(updateHeaders: UpdateResponseHeaders): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../src/runtime/scope.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../src/runtime/scope.ts"],"names":[],"mappings":";;;AAoBA,wHAAwH;AACxH,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACpD,MAAM,WAAW,GACf,UAAU,CAAC;AAEb,MAAM,QAAQ,GACZ,WAAW,CAAC,WAAW,CAAC;IACxB,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG;QAC1B,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;AAEI,4BAAQ"}
|
package/build/cjs/types.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import type { _ImmutableRequest } from './ImmutableRequest';
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
1
|
+
import type { _ImmutableHeaders, _ImmutableRequest } from './ImmutableRequest';
|
|
2
|
+
/**
|
|
3
|
+
* An immutable version of the Fetch API's `Headers` object. It cannot be mutated or modified.
|
|
4
|
+
*/
|
|
5
|
+
export interface ImmutableHeaders extends _ImmutableHeaders {
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* An immutable version of the Fetch API's `Request` object. It cannot be mutated or modified, its
|
|
9
|
+
* headers are immutable, and you won't have access to the request body.
|
|
4
10
|
*/
|
|
5
11
|
export interface ImmutableRequest extends _ImmutableRequest {
|
|
6
12
|
readonly url: string;
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import type { Route } from '../manifest';
|
|
2
2
|
export declare function isResponse(input: unknown): input is Response;
|
|
3
3
|
export declare function parseParams(request: Request, route: Route): Record<string, string>;
|
|
4
|
+
/**
|
|
5
|
+
* Resolves a route's context key into a concrete path by substituting dynamic segments
|
|
6
|
+
* with actual param values.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* resolveLoaderContextKey('/users/[id]`, { id: '123' }) // /users/123
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @see import('expo-router/src/utils/matchers').getSingularId
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveLoaderContextKey(contextKey: string, params: Record<string, string | string[]>): string;
|
|
4
16
|
export declare function getRedirectRewriteLocation(url: URL, request: Request, route: Route): URL;
|
|
5
17
|
/** Match `[page]` -> `page`
|
|
6
18
|
* @privateRemarks Ported from `expo-router/src/matchers.tsx`
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isResponse = isResponse;
|
|
4
4
|
exports.parseParams = parseParams;
|
|
5
|
+
exports.resolveLoaderContextKey = resolveLoaderContextKey;
|
|
5
6
|
exports.getRedirectRewriteLocation = getRedirectRewriteLocation;
|
|
6
7
|
exports.matchDynamicName = matchDynamicName;
|
|
7
8
|
exports.matchDeepDynamicRouteName = matchDeepDynamicRouteName;
|
|
@@ -20,6 +21,41 @@ function parseParams(request, route) {
|
|
|
20
21
|
}
|
|
21
22
|
return params;
|
|
22
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Resolves a route's context key into a concrete path by substituting dynamic segments
|
|
26
|
+
* with actual param values.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```tsx
|
|
30
|
+
* resolveLoaderContextKey('/users/[id]`, { id: '123' }) // /users/123
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @see import('expo-router/src/utils/matchers').getSingularId
|
|
34
|
+
*/
|
|
35
|
+
function resolveLoaderContextKey(contextKey, params) {
|
|
36
|
+
const normalizedKey = contextKey.startsWith('/') ? contextKey.slice(1) : contextKey;
|
|
37
|
+
// TODO(@hassankhan): Extract this logic into its own function and share with getRedirectRewriteLocation() below
|
|
38
|
+
const resolved = normalizedKey
|
|
39
|
+
.split('/')
|
|
40
|
+
.map((segment) => {
|
|
41
|
+
let match;
|
|
42
|
+
if ((match = matchDeepDynamicRouteName(segment))) {
|
|
43
|
+
const value = params[match];
|
|
44
|
+
if (value == null)
|
|
45
|
+
return segment;
|
|
46
|
+
return Array.isArray(value) ? value.join('/') : value;
|
|
47
|
+
}
|
|
48
|
+
if ((match = matchDynamicName(segment))) {
|
|
49
|
+
const value = params[match];
|
|
50
|
+
if (value == null)
|
|
51
|
+
return segment;
|
|
52
|
+
return Array.isArray(value) ? value.join('/') : value;
|
|
53
|
+
}
|
|
54
|
+
return segment;
|
|
55
|
+
})
|
|
56
|
+
.join('/');
|
|
57
|
+
return `/${resolved}`;
|
|
58
|
+
}
|
|
23
59
|
function getRedirectRewriteLocation(url, request, route) {
|
|
24
60
|
const originalQueryParams = url.searchParams.entries();
|
|
25
61
|
const params = parseParams(request, route);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../../src/utils/matchers.ts"],"names":[],"mappings":";;AAEA,gCAEC;AAED,kCAWC;AAED,gEAyCC;AAKD,4CAGC;AAKD,8DAEC;
|
|
1
|
+
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../../src/utils/matchers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { type RequestHandlerParams } from './abstract';
|
|
2
2
|
import { ExecutionContext } from './environment/workerd';
|
|
3
3
|
export { ExpoError } from './abstract';
|
|
4
|
-
export
|
|
4
|
+
export interface RequestHandler<Env = unknown> {
|
|
5
|
+
(req: Request, env: Env, ctx: ExecutionContext): Promise<Response>;
|
|
6
|
+
preload(): Promise<void>;
|
|
7
|
+
}
|
|
5
8
|
/**
|
|
6
9
|
* Returns a request handler for EAS Hosting deployments.
|
|
7
10
|
*/
|
package/build/cjs/vendor/eas.js
CHANGED
|
@@ -14,15 +14,17 @@ const STORE = new node_async_hooks_1.AsyncLocalStorage();
|
|
|
14
14
|
*/
|
|
15
15
|
function createRequestHandler(params, setup) {
|
|
16
16
|
const makeRequestAPISetup = (request, _env, ctx) => ({
|
|
17
|
-
origin: request.headers.get('Origin') ||
|
|
17
|
+
origin: request.headers.get('Origin') || null,
|
|
18
18
|
environment: request.headers.get('eas-environment') || null,
|
|
19
19
|
waitUntil: ctx.waitUntil?.bind(ctx),
|
|
20
20
|
});
|
|
21
21
|
const run = (0, runtime_1.createRequestScope)(STORE, makeRequestAPISetup);
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
const common = (0, workerd_1.createWorkerdEnv)(params);
|
|
23
|
+
const onRequest = (0, abstract_1.createRequestHandler)({ ...common, ...setup });
|
|
24
|
+
function handler(request, env, ctx) {
|
|
25
|
+
return run(onRequest, request, env, ctx);
|
|
26
|
+
}
|
|
27
|
+
handler.preload = common.preload;
|
|
28
|
+
return handler;
|
|
27
29
|
}
|
|
28
30
|
//# sourceMappingURL=eas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eas.js","sourceRoot":"","sources":["../../../src/vendor/eas.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"eas.js","sourceRoot":"","sources":["../../../src/vendor/eas.ts"],"names":[],"mappings":";;;AAkBA,oDAmBC;AArCD,uDAAqD;AAErD,wCAAgD;AAChD,yCAAkG;AAClG,mDAA2E;AAE3E,uCAAuC;AAA9B,qGAAA,SAAS,OAAA;AAOlB,MAAM,KAAK,GAAG,IAAI,oCAAiB,EAAE,CAAC;AAEtC;;GAEG;AACH,SAAgB,oBAAoB,CAClC,MAA0B,EAC1B,KAA4B;IAE5B,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,IAAS,EAAE,GAAqB,EAAE,EAAE,CAAC,CAAC;QACnF,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI;QAC7C,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI;QAC3D,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC;KACpC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,IAAA,4BAAkB,EAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAA,0BAAgB,EAAC,MAAM,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAA,+BAAiB,EAAC,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAE7D,SAAS,OAAO,CAAC,OAAgB,EAAE,GAAQ,EAAE,GAAqB;QAChE,OAAO,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACjC,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -5,11 +5,13 @@ interface EnvironmentInput {
|
|
|
5
5
|
loadModule(request: string): Promise<unknown>;
|
|
6
6
|
isDevelopment: boolean;
|
|
7
7
|
}
|
|
8
|
-
export
|
|
9
|
-
getRoutesManifest(): Promise<Manifest>;
|
|
8
|
+
export interface CommonEnvironment {
|
|
9
|
+
getRoutesManifest(): Promise<Manifest | null>;
|
|
10
10
|
getHtml(request: Request, route: Route): Promise<string | Response | null>;
|
|
11
11
|
getApiRoute(route: Route): Promise<unknown>;
|
|
12
12
|
getMiddleware(middleware: MiddlewareInfo): Promise<any>;
|
|
13
13
|
getLoaderData(request: Request, route: Route): Promise<Response>;
|
|
14
|
-
|
|
14
|
+
preload(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export declare function createEnvironment(input: EnvironmentInput): CommonEnvironment;
|
|
15
17
|
export {};
|
|
@@ -6,36 +6,36 @@ const matchers_1 = require("../../utils/matchers");
|
|
|
6
6
|
function initManifestRegExp(manifest) {
|
|
7
7
|
return {
|
|
8
8
|
...manifest,
|
|
9
|
-
htmlRoutes: manifest.htmlRoutes
|
|
9
|
+
htmlRoutes: manifest.htmlRoutes?.map((route) => ({
|
|
10
10
|
...route,
|
|
11
11
|
namedRegex: new RegExp(route.namedRegex),
|
|
12
|
-
})),
|
|
13
|
-
apiRoutes: manifest.apiRoutes
|
|
12
|
+
})) ?? [],
|
|
13
|
+
apiRoutes: manifest.apiRoutes?.map((route) => ({
|
|
14
14
|
...route,
|
|
15
15
|
namedRegex: new RegExp(route.namedRegex),
|
|
16
|
-
})),
|
|
17
|
-
notFoundRoutes: manifest.notFoundRoutes
|
|
16
|
+
})) ?? [],
|
|
17
|
+
notFoundRoutes: manifest.notFoundRoutes?.map((route) => ({
|
|
18
18
|
...route,
|
|
19
19
|
namedRegex: new RegExp(route.namedRegex),
|
|
20
|
-
})),
|
|
20
|
+
})) ?? [],
|
|
21
21
|
redirects: manifest.redirects?.map((route) => ({
|
|
22
22
|
...route,
|
|
23
23
|
namedRegex: new RegExp(route.namedRegex),
|
|
24
|
-
})),
|
|
24
|
+
})) ?? [],
|
|
25
25
|
rewrites: manifest.rewrites?.map((route) => ({
|
|
26
26
|
...route,
|
|
27
27
|
namedRegex: new RegExp(route.namedRegex),
|
|
28
|
-
})),
|
|
28
|
+
})) ?? [],
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
function createEnvironment(input) {
|
|
32
32
|
// Cached manifest and SSR renderer, initialized on first request
|
|
33
|
-
let cachedManifest
|
|
33
|
+
let cachedManifest;
|
|
34
34
|
let ssrRenderer = null;
|
|
35
|
-
async function
|
|
36
|
-
if (
|
|
35
|
+
async function getRoutesManifest() {
|
|
36
|
+
if (cachedManifest === undefined || input.isDevelopment) {
|
|
37
37
|
const json = await input.readJson('_expo/routes.json');
|
|
38
|
-
cachedManifest = initManifestRegExp(json);
|
|
38
|
+
cachedManifest = json ? initManifestRegExp(json) : null;
|
|
39
39
|
}
|
|
40
40
|
return cachedManifest;
|
|
41
41
|
}
|
|
@@ -43,8 +43,8 @@ function createEnvironment(input) {
|
|
|
43
43
|
if (ssrRenderer && !input.isDevelopment) {
|
|
44
44
|
return ssrRenderer;
|
|
45
45
|
}
|
|
46
|
-
const manifest = await
|
|
47
|
-
if (manifest
|
|
46
|
+
const manifest = await getRoutesManifest();
|
|
47
|
+
if (manifest?.rendering?.mode !== 'ssr') {
|
|
48
48
|
return null;
|
|
49
49
|
}
|
|
50
50
|
// If `manifest.rendering.mode === 'ssr'`, we always expect the SSR rendering module to be
|
|
@@ -65,7 +65,7 @@ function createEnvironment(input) {
|
|
|
65
65
|
};
|
|
66
66
|
return ssrRenderer;
|
|
67
67
|
}
|
|
68
|
-
async function executeLoader(request, route) {
|
|
68
|
+
async function executeLoader(request, route, params) {
|
|
69
69
|
if (!route.loader) {
|
|
70
70
|
return undefined;
|
|
71
71
|
}
|
|
@@ -73,13 +73,10 @@ function createEnvironment(input) {
|
|
|
73
73
|
if (!loaderModule) {
|
|
74
74
|
throw new Error(`Loader module not found at: ${route.loader}`);
|
|
75
75
|
}
|
|
76
|
-
const params = (0, matchers_1.parseParams)(request, route);
|
|
77
76
|
return loaderModule.loader(new ImmutableRequest_1.ImmutableRequest(request), params);
|
|
78
77
|
}
|
|
79
78
|
return {
|
|
80
|
-
|
|
81
|
-
return getCachedRoutesManifest();
|
|
82
|
-
},
|
|
79
|
+
getRoutesManifest,
|
|
83
80
|
async getHtml(request, route) {
|
|
84
81
|
// SSR path: Render at runtime if SSR module is available
|
|
85
82
|
const renderer = await getServerRenderer();
|
|
@@ -87,9 +84,15 @@ function createEnvironment(input) {
|
|
|
87
84
|
let renderOptions;
|
|
88
85
|
try {
|
|
89
86
|
if (route.loader) {
|
|
90
|
-
const
|
|
87
|
+
const params = (0, matchers_1.parseParams)(request, route);
|
|
88
|
+
const result = await executeLoader(request, route, params);
|
|
91
89
|
const data = (0, matchers_1.isResponse)(result) ? await result.json() : result;
|
|
92
|
-
renderOptions = {
|
|
90
|
+
renderOptions = {
|
|
91
|
+
loader: {
|
|
92
|
+
data: data ?? null,
|
|
93
|
+
key: (0, matchers_1.resolveLoaderContextKey)(route.page, params),
|
|
94
|
+
},
|
|
95
|
+
};
|
|
93
96
|
}
|
|
94
97
|
return await renderer(request, renderOptions);
|
|
95
98
|
}
|
|
@@ -125,12 +128,33 @@ function createEnvironment(input) {
|
|
|
125
128
|
return mod;
|
|
126
129
|
},
|
|
127
130
|
async getLoaderData(request, route) {
|
|
128
|
-
const
|
|
131
|
+
const params = (0, matchers_1.parseParams)(request, route);
|
|
132
|
+
const result = await executeLoader(request, route, params);
|
|
129
133
|
if ((0, matchers_1.isResponse)(result)) {
|
|
130
134
|
return result;
|
|
131
135
|
}
|
|
132
136
|
return Response.json(result ?? null);
|
|
133
137
|
},
|
|
138
|
+
async preload() {
|
|
139
|
+
if (input.isDevelopment) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
const manifest = await getRoutesManifest();
|
|
143
|
+
if (manifest) {
|
|
144
|
+
const requests = [];
|
|
145
|
+
if (manifest.middleware)
|
|
146
|
+
requests.push(manifest.middleware.file);
|
|
147
|
+
if (manifest.rendering)
|
|
148
|
+
requests.push(manifest.rendering.file);
|
|
149
|
+
for (const apiRoute of manifest.apiRoutes)
|
|
150
|
+
requests.push(apiRoute.file);
|
|
151
|
+
for (const htmlRoute of manifest.htmlRoutes) {
|
|
152
|
+
if (htmlRoute.loader)
|
|
153
|
+
requests.push(htmlRoute.loader);
|
|
154
|
+
}
|
|
155
|
+
await Promise.all(requests.map((request) => input.loadModule(request)));
|
|
156
|
+
}
|
|
157
|
+
},
|
|
134
158
|
};
|
|
135
159
|
}
|
|
136
160
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/vendor/environment/common.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/vendor/environment/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
+
import { type CommonEnvironment } from './common';
|
|
1
2
|
import type { ScopeDefinition } from '../../runtime/scope';
|
|
2
3
|
interface NodeEnvParams {
|
|
3
4
|
build: string;
|
|
4
5
|
environment?: string | null;
|
|
5
6
|
isDevelopment?: boolean;
|
|
6
7
|
}
|
|
7
|
-
export declare function createNodeEnv(params: NodeEnvParams):
|
|
8
|
-
getRoutesManifest(): Promise<import("../../manifest").Manifest>;
|
|
9
|
-
getHtml(request: Request, route: import("../../manifest").Route): Promise<string | Response | null>;
|
|
10
|
-
getApiRoute(route: import("../../manifest").Route): Promise<unknown>;
|
|
11
|
-
getMiddleware(middleware: import("../../manifest").MiddlewareInfo): Promise<any>;
|
|
12
|
-
getLoaderData(request: Request, route: import("../../manifest").Route): Promise<Response>;
|
|
13
|
-
};
|
|
8
|
+
export declare function createNodeEnv(params: NodeEnvParams): CommonEnvironment;
|
|
14
9
|
export declare function createNodeRequestScope(scopeDefinition: ScopeDefinition, params: NodeEnvParams): (fn: (request: Request) => Promise<Response>, request: Request) => Promise<Response>;
|
|
15
10
|
export {};
|
|
@@ -47,9 +47,19 @@ function createNodeEnv(params) {
|
|
|
47
47
|
isDevelopment: params.isDevelopment ?? false,
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
|
+
const getRequestURLOrigin = (request) => {
|
|
51
|
+
try {
|
|
52
|
+
// NOTE: We don't trust any headers on incoming requests in "raw" environments
|
|
53
|
+
return new URL(request.url).origin || null;
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
50
59
|
function createNodeRequestScope(scopeDefinition, params) {
|
|
51
60
|
return (0, runtime_1.createRequestScope)(scopeDefinition, (request) => ({
|
|
52
|
-
|
|
61
|
+
requestHeaders: request.headers,
|
|
62
|
+
origin: getRequestURLOrigin(request),
|
|
53
63
|
environment: params.environment ?? process.env.NODE_ENV,
|
|
54
64
|
}));
|
|
55
65
|
}
|