@powerhousedao/reactor-api 4.1.0-dev.12 → 4.1.0-dev.120
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/README.md +16 -10
- package/dist/codegen.d.ts +4 -0
- package/dist/codegen.d.ts.map +1 -0
- package/dist/codegen.js +38 -0
- package/dist/codegen.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/src/config.d.ts +3 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +6 -0
- package/dist/src/config.js.map +1 -1
- package/dist/src/graphql/analytics-subgraph.d.ts +14 -0
- package/dist/src/graphql/analytics-subgraph.d.ts.map +1 -0
- package/dist/src/graphql/{analytics/index.js → analytics-subgraph.js} +4 -4
- package/dist/src/graphql/analytics-subgraph.js.map +1 -0
- package/dist/src/graphql/base-subgraph.d.ts +17 -0
- package/dist/src/graphql/base-subgraph.d.ts.map +1 -0
- package/dist/src/graphql/{base/index.js → base-subgraph.js} +4 -2
- package/dist/src/graphql/base-subgraph.js.map +1 -0
- package/dist/src/graphql/drive-subgraph.d.ts +25 -0
- package/dist/src/graphql/drive-subgraph.d.ts.map +1 -0
- package/dist/src/graphql/{drive/index.js → drive-subgraph.js} +68 -31
- package/dist/src/graphql/drive-subgraph.js.map +1 -0
- package/dist/src/graphql/graphql-manager.d.ts +14 -13
- package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
- package/dist/src/graphql/graphql-manager.js +131 -64
- package/dist/src/graphql/graphql-manager.js.map +1 -1
- package/dist/src/graphql/index.d.ts +7 -8
- package/dist/src/graphql/index.d.ts.map +1 -1
- package/dist/src/graphql/index.js +7 -19
- package/dist/src/graphql/index.js.map +1 -1
- package/dist/src/graphql/reactor/adapters.d.ts +28 -0
- package/dist/src/graphql/reactor/adapters.d.ts.map +1 -0
- package/dist/src/graphql/reactor/adapters.js +92 -0
- package/dist/src/graphql/reactor/adapters.js.map +1 -0
- package/dist/src/graphql/reactor/factory.d.ts +84 -0
- package/dist/src/graphql/reactor/factory.d.ts.map +1 -0
- package/dist/src/graphql/reactor/factory.js +7 -0
- package/dist/src/graphql/reactor/factory.js.map +1 -0
- package/dist/src/graphql/reactor/gen/graphql.d.ts +979 -0
- package/dist/src/graphql/reactor/gen/graphql.d.ts.map +1 -0
- package/dist/src/graphql/reactor/gen/graphql.js +383 -0
- package/dist/src/graphql/reactor/gen/graphql.js.map +1 -0
- package/dist/src/graphql/reactor/index.d.ts +4 -0
- package/dist/src/graphql/reactor/index.d.ts.map +1 -0
- package/dist/src/graphql/reactor/index.js +4 -0
- package/dist/src/graphql/reactor/index.js.map +1 -0
- package/dist/src/graphql/reactor/requester.d.ts +4 -0
- package/dist/src/graphql/reactor/requester.d.ts.map +1 -0
- package/dist/src/graphql/reactor/requester.js +22 -0
- package/dist/src/graphql/reactor/requester.js.map +1 -0
- package/dist/src/graphql/reactor/requester.with-zod.d.ts +4 -0
- package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +1 -0
- package/dist/src/graphql/reactor/requester.with-zod.js +53 -0
- package/dist/src/graphql/reactor/requester.with-zod.js.map +1 -0
- package/dist/src/graphql/reactor/resolvers.d.ts +60 -0
- package/dist/src/graphql/reactor/resolvers.d.ts.map +1 -0
- package/dist/src/graphql/reactor/resolvers.js +173 -0
- package/dist/src/graphql/reactor/resolvers.js.map +1 -0
- package/dist/src/graphql/reactor/subgraph.d.ts +12 -0
- package/dist/src/graphql/reactor/subgraph.d.ts.map +1 -0
- package/dist/src/graphql/reactor/subgraph.js +159 -0
- package/dist/src/graphql/reactor/subgraph.js.map +1 -0
- package/dist/src/graphql/reactor/validation.d.ts +374 -0
- package/dist/src/graphql/reactor/validation.d.ts.map +1 -0
- package/dist/src/graphql/reactor/validation.js +73 -0
- package/dist/src/graphql/reactor/validation.js.map +1 -0
- package/dist/src/graphql/system/index.d.ts +2 -30
- package/dist/src/graphql/system/index.d.ts.map +1 -1
- package/dist/src/graphql/system/index.js +2 -95
- package/dist/src/graphql/system/index.js.map +1 -1
- package/dist/src/graphql/system/system-subgraph.d.ts +49 -0
- package/dist/src/graphql/system/system-subgraph.d.ts.map +1 -0
- package/dist/src/graphql/system/system-subgraph.js +130 -0
- package/dist/src/graphql/system/system-subgraph.js.map +1 -0
- package/dist/src/graphql/system/types.d.ts +1 -2
- package/dist/src/graphql/system/types.d.ts.map +1 -1
- package/dist/src/graphql/{drive/temp-hack-rwa-type-defs.d.ts → temp-hack-rwa-type-defs.d.ts} +2 -2
- package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts.map +1 -0
- package/dist/src/graphql/temp-hack-rwa-type-defs.js.map +1 -0
- package/dist/src/graphql/types.d.ts +66 -5
- package/dist/src/graphql/types.d.ts.map +1 -1
- package/dist/src/graphql/utils.d.ts +26 -0
- package/dist/src/graphql/utils.d.ts.map +1 -0
- package/dist/src/graphql/utils.js +100 -0
- package/dist/src/graphql/utils.js.map +1 -0
- package/dist/src/packages/import-loader.d.ts +4 -4
- package/dist/src/packages/import-loader.d.ts.map +1 -1
- package/dist/src/packages/import-loader.js +7 -6
- package/dist/src/packages/import-loader.js.map +1 -1
- package/dist/src/packages/import-resolver.d.ts +5 -0
- package/dist/src/packages/import-resolver.d.ts.map +1 -0
- package/dist/src/packages/import-resolver.js +127 -0
- package/dist/src/packages/import-resolver.js.map +1 -0
- package/dist/src/packages/package-manager.d.ts +5 -3
- package/dist/src/packages/package-manager.d.ts.map +1 -1
- package/dist/src/packages/package-manager.js +40 -32
- package/dist/src/packages/package-manager.js.map +1 -1
- package/dist/src/packages/types.d.ts +6 -6
- package/dist/src/packages/types.d.ts.map +1 -1
- package/dist/src/packages/util.d.ts +21 -3
- package/dist/src/packages/util.d.ts.map +1 -1
- package/dist/src/packages/util.js +68 -10
- package/dist/src/packages/util.js.map +1 -1
- package/dist/src/packages/vite-loader.d.ts +9 -8
- package/dist/src/packages/vite-loader.d.ts.map +1 -1
- package/dist/src/packages/vite-loader.js +33 -25
- package/dist/src/packages/vite-loader.js.map +1 -1
- package/dist/src/server.d.ts +34 -12
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +138 -112
- package/dist/src/server.js.map +1 -1
- package/dist/src/services/auth.service.d.ts +66 -0
- package/dist/src/services/auth.service.d.ts.map +1 -0
- package/dist/src/services/auth.service.js +156 -0
- package/dist/src/services/auth.service.js.map +1 -0
- package/dist/src/sync/types.d.ts +10 -0
- package/dist/src/sync/types.d.ts.map +1 -0
- package/dist/src/sync/types.js +2 -0
- package/dist/src/sync/types.js.map +1 -0
- package/dist/src/sync/utils.d.ts +2 -10
- package/dist/src/sync/utils.d.ts.map +1 -1
- package/dist/src/sync/utils.js +1 -1
- package/dist/src/sync/utils.js.map +1 -1
- package/dist/src/types.d.ts +5 -6
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/create-schema.d.ts +5 -3
- package/dist/src/utils/create-schema.d.ts.map +1 -1
- package/dist/src/utils/create-schema.js +44 -9
- package/dist/src/utils/create-schema.js.map +1 -1
- package/dist/src/utils/db.d.ts +1 -1
- package/dist/src/utils/db.d.ts.map +1 -1
- package/dist/src/utils/db.js +2 -1
- package/dist/src/utils/db.js.map +1 -1
- package/dist/test/benchmarks/load.bench.d.ts +2 -0
- package/dist/test/benchmarks/load.bench.d.ts.map +1 -0
- package/dist/test/benchmarks/load.bench.js +73 -0
- package/dist/test/benchmarks/load.bench.js.map +1 -0
- package/dist/test/benchmarks/sync.bench.d.ts +2 -0
- package/dist/test/benchmarks/sync.bench.d.ts.map +1 -0
- package/dist/test/benchmarks/sync.bench.js +119 -0
- package/dist/test/benchmarks/sync.bench.js.map +1 -0
- package/dist/test/drive-handlers.d.ts +4 -0
- package/dist/test/drive-handlers.d.ts.map +1 -0
- package/dist/test/drive-handlers.js +39 -0
- package/dist/test/drive-handlers.js.map +1 -0
- package/dist/test/drive.test.d.ts +2 -0
- package/dist/test/drive.test.d.ts.map +1 -0
- package/dist/test/drive.test.js +142 -0
- package/dist/test/drive.test.js.map +1 -0
- package/dist/test/index.d.ts +3 -0
- package/dist/test/index.d.ts.map +1 -0
- package/dist/test/index.js +3 -0
- package/dist/test/index.js.map +1 -0
- package/dist/test/pull-responder-transmitter.test.d.ts +2 -0
- package/dist/test/pull-responder-transmitter.test.d.ts.map +1 -0
- package/dist/test/pull-responder-transmitter.test.js +220 -0
- package/dist/test/pull-responder-transmitter.test.js.map +1 -0
- package/dist/test/push-transmitter.test.d.ts +2 -0
- package/dist/test/push-transmitter.test.d.ts.map +1 -0
- package/dist/test/push-transmitter.test.js +179 -0
- package/dist/test/push-transmitter.test.js.map +1 -0
- package/dist/test/reactor-client.test.d.ts +2 -0
- package/dist/test/reactor-client.test.d.ts.map +1 -0
- package/dist/test/reactor-client.test.js +212 -0
- package/dist/test/reactor-client.test.js.map +1 -0
- package/dist/test/reactor-resolvers.test.d.ts +2 -0
- package/dist/test/reactor-resolvers.test.d.ts.map +1 -0
- package/dist/test/reactor-resolvers.test.js +543 -0
- package/dist/test/reactor-resolvers.test.js.map +1 -0
- package/dist/test/router.test.d.ts +2 -0
- package/dist/test/router.test.d.ts.map +1 -0
- package/dist/test/router.test.js +38 -0
- package/dist/test/router.test.js.map +1 -0
- package/dist/test/system.test.d.ts +2 -0
- package/dist/test/system.test.d.ts.map +1 -0
- package/dist/test/system.test.js +211 -0
- package/dist/test/system.test.js.map +1 -0
- package/dist/test/utils.d.ts +10 -0
- package/dist/test/utils.d.ts.map +1 -0
- package/dist/test/utils.js +23 -0
- package/dist/test/utils.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +24 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +54 -40
- package/dist/src/graphql/analytics/index.d.ts +0 -14
- package/dist/src/graphql/analytics/index.d.ts.map +0 -1
- package/dist/src/graphql/analytics/index.js.map +0 -1
- package/dist/src/graphql/base/index.d.ts +0 -17
- package/dist/src/graphql/base/index.d.ts.map +0 -1
- package/dist/src/graphql/base/index.js.map +0 -1
- package/dist/src/graphql/drive/index.d.ts +0 -13
- package/dist/src/graphql/drive/index.d.ts.map +0 -1
- package/dist/src/graphql/drive/index.js.map +0 -1
- package/dist/src/graphql/drive/temp-hack-rwa-type-defs.d.ts.map +0 -1
- package/dist/src/graphql/drive/temp-hack-rwa-type-defs.js.map +0 -1
- package/dist/tsconfig.lib.tsbuildinfo +0 -1
- /package/dist/src/graphql/{drive/temp-hack-rwa-type-defs.js → temp-hack-rwa-type-defs.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { SubgraphClass } from "@powerhousedao/reactor-api";
|
|
2
|
+
import type { IProcessorHostModule, ProcessorFactory } from "document-drive";
|
|
3
|
+
import type { DocumentModelModule } from "document-model";
|
|
4
4
|
import type { IPackageLoader, IPackageManager, IPackageManagerOptions, PackageManagerResult } from "./types.js";
|
|
5
5
|
export declare function getUniqueDocumentModels(...documentModels: DocumentModelModule[][]): DocumentModelModule[];
|
|
6
6
|
export declare class PackageManager implements IPackageManager {
|
|
@@ -11,6 +11,7 @@ export declare class PackageManager implements IPackageManager {
|
|
|
11
11
|
private subgraphsMap;
|
|
12
12
|
private processorMap;
|
|
13
13
|
private configWatcher;
|
|
14
|
+
private debouncedUpdateCallbacks;
|
|
14
15
|
private eventEmitter;
|
|
15
16
|
constructor(loaders: IPackageLoader[], options: IPackageManagerOptions);
|
|
16
17
|
init(): Promise<PackageManagerResult>;
|
|
@@ -18,6 +19,7 @@ export declare class PackageManager implements IPackageManager {
|
|
|
18
19
|
private loadDocumentModels;
|
|
19
20
|
private loadSubgraphs;
|
|
20
21
|
private loadProcessors;
|
|
22
|
+
private updateDocumentModelsForPackage;
|
|
21
23
|
private subscribePackages;
|
|
22
24
|
private getAllPackageNames;
|
|
23
25
|
private getPackageNamesFromConfigFile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../src/packages/package-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../src/packages/package-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAK1D,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,sBAAsB,EAEtB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,uBAAuB,CACrC,GAAG,cAAc,EAAE,mBAAmB,EAAE,EAAE,GACzC,mBAAmB,EAAE,CAUvB;AAED,qBAAa,cAAe,YAAW,eAAe;IAsBlD,SAAS,CAAC,OAAO,EAAE,sBAAsB;IArB3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmD;IAC1E,OAAO,CAAC,OAAO,CAA+B;IAE9C,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,YAAY,CAGhB;IACJ,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,wBAAwB,CAAiC;IACjE,OAAO,CAAC,YAAY,CAMf;gBAGH,OAAO,EAAE,cAAc,EAAE,EACf,OAAO,EAAE,sBAAsB;IAM9B,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC;YAQpC,YAAY;YA4BZ,kBAAkB;YA4ClB,aAAa;YA+Bb,cAAc;YAyCd,8BAA8B;IAQ5C,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,6BAA6B;IAKrC,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,mBAAmB;IAkB3B,sBAAsB,CACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,KAAK,IAAI,GACvE,IAAI;IAIP,iBAAiB,CACf,OAAO,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,KAAK,IAAI,GACzD,IAAI;IAIP,kBAAkB,CAChB,OAAO,EAAE,CACP,UAAU,EAAE,GAAG,CACb,MAAM,EACN,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,EAAE,CACvD,KACE,IAAI,GACR,IAAI;CAGR"}
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
import { getConfig } from "@powerhousedao/config/
|
|
1
|
+
import { getConfig } from "@powerhousedao/config/node";
|
|
2
2
|
import { childLogger, driveDocumentModelModule } from "document-drive";
|
|
3
|
-
import { documentModelDocumentModelModule
|
|
4
|
-
// Dynamic import for vetra to avoid circular dependency
|
|
5
|
-
let VetraPackageDocumentModel;
|
|
6
|
-
let DocumentEditorDocumentModel;
|
|
3
|
+
import { documentModelDocumentModelModule } from "document-model";
|
|
7
4
|
import EventEmitter from "node:events";
|
|
8
5
|
import { watchFile } from "node:fs";
|
|
6
|
+
import { debounce } from "./util.js";
|
|
9
7
|
export function getUniqueDocumentModels(...documentModels) {
|
|
10
8
|
const uniqueModels = new Map();
|
|
11
9
|
for (const models of documentModels) {
|
|
12
10
|
for (const model of models) {
|
|
13
|
-
uniqueModels.set(model.documentModel.id, model);
|
|
11
|
+
uniqueModels.set(model.documentModel.global.id, model);
|
|
14
12
|
}
|
|
15
13
|
}
|
|
16
14
|
return Array.from(uniqueModels.values());
|
|
@@ -23,6 +21,7 @@ export class PackageManager {
|
|
|
23
21
|
subgraphsMap = new Map();
|
|
24
22
|
processorMap = new Map();
|
|
25
23
|
configWatcher;
|
|
24
|
+
debouncedUpdateCallbacks = new Map();
|
|
26
25
|
eventEmitter = new EventEmitter();
|
|
27
26
|
constructor(loaders, options) {
|
|
28
27
|
this.options = options;
|
|
@@ -65,23 +64,17 @@ export class PackageManager {
|
|
|
65
64
|
documentModelModuleMap.set("document-model", [
|
|
66
65
|
documentModelDocumentModelModule,
|
|
67
66
|
]);
|
|
68
|
-
// Dynamically load vetra modules to avoid circular dependency
|
|
69
|
-
try {
|
|
70
|
-
const vetraPath = "@powerhousedao/vetra/document-models";
|
|
71
|
-
const vetraModules = await import(vetraPath);
|
|
72
|
-
documentModelModuleMap.set("@powerhousedao/vetra", [
|
|
73
|
-
vetraModules.VetraPackage,
|
|
74
|
-
vetraModules.DocumentEditor,
|
|
75
|
-
]);
|
|
76
|
-
}
|
|
77
|
-
catch (error) {
|
|
78
|
-
this.logger.warn("Failed to load vetra document models", error);
|
|
79
|
-
}
|
|
80
67
|
for (const pkg of packages) {
|
|
81
68
|
const allDocumentModels = [];
|
|
82
69
|
for (const loader of this.loaders) {
|
|
83
|
-
|
|
84
|
-
|
|
70
|
+
try {
|
|
71
|
+
const documentModels = await loader.loadDocumentModels(pkg);
|
|
72
|
+
allDocumentModels.push(...documentModels);
|
|
73
|
+
this.logger.debug(`Loaded document models from package ${pkg}`, documentModels.map((dm) => dm.documentModel.global.id));
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
this.logger.debug(`Failed to load document models from package ${pkg}`, error);
|
|
77
|
+
}
|
|
85
78
|
}
|
|
86
79
|
documentModelModuleMap.set(pkg, allDocumentModels);
|
|
87
80
|
}
|
|
@@ -93,8 +86,13 @@ export class PackageManager {
|
|
|
93
86
|
for (const pkg of packages) {
|
|
94
87
|
const allSubgraphs = [];
|
|
95
88
|
for (const loader of this.loaders) {
|
|
96
|
-
|
|
97
|
-
|
|
89
|
+
try {
|
|
90
|
+
const subgraphs = await loader.loadSubgraphs(pkg);
|
|
91
|
+
allSubgraphs.push(...subgraphs);
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
this.logger.debug(`Failed to load subgraphs from package ${pkg}`, error);
|
|
95
|
+
}
|
|
98
96
|
}
|
|
99
97
|
subgraphsMap.set(pkg, allSubgraphs);
|
|
100
98
|
}
|
|
@@ -106,9 +104,14 @@ export class PackageManager {
|
|
|
106
104
|
for (const pkg of packages) {
|
|
107
105
|
const allProcessors = [];
|
|
108
106
|
for (const loader of this.loaders) {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
107
|
+
try {
|
|
108
|
+
const processors = await loader.loadProcessors(pkg);
|
|
109
|
+
if (processors) {
|
|
110
|
+
allProcessors.push(processors);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
this.logger.debug(`Failed to load processors from package ${pkg}`, error);
|
|
112
115
|
}
|
|
113
116
|
}
|
|
114
117
|
processorsMap.set(pkg, allProcessors);
|
|
@@ -116,18 +119,23 @@ export class PackageManager {
|
|
|
116
119
|
this.updateProcessorsMap(processorsMap);
|
|
117
120
|
return processorsMap;
|
|
118
121
|
}
|
|
122
|
+
async updateDocumentModelsForPackage(pkg) {
|
|
123
|
+
this.logger.debug(`Updating document models for package: ${pkg}`);
|
|
124
|
+
const documentModels = await this.loadDocumentModels([pkg]);
|
|
125
|
+
const documentModelsMap = new Map(this.docModelsMap);
|
|
126
|
+
documentModelsMap.set(pkg, documentModels.get(pkg) ?? []);
|
|
127
|
+
this.updatePackagesMap(documentModelsMap);
|
|
128
|
+
}
|
|
119
129
|
subscribePackages(packages) {
|
|
120
130
|
const unsubs = [];
|
|
121
131
|
for (const pkg of packages) {
|
|
132
|
+
if (!this.debouncedUpdateCallbacks.has(pkg)) {
|
|
133
|
+
this.debouncedUpdateCallbacks.set(pkg, debounce(() => this.updateDocumentModelsForPackage(pkg), 1000));
|
|
134
|
+
}
|
|
135
|
+
const debouncedCallback = this.debouncedUpdateCallbacks.get(pkg);
|
|
122
136
|
for (const loader of this.loaders) {
|
|
123
137
|
if (loader.onDocumentModelsChange) {
|
|
124
|
-
const unsub = loader.onDocumentModelsChange(pkg,
|
|
125
|
-
this.logger.info(`Updating document models for package: ${pkg}`);
|
|
126
|
-
const documentModels = await this.loadDocumentModels([pkg]);
|
|
127
|
-
const documentModelsMap = new Map(this.docModelsMap);
|
|
128
|
-
documentModelsMap.set(pkg, documentModels.get(pkg) ?? []);
|
|
129
|
-
this.updatePackagesMap(documentModelsMap);
|
|
130
|
-
});
|
|
138
|
+
const unsub = loader.onDocumentModelsChange(pkg, debouncedCallback);
|
|
131
139
|
unsubs.push(unsub);
|
|
132
140
|
}
|
|
133
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../../src/packages/package-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../../src/packages/package-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { SubgraphClass } from "@powerhousedao/reactor-api";
|
|
2
|
+
import type { IProcessorHostModule, ProcessorFactory } from "document-drive";
|
|
3
|
+
import type { DocumentModelModule } from "document-model";
|
|
4
4
|
export interface IPackageLoader {
|
|
5
|
-
loadDocumentModels(identifier: string): Promise<DocumentModelModule[]>;
|
|
6
|
-
loadSubgraphs(identifier: string): Promise<SubgraphClass[]>;
|
|
7
|
-
loadProcessors(identifier: string): Promise<((module: IProcessorHostModule) => ProcessorFactory) | null>;
|
|
5
|
+
loadDocumentModels(identifier: string, immediate?: boolean): Promise<DocumentModelModule[]>;
|
|
6
|
+
loadSubgraphs(identifier: string, immediate?: boolean): Promise<SubgraphClass[]>;
|
|
7
|
+
loadProcessors(identifier: string, immediate?: boolean): Promise<((module: IProcessorHostModule) => ProcessorFactory) | null>;
|
|
8
8
|
}
|
|
9
9
|
export interface ISubscriptionOptions {
|
|
10
10
|
debounce?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/packages/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/packages/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC7B,kBAAkB,CAChB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAClC,aAAa,CACX,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC5B,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA2B,SAAQ,cAAc;IAChE,sBAAsB,CAAC,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,cAAc,EAAE,mBAAmB,EAAE,KAAK,IAAI,EACxD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI,CAAC;IACd,iBAAiB,CAAC,CAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,IAAI,EAC7C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI,CAAC;IACd,kBAAkB,CAAC,CACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,GAAG,IAAI,KACpE,IAAI,EACT,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,sBAAsB,CACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,KAAK,IAAI,GACvE,IAAI,CAAC;CACT;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,GAAG,CACb,MAAM,EACN,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,EAAE,CACvD,CAAC;CACH,CAAC"}
|
|
@@ -1,8 +1,26 @@
|
|
|
1
|
+
import type { SubgraphClass } from "@powerhousedao/reactor-api";
|
|
2
|
+
import type { IProcessorHostModule, ProcessorFactory } from "document-drive";
|
|
3
|
+
import type { DocumentModelModule } from "document-model";
|
|
4
|
+
type DocumentModelsExport = Record<string, DocumentModelModule>;
|
|
5
|
+
type SubgraphsExport = Record<string, Record<string, SubgraphClass>>;
|
|
6
|
+
type ProcessorsExport = {
|
|
7
|
+
processorFactory: (module: IProcessorHostModule) => ProcessorFactory;
|
|
8
|
+
};
|
|
1
9
|
export declare const installPackages: (packages: string[]) => Promise<void>;
|
|
2
10
|
export declare const readManifest: () => string;
|
|
3
11
|
/**
|
|
4
|
-
* Tries to import
|
|
12
|
+
* Tries to import document models from a package. This function cannot throw.
|
|
5
13
|
*/
|
|
6
|
-
export declare function
|
|
7
|
-
|
|
14
|
+
export declare function loadDocumentModels(packageName: string): Promise<DocumentModelsExport | null>;
|
|
15
|
+
/**
|
|
16
|
+
* Tries to import subgraphs from a package. This function cannot throw.
|
|
17
|
+
*/
|
|
18
|
+
export declare function loadSubgraphs(packageName: string): Promise<SubgraphsExport | null>;
|
|
19
|
+
/**
|
|
20
|
+
* Tries to import processors from a package. This function cannot throw.
|
|
21
|
+
*/
|
|
22
|
+
export declare function loadProcessors(packageName: string): Promise<ProcessorsExport | null>;
|
|
23
|
+
export declare function debounce<T extends unknown[], R>(func: (...args: T) => Promise<R>, delay?: number): (immediate?: boolean, ...args: T) => Promise<R>;
|
|
24
|
+
export declare function isSubpath(parent: string, dir: string): boolean | "";
|
|
25
|
+
export {};
|
|
8
26
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/packages/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/packages/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAO1D,KAAK,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAChE,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AACrE,KAAK,gBAAgB,GAAG;IACtB,gBAAgB,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC;CACtE,CAAC;AAIF,eAAO,MAAM,eAAe,GAAU,UAAU,MAAM,EAAE,kBAIvD,CAAC;AAEF,eAAO,MAAM,YAAY,cAGxB,CAAC;AAEF;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAEtC;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAEjC;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAElC;AAmDD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAC7C,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAChC,KAAK,SAAM,IAGH,mBAAiB,EAAE,GAAG,MAAM,CAAC,gBAkBtC;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,gBAGpD"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { childLogger } from "document-drive";
|
|
2
2
|
import { execSync } from "node:child_process";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { cwd } from "node:process";
|
|
5
|
+
import { resolveLinkedPackage } from "./import-resolver.js";
|
|
3
6
|
const logger = childLogger(["reactor-api", "packages/util"]);
|
|
4
7
|
export const installPackages = async (packages) => {
|
|
5
8
|
for (const packageName of packages) {
|
|
@@ -11,29 +14,84 @@ export const readManifest = () => {
|
|
|
11
14
|
return manifest;
|
|
12
15
|
};
|
|
13
16
|
/**
|
|
14
|
-
* Tries to import
|
|
17
|
+
* Tries to import document models from a package. This function cannot throw.
|
|
15
18
|
*/
|
|
16
|
-
export async function
|
|
19
|
+
export async function loadDocumentModels(packageName) {
|
|
20
|
+
return loadDependency(packageName, "document-models");
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Tries to import subgraphs from a package. This function cannot throw.
|
|
24
|
+
*/
|
|
25
|
+
export async function loadSubgraphs(packageName) {
|
|
26
|
+
return loadDependency(packageName, "subgraphs");
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Tries to import processors from a package. This function cannot throw.
|
|
30
|
+
*/
|
|
31
|
+
export async function loadProcessors(packageName) {
|
|
32
|
+
return loadDependency(packageName, "processors");
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Generic dependency loader - tries to import a dependency from a package. This function cannot throw.
|
|
36
|
+
* Returns null if the dependency cannot be loaded.
|
|
37
|
+
*/
|
|
38
|
+
async function loadDependency(packageName, subPath) {
|
|
39
|
+
const fullPath = `${packageName}/${subPath}`;
|
|
40
|
+
// Try the standard import first
|
|
17
41
|
try {
|
|
18
|
-
const fullPath = `${packageName}/${subPath}`;
|
|
19
42
|
// vite does not support this, but that's okay as we have provided the
|
|
20
43
|
// vite-loader for this purpose
|
|
21
|
-
|
|
44
|
+
const module = await import(/* @vite-ignore */ fullPath);
|
|
45
|
+
return module;
|
|
22
46
|
}
|
|
23
47
|
catch (e) {
|
|
48
|
+
// Handle module not found errors with fallback resolution
|
|
24
49
|
if (e instanceof Error &&
|
|
25
50
|
"code" in e &&
|
|
26
|
-
|
|
51
|
+
(e.code === "ERR_MODULE_NOT_FOUND" ||
|
|
52
|
+
e.code === "ERR_UNSUPPORTED_DIR_IMPORT")) {
|
|
53
|
+
const result = await resolveLinkedPackage(packageName, subPath);
|
|
54
|
+
if (result)
|
|
55
|
+
return result;
|
|
56
|
+
// Only log when ALL attempts have failed
|
|
57
|
+
logger.warn(`Unable to load dependency ${fullPath}.${packageName === cwd() ? " Did you build your project?" : ""}`);
|
|
27
58
|
logger.debug(e);
|
|
28
59
|
}
|
|
60
|
+
else if (e instanceof Error &&
|
|
61
|
+
"code" in e &&
|
|
62
|
+
["ERR_PACKAGE_PATH_NOT_EXPORTED", "ERR_MODULE_NOT_FOUND"].includes(e.code)) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
logger.error(`Unexpected error loading ${fullPath}:`, e);
|
|
67
|
+
}
|
|
29
68
|
return null;
|
|
30
69
|
}
|
|
31
70
|
}
|
|
32
|
-
export function debounce(func, delay =
|
|
33
|
-
let
|
|
34
|
-
return (...args) => {
|
|
35
|
-
|
|
36
|
-
|
|
71
|
+
export function debounce(func, delay = 250) {
|
|
72
|
+
let timer;
|
|
73
|
+
return (immediate = false, ...args) => {
|
|
74
|
+
if (timer) {
|
|
75
|
+
clearTimeout(timer);
|
|
76
|
+
}
|
|
77
|
+
return new Promise((resolve, reject) => {
|
|
78
|
+
if (immediate) {
|
|
79
|
+
func(...args)
|
|
80
|
+
.then(resolve)
|
|
81
|
+
.catch(reject);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
timer = setTimeout(() => {
|
|
85
|
+
func(...args)
|
|
86
|
+
.then(resolve)
|
|
87
|
+
.catch(reject);
|
|
88
|
+
}, delay);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
37
91
|
};
|
|
38
92
|
}
|
|
93
|
+
export function isSubpath(parent, dir) {
|
|
94
|
+
const relative = path.relative(parent, dir);
|
|
95
|
+
return relative && !relative.startsWith("..") && !path.isAbsolute(relative);
|
|
96
|
+
}
|
|
39
97
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/packages/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/packages/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import type { SubgraphClass } from "@powerhousedao/reactor-api";
|
|
2
|
+
import type { IProcessorHostModule, ProcessorFactory } from "document-drive";
|
|
3
|
+
import type { DocumentModelModule } from "document-model";
|
|
4
|
+
import type { ViteDevServer } from "vite";
|
|
5
|
+
import type { ISubscribablePackageLoader, ISubscriptionOptions } from "./types.js";
|
|
6
6
|
export declare class VitePackageLoader implements ISubscribablePackageLoader {
|
|
7
|
+
#private;
|
|
7
8
|
private readonly logger;
|
|
8
9
|
private readonly vite;
|
|
9
|
-
static build(vite
|
|
10
|
+
static build(vite: ViteDevServer): VitePackageLoader;
|
|
10
11
|
constructor(vite: ViteDevServer);
|
|
11
12
|
private getDocumentModelsPath;
|
|
12
13
|
private getSubgraphsPath;
|
|
13
14
|
private getProcessorsPath;
|
|
14
|
-
loadDocumentModels(identifier: string): Promise<DocumentModelModule[]>;
|
|
15
|
+
loadDocumentModels(identifier: string, immediate?: boolean): Promise<DocumentModelModule[]>;
|
|
15
16
|
loadSubgraphs(identifier: string): Promise<SubgraphClass[]>;
|
|
16
17
|
loadProcessors(identifier: string): Promise<((module: IProcessorHostModule) => ProcessorFactory) | null>;
|
|
17
18
|
onDocumentModelsChange(identifier: string, handler: (documentModels: DocumentModelModule[]) => void, options?: ISubscriptionOptions): () => void;
|
|
18
19
|
onSubgraphsChange(identifier: string, handler: (subgraphs: SubgraphClass[]) => void, options?: ISubscriptionOptions): () => void;
|
|
19
20
|
onProcessorsChange(identifier: string, handler: (processors: ((module: IProcessorHostModule) => ProcessorFactory) | null) => void, options?: ISubscriptionOptions): () => void;
|
|
20
21
|
}
|
|
21
|
-
export declare function startViteServer(): Promise<ViteDevServer>;
|
|
22
|
+
export declare function startViteServer(root: string): Promise<ViteDevServer>;
|
|
22
23
|
//# sourceMappingURL=vite-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-loader.d.ts","sourceRoot":"","sources":["../../../src/packages/vite-loader.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"vite-loader.d.ts","sourceRoot":"","sources":["../../../src/packages/vite-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAG1C,OAAO,KAAK,EACV,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAGpB,qBAAa,iBAAkB,YAAW,0BAA0B;;IAClE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;IAEtE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IAErC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa;gBAIpB,IAAI,EAAE,aAAa;IAI/B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,iBAAiB;IAIlB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,UAAQ;IA2CzD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA4B3D,cAAc,CAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAiCvE,sBAAsB,CACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,cAAc,EAAE,mBAAmB,EAAE,KAAK,IAAI,EACxD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI;IAgBb,iBAAiB,CACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,IAAI,EAC7C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI;IAeb,kBAAkB,CAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,GAAG,IAAI,KACpE,IAAI,EACT,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI;CAcd;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,0BA8BjD"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { viteCommonjs } from "@originjs/vite-plugin-commonjs";
|
|
2
|
-
import { isSubgraphClass, } from "@powerhousedao/reactor-api";
|
|
3
2
|
import { childLogger } from "document-drive";
|
|
4
|
-
import { access } from "node:fs/promises";
|
|
5
3
|
import path from "node:path";
|
|
4
|
+
import { readPackage } from "read-pkg";
|
|
6
5
|
import { createServer } from "vite";
|
|
7
|
-
import {
|
|
6
|
+
import { isSubgraphClass } from "../graphql/utils.js";
|
|
7
|
+
import { debounce, isSubpath } from "./util.js";
|
|
8
8
|
export class VitePackageLoader {
|
|
9
9
|
logger = childLogger(["reactor-api", "vite-loader"]);
|
|
10
10
|
vite;
|
|
11
|
-
static
|
|
12
|
-
|
|
13
|
-
return new VitePackageLoader(server);
|
|
11
|
+
static build(vite) {
|
|
12
|
+
return new VitePackageLoader(vite);
|
|
14
13
|
}
|
|
15
14
|
constructor(vite) {
|
|
16
15
|
this.vite = vite;
|
|
@@ -24,11 +23,14 @@ export class VitePackageLoader {
|
|
|
24
23
|
getProcessorsPath(identifier) {
|
|
25
24
|
return path.join(identifier, "./processors");
|
|
26
25
|
}
|
|
27
|
-
|
|
26
|
+
loadDocumentModels(identifier, immediate = false) {
|
|
27
|
+
return this.#loadDocumentModelsWithDebounce(immediate, identifier);
|
|
28
|
+
}
|
|
29
|
+
#loadDocumentModelsWithDebounce = debounce(this.#loadDocumentModels.bind(this), 500);
|
|
30
|
+
async #loadDocumentModels(identifier) {
|
|
28
31
|
const fullPath = this.getDocumentModelsPath(identifier);
|
|
29
|
-
this.logger.
|
|
32
|
+
this.logger.debug("Loading document models from", fullPath);
|
|
30
33
|
try {
|
|
31
|
-
await access(fullPath);
|
|
32
34
|
const localDMs = (await this.vite.ssrLoadModule(fullPath));
|
|
33
35
|
const exports = Object.values(localDMs);
|
|
34
36
|
// duck type
|
|
@@ -42,7 +44,7 @@ export class VitePackageLoader {
|
|
|
42
44
|
return documentModels;
|
|
43
45
|
}
|
|
44
46
|
catch (e) {
|
|
45
|
-
this.logger.
|
|
47
|
+
this.logger.debug(` ➜ No Document Models found for: ${identifier}`, e);
|
|
46
48
|
}
|
|
47
49
|
return [];
|
|
48
50
|
}
|
|
@@ -51,11 +53,10 @@ export class VitePackageLoader {
|
|
|
51
53
|
this.logger.verbose("Loading subgraphs from", fullPath);
|
|
52
54
|
let localSubgraphs = {};
|
|
53
55
|
try {
|
|
54
|
-
await access(fullPath);
|
|
55
56
|
localSubgraphs = await this.vite.ssrLoadModule(fullPath);
|
|
56
57
|
}
|
|
57
58
|
catch (e) {
|
|
58
|
-
this.logger.
|
|
59
|
+
this.logger.debug(` ➜ No Subgraphs found for: ${identifier}`, e);
|
|
59
60
|
return [];
|
|
60
61
|
}
|
|
61
62
|
const subgraphs = [];
|
|
@@ -65,14 +66,13 @@ export class VitePackageLoader {
|
|
|
65
66
|
subgraphs.push(SubgraphClass);
|
|
66
67
|
}
|
|
67
68
|
}
|
|
68
|
-
this.logger.
|
|
69
|
+
this.logger.debug(` ➜ Loaded ${subgraphs.length} Subgraphs from: ${identifier}`);
|
|
69
70
|
return subgraphs;
|
|
70
71
|
}
|
|
71
72
|
async loadProcessors(identifier) {
|
|
72
73
|
const fullPath = this.getProcessorsPath(identifier);
|
|
73
74
|
this.logger.verbose("Loading processors from", fullPath);
|
|
74
75
|
try {
|
|
75
|
-
await access(fullPath);
|
|
76
76
|
const module = await this.vite.ssrLoadModule(fullPath);
|
|
77
77
|
if (module.processorFactory &&
|
|
78
78
|
typeof module.processorFactory === "function") {
|
|
@@ -81,20 +81,20 @@ export class VitePackageLoader {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
catch (e) {
|
|
84
|
-
|
|
84
|
+
this.logger.debug(` ➜ No Processor Factory found for: ${identifier}`, e);
|
|
85
85
|
}
|
|
86
86
|
this.logger.verbose(` ➜ No Processor Factory found for: ${identifier}`);
|
|
87
87
|
// return empty processor factory
|
|
88
88
|
return null;
|
|
89
89
|
}
|
|
90
90
|
onDocumentModelsChange(identifier, handler, options) {
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
if (
|
|
91
|
+
const listener = async (changedPath) => {
|
|
92
|
+
const documentModelsPath = this.getDocumentModelsPath(identifier);
|
|
93
|
+
if (isSubpath(documentModelsPath, changedPath)) {
|
|
94
94
|
const documentModels = await this.loadDocumentModels(identifier);
|
|
95
95
|
handler(documentModels);
|
|
96
96
|
}
|
|
97
|
-
}
|
|
97
|
+
};
|
|
98
98
|
this.vite.watcher.on("change", listener);
|
|
99
99
|
return () => {
|
|
100
100
|
this.vite.watcher.off("change", listener);
|
|
@@ -103,7 +103,7 @@ export class VitePackageLoader {
|
|
|
103
103
|
onSubgraphsChange(identifier, handler, options) {
|
|
104
104
|
const subgraphsPath = this.getSubgraphsPath(identifier);
|
|
105
105
|
const listener = debounce(async (changedPath) => {
|
|
106
|
-
if (
|
|
106
|
+
if (isSubpath(subgraphsPath, changedPath)) {
|
|
107
107
|
const subgraphs = await this.loadSubgraphs(identifier);
|
|
108
108
|
handler(subgraphs);
|
|
109
109
|
}
|
|
@@ -115,27 +115,35 @@ export class VitePackageLoader {
|
|
|
115
115
|
}
|
|
116
116
|
onProcessorsChange(identifier, handler, options) {
|
|
117
117
|
const processorsPath = this.getProcessorsPath(identifier);
|
|
118
|
-
const listener =
|
|
119
|
-
if (
|
|
118
|
+
const listener = async (changedPath) => {
|
|
119
|
+
if (isSubpath(processorsPath, changedPath)) {
|
|
120
120
|
const processors = await this.loadProcessors(identifier);
|
|
121
121
|
handler(processors);
|
|
122
122
|
}
|
|
123
|
-
}
|
|
123
|
+
};
|
|
124
124
|
this.vite.watcher.on("change", listener);
|
|
125
125
|
return () => {
|
|
126
126
|
this.vite.watcher.off("change", listener);
|
|
127
127
|
};
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
-
export async function startViteServer() {
|
|
130
|
+
export async function startViteServer(root) {
|
|
131
|
+
const packageJson = await readPackage({ cwd: root });
|
|
131
132
|
const vite = await createServer({
|
|
132
|
-
|
|
133
|
+
root,
|
|
134
|
+
configFile: false,
|
|
135
|
+
server: { middlewareMode: true, watch: { ignored: ["**/.ph/**"] } },
|
|
133
136
|
appType: "custom",
|
|
134
137
|
build: {
|
|
135
138
|
rollupOptions: {
|
|
136
139
|
input: [],
|
|
137
140
|
},
|
|
138
141
|
},
|
|
142
|
+
resolve: {
|
|
143
|
+
alias: {
|
|
144
|
+
[packageJson.name]: root,
|
|
145
|
+
},
|
|
146
|
+
},
|
|
139
147
|
plugins: [
|
|
140
148
|
viteCommonjs(),
|
|
141
149
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-loader.js","sourceRoot":"","sources":["../../../src/packages/vite-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"vite-loader.js","sourceRoot":"","sources":["../../../src/packages/vite-loader.ts"],"names":[],"mappings":"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"}
|