@terreno/rtk 0.16.1 → 0.17.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/constants.d.ts +7 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +25 -1
- package/dist/constants.js.map +1 -1
- package/dist/constants.test.js +59 -1
- package/dist/constants.test.js.map +1 -1
- package/package.json +2 -2
- package/src/constants.test.ts +65 -0
- package/src/constants.ts +32 -1
package/dist/constants.d.ts
CHANGED
|
@@ -28,6 +28,12 @@ export interface BaseUrls {
|
|
|
28
28
|
baseWebsocketsUrl: string;
|
|
29
29
|
baseTasksUrl: string;
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Sentinel value for `BASE_URL`. When set in `app.json` `extra.BASE_URL`, the
|
|
33
|
+
* base URL resolves to the runtime page origin (`window.location.origin`).
|
|
34
|
+
* Used by same-origin deployments such as the standalone admin SPA.
|
|
35
|
+
*/
|
|
36
|
+
export declare const SAME_ORIGIN_SENTINEL = "__SAME_ORIGIN__";
|
|
31
37
|
/**
|
|
32
38
|
* Pure resolver for the base URLs used throughout the RTK package.
|
|
33
39
|
* Decoupled from the Expo-constants module so it can be unit tested.
|
|
@@ -36,6 +42,7 @@ export declare const resolveBaseUrls: (args: {
|
|
|
36
42
|
envApiUrl?: string;
|
|
37
43
|
expoConstants: ExpoConstantsShape;
|
|
38
44
|
isDev: boolean;
|
|
45
|
+
windowOrigin?: string;
|
|
39
46
|
}) => BaseUrls;
|
|
40
47
|
export declare const baseUrl: string;
|
|
41
48
|
export declare const baseWebsocketsUrl: string;
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC;AAC5B,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAChD,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AAEpE,eAAO,MAAM,UAAU,SAAqD,CAAC;AAK7E,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,MAAM,EAAE,KAAG,IAI3C,CAAC;AAWF,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,GAAI,SAAS,OAAO,KAAG,IAEnD,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAAO,OAE3C,CAAC;AAGF,eAAO,MAAM,SAAS,GACpB,OAAO;IAAC,YAAY,CAAC,EAAE;QAAC,eAAe,CAAC,EAAE;YAAC,OAAO,CAAC,EAAE,OAAO,CAAA;SAAC,CAAA;KAAC,CAAA;CAAC,GAAG,OAAO,EACzE,GAAG,MAAM,MAAM,EAAE,KAChB,IAQF,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;QAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,YAAY,CAAC,EAAE;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC;AAC5B,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAChD,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AAEpE,eAAO,MAAM,UAAU,SAAqD,CAAC;AAK7E,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,MAAM,EAAE,KAAG,IAI3C,CAAC;AAWF,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,GAAI,SAAS,OAAO,KAAG,IAEnD,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAAO,OAE3C,CAAC;AAGF,eAAO,MAAM,SAAS,GACpB,OAAO;IAAC,YAAY,CAAC,EAAE;QAAC,eAAe,CAAC,EAAE;YAAC,OAAO,CAAC,EAAE,OAAO,CAAA;SAAC,CAAA;KAAC,CAAA;CAAC,GAAG,OAAO,EACzE,GAAG,MAAM,MAAM,EAAE,KAChB,IAQF,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;QAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,YAAY,CAAC,EAAE;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAQtD;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,kBAAkB,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC;IAGf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KAAG,QAwCH,CAAC;AAyBF,eAAO,MAAM,OAAO,QAAmB,CAAC;AACxC,eAAO,MAAM,iBAAiB,QAA6B,CAAC;AAC5D,eAAO,MAAM,YAAY,QAAwB,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -32,6 +32,12 @@ export const logSocket = (user, ...args) => {
|
|
|
32
32
|
console.info("[websocket]", ...args);
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
|
+
/**
|
|
36
|
+
* Sentinel value for `BASE_URL`. When set in `app.json` `extra.BASE_URL`, the
|
|
37
|
+
* base URL resolves to the runtime page origin (`window.location.origin`).
|
|
38
|
+
* Used by same-origin deployments such as the standalone admin SPA.
|
|
39
|
+
*/
|
|
40
|
+
export const SAME_ORIGIN_SENTINEL = "__SAME_ORIGIN__";
|
|
35
41
|
const LOCALHOST = {
|
|
36
42
|
baseTasksUrl: "http://localhost:4000/tasks",
|
|
37
43
|
baseUrl: "http://localhost:4000",
|
|
@@ -45,7 +51,20 @@ export const resolveBaseUrls = (args) => {
|
|
|
45
51
|
const hostUriPrefix = args.expoConstants.expoConfig?.hostUri?.split(":").shift();
|
|
46
52
|
const experiencePrefix = args.expoConstants.experienceUrl?.split(":")[1];
|
|
47
53
|
const baseFromExtra = args.expoConstants.expoConfig?.extra?.BASE_URL;
|
|
48
|
-
|
|
54
|
+
// Same-origin sentinel: resolves to the page origin at runtime, regardless of
|
|
55
|
+
// isDev. This check must run before the isDev branching below, otherwise the
|
|
56
|
+
// sentinel would be silently dead in dev mode (which gates baseFromExtra).
|
|
57
|
+
if (baseFromExtra === SAME_ORIGIN_SENTINEL && args.windowOrigin) {
|
|
58
|
+
const origin = args.windowOrigin;
|
|
59
|
+
return {
|
|
60
|
+
baseTasksUrl: `${origin}/tasks`,
|
|
61
|
+
baseUrl: origin,
|
|
62
|
+
baseWebsocketsUrl: `${origin.replace(/^http/, "ws")}/`,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
// Never treat the sentinel as a literal base URL in the fallback path.
|
|
66
|
+
const resolvedBaseFromExtra = baseFromExtra === SAME_ORIGIN_SENTINEL ? undefined : baseFromExtra;
|
|
67
|
+
const base = args.envApiUrl || (!args.isDev ? resolvedBaseFromExtra : undefined);
|
|
49
68
|
const host = args.isDev ? hostUriPrefix : !base ? hostUriPrefix : undefined;
|
|
50
69
|
const experience = !base && !host ? experiencePrefix : undefined;
|
|
51
70
|
if (base)
|
|
@@ -74,10 +93,15 @@ if (Constants.expoGoConfig?.debuggerHost?.includes("exp.direct")) {
|
|
|
74
93
|
console.error("Expo Tunnel is not currently supported for connecting to the API, please use LAN or Local mode.");
|
|
75
94
|
}
|
|
76
95
|
const isDev = typeof __DEV__ !== "undefined" && __DEV__;
|
|
96
|
+
const windowOrigin = typeof globalThis !== "undefined" &&
|
|
97
|
+
globalThis.location?.origin
|
|
98
|
+
? globalThis.location?.origin
|
|
99
|
+
: undefined;
|
|
77
100
|
const resolved = resolveBaseUrls({
|
|
78
101
|
envApiUrl: process.env.EXPO_PUBLIC_API_URL,
|
|
79
102
|
expoConstants: Constants,
|
|
80
103
|
isDev,
|
|
104
|
+
windowOrigin,
|
|
81
105
|
});
|
|
82
106
|
export const baseUrl = resolved.baseUrl;
|
|
83
107
|
export const baseWebsocketsUrl = resolved.baseWebsocketsUrl;
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAIvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAChD,MAAM,CAAC,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AAEpE,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC;AAC7E,IAAI,UAAU,EAAE,CAAC;IACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAc,EAAQ,EAAE;IACjD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC;AACH,CAAC,CAAC;AAEF,iEAAiE;AACjE,2FAA2F;AAC3F,MAAM,gBAAgB,GAAG,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,gBAAgB,KAAK,MAAM,CAAC;AAClF,IAAI,gBAAgB,EAAE,CAAC;IACrB,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC/C,CAAC;AAED,IAAI,sBAAsB,GAAG,KAAK,CAAC;AAEnC,yFAAyF;AACzF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAQ,EAAE;IACzD,sBAAsB,GAAG,OAAO,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAY,EAAE;IACpD,OAAO,gBAAgB,IAAI,sBAAsB,CAAC;AACpD,CAAC,CAAC;AAEF,+GAA+G;AAC/G,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,IAAyE,EACzE,GAAG,IAAc,EACX,EAAE;IACR,IACE,OAAO,IAAI,KAAK,SAAS;QACvB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,IAAI,wBAAwB,EAAE,EAC9E,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;AACH,CAAC,CAAC;AAmBF,MAAM,SAAS,GAAa;IAC1B,YAAY,EAAE,6BAA6B;IAC3C,OAAO,EAAE,uBAAuB;IAChC,iBAAiB,EAAE,sBAAsB;CAC1C,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.test.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { afterEach, beforeEach, describe, expect, it } from "bun:test";
|
|
2
|
-
import { AUTH_DEBUG, baseTasksUrl, baseUrl, baseWebsocketsUrl, isWebsocketsDebugEnabled, logAuth, logSocket, resolveBaseUrls, setRealtimeDebug, } from "./constants";
|
|
2
|
+
import { AUTH_DEBUG, baseTasksUrl, baseUrl, baseWebsocketsUrl, isWebsocketsDebugEnabled, logAuth, logSocket, resolveBaseUrls, SAME_ORIGIN_SENTINEL, setRealtimeDebug, } from "./constants";
|
|
3
3
|
describe("resolveBaseUrls", () => {
|
|
4
4
|
it("treats an empty envApiUrl as unset and falls back to localhost", () => {
|
|
5
5
|
const urls = resolveBaseUrls({
|
|
@@ -159,6 +159,64 @@ describe("resolveBaseUrls", () => {
|
|
|
159
159
|
expect(urls.baseWebsocketsUrl).toBe("https://backend.example.com/");
|
|
160
160
|
expect(urls.baseTasksUrl).toBe("https://backend.example.com/tasks");
|
|
161
161
|
});
|
|
162
|
+
it("resolves the same-origin sentinel to the window origin (https -> wss)", () => {
|
|
163
|
+
const urls = resolveBaseUrls({
|
|
164
|
+
expoConstants: { expoConfig: { extra: { BASE_URL: SAME_ORIGIN_SENTINEL } } },
|
|
165
|
+
isDev: false,
|
|
166
|
+
windowOrigin: "https://api.example.com",
|
|
167
|
+
});
|
|
168
|
+
expect(urls.baseUrl).toBe("https://api.example.com");
|
|
169
|
+
expect(urls.baseWebsocketsUrl).toBe("wss://api.example.com/");
|
|
170
|
+
expect(urls.baseTasksUrl).toBe("https://api.example.com/tasks");
|
|
171
|
+
});
|
|
172
|
+
it("resolves the same-origin sentinel to the window origin (http -> ws)", () => {
|
|
173
|
+
const urls = resolveBaseUrls({
|
|
174
|
+
expoConstants: { expoConfig: { extra: { BASE_URL: SAME_ORIGIN_SENTINEL } } },
|
|
175
|
+
isDev: false,
|
|
176
|
+
windowOrigin: "http://localhost:4000",
|
|
177
|
+
});
|
|
178
|
+
expect(urls.baseUrl).toBe("http://localhost:4000");
|
|
179
|
+
expect(urls.baseWebsocketsUrl).toBe("ws://localhost:4000/");
|
|
180
|
+
expect(urls.baseTasksUrl).toBe("http://localhost:4000/tasks");
|
|
181
|
+
});
|
|
182
|
+
it("resolves the same-origin sentinel even in dev mode when a window origin exists", () => {
|
|
183
|
+
const urls = resolveBaseUrls({
|
|
184
|
+
expoConstants: {
|
|
185
|
+
expoConfig: { extra: { BASE_URL: SAME_ORIGIN_SENTINEL }, hostUri: "10.0.0.5:8081" },
|
|
186
|
+
},
|
|
187
|
+
isDev: true,
|
|
188
|
+
windowOrigin: "https://admin.example.com",
|
|
189
|
+
});
|
|
190
|
+
expect(urls.baseUrl).toBe("https://admin.example.com");
|
|
191
|
+
expect(urls.baseWebsocketsUrl).toBe("wss://admin.example.com/");
|
|
192
|
+
});
|
|
193
|
+
it("falls back to existing resolution when the sentinel is set but no window origin", () => {
|
|
194
|
+
const urls = resolveBaseUrls({
|
|
195
|
+
expoConstants: { expoConfig: { extra: { BASE_URL: SAME_ORIGIN_SENTINEL } } },
|
|
196
|
+
isDev: false,
|
|
197
|
+
});
|
|
198
|
+
expect(urls.baseUrl).toBe("http://localhost:4000");
|
|
199
|
+
expect(urls.baseWebsocketsUrl).toBe("ws://localhost:4000/");
|
|
200
|
+
});
|
|
201
|
+
it("does not treat the sentinel as a literal base URL when a window origin is absent", () => {
|
|
202
|
+
const urls = resolveBaseUrls({
|
|
203
|
+
expoConstants: {
|
|
204
|
+
expoConfig: { extra: { BASE_URL: SAME_ORIGIN_SENTINEL }, hostUri: "172.16.0.3:8081" },
|
|
205
|
+
},
|
|
206
|
+
isDev: false,
|
|
207
|
+
});
|
|
208
|
+
// Sentinel ignored -> falls through to hostUri resolution, not the literal "__SAME_ORIGIN__".
|
|
209
|
+
expect(urls.baseUrl).toBe("http://172.16.0.3:4000");
|
|
210
|
+
});
|
|
211
|
+
it("leaves a non-sentinel BASE_URL unchanged when a window origin is present", () => {
|
|
212
|
+
const urls = resolveBaseUrls({
|
|
213
|
+
expoConstants: { expoConfig: { extra: { BASE_URL: "https://api.prod.com" } } },
|
|
214
|
+
isDev: false,
|
|
215
|
+
windowOrigin: "https://some-other-origin.com",
|
|
216
|
+
});
|
|
217
|
+
expect(urls.baseUrl).toBe("https://api.prod.com");
|
|
218
|
+
expect(urls.baseWebsocketsUrl).toBe("https://ws.prod.com/");
|
|
219
|
+
});
|
|
162
220
|
});
|
|
163
221
|
describe("module-level exports", () => {
|
|
164
222
|
it("exports baseUrl / websockets / tasks URLs that resolve to localhost with default mocks", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.test.js","sourceRoot":"","sources":["../src/constants.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.test.js","sourceRoot":"","sources":["../src/constants.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"@better-auth/expo": "^1.2.8",
|
|
4
4
|
"@react-native-async-storage/async-storage": "2.2.0",
|
|
5
5
|
"@reduxjs/toolkit": "^2.11.1",
|
|
6
|
-
"@terreno/ui": "0.
|
|
6
|
+
"@terreno/ui": "0.17.0",
|
|
7
7
|
"async-mutex": "^0.5.0",
|
|
8
8
|
"axios": "^1.13.2",
|
|
9
9
|
"axios-retry": "^4.5.0",
|
|
@@ -67,5 +67,5 @@
|
|
|
67
67
|
"test:coverage": "bun run ../scripts/check-coverage.ts"
|
|
68
68
|
},
|
|
69
69
|
"types": "dist/index.d.ts",
|
|
70
|
-
"version": "0.
|
|
70
|
+
"version": "0.17.0"
|
|
71
71
|
}
|
package/src/constants.test.ts
CHANGED
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
logAuth,
|
|
10
10
|
logSocket,
|
|
11
11
|
resolveBaseUrls,
|
|
12
|
+
SAME_ORIGIN_SENTINEL,
|
|
12
13
|
setRealtimeDebug,
|
|
13
14
|
} from "./constants";
|
|
14
15
|
|
|
@@ -187,6 +188,70 @@ describe("resolveBaseUrls", () => {
|
|
|
187
188
|
expect(urls.baseWebsocketsUrl).toBe("https://backend.example.com/");
|
|
188
189
|
expect(urls.baseTasksUrl).toBe("https://backend.example.com/tasks");
|
|
189
190
|
});
|
|
191
|
+
|
|
192
|
+
it("resolves the same-origin sentinel to the window origin (https -> wss)", () => {
|
|
193
|
+
const urls = resolveBaseUrls({
|
|
194
|
+
expoConstants: {expoConfig: {extra: {BASE_URL: SAME_ORIGIN_SENTINEL}}},
|
|
195
|
+
isDev: false,
|
|
196
|
+
windowOrigin: "https://api.example.com",
|
|
197
|
+
});
|
|
198
|
+
expect(urls.baseUrl).toBe("https://api.example.com");
|
|
199
|
+
expect(urls.baseWebsocketsUrl).toBe("wss://api.example.com/");
|
|
200
|
+
expect(urls.baseTasksUrl).toBe("https://api.example.com/tasks");
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
it("resolves the same-origin sentinel to the window origin (http -> ws)", () => {
|
|
204
|
+
const urls = resolveBaseUrls({
|
|
205
|
+
expoConstants: {expoConfig: {extra: {BASE_URL: SAME_ORIGIN_SENTINEL}}},
|
|
206
|
+
isDev: false,
|
|
207
|
+
windowOrigin: "http://localhost:4000",
|
|
208
|
+
});
|
|
209
|
+
expect(urls.baseUrl).toBe("http://localhost:4000");
|
|
210
|
+
expect(urls.baseWebsocketsUrl).toBe("ws://localhost:4000/");
|
|
211
|
+
expect(urls.baseTasksUrl).toBe("http://localhost:4000/tasks");
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
it("resolves the same-origin sentinel even in dev mode when a window origin exists", () => {
|
|
215
|
+
const urls = resolveBaseUrls({
|
|
216
|
+
expoConstants: {
|
|
217
|
+
expoConfig: {extra: {BASE_URL: SAME_ORIGIN_SENTINEL}, hostUri: "10.0.0.5:8081"},
|
|
218
|
+
},
|
|
219
|
+
isDev: true,
|
|
220
|
+
windowOrigin: "https://admin.example.com",
|
|
221
|
+
});
|
|
222
|
+
expect(urls.baseUrl).toBe("https://admin.example.com");
|
|
223
|
+
expect(urls.baseWebsocketsUrl).toBe("wss://admin.example.com/");
|
|
224
|
+
});
|
|
225
|
+
|
|
226
|
+
it("falls back to existing resolution when the sentinel is set but no window origin", () => {
|
|
227
|
+
const urls = resolveBaseUrls({
|
|
228
|
+
expoConstants: {expoConfig: {extra: {BASE_URL: SAME_ORIGIN_SENTINEL}}},
|
|
229
|
+
isDev: false,
|
|
230
|
+
});
|
|
231
|
+
expect(urls.baseUrl).toBe("http://localhost:4000");
|
|
232
|
+
expect(urls.baseWebsocketsUrl).toBe("ws://localhost:4000/");
|
|
233
|
+
});
|
|
234
|
+
|
|
235
|
+
it("does not treat the sentinel as a literal base URL when a window origin is absent", () => {
|
|
236
|
+
const urls = resolveBaseUrls({
|
|
237
|
+
expoConstants: {
|
|
238
|
+
expoConfig: {extra: {BASE_URL: SAME_ORIGIN_SENTINEL}, hostUri: "172.16.0.3:8081"},
|
|
239
|
+
},
|
|
240
|
+
isDev: false,
|
|
241
|
+
});
|
|
242
|
+
// Sentinel ignored -> falls through to hostUri resolution, not the literal "__SAME_ORIGIN__".
|
|
243
|
+
expect(urls.baseUrl).toBe("http://172.16.0.3:4000");
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
it("leaves a non-sentinel BASE_URL unchanged when a window origin is present", () => {
|
|
247
|
+
const urls = resolveBaseUrls({
|
|
248
|
+
expoConstants: {expoConfig: {extra: {BASE_URL: "https://api.prod.com"}}},
|
|
249
|
+
isDev: false,
|
|
250
|
+
windowOrigin: "https://some-other-origin.com",
|
|
251
|
+
});
|
|
252
|
+
expect(urls.baseUrl).toBe("https://api.prod.com");
|
|
253
|
+
expect(urls.baseWebsocketsUrl).toBe("https://ws.prod.com/");
|
|
254
|
+
});
|
|
190
255
|
});
|
|
191
256
|
|
|
192
257
|
describe("module-level exports", () => {
|
package/src/constants.ts
CHANGED
|
@@ -65,6 +65,13 @@ export interface BaseUrls {
|
|
|
65
65
|
baseTasksUrl: string;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
+
/**
|
|
69
|
+
* Sentinel value for `BASE_URL`. When set in `app.json` `extra.BASE_URL`, the
|
|
70
|
+
* base URL resolves to the runtime page origin (`window.location.origin`).
|
|
71
|
+
* Used by same-origin deployments such as the standalone admin SPA.
|
|
72
|
+
*/
|
|
73
|
+
export const SAME_ORIGIN_SENTINEL = "__SAME_ORIGIN__";
|
|
74
|
+
|
|
68
75
|
const LOCALHOST: BaseUrls = {
|
|
69
76
|
baseTasksUrl: "http://localhost:4000/tasks",
|
|
70
77
|
baseUrl: "http://localhost:4000",
|
|
@@ -79,11 +86,28 @@ export const resolveBaseUrls = (args: {
|
|
|
79
86
|
envApiUrl?: string;
|
|
80
87
|
expoConstants: ExpoConstantsShape;
|
|
81
88
|
isDev: boolean;
|
|
89
|
+
// Defaults to globalThis.location.origin at the module-level call site.
|
|
90
|
+
// Injectable so the sentinel resolution can be unit tested without a DOM.
|
|
91
|
+
windowOrigin?: string;
|
|
82
92
|
}): BaseUrls => {
|
|
83
93
|
const hostUriPrefix = args.expoConstants.expoConfig?.hostUri?.split(":").shift();
|
|
84
94
|
const experiencePrefix = args.expoConstants.experienceUrl?.split(":")[1];
|
|
85
95
|
const baseFromExtra = args.expoConstants.expoConfig?.extra?.BASE_URL;
|
|
86
|
-
|
|
96
|
+
|
|
97
|
+
// Same-origin sentinel: resolves to the page origin at runtime, regardless of
|
|
98
|
+
// isDev. This check must run before the isDev branching below, otherwise the
|
|
99
|
+
// sentinel would be silently dead in dev mode (which gates baseFromExtra).
|
|
100
|
+
if (baseFromExtra === SAME_ORIGIN_SENTINEL && args.windowOrigin) {
|
|
101
|
+
const origin = args.windowOrigin;
|
|
102
|
+
return {
|
|
103
|
+
baseTasksUrl: `${origin}/tasks`,
|
|
104
|
+
baseUrl: origin,
|
|
105
|
+
baseWebsocketsUrl: `${origin.replace(/^http/, "ws")}/`,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
// Never treat the sentinel as a literal base URL in the fallback path.
|
|
109
|
+
const resolvedBaseFromExtra = baseFromExtra === SAME_ORIGIN_SENTINEL ? undefined : baseFromExtra;
|
|
110
|
+
const base = args.envApiUrl || (!args.isDev ? resolvedBaseFromExtra : undefined);
|
|
87
111
|
const host = args.isDev ? hostUriPrefix : !base ? hostUriPrefix : undefined;
|
|
88
112
|
const experience = !base && !host ? experiencePrefix : undefined;
|
|
89
113
|
if (base)
|
|
@@ -117,10 +141,17 @@ if (Constants.expoGoConfig?.debuggerHost?.includes("exp.direct")) {
|
|
|
117
141
|
|
|
118
142
|
const isDev = typeof __DEV__ !== "undefined" && __DEV__;
|
|
119
143
|
|
|
144
|
+
const windowOrigin =
|
|
145
|
+
typeof globalThis !== "undefined" &&
|
|
146
|
+
(globalThis as {location?: {origin?: string}}).location?.origin
|
|
147
|
+
? (globalThis as {location?: {origin?: string}}).location?.origin
|
|
148
|
+
: undefined;
|
|
149
|
+
|
|
120
150
|
const resolved = resolveBaseUrls({
|
|
121
151
|
envApiUrl: process.env.EXPO_PUBLIC_API_URL,
|
|
122
152
|
expoConstants: Constants as ExpoConstantsShape,
|
|
123
153
|
isDev,
|
|
154
|
+
windowOrigin,
|
|
124
155
|
});
|
|
125
156
|
|
|
126
157
|
export const baseUrl = resolved.baseUrl;
|