@hexclave/js 1.0.110 → 1.0.112
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/{admin-app-impl-G4DIOMk4.d.ts → admin-app-impl-DLUdv3HI.d.ts} +8 -8
- package/dist/{admin-app-impl-G4DIOMk4.d.ts.map → admin-app-impl-DLUdv3HI.d.ts.map} +1 -1
- package/dist/{cookie-DTOQvCYn.d.ts → cookie-DwI1VmzU.d.ts} +6 -1
- package/dist/cookie-DwI1VmzU.d.ts.map +1 -0
- package/dist/esm/lib/cookie.d.ts +5 -0
- package/dist/esm/lib/cookie.d.ts.map +1 -1
- package/dist/esm/lib/cookie.js +5 -0
- package/dist/esm/lib/cookie.js.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts +4 -4
- package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts +2 -2
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.next-server-session.test.d.ts +1 -0
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.next-server-session.test.js +46 -0
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.next-server-session.test.js.map +1 -0
- package/dist/esm/lib/hexclave-app/apps/implementations/common.js +2 -2
- package/dist/lib/cookie.d.ts +1 -1
- package/dist/lib/cookie.js +5 -0
- package/dist/lib/cookie.js.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts +1 -1
- package/dist/lib/hexclave-app/apps/implementations/client-app-impl.d.ts +1 -1
- package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/client-app-impl.next-server-session.test.d.ts +1 -0
- package/dist/lib/hexclave-app/apps/implementations/client-app-impl.next-server-session.test.js +45 -0
- package/dist/lib/hexclave-app/apps/implementations/client-app-impl.next-server-session.test.js.map +1 -0
- package/dist/lib/hexclave-app/apps/implementations/common.js +2 -2
- package/dist/lib/hexclave-app/apps/implementations/index.d.ts +1 -1
- package/dist/lib/hexclave-app/apps/implementations/server-app-impl.d.ts +1 -1
- package/package.json +2 -2
- package/src/lib/cookie.ts +9 -0
- package/src/lib/hexclave-app/apps/implementations/client-app-impl.next-server-session.test.ts +55 -0
- package/src/lib/hexclave-app/apps/implementations/client-app-impl.ts +1 -0
- package/dist/cookie-DTOQvCYn.d.ts.map +0 -1
package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.next-server-session.test.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.next-server-session.test.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { StackClientApp } from "../interfaces/client-app.js";
|
|
3
|
+
//#region src/lib/hexclave-app/apps/implementations/client-app-impl.next-server-session.test.ts
|
|
4
|
+
function createCookieHelper(identity) {
|
|
5
|
+
return {
|
|
6
|
+
identity,
|
|
7
|
+
get: () => null,
|
|
8
|
+
getAll: () => ({}),
|
|
9
|
+
set: () => {},
|
|
10
|
+
setOrDelete: () => {},
|
|
11
|
+
delete: () => {}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function createClientApp() {
|
|
15
|
+
return new StackClientApp({
|
|
16
|
+
baseUrl: "http://localhost:12345",
|
|
17
|
+
projectId: "00000000-0000-4000-8000-000000000000",
|
|
18
|
+
publishableClientKey: "stack-pk-test",
|
|
19
|
+
tokenStore: "memory",
|
|
20
|
+
redirectMethod: "none",
|
|
21
|
+
noAutomaticPrefetch: true,
|
|
22
|
+
devTool: false
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
describe("StackClientApp Next.js server sessions", () => {
|
|
26
|
+
it("shares one token store and session across cookie helpers from the same request", () => {
|
|
27
|
+
const clientApp = createClientApp();
|
|
28
|
+
const getTokenStore = Reflect.get(clientApp, "_getOrCreateTokenStore");
|
|
29
|
+
const getSession = Reflect.get(clientApp, "_getSessionFromTokenStore");
|
|
30
|
+
const requestIdentity = {};
|
|
31
|
+
const firstStore = getTokenStore.call(clientApp, createCookieHelper(requestIdentity), "nextjs-cookie");
|
|
32
|
+
const secondStore = getTokenStore.call(clientApp, createCookieHelper(requestIdentity), "nextjs-cookie");
|
|
33
|
+
expect(secondStore).toBe(firstStore);
|
|
34
|
+
expect(getSession.call(clientApp, secondStore)).toBe(getSession.call(clientApp, firstStore));
|
|
35
|
+
});
|
|
36
|
+
it("isolates token stores belonging to different requests", () => {
|
|
37
|
+
const clientApp = createClientApp();
|
|
38
|
+
const getTokenStore = Reflect.get(clientApp, "_getOrCreateTokenStore");
|
|
39
|
+
const firstStore = getTokenStore.call(clientApp, createCookieHelper({}), "nextjs-cookie");
|
|
40
|
+
expect(getTokenStore.call(clientApp, createCookieHelper({}), "nextjs-cookie")).not.toBe(firstStore);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
//#endregion
|
|
44
|
+
export {};
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=client-app-impl.next-server-session.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-app-impl.next-server-session.test.js","names":[],"sources":["../../../../../../src/lib/hexclave-app/apps/implementations/client-app-impl.next-server-session.test.ts"],"sourcesContent":["\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\nimport { describe, expect, it } from \"vitest\";\nimport { CookieHelper } from \"../../../cookie\";\nimport { StackClientApp } from \"../interfaces/client-app\";\n\nfunction createCookieHelper(identity: object): CookieHelper {\n return {\n identity,\n get: () => null,\n getAll: () => ({}),\n set: () => {},\n setOrDelete: () => {},\n delete: () => {},\n };\n}\n\nfunction createClientApp() {\n return new StackClientApp({\n baseUrl: \"http://localhost:12345\",\n projectId: \"00000000-0000-4000-8000-000000000000\",\n publishableClientKey: \"stack-pk-test\",\n tokenStore: \"memory\",\n redirectMethod: \"none\",\n noAutomaticPrefetch: true,\n devTool: false,\n });\n}\n\ndescribe(\"StackClientApp Next.js server sessions\", () => {\n it(\"shares one token store and session across cookie helpers from the same request\", () => {\n const clientApp = createClientApp();\n const getTokenStore = Reflect.get(clientApp, \"_getOrCreateTokenStore\");\n const getSession = Reflect.get(clientApp, \"_getSessionFromTokenStore\");\n const requestIdentity = {};\n\n const firstStore = getTokenStore.call(clientApp, createCookieHelper(requestIdentity), \"nextjs-cookie\");\n const secondStore = getTokenStore.call(clientApp, createCookieHelper(requestIdentity), \"nextjs-cookie\");\n\n expect(secondStore).toBe(firstStore);\n expect(getSession.call(clientApp, secondStore)).toBe(getSession.call(clientApp, firstStore));\n });\n\n it(\"isolates token stores belonging to different requests\", () => {\n const clientApp = createClientApp();\n const getTokenStore = Reflect.get(clientApp, \"_getOrCreateTokenStore\");\n\n const firstStore = getTokenStore.call(clientApp, createCookieHelper({}), \"nextjs-cookie\");\n const secondStore = getTokenStore.call(clientApp, createCookieHelper({}), \"nextjs-cookie\");\n\n expect(secondStore).not.toBe(firstStore);\n });\n});\n"],"mappings":";;;AAQA,SAAS,mBAAmB,UAAgC;CAC1D,OAAO;EACL;EACA,WAAW;EACX,eAAe,CAAC;EAChB,WAAW,CAAC;EACZ,mBAAmB,CAAC;EACpB,cAAc,CAAC;CACjB;AACF;AAEA,SAAS,kBAAkB;CACzB,OAAO,IAAI,eAAe;EACxB,SAAS;EACT,WAAW;EACX,sBAAsB;EACtB,YAAY;EACZ,gBAAgB;EAChB,qBAAqB;EACrB,SAAS;CACX,CAAC;AACH;AAEA,SAAS,gDAAgD;CACvD,GAAG,wFAAwF;EACzF,MAAM,YAAY,gBAAgB;EAClC,MAAM,gBAAgB,QAAQ,IAAI,WAAW,wBAAwB;EACrE,MAAM,aAAa,QAAQ,IAAI,WAAW,2BAA2B;EACrE,MAAM,kBAAkB,CAAC;EAEzB,MAAM,aAAa,cAAc,KAAK,WAAW,mBAAmB,eAAe,GAAG,eAAe;EACrG,MAAM,cAAc,cAAc,KAAK,WAAW,mBAAmB,eAAe,GAAG,eAAe;EAEtG,OAAO,WAAW,CAAC,CAAC,KAAK,UAAU;EACnC,OAAO,WAAW,KAAK,WAAW,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,KAAK,WAAW,UAAU,CAAC;CAC7F,CAAC;CAED,GAAG,+DAA+D;EAChE,MAAM,YAAY,gBAAgB;EAClC,MAAM,gBAAgB,QAAQ,IAAI,WAAW,wBAAwB;EAErE,MAAM,aAAa,cAAc,KAAK,WAAW,mBAAmB,CAAC,CAAC,GAAG,eAAe;EAGxF,OAFoB,cAAc,KAAK,WAAW,mBAAmB,CAAC,CAAC,GAAG,eAEzD,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU;CACzC,CAAC;AACH,CAAC"}
|
|
@@ -12,8 +12,8 @@ import { resolveHandlerUrls } from "../../url-targets.js";
|
|
|
12
12
|
import { AsyncCache } from "@hexclave/shared/dist/utils/caches";
|
|
13
13
|
import { createGlobal, getGlobal } from "@hexclave/shared/dist/utils/globals";
|
|
14
14
|
//#region src/lib/hexclave-app/apps/implementations/common.ts
|
|
15
|
-
const clientVersion = "js @hexclave/js@1.0.
|
|
16
|
-
if ("js @hexclave/js@1.0.
|
|
15
|
+
const clientVersion = "js @hexclave/js@1.0.112";
|
|
16
|
+
if ("js @hexclave/js@1.0.112".startsWith("STACK_COMPILE_TIME"));
|
|
17
17
|
const replaceHexclavePortPrefix = (input) => {
|
|
18
18
|
if (!input) return input;
|
|
19
19
|
const prefix = envVars.HEXCLAVE_PORT_PREFIX;
|
package/dist/lib/cookie.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { _ as setOrDeleteCookieClient, a as createCookieHelperSync, c as deleteCookieClient, d as getCookieClient, f as isSecure, g as setOrDeleteCookie, h as setCookieClient, i as createCookieHelper, l as getAllCookiesClient, m as setCookie, n as consumeVerifierAndStateCookie, o as createPlaceholderCookieHelper, p as saveVerifierAndState, r as createBrowserCookieHelper, s as deleteCookie, t as CookieHelper, u as getCookie } from "../cookie-
|
|
1
|
+
import { _ as setOrDeleteCookieClient, a as createCookieHelperSync, c as deleteCookieClient, d as getCookieClient, f as isSecure, g as setOrDeleteCookie, h as setCookieClient, i as createCookieHelper, l as getAllCookiesClient, m as setCookie, n as consumeVerifierAndStateCookie, o as createPlaceholderCookieHelper, p as saveVerifierAndState, r as createBrowserCookieHelper, s as deleteCookie, t as CookieHelper, u as getCookie } from "../cookie-DwI1VmzU.js";
|
|
2
2
|
export { CookieHelper, consumeVerifierAndStateCookie, createBrowserCookieHelper, createCookieHelper, createCookieHelperSync, createPlaceholderCookieHelper, deleteCookie, deleteCookieClient, getAllCookiesClient, getCookie, getCookieClient, isSecure, saveVerifierAndState, setCookie, setCookieClient, setOrDeleteCookie, setOrDeleteCookieClient };
|
package/dist/lib/cookie.js
CHANGED
|
@@ -100,11 +100,13 @@ URL.parse;
|
|
|
100
100
|
function ensureClient() {
|
|
101
101
|
if (!(0, _hexclave_shared_dist_utils_env.isBrowserLike)()) throw new Error("cookieClient functions can only be called in a browser environment, yet window is undefined");
|
|
102
102
|
}
|
|
103
|
+
const placeholderCookieHelperIdentity = { "placeholder cookie helper identity": true };
|
|
103
104
|
async function createPlaceholderCookieHelper() {
|
|
104
105
|
function throwError() {
|
|
105
106
|
throw new _hexclave_shared_dist_utils_errors.HexclaveAssertionError("Throwing cookie helper is just a placeholder. This should never be called");
|
|
106
107
|
}
|
|
107
108
|
return {
|
|
109
|
+
identity: placeholderCookieHelperIdentity,
|
|
108
110
|
get: throwError,
|
|
109
111
|
getAll: throwError,
|
|
110
112
|
set: throwError,
|
|
@@ -128,6 +130,7 @@ function createCookieHelperSync() {
|
|
|
128
130
|
throw new _hexclave_shared_dist_utils_errors.HexclaveAssertionError("Synchronous server cookie helpers are not available on this platform");
|
|
129
131
|
}
|
|
130
132
|
return {
|
|
133
|
+
identity: placeholderCookieHelperIdentity,
|
|
131
134
|
get: throwError,
|
|
132
135
|
getAll: throwError,
|
|
133
136
|
set: throwError,
|
|
@@ -135,8 +138,10 @@ function createCookieHelperSync() {
|
|
|
135
138
|
delete: throwError
|
|
136
139
|
};
|
|
137
140
|
}
|
|
141
|
+
const browserCookieHelperIdentity = { "browser cookie helper identity": true };
|
|
138
142
|
function createBrowserCookieHelper() {
|
|
139
143
|
return {
|
|
144
|
+
identity: browserCookieHelperIdentity,
|
|
140
145
|
get: getCookieClient,
|
|
141
146
|
getAll: getAllCookiesClient,
|
|
142
147
|
set: setCookieClient,
|