@powerhousedao/reactor-local 5.0.3 → 5.0.5

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 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,YAAY,EAEZ,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAgDpB,QAAA,MAAM,WAAW,GACf,UAAU,kBAAkB,KAC3B,OAAO,CAAC,YAAY,CAkItB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EACV,YAAY,EAEZ,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAgDpB,QAAA,MAAM,WAAW,GACf,UAAU,kBAAkB,KAC3B,OAAO,CAAC,YAAY,CAqItB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { isLogLevel } from "@powerhousedao/config";
2
- import { EventBus, InMemoryJobTracker, InMemoryQueue, Reactor, ReactorClientBuilder, ReadModelCoordinator, } from "@powerhousedao/reactor";
2
+ import { EventBus, ReactorBuilder, ReactorClientBuilder, } from "@powerhousedao/reactor";
3
3
  import { VitePackageLoader, startAPI, startViteServer, } from "@powerhousedao/reactor-api";
4
- import { InMemoryCache, ReactorBuilder, logger } from "document-drive";
4
+ import { InMemoryCache, ReactorBuilder as LegacyReactorBuilder, logger, } from "document-drive";
5
5
  import dotenv from "dotenv";
6
6
  import path from "node:path";
7
7
  import { isDualActionCreateEnabled, isReactorv2Enabled, } from "./feature-flags.js";
@@ -57,12 +57,12 @@ const startServer = async (options) => {
57
57
  // be aware: this may not log anything if the log level is above debug
58
58
  logger.debug(`Setting log level to ${logLevel}.`);
59
59
  const serverPort = Number(process.env.PORT ?? port);
60
+ // TODO get path from powerhouse config
61
+ const basePath = process.cwd();
60
62
  // start vite server if dev
61
- const vite = dev ? await startViteServer() : undefined;
63
+ const vite = dev ? await startViteServer(basePath) : undefined;
62
64
  // get paths to local document models
63
65
  if (dev) {
64
- // TODO get path from powerhouse config
65
- const basePath = process.cwd();
66
66
  packages.push(basePath);
67
67
  }
68
68
  const dualActionCreateEnabled = await isDualActionCreateEnabled();
@@ -70,7 +70,7 @@ const startServer = async (options) => {
70
70
  // create document drive server with all available document models & storage
71
71
  const cache = new InMemoryCache();
72
72
  const storageImpl = createStorage(storage, cache);
73
- const reactorBuilder = new ReactorBuilder([])
73
+ const reactorBuilder = new LegacyReactorBuilder([])
74
74
  .withCache(cache)
75
75
  .withStorage(storageImpl)
76
76
  .withOptions({
@@ -80,16 +80,22 @@ const startServer = async (options) => {
80
80
  });
81
81
  const driveServer = reactorBuilder.build();
82
82
  const eventBus = new EventBus();
83
- const queue = new InMemoryQueue(eventBus);
84
- const reactor = new Reactor(driveServer, storageImpl, queue, new InMemoryJobTracker(), new ReadModelCoordinator(eventBus, []));
85
- const client = new ReactorClientBuilder().withReactor(reactor).build();
83
+ const builder = new ReactorBuilder()
84
+ .withEventBus(eventBus)
85
+ .withLegacyStorage(storageImpl)
86
+ .withFeatures({
87
+ legacyStorageEnabled: true,
88
+ });
89
+ const client = await new ReactorClientBuilder()
90
+ .withReactorBuilder(builder)
91
+ .build();
86
92
  // init drive server + conditionally add a default drive
87
93
  await driveServer.initialize();
88
94
  const driveUrl = options?.disableDefaultDrive
89
95
  ? null
90
96
  : await addDefaultDrive(driveServer, drive, serverPort);
91
97
  // create loader
92
- const packageLoader = vite ? await VitePackageLoader.build(vite) : undefined;
98
+ const packageLoader = vite ? VitePackageLoader.build(vite) : undefined;
93
99
  // start api
94
100
  const api = await startAPI(driveServer, client, {
95
101
  port: serverPort,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}