@livestore/adapter-node 0.0.0-snapshot-412a36a7e6c9b0e9e237b553fd0522aed285228f.4 → 0.0.0-snapshot-c1f0b46f049c5a40eb57f52e232999b7f810cd93

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.
@@ -1,29 +0,0 @@
1
- import type { ClientSessionLeaderThreadProxy, MakeSqliteDb, SqliteDb, SyncOptions } from '@livestore/common';
2
- import { UnexpectedError } from '@livestore/common';
3
- import type { LeaderThreadCtx } from '@livestore/common/leader-thread';
4
- import type { LiveStoreSchema } from '@livestore/common/schema';
5
- import type { MakeNodeSqliteDb } from '@livestore/sqlite-wasm/node';
6
- import type { FileSystem, HttpClient, Layer, Schema, Scope } from '@livestore/utils/effect';
7
- import { Effect } from '@livestore/utils/effect';
8
- import type * as WorkerSchema from './worker-schema.js';
9
- export type TestingOverrides = {
10
- clientSession?: {
11
- leaderThreadProxy?: Partial<ClientSessionLeaderThreadProxy>;
12
- };
13
- makeLeaderThread?: {
14
- dbEventlog?: (makeSqliteDb: MakeSqliteDb) => Effect.Effect<SqliteDb, UnexpectedError>;
15
- };
16
- };
17
- export interface MakeLeaderThreadArgs {
18
- storeId: string;
19
- clientId: string;
20
- syncOptions: SyncOptions | undefined;
21
- storage: WorkerSchema.StorageType;
22
- makeSqliteDb: MakeNodeSqliteDb;
23
- devtools: WorkerSchema.LeaderWorkerInner.InitialMessage['devtools'];
24
- schema: LiveStoreSchema;
25
- syncPayload: Schema.JsonValue | undefined;
26
- testing: TestingOverrides | undefined;
27
- }
28
- export declare const makeLeaderThread: ({ storeId, clientId, syncOptions, makeSqliteDb, storage, devtools, schema, syncPayload, testing, }: MakeLeaderThreadArgs) => Effect.Effect<Layer.Layer<LeaderThreadCtx, UnexpectedError, Scope.Scope | HttpClient.HttpClient | FileSystem.FileSystem>, UnexpectedError, Scope.Scope>;
29
- //# sourceMappingURL=leader-shared.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"leader-shared.d.ts","sourceRoot":"","sources":["../src/leader-shared.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,8BAA8B,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC5G,OAAO,EAA2C,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC5F,OAAO,KAAK,EAAmC,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEvG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC3F,OAAO,EAAE,MAAM,EAAmB,MAAM,yBAAyB,CAAA;AAIjE,OAAO,KAAK,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,CAAC,EAAE;QACd,iBAAiB,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAA;KAC5D,CAAA;IACD,gBAAgB,CAAC,EAAE;QACjB,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;KACtF,CAAA;CACF,CAAA;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,WAAW,GAAG,SAAS,CAAA;IACpC,OAAO,EAAE,YAAY,CAAC,WAAW,CAAA;IACjC,YAAY,EAAE,gBAAgB,CAAA;IAC9B,QAAQ,EAAE,YAAY,CAAC,iBAAiB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;IACnE,MAAM,EAAE,eAAe,CAAA;IACvB,WAAW,EAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;IACzC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAA;CACtC;AAED,eAAO,MAAM,gBAAgB,GAAI,oGAU9B,oBAAoB,KAAG,MAAM,CAAC,MAAM,CACrC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,EAC1G,eAAe,EACf,KAAK,CAAC,KAAK,CAuDV,CAAA"}
@@ -1,87 +0,0 @@
1
- import inspector from 'node:inspector';
2
- import path from 'node:path';
3
- if (process.execArgv.includes('--inspect')) {
4
- inspector.open();
5
- inspector.waitForDebugger();
6
- }
7
- import { Devtools, liveStoreStorageFormatVersion, UnexpectedError } from '@livestore/common';
8
- import { configureConnection, makeLeaderThreadLayer } from '@livestore/common/leader-thread';
9
- import { makeNodeDevtoolsChannel } from '@livestore/devtools-node-common/web-channel';
10
- import { Effect, FetchHttpClient } from '@livestore/utils/effect';
11
- import { startDevtoolsServer } from './devtools/devtools-server.js';
12
- import { makeShutdownChannel } from './shutdown-channel.js';
13
- export const makeLeaderThread = ({ storeId, clientId, syncOptions, makeSqliteDb, storage, devtools, schema, syncPayload, testing, }) => Effect.gen(function* () {
14
- const runtime = yield* Effect.runtime();
15
- const schemaHashSuffix = schema.state.sqlite.migrations.strategy === 'manual' ? 'fixed' : schema.state.sqlite.hash.toString();
16
- const makeDb = (kind) => {
17
- if (testing?.makeLeaderThread?.dbEventlog && kind === 'eventlog') {
18
- return testing.makeLeaderThread.dbEventlog(makeSqliteDb);
19
- }
20
- return storage.type === 'in-memory'
21
- ? makeSqliteDb({
22
- _tag: 'in-memory',
23
- configureDb: (db) => configureConnection(db, { foreignKeys: true }).pipe(Effect.provide(runtime), Effect.runSync),
24
- })
25
- : makeSqliteDb({
26
- _tag: 'fs',
27
- directory: path.join(storage.baseDirectory ?? '', storeId),
28
- fileName: kind === 'state' ? getStateDbFileName(schemaHashSuffix) : `eventlog@${liveStoreStorageFormatVersion}.db`,
29
- // TODO enable WAL for nodejs
30
- configureDb: (db) => configureConnection(db, { foreignKeys: true }).pipe(Effect.provide(runtime), Effect.runSync),
31
- }).pipe(Effect.acquireRelease((db) => Effect.sync(() => db.close())));
32
- };
33
- // Might involve some async work, so we're running them concurrently
34
- const [dbState, dbEventlog] = yield* Effect.all([makeDb('state'), makeDb('eventlog')], { concurrency: 2 });
35
- const devtoolsOptions = yield* makeDevtoolsOptions({ devtools, dbState, dbEventlog, storeId, clientId });
36
- const shutdownChannel = yield* makeShutdownChannel(storeId);
37
- return makeLeaderThreadLayer({
38
- schema,
39
- storeId,
40
- clientId,
41
- makeSqliteDb,
42
- syncOptions,
43
- dbState,
44
- dbEventlog,
45
- devtoolsOptions,
46
- shutdownChannel,
47
- syncPayload,
48
- });
49
- }).pipe(Effect.tapCauseLogPretty, UnexpectedError.mapToUnexpectedError, Effect.withSpan('@livestore/adapter-node:makeLeaderThread', {
50
- attributes: { storeId, clientId, storage, devtools, syncOptions },
51
- }));
52
- const getStateDbFileName = (suffix) => `state${suffix}@${liveStoreStorageFormatVersion}.db`;
53
- const makeDevtoolsOptions = ({ dbState, dbEventlog, storeId, clientId, devtools, }) => Effect.gen(function* () {
54
- if (devtools.enabled === false) {
55
- return {
56
- enabled: false,
57
- };
58
- }
59
- return {
60
- enabled: true,
61
- makeBootContext: Effect.gen(function* () {
62
- // TODO instead of failing when the port is already in use, we should try to use that WS server instead of starting a new one
63
- yield* startDevtoolsServer({
64
- schemaPath: devtools.schemaPath,
65
- storeId,
66
- clientId,
67
- sessionId: 'static', // TODO make this dynamic
68
- port: devtools.port,
69
- host: devtools.host,
70
- }).pipe(Effect.tapCauseLogPretty, Effect.forkScoped);
71
- const devtoolsWebChannel = yield* makeNodeDevtoolsChannel({
72
- nodeName: `leader-${storeId}-${clientId}`,
73
- target: `devtools-${storeId}-${clientId}-static`,
74
- url: `ws://localhost:${devtools.port}`,
75
- schema: { listen: Devtools.Leader.MessageToApp, send: Devtools.Leader.MessageFromApp },
76
- });
77
- return {
78
- devtoolsWebChannel,
79
- persistenceInfo: {
80
- state: dbState.metadata.persistenceInfo,
81
- eventlog: dbEventlog.metadata.persistenceInfo,
82
- },
83
- };
84
- }).pipe(Effect.provide(FetchHttpClient.layer)),
85
- };
86
- });
87
- //# sourceMappingURL=leader-shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"leader-shared.js","sourceRoot":"","sources":["../src/leader-shared.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;IAC3C,SAAS,CAAC,IAAI,EAAE,CAAA;IAChB,SAAS,CAAC,eAAe,EAAE,CAAA;AAC7B,CAAC;AAGD,OAAO,EAAE,QAAQ,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAE5F,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAE5F,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAA;AAGrF,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAwB3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,OAAO,EACP,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,GACc,EAIrB,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAS,CAAA;IAE9C,MAAM,gBAAgB,GACpB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;IAEtG,MAAM,MAAM,GAAG,CAAC,IAA0B,EAAE,EAAE;QAC5C,IAAI,OAAO,EAAE,gBAAgB,EAAE,UAAU,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACjE,OAAO,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QAC1D,CAAC;QAED,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW;YACjC,CAAC,CAAC,YAAY,CAAC;gBACX,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAClB,mBAAmB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;aAC/F,CAAC;YACJ,CAAC,CAAC,YAAY,CAAC;gBACX,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,EAAE,OAAO,CAAC;gBAC1D,QAAQ,EACN,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,6BAA6B,KAAK;gBAC1G,6BAA6B;gBAC7B,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAClB,mBAAmB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;aAC/F,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3E,CAAC,CAAA;IAED,oEAAoE;IACpE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAA;IAE1G,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;IAExG,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAE3D,OAAO,qBAAqB,CAAC;QAC3B,MAAM;QACN,OAAO;QACP,QAAQ;QACR,YAAY;QACZ,WAAW;QACX,OAAO;QACP,UAAU;QACV,eAAe;QACf,eAAe;QACf,WAAW;KACZ,CAAC,CAAA;AACJ,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,iBAAiB,EACxB,eAAe,CAAC,oBAAoB,EACpC,MAAM,CAAC,QAAQ,CAAC,0CAA0C,EAAE;IAC1D,UAAU,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE;CAClE,CAAC,CACH,CAAA;AAEH,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,QAAQ,MAAM,IAAI,6BAA6B,KAAK,CAAA;AAEnG,MAAM,mBAAmB,GAAG,CAAC,EAC3B,OAAO,EACP,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAQ,GAOT,EAAgE,EAAE,CACjE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC/B,OAAO;YACL,OAAO,EAAE,KAAK;SACf,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACnC,6HAA6H;YAC7H,KAAK,CAAC,CAAC,mBAAmB,CAAC;gBACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,OAAO;gBACP,QAAQ;gBACR,SAAS,EAAE,QAAQ,EAAE,yBAAyB;gBAC9C,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;YAEpD,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,uBAAuB,CAAC;gBACxD,QAAQ,EAAE,UAAU,OAAO,IAAI,QAAQ,EAAE;gBACzC,MAAM,EAAE,YAAY,OAAO,IAAI,QAAQ,SAAS;gBAChD,GAAG,EAAE,kBAAkB,QAAQ,CAAC,IAAI,EAAE;gBACtC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE;aACvF,CAAC,CAAA;YAEF,OAAO;gBACL,kBAAkB;gBAClB,eAAe,EAAE;oBACf,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,eAAe;oBACvC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,eAAe;iBAC9C;aACF,CAAA;QACH,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;KAC/C,CAAA;AACH,CAAC,CAAC,CAAA"}