@verdant-web/cloudflare 0.1.2 → 0.1.3
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/esm/api.d.ts +1 -1
- package/dist/esm/api.js +3 -3
- package/dist/esm/api.js.map +1 -1
- package/dist/esm/doLibrary.d.ts +3 -3
- package/dist/esm/doLibrary.js +7 -4
- package/dist/esm/doLibrary.js.map +1 -1
- package/package.json +1 -1
- package/src/api.ts +3 -3
- package/src/doLibrary.ts +11 -9
package/dist/esm/api.d.ts
CHANGED
package/dist/esm/api.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { errorHandler, tokenMiddleware, TokenVerifier, } from '@verdant-web/server/internals';
|
|
2
2
|
import { Hono } from 'hono';
|
|
3
|
-
import {
|
|
3
|
+
import { routePath } from 'hono/route';
|
|
4
4
|
/**
|
|
5
5
|
* Creates a Hono app configured to serve Verdant library traffic.
|
|
6
6
|
* This app 'router' should be mounted onto another Verdant app
|
|
@@ -22,7 +22,7 @@ export function createVerdantWorkerApp(config) {
|
|
|
22
22
|
});
|
|
23
23
|
return tokenMiddleware(tokenVerifier)(ctx, next);
|
|
24
24
|
})
|
|
25
|
-
.all((ctx) => {
|
|
25
|
+
.all('*', (ctx) => {
|
|
26
26
|
if (ctx.req.method === 'OPTIONS') {
|
|
27
27
|
// preflight request, np
|
|
28
28
|
return ctx.newResponse(null, { status: 204 });
|
|
@@ -31,7 +31,7 @@ export function createVerdantWorkerApp(config) {
|
|
|
31
31
|
const id = ctx.env[config.durableObjectBindingName].idFromName(info.libraryId);
|
|
32
32
|
const obj = ctx.env[config.durableObjectBindingName].get(id);
|
|
33
33
|
// remove the base path so the DO sees the correct routing
|
|
34
|
-
const path =
|
|
34
|
+
const path = routePath(ctx).replace('/*', '');
|
|
35
35
|
const thisUrl = new URL(ctx.req.url);
|
|
36
36
|
thisUrl.pathname = thisUrl.pathname.replace(path, '') || '/';
|
|
37
37
|
const modifiedReq = new Request(thisUrl.toString(), ctx.req.raw);
|
package/dist/esm/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EACZ,eAAe,EACf,aAAa,GACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EACZ,eAAe,EACf,aAAa,GACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAOvC;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAA2B;IACjE,2DAA2D;IAC3D,8BAA8B;IAC9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAqC;SACvD,OAAO,CAAC,YAAY,CAAC;SACrB,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAClB,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC;YACvC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,sBAAsB,CAAC;SAC9C,CAAC,CAAC;QACH,OAAO,eAAe,CAAC,aAAa,CAAC,CAAC,GAAU,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC,CAAC;SACD,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QACjB,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,wBAAwB;YACxB,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAClC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,UAAU,CAC7D,IAAI,CAAC,SAAS,CACd,CAAC;QACF,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7D,0DAA0D;QAC1D,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;QAC7D,MAAM,WAAW,GAAY,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CACV,kCAAkC,IAAI,CAAC,SAAS,GAAG,EACnD,GAAG,CAAC,GAAG,CAAC,MAAM,EACd,GAAG,CAAC,GAAG,CAAC,GAAG,EACX,IAAI,EACJ,WAAW,CAAC,GAAG,CACf,CAAC;QACF,OAAO,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEJ,OAAO,GAAG,CAAC;AACZ,CAAC"}
|
package/dist/esm/doLibrary.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FileStorage,
|
|
1
|
+
import { EventSubscriber } from '@verdant-web/common';
|
|
2
|
+
import { FileStorage, UserProfiles } from '@verdant-web/server';
|
|
3
3
|
import { ClientConnectionManager, Library, LibraryEvents } from '@verdant-web/server/internals';
|
|
4
4
|
export interface DurableObjectLibraryConfig {
|
|
5
5
|
tokenSecret: string;
|
|
@@ -25,7 +25,6 @@ export declare class DurableObjectLibrary {
|
|
|
25
25
|
webSocketMessage: (ws: WebSocket, message: string | ArrayBuffer) => void | Promise<void>;
|
|
26
26
|
webSocketClose: (ws: WebSocket, code: number, reason: string, wasClean: boolean) => void | Promise<void>;
|
|
27
27
|
webSocketError: (ws: WebSocket, error: unknown) => void | Promise<void>;
|
|
28
|
-
handleMessage: (key: string, info: TokenInfo, message: ClientMessage) => Promise<void>;
|
|
29
28
|
getDocumentSnapshot: (collection: string, id: string) => Promise<{} | null>;
|
|
30
29
|
getFileInfo: (fileId: string) => Promise<{
|
|
31
30
|
libraryId: string;
|
|
@@ -37,4 +36,5 @@ export declare class DurableObjectLibrary {
|
|
|
37
36
|
evict: () => Promise<void>;
|
|
38
37
|
forceTruant: (replicaId: string) => Promise<void>;
|
|
39
38
|
getInfo: () => Promise<import("@verdant-web/server").LibraryInfo | null>;
|
|
39
|
+
getIsInitialized: () => boolean;
|
|
40
40
|
}
|
package/dist/esm/doLibrary.js
CHANGED
|
@@ -64,6 +64,9 @@ export class DurableObjectLibrary {
|
|
|
64
64
|
if (storedLibraryId) {
|
|
65
65
|
await this.initialize(storedLibraryId);
|
|
66
66
|
}
|
|
67
|
+
else {
|
|
68
|
+
throw new VerdantError(VerdantError.Code.InvalidRequest, undefined, 'A Verdant Durable Object Library was accessed before being initialized. Before using a Verdant Library DO, you must either call .initialize(libraryId) or receive a valid client request to seed the library.');
|
|
69
|
+
}
|
|
67
70
|
});
|
|
68
71
|
this.fetch = async (request) => {
|
|
69
72
|
return __classPrivateFieldGet(this, _DurableObjectLibrary_app, "f").fetch(request);
|
|
@@ -100,10 +103,6 @@ export class DurableObjectLibrary {
|
|
|
100
103
|
this.clientConnections.remove(key);
|
|
101
104
|
__classPrivateFieldGet(this, _DurableObjectLibrary_socketInfoCache, "f").delete(ws);
|
|
102
105
|
};
|
|
103
|
-
this.handleMessage = async (key, info, message) => {
|
|
104
|
-
await __classPrivateFieldGet(this, _DurableObjectLibrary_restore, "f").call(this);
|
|
105
|
-
return this.library.handleMessage(message, key, info);
|
|
106
|
-
};
|
|
107
106
|
// public library API
|
|
108
107
|
this.getDocumentSnapshot = async (collection, id) => {
|
|
109
108
|
await __classPrivateFieldGet(this, _DurableObjectLibrary_restore, "f").call(this);
|
|
@@ -129,6 +128,10 @@ export class DurableObjectLibrary {
|
|
|
129
128
|
await __classPrivateFieldGet(this, _DurableObjectLibrary_restore, "f").call(this);
|
|
130
129
|
return this.library.getInfo();
|
|
131
130
|
};
|
|
131
|
+
// helpers
|
|
132
|
+
this.getIsInitialized = () => {
|
|
133
|
+
return !!this.library;
|
|
134
|
+
};
|
|
132
135
|
__classPrivateFieldSet(this, _DurableObjectLibrary_config, verdant, "f");
|
|
133
136
|
this.clientConnections = new ClientConnectionManager({
|
|
134
137
|
profiles: new UserProfileLoader(__classPrivateFieldGet(this, _DurableObjectLibrary_config, "f").profiles),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doLibrary.js","sourceRoot":"","sources":["../../src/doLibrary.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"doLibrary.js","sourceRoot":"","sources":["../../src/doLibrary.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/api.ts
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
TokenVerifier,
|
|
5
5
|
} from '@verdant-web/server/internals';
|
|
6
6
|
import { Hono } from 'hono';
|
|
7
|
-
import {
|
|
7
|
+
import { routePath } from 'hono/route';
|
|
8
8
|
|
|
9
9
|
export interface VerdantWorkerConfig {
|
|
10
10
|
durableObjectBindingName: string;
|
|
@@ -32,7 +32,7 @@ export function createVerdantWorkerApp(config: VerdantWorkerConfig) {
|
|
|
32
32
|
});
|
|
33
33
|
return tokenMiddleware(tokenVerifier)(ctx as any, next);
|
|
34
34
|
})
|
|
35
|
-
.all((ctx) => {
|
|
35
|
+
.all('*', (ctx) => {
|
|
36
36
|
if (ctx.req.method === 'OPTIONS') {
|
|
37
37
|
// preflight request, np
|
|
38
38
|
return ctx.newResponse(null, { status: 204 });
|
|
@@ -44,7 +44,7 @@ export function createVerdantWorkerApp(config: VerdantWorkerConfig) {
|
|
|
44
44
|
);
|
|
45
45
|
const obj = ctx.env[config.durableObjectBindingName].get(id);
|
|
46
46
|
// remove the base path so the DO sees the correct routing
|
|
47
|
-
const path =
|
|
47
|
+
const path = routePath(ctx).replace('/*', '');
|
|
48
48
|
const thisUrl = new URL(ctx.req.url);
|
|
49
49
|
thisUrl.pathname = thisUrl.pathname.replace(path, '') || '/';
|
|
50
50
|
const modifiedReq: Request = new Request(thisUrl.toString(), ctx.req.raw);
|
package/src/doLibrary.ts
CHANGED
|
@@ -260,6 +260,12 @@ export class DurableObjectLibrary {
|
|
|
260
260
|
const storedLibraryId = await this.ctx.storage.get<string>('libraryId');
|
|
261
261
|
if (storedLibraryId) {
|
|
262
262
|
await this.initialize(storedLibraryId);
|
|
263
|
+
} else {
|
|
264
|
+
throw new VerdantError(
|
|
265
|
+
VerdantError.Code.InvalidRequest,
|
|
266
|
+
undefined,
|
|
267
|
+
'A Verdant Durable Object Library was accessed before being initialized. Before using a Verdant Library DO, you must either call .initialize(libraryId) or receive a valid client request to seed the library.',
|
|
268
|
+
);
|
|
263
269
|
}
|
|
264
270
|
};
|
|
265
271
|
|
|
@@ -315,15 +321,6 @@ export class DurableObjectLibrary {
|
|
|
315
321
|
this.#socketInfoCache.delete(ws);
|
|
316
322
|
};
|
|
317
323
|
|
|
318
|
-
handleMessage = async (
|
|
319
|
-
key: string,
|
|
320
|
-
info: TokenInfo,
|
|
321
|
-
message: ClientMessage,
|
|
322
|
-
) => {
|
|
323
|
-
await this.#restore();
|
|
324
|
-
return this.library.handleMessage(message, key, info);
|
|
325
|
-
};
|
|
326
|
-
|
|
327
324
|
// public library API
|
|
328
325
|
getDocumentSnapshot = async (collection: string, id: string) => {
|
|
329
326
|
await this.#restore();
|
|
@@ -350,4 +347,9 @@ export class DurableObjectLibrary {
|
|
|
350
347
|
await this.#restore();
|
|
351
348
|
return this.library.getInfo();
|
|
352
349
|
};
|
|
350
|
+
|
|
351
|
+
// helpers
|
|
352
|
+
getIsInitialized = () => {
|
|
353
|
+
return !!this.library;
|
|
354
|
+
};
|
|
353
355
|
}
|