@livestore/adapter-node 0.0.0-snapshot-412a36a7e6c9b0e9e237b553fd0522aed285228f.5 → 0.0.0-snapshot-bbc22c3c10c0c08067d88fbae6ad74fd7b3ad965
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/.tsbuildinfo +1 -1
- package/dist/client-session/adapter.js +3 -1
- package/dist/client-session/adapter.js.map +1 -1
- package/dist/devtools/devtools-server.d.ts +2 -1
- package/dist/devtools/devtools-server.d.ts.map +1 -1
- package/dist/devtools/devtools-server.js +2 -2
- package/dist/devtools/devtools-server.js.map +1 -1
- package/dist/leader-thread-shared.js +1 -0
- package/dist/leader-thread-shared.js.map +1 -1
- package/dist/make-leader-worker.d.ts +1 -1
- package/dist/shutdown-channel.d.ts +1 -1
- package/dist/worker-schema.d.ts +1 -0
- package/dist/worker-schema.d.ts.map +1 -1
- package/dist/worker-schema.js +1 -0
- package/dist/worker-schema.js.map +1 -1
- package/package.json +7 -7
- package/src/client-session/adapter.ts +3 -1
- package/src/devtools/devtools-server.ts +3 -1
- package/src/leader-thread-shared.ts +1 -0
- package/src/worker-schema.ts +1 -0
- package/dist/client-session/in-memory-adapter.d.ts +0 -164
- package/dist/client-session/in-memory-adapter.d.ts.map +0 -1
- package/dist/client-session/in-memory-adapter.js +0 -74
- package/dist/client-session/in-memory-adapter.js.map +0 -1
- package/dist/client-session/persisted-adapter.d.ts +0 -44
- package/dist/client-session/persisted-adapter.d.ts.map +0 -1
- package/dist/client-session/persisted-adapter.js +0 -199
- package/dist/client-session/persisted-adapter.js.map +0 -1
- package/dist/leader-shared.d.ts +0 -29
- package/dist/leader-shared.d.ts.map +0 -1
- package/dist/leader-shared.js +0 -87
- package/dist/leader-shared.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"persisted-adapter.d.ts","sourceRoot":"","sources":["../../src/client-session/persisted-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EAOP,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAwB1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAG3D,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAA;AAEnD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,YAAY,CAAC,WAAW,CAAA;IACjC,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,QAAQ,CAAC,EAAE;QACT,UAAU,EAAE,MAAM,CAAA;QAClB;;;;WAIG;QACH,IAAI,CAAC,EAAE,MAAM,CAAA;QACb;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;IAED,uCAAuC;IACvC,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,gBAAgB,CAAA;KAC7B,CAAA;CACF;AAED,qGAAqG;AACrG,eAAO,MAAM,WAAW,GAAI,sBAGzB,kBAAkB,GAAG;IACtB,IAAI,CAAC,EAAE,WAAW,CAAA;CACnB,KAAG,OAA2F,CAAA;AAE/F;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,2BAG/B,kBAAkB,GAAG;IACtB;;OAEG;IACH,SAAS,EAAE,GAAG,CAAA;CACf,KAAG,OAA+F,CAAA"}
|
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
import { hostname } from 'node:os';
|
|
2
|
-
import * as WT from 'node:worker_threads';
|
|
3
|
-
import { Devtools, UnexpectedError } from '@livestore/common';
|
|
4
|
-
import { Eventlog, LeaderThreadCtx } from '@livestore/common/leader-thread';
|
|
5
|
-
import { LiveStoreEvent } from '@livestore/common/schema';
|
|
6
|
-
import * as DevtoolsNode from '@livestore/devtools-node-common/web-channel';
|
|
7
|
-
import { loadSqlite3Wasm } from '@livestore/sqlite-wasm/load-wasm';
|
|
8
|
-
import { sqliteDbFactory } from '@livestore/sqlite-wasm/node';
|
|
9
|
-
import { Cause, Effect, FetchHttpClient, Fiber, Layer, ParseResult, Queue, Schema, Stream, SubscriptionRef, Worker, WorkerError, } from '@livestore/utils/effect';
|
|
10
|
-
import { PlatformNode } from '@livestore/utils/node';
|
|
11
|
-
import { makeLeaderThread } from '../leader-shared.js';
|
|
12
|
-
import { makeShutdownChannel } from '../shutdown-channel.js';
|
|
13
|
-
import * as WorkerSchema from '../worker-schema.js';
|
|
14
|
-
/** Runs everything in the same thread. Use `makeWorkerAdapter` for multi-threaded implementation. */
|
|
15
|
-
export const makeAdapter = ({ sync, ...options }) => makeAdapterImpl({ ...options, leaderThread: { _tag: 'single-threaded', sync } });
|
|
16
|
-
/**
|
|
17
|
-
* Runs persistence and syncing in a worker thread.
|
|
18
|
-
*/
|
|
19
|
-
export const makeWorkerAdapter = ({ workerUrl, ...options }) => makeAdapterImpl({ ...options, leaderThread: { _tag: 'multi-threaded', workerUrl } });
|
|
20
|
-
const makeAdapterImpl = ({ storage, devtools: devtoolsOptionsInput, clientId = hostname(),
|
|
21
|
-
// TODO make this dynamic and actually support multiple sessions
|
|
22
|
-
sessionId = 'static', testing, leaderThread: leaderThreadInput, }) => (({ storeId, devtoolsEnabled, shutdown, connectDevtoolsToStore, bootStatusQueue, syncPayload, schema }) => Effect.gen(function* () {
|
|
23
|
-
yield* Queue.offer(bootStatusQueue, { stage: 'loading' });
|
|
24
|
-
const sqlite3 = yield* Effect.promise(() => loadSqlite3Wasm());
|
|
25
|
-
const makeSqliteDb = yield* sqliteDbFactory({ sqlite3 });
|
|
26
|
-
// TODO consider bringing back happy-path initialisation boost
|
|
27
|
-
// const fileData = yield* fs.readFile(dbFilePath).pipe(Effect.either)
|
|
28
|
-
// if (fileData._tag === 'Right') {
|
|
29
|
-
// syncInMemoryDb.import(fileData.right)
|
|
30
|
-
// } else {
|
|
31
|
-
// yield* Effect.logWarning('Failed to load database file', fileData.left)
|
|
32
|
-
// }
|
|
33
|
-
if (leaderThreadInput._tag === 'multi-threaded') {
|
|
34
|
-
const shutdownChannel = yield* makeShutdownChannel(storeId);
|
|
35
|
-
yield* shutdownChannel.listen.pipe(Stream.flatten(), Stream.tap((error) => Effect.sync(() => shutdown(Cause.fail(error)))), Stream.runDrain, Effect.interruptible, Effect.tapCauseLogPretty, Effect.forkScoped);
|
|
36
|
-
}
|
|
37
|
-
const syncInMemoryDb = yield* makeSqliteDb({ _tag: 'in-memory' }).pipe(Effect.orDie);
|
|
38
|
-
// TODO actually implement this multi-session support
|
|
39
|
-
const lockStatus = yield* SubscriptionRef.make('has-lock');
|
|
40
|
-
const devtoolsOptions = devtoolsEnabled && devtoolsOptionsInput !== undefined
|
|
41
|
-
? {
|
|
42
|
-
enabled: true,
|
|
43
|
-
schemaPath: devtoolsOptionsInput.schemaPath,
|
|
44
|
-
port: devtoolsOptionsInput.port ?? 4242,
|
|
45
|
-
host: devtoolsOptionsInput.host ?? 'localhost',
|
|
46
|
-
}
|
|
47
|
-
: { enabled: false };
|
|
48
|
-
const { leaderThread, initialSnapshot } = leaderThreadInput._tag === 'single-threaded'
|
|
49
|
-
? yield* makeLocalLeaderThread({
|
|
50
|
-
storeId,
|
|
51
|
-
clientId,
|
|
52
|
-
schema,
|
|
53
|
-
makeSqliteDb,
|
|
54
|
-
syncOptions: leaderThreadInput.sync,
|
|
55
|
-
syncPayload,
|
|
56
|
-
devtools: devtoolsOptions,
|
|
57
|
-
storage,
|
|
58
|
-
testing,
|
|
59
|
-
}).pipe(UnexpectedError.mapToUnexpectedError)
|
|
60
|
-
: yield* makeWorkerLeaderThread({
|
|
61
|
-
shutdown,
|
|
62
|
-
storeId,
|
|
63
|
-
clientId,
|
|
64
|
-
sessionId,
|
|
65
|
-
workerUrl: leaderThreadInput.workerUrl,
|
|
66
|
-
storage,
|
|
67
|
-
devtools: devtoolsOptions,
|
|
68
|
-
bootStatusQueue,
|
|
69
|
-
syncPayload,
|
|
70
|
-
});
|
|
71
|
-
syncInMemoryDb.import(initialSnapshot);
|
|
72
|
-
if (devtoolsOptions.enabled) {
|
|
73
|
-
yield* Effect.gen(function* () {
|
|
74
|
-
const webmeshNode = yield* DevtoolsNode.makeNodeDevtoolsConnectedMeshNode({
|
|
75
|
-
url: `ws://${devtoolsOptions.host}:${devtoolsOptions.port}`,
|
|
76
|
-
nodeName: `client-session-${storeId}-${clientId}-${sessionId}`,
|
|
77
|
-
});
|
|
78
|
-
const sessionsChannel = yield* webmeshNode.makeBroadcastChannel({
|
|
79
|
-
channelName: 'session-info',
|
|
80
|
-
schema: Devtools.SessionInfo.Message,
|
|
81
|
-
});
|
|
82
|
-
yield* Devtools.SessionInfo.provideSessionInfo({
|
|
83
|
-
webChannel: sessionsChannel,
|
|
84
|
-
sessionInfo: Devtools.SessionInfo.SessionInfo.make({ storeId, clientId, sessionId }),
|
|
85
|
-
}).pipe(Effect.tapCauseLogPretty, Effect.forkScoped);
|
|
86
|
-
const storeDevtoolsChannel = yield* DevtoolsNode.makeChannelForConnectedMeshNode({
|
|
87
|
-
node: webmeshNode,
|
|
88
|
-
target: `devtools-${storeId}-${clientId}-${sessionId}`,
|
|
89
|
-
schema: { listen: Devtools.ClientSession.MessageToApp, send: Devtools.ClientSession.MessageFromApp },
|
|
90
|
-
});
|
|
91
|
-
yield* connectDevtoolsToStore(storeDevtoolsChannel);
|
|
92
|
-
}).pipe(Effect.tapCauseLogPretty, Effect.forkScoped);
|
|
93
|
-
}
|
|
94
|
-
const devtools = devtoolsEnabled
|
|
95
|
-
? { enabled: true, pullLatch: yield* Effect.makeLatch(true), pushLatch: yield* Effect.makeLatch(true) }
|
|
96
|
-
: { enabled: false };
|
|
97
|
-
const clientSession = {
|
|
98
|
-
sqliteDb: syncInMemoryDb,
|
|
99
|
-
leaderThread,
|
|
100
|
-
devtools,
|
|
101
|
-
lockStatus,
|
|
102
|
-
clientId,
|
|
103
|
-
sessionId,
|
|
104
|
-
shutdown,
|
|
105
|
-
};
|
|
106
|
-
return clientSession;
|
|
107
|
-
}).pipe(Effect.withSpan('@livestore/adapter-node:adapter'), Effect.parallelFinalizers, Effect.provide(PlatformNode.NodeFileSystem.layer), Effect.provide(FetchHttpClient.layer)));
|
|
108
|
-
const makeLocalLeaderThread = ({ storeId, clientId, schema, makeSqliteDb, syncOptions, syncPayload, storage, devtools, testing, }) => Effect.gen(function* () {
|
|
109
|
-
const layer = yield* Layer.build(makeLeaderThread({
|
|
110
|
-
storeId,
|
|
111
|
-
clientId,
|
|
112
|
-
schema,
|
|
113
|
-
syncOptions,
|
|
114
|
-
storage,
|
|
115
|
-
syncPayload,
|
|
116
|
-
devtools,
|
|
117
|
-
makeSqliteDb,
|
|
118
|
-
testing: testing?.overrides,
|
|
119
|
-
}).pipe(Layer.unwrapScoped));
|
|
120
|
-
return yield* Effect.gen(function* () {
|
|
121
|
-
const { dbState, dbEventlog, syncProcessor, extraIncomingMessagesQueue, initialState } = yield* LeaderThreadCtx;
|
|
122
|
-
const initialLeaderHead = Eventlog.getClientHeadFromDb(dbEventlog);
|
|
123
|
-
const leaderThread = {
|
|
124
|
-
events: {
|
|
125
|
-
pull: testing?.overrides?.clientSession?.leaderThreadProxy?.events?.pull ??
|
|
126
|
-
(({ cursor }) => syncProcessor.pull({ cursor })),
|
|
127
|
-
push: (batch) => syncProcessor.push(batch.map((item) => new LiveStoreEvent.EncodedWithMeta(item)), { waitForProcessing: true }),
|
|
128
|
-
},
|
|
129
|
-
initialState: { leaderHead: initialLeaderHead, migrationsReport: initialState.migrationsReport },
|
|
130
|
-
export: Effect.sync(() => dbState.export()),
|
|
131
|
-
getEventlogData: Effect.sync(() => dbEventlog.export()),
|
|
132
|
-
getSyncState: syncProcessor.syncState,
|
|
133
|
-
sendDevtoolsMessage: (message) => extraIncomingMessagesQueue.offer(message),
|
|
134
|
-
};
|
|
135
|
-
const initialSnapshot = dbState.export();
|
|
136
|
-
return { leaderThread, initialSnapshot };
|
|
137
|
-
}).pipe(Effect.provide(layer));
|
|
138
|
-
});
|
|
139
|
-
const makeWorkerLeaderThread = ({ shutdown, storeId, clientId, sessionId, workerUrl, storage, devtools, bootStatusQueue, syncPayload, testing, }) => Effect.gen(function* () {
|
|
140
|
-
const nodeWorker = new WT.Worker(workerUrl, {
|
|
141
|
-
execArgv: process.env.DEBUG_WORKER ? ['--inspect --enable-source-maps'] : ['--enable-source-maps'],
|
|
142
|
-
argv: [Schema.encodeSync(WorkerSchema.WorkerArgv)({ storeId, clientId, sessionId })],
|
|
143
|
-
});
|
|
144
|
-
const nodeWorkerLayer = yield* Layer.build(PlatformNode.NodeWorker.layer(() => nodeWorker));
|
|
145
|
-
const worker = yield* Worker.makePoolSerialized({
|
|
146
|
-
size: 1,
|
|
147
|
-
concurrency: 100,
|
|
148
|
-
initialMessage: () => new WorkerSchema.LeaderWorkerInner.InitialMessage({
|
|
149
|
-
storeId,
|
|
150
|
-
clientId,
|
|
151
|
-
storage,
|
|
152
|
-
devtools,
|
|
153
|
-
syncPayload,
|
|
154
|
-
}),
|
|
155
|
-
}).pipe(Effect.provide(nodeWorkerLayer), UnexpectedError.mapToUnexpectedError, Effect.tapErrorCause((cause) => Effect.sync(() => shutdown(cause))), Effect.withSpan('@livestore/adapter-node:adapter:setupLeaderThread'));
|
|
156
|
-
yield* Effect.addFinalizer(() => Effect.gen(function* () {
|
|
157
|
-
// We first try to gracefully shutdown the leader worker and then forcefully terminate it
|
|
158
|
-
yield* Effect.raceFirst(runInWorker(new WorkerSchema.LeaderWorkerInner.Shutdown()).pipe(Effect.andThen(() => nodeWorker.terminate())), Effect.sync(() => {
|
|
159
|
-
console.warn('[@livestore/adapter-node:adapter] Worker did not gracefully shutdown in time, terminating it');
|
|
160
|
-
nodeWorker.terminate();
|
|
161
|
-
}).pipe(Effect.delay(1000))).pipe(Effect.exit); // The disconnect is to prevent the interrupt to bubble out
|
|
162
|
-
}).pipe(Effect.withSpan('@livestore/adapter-node:adapter:shutdown'), Effect.tapCauseLogPretty, Effect.orDie));
|
|
163
|
-
const runInWorker = (req) => worker.executeEffect(req).pipe(Effect.logWarnIfTakesLongerThan({
|
|
164
|
-
label: `@livestore/adapter-node:client-session:runInWorker:${req._tag}`,
|
|
165
|
-
duration: 2000,
|
|
166
|
-
}), Effect.withSpan(`@livestore/adapter-node:client-session:runInWorker:${req._tag}`), Effect.mapError((cause) => Schema.is(UnexpectedError)(cause)
|
|
167
|
-
? cause
|
|
168
|
-
: ParseResult.isParseError(cause) || Schema.is(WorkerError.WorkerError)(cause)
|
|
169
|
-
? new UnexpectedError({ cause })
|
|
170
|
-
: cause), Effect.catchAllDefect((cause) => new UnexpectedError({ cause })));
|
|
171
|
-
const runInWorkerStream = (req) => worker.execute(req).pipe(Stream.mapError((cause) => Schema.is(UnexpectedError)(cause)
|
|
172
|
-
? cause
|
|
173
|
-
: ParseResult.isParseError(cause) || Schema.is(WorkerError.WorkerError)(cause)
|
|
174
|
-
? new UnexpectedError({ cause })
|
|
175
|
-
: cause), Stream.withSpan(`@livestore/adapter-node:client-session:runInWorkerStream:${req._tag}`));
|
|
176
|
-
const bootStatusFiber = yield* runInWorkerStream(new WorkerSchema.LeaderWorkerInner.BootStatusStream()).pipe(Stream.tap((bootStatus) => Queue.offer(bootStatusQueue, bootStatus)), Stream.runDrain, Effect.tapErrorCause((cause) => Cause.isInterruptedOnly(cause) ? Effect.void : Effect.sync(() => shutdown(cause))), Effect.interruptible, Effect.tapCauseLogPretty, Effect.forkScoped);
|
|
177
|
-
yield* Queue.awaitShutdown(bootStatusQueue).pipe(Effect.andThen(Fiber.interrupt(bootStatusFiber)), Effect.tapCauseLogPretty, Effect.forkScoped);
|
|
178
|
-
const initialLeaderHead = yield* runInWorker(new WorkerSchema.LeaderWorkerInner.GetLeaderHead());
|
|
179
|
-
const bootResult = yield* runInWorker(new WorkerSchema.LeaderWorkerInner.GetRecreateSnapshot()).pipe(Effect.timeout(10_000), UnexpectedError.mapToUnexpectedError, Effect.withSpan('@livestore/adapter-node:client-session:export'));
|
|
180
|
-
const leaderThread = {
|
|
181
|
-
events: {
|
|
182
|
-
pull: testing?.overrides?.clientSession?.leaderThreadProxy?.events?.pull ??
|
|
183
|
-
(({ cursor }) => runInWorkerStream(new WorkerSchema.LeaderWorkerInner.PullStream({ cursor })).pipe(Stream.orDie)),
|
|
184
|
-
push: (batch) => runInWorker(new WorkerSchema.LeaderWorkerInner.PushToLeader({ batch })).pipe(Effect.withSpan('@livestore/adapter-node:client-session:pushToLeader', {
|
|
185
|
-
attributes: { batchSize: batch.length },
|
|
186
|
-
})),
|
|
187
|
-
},
|
|
188
|
-
initialState: {
|
|
189
|
-
leaderHead: initialLeaderHead,
|
|
190
|
-
migrationsReport: bootResult.migrationsReport,
|
|
191
|
-
},
|
|
192
|
-
export: runInWorker(new WorkerSchema.LeaderWorkerInner.Export()).pipe(Effect.timeout(10_000), UnexpectedError.mapToUnexpectedError, Effect.withSpan('@livestore/adapter-node:client-session:export')),
|
|
193
|
-
getEventlogData: Effect.dieMessage('Not implemented'),
|
|
194
|
-
getSyncState: runInWorker(new WorkerSchema.LeaderWorkerInner.GetLeaderSyncState()).pipe(UnexpectedError.mapToUnexpectedError, Effect.withSpan('@livestore/adapter-node:client-session:getLeaderSyncState')),
|
|
195
|
-
sendDevtoolsMessage: (message) => runInWorker(new WorkerSchema.LeaderWorkerInner.ExtraDevtoolsMessage({ message })).pipe(UnexpectedError.mapToUnexpectedError, Effect.withSpan('@livestore/adapter-node:client-session:devtoolsMessageForLeader')),
|
|
196
|
-
};
|
|
197
|
-
return { leaderThread, initialSnapshot: bootResult.snapshot };
|
|
198
|
-
});
|
|
199
|
-
//# sourceMappingURL=persisted-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"persisted-adapter.js","sourceRoot":"","sources":["../../src/client-session/persisted-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/leader-shared.d.ts
DELETED
|
@@ -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"}
|
package/dist/leader-shared.js
DELETED
|
@@ -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":"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"}
|