@powerhousedao/reactor-api 1.31.1 → 2.5.0-dev.0
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/src/graphql/analytics/index.d.ts +0 -2
- package/dist/src/graphql/analytics/index.d.ts.map +1 -1
- package/dist/src/graphql/analytics/index.js +0 -60
- package/dist/src/graphql/analytics/index.js.map +1 -1
- package/dist/src/graphql/drive/index.d.ts +2 -0
- package/dist/src/graphql/drive/index.d.ts.map +1 -1
- package/dist/src/graphql/drive/index.js +59 -18
- package/dist/src/graphql/drive/index.js.map +1 -1
- package/dist/src/graphql/graphql-manager.d.ts +1 -2
- package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
- package/dist/src/graphql/graphql-manager.js +5 -3
- package/dist/src/graphql/graphql-manager.js.map +1 -1
- package/dist/src/graphql/index.d.ts +1 -2
- package/dist/src/graphql/index.d.ts.map +1 -1
- package/dist/src/graphql/index.js +1 -2
- package/dist/src/graphql/index.js.map +1 -1
- package/dist/src/graphql/system/index.d.ts +12 -3
- package/dist/src/graphql/system/index.d.ts.map +1 -1
- package/dist/src/graphql/system/index.js +34 -18
- package/dist/src/graphql/system/index.js.map +1 -1
- package/dist/src/graphql/system/types.d.ts +2 -4
- package/dist/src/graphql/system/types.d.ts.map +1 -1
- package/dist/src/graphql/types.d.ts +8 -0
- package/dist/src/graphql/types.d.ts.map +1 -1
- package/dist/src/packages/import-loader.d.ts +2 -2
- package/dist/src/packages/import-loader.d.ts.map +1 -1
- package/dist/src/packages/package-manager.d.ts +2 -2
- package/dist/src/packages/package-manager.d.ts.map +1 -1
- package/dist/src/packages/package-manager.js +1 -1
- package/dist/src/packages/package-manager.js.map +1 -1
- package/dist/src/packages/types.d.ts +6 -2
- package/dist/src/packages/types.d.ts.map +1 -1
- package/dist/src/server.d.ts +6 -0
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +67 -3
- package/dist/src/server.js.map +1 -1
- package/dist/src/sync/utils.d.ts.map +1 -1
- package/dist/src/sync/utils.js +1 -0
- package/dist/src/sync/utils.js.map +1 -1
- package/dist/src/types.d.ts +3 -3
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/auth.d.ts +3 -0
- package/dist/src/utils/auth.d.ts.map +1 -0
- package/dist/src/utils/auth.js +19 -0
- package/dist/src/utils/auth.js.map +1 -0
- package/dist/src/utils/create-schema.js +1 -1
- package/dist/src/utils/create-schema.js.map +1 -1
- package/dist/src/utils/db.d.ts.map +1 -1
- package/dist/src/utils/db.js +10 -0
- package/dist/src/utils/db.js.map +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/package.json +15 -9
- package/dist/src/graphql/auth/env/getters.d.ts +0 -3
- package/dist/src/graphql/auth/env/getters.d.ts.map +0 -1
- package/dist/src/graphql/auth/env/getters.js +0 -27
- package/dist/src/graphql/auth/env/getters.js.map +0 -1
- package/dist/src/graphql/auth/env/index.d.ts +0 -8
- package/dist/src/graphql/auth/env/index.d.ts.map +0 -1
- package/dist/src/graphql/auth/env/index.js +0 -14
- package/dist/src/graphql/auth/env/index.js.map +0 -1
- package/dist/src/graphql/auth/index.d.ts +0 -11
- package/dist/src/graphql/auth/index.d.ts.map +0 -1
- package/dist/src/graphql/auth/index.js +0 -260
- package/dist/src/graphql/auth/index.js.map +0 -1
- package/dist/src/graphql/auth/types.d.ts +0 -35
- package/dist/src/graphql/auth/types.d.ts.map +0 -1
- package/dist/src/graphql/auth/types.js +0 -2
- package/dist/src/graphql/auth/types.js.map +0 -1
- package/dist/src/graphql/auth/utils/helpers.d.ts +0 -12
- package/dist/src/graphql/auth/utils/helpers.d.ts.map +0 -1
- package/dist/src/graphql/auth/utils/helpers.js +0 -101
- package/dist/src/graphql/auth/utils/helpers.js.map +0 -1
- package/dist/src/graphql/auth/utils/session.d.ts +0 -22
- package/dist/src/graphql/auth/utils/session.d.ts.map +0 -1
- package/dist/src/graphql/auth/utils/session.js +0 -101
- package/dist/src/graphql/auth/utils/session.js.map +0 -1
- package/dist/src/graphql/auth/utils/user.d.ts +0 -12
- package/dist/src/graphql/auth/utils/user.d.ts.map +0 -1
- package/dist/src/graphql/auth/utils/user.js +0 -27
- package/dist/src/graphql/auth/utils/user.js.map +0 -1
- package/dist/src/package-manager.d.ts +0 -42
- package/dist/src/package-manager.d.ts.map +0 -1
- package/dist/src/package-manager.js +0 -198
- package/dist/src/package-manager.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -25
- package/dist/vitest.config.js.map +0 -1
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { GraphQLError } from "graphql";
|
|
2
|
-
import ms from "ms";
|
|
3
|
-
import { JWT_EXPIRATION_PERIOD } from "../env/index.js";
|
|
4
|
-
import { generateTokenAndSession, validateOriginAgainstAllowed, verifyToken, } from "./helpers.js";
|
|
5
|
-
export const createAuthenticationSession = async (db, userId, allowedOrigins = ["*"]) => {
|
|
6
|
-
return generateTokenAndSession(db, {
|
|
7
|
-
expiresAt: new Date(new Date().getTime() + ms(JWT_EXPIRATION_PERIOD)).toISOString(),
|
|
8
|
-
name: "Sign in/Sign up",
|
|
9
|
-
allowedOrigins,
|
|
10
|
-
}, userId, true);
|
|
11
|
-
};
|
|
12
|
-
export const createCustomSession = async (db, userId, session, isUserCreated = false) => {
|
|
13
|
-
return generateTokenAndSession(db, session, userId, isUserCreated);
|
|
14
|
-
};
|
|
15
|
-
export const listSessions = async (db, userId) => {
|
|
16
|
-
return db("Session").select().where("createdBy", userId);
|
|
17
|
-
};
|
|
18
|
-
export const revoke = async (db, sessionId, userId) => {
|
|
19
|
-
const [session] = await db("Session").select().where({
|
|
20
|
-
id: sessionId,
|
|
21
|
-
userId,
|
|
22
|
-
});
|
|
23
|
-
if (!session) {
|
|
24
|
-
throw new GraphQLError("Session not found", {
|
|
25
|
-
extensions: { code: "SESSION_NOT_FOUND" },
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
if (session.revokedAt !== null) {
|
|
29
|
-
throw new GraphQLError("Session already revoked", {
|
|
30
|
-
extensions: { code: "SESSION_ALREADY_REVOKED" },
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
await db("Session")
|
|
34
|
-
.update({
|
|
35
|
-
revokedAt: new Date().toISOString(),
|
|
36
|
-
})
|
|
37
|
-
.where({
|
|
38
|
-
id: sessionId,
|
|
39
|
-
userId,
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
export const authenticate = async (context) => {
|
|
43
|
-
const authorization = context.headers.authorization;
|
|
44
|
-
const db = context.db;
|
|
45
|
-
if (!authorization) {
|
|
46
|
-
throw new GraphQLError("Not authenticated", {
|
|
47
|
-
extensions: { code: "NOT_AUTHENTICATED" },
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
const token = authorization.replace("Bearer ", "");
|
|
51
|
-
const origin = context.headers.origin;
|
|
52
|
-
const session = await getSessionByToken(db, origin, token);
|
|
53
|
-
return session;
|
|
54
|
-
};
|
|
55
|
-
export const getSessionByToken = async (db, origin, token) => {
|
|
56
|
-
if (!token) {
|
|
57
|
-
throw new GraphQLError("Not authenticated", {
|
|
58
|
-
extensions: { code: "NOT_AUTHENTICATED" },
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
const verificationTokenResult = verifyToken(token);
|
|
62
|
-
if (!verificationTokenResult) {
|
|
63
|
-
throw new GraphQLError("Invalid token", {
|
|
64
|
-
extensions: { code: "INVALID_TOKEN" },
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
const { sessionId } = verificationTokenResult;
|
|
68
|
-
const [session] = await db("Session").select().where({
|
|
69
|
-
id: sessionId,
|
|
70
|
-
});
|
|
71
|
-
if (!session) {
|
|
72
|
-
throw new GraphQLError("Session not found", {
|
|
73
|
-
extensions: { code: "SESSION_NOT_FOUND" },
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
if (session.revokedAt) {
|
|
77
|
-
throw new GraphQLError("Session expired", {
|
|
78
|
-
extensions: { code: "SESSION_EXPIRED" },
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
if (origin &&
|
|
82
|
-
(!session.allowedOrigins ||
|
|
83
|
-
session.allowedOrigins === "*" ||
|
|
84
|
-
session.allowedOrigins.includes(origin))) {
|
|
85
|
-
validateOriginAgainstAllowed(session.allowedOrigins, origin);
|
|
86
|
-
}
|
|
87
|
-
return session;
|
|
88
|
-
};
|
|
89
|
-
export const verifySignature = async (parsedMessage, signature) => {
|
|
90
|
-
try {
|
|
91
|
-
const response = await parsedMessage.verify({
|
|
92
|
-
time: new Date().toISOString(),
|
|
93
|
-
signature,
|
|
94
|
-
});
|
|
95
|
-
return response;
|
|
96
|
-
}
|
|
97
|
-
catch (error) {
|
|
98
|
-
throw new GraphQLError("Invalid signature");
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
//# sourceMappingURL=session.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../../src/graphql/auth/utils/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Db } from "#utils/db.js";
|
|
2
|
-
interface User {
|
|
3
|
-
address: string;
|
|
4
|
-
createdAt?: string;
|
|
5
|
-
updatedAt?: string;
|
|
6
|
-
networkId: string;
|
|
7
|
-
chainId: number;
|
|
8
|
-
}
|
|
9
|
-
export declare const upsertUser: (db: Db, user: User) => Promise<User>;
|
|
10
|
-
export declare const getUser: (db: Db, address: string) => Promise<User>;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=user.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/auth/utils/user.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,UAAU,IAAI;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AACD,eAAO,MAAM,UAAU,GAAU,IAAI,EAAE,EAAE,MAAM,IAAI,kBAwBlD,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,IAAI,EAAE,EAAE,SAAS,MAAM,kBAGpD,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { GraphQLError } from "graphql";
|
|
2
|
-
export const upsertUser = async (db, user) => {
|
|
3
|
-
const { AUTH_SIGNUP_DISABLED } = process.env;
|
|
4
|
-
if (AUTH_SIGNUP_DISABLED) {
|
|
5
|
-
throw new GraphQLError("Sign up is disabled");
|
|
6
|
-
}
|
|
7
|
-
const [existingUser] = await db("User")
|
|
8
|
-
.select()
|
|
9
|
-
.where("address", user.address);
|
|
10
|
-
if (existingUser) {
|
|
11
|
-
return existingUser;
|
|
12
|
-
}
|
|
13
|
-
const date = new Date().toISOString();
|
|
14
|
-
const [newUser] = await db("User")
|
|
15
|
-
.insert({
|
|
16
|
-
address: user.address,
|
|
17
|
-
updatedAt: date,
|
|
18
|
-
createdAt: date,
|
|
19
|
-
})
|
|
20
|
-
.returning("*");
|
|
21
|
-
return newUser;
|
|
22
|
-
};
|
|
23
|
-
export const getUser = async (db, address) => {
|
|
24
|
-
const [user] = await db("User").select().where("address", address);
|
|
25
|
-
return user;
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=user.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../../src/graphql/auth/utils/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAUvC,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,EAAM,EAAE,IAAU,EAAE,EAAE;IACrD,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAC7C,IAAI,oBAAoB,EAAE,CAAC;QACzB,MAAM,IAAI,YAAY,CAAC,qBAAqB,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,EAAE,CAAO,MAAM,CAAC;SAC1C,MAAM,EAAE;SACR,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAElC,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,CAAO,MAAM,CAAC;SACrC,MAAM,CAAC;QACN,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;KAChB,CAAC;SACD,SAAS,CAAC,GAAG,CAAC,CAAC;IAElB,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,EAAM,EAAE,OAAe,EAAE,EAAE;IACvD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAO,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
export declare const installPackages: (packages: string[]) => Promise<void>;
|
|
2
|
-
export declare const readManifest: () => string;
|
|
3
|
-
import { type SubgraphClass } from "@powerhousedao/reactor-api";
|
|
4
|
-
import { type ProcessorFactory } from "document-drive/processors/types";
|
|
5
|
-
import { type DocumentModelModule } from "document-model";
|
|
6
|
-
interface IPackagesManager {
|
|
7
|
-
onDocumentModelsChange(handler: (documentModels: Record<string, DocumentModelModule[]>) => void): void;
|
|
8
|
-
}
|
|
9
|
-
type IPackagesManagerOptions = {
|
|
10
|
-
packages: string[];
|
|
11
|
-
} | {
|
|
12
|
-
configFile: string;
|
|
13
|
-
};
|
|
14
|
-
export declare function loadDependency(packageName: string, subPath: string): Promise<unknown>;
|
|
15
|
-
export declare function getUniqueDocumentModels(...documentModels: DocumentModelModule[][]): DocumentModelModule[];
|
|
16
|
-
export type PackageManagerResult = {
|
|
17
|
-
documentModels?: DocumentModelModule[];
|
|
18
|
-
subgraphs?: Map<string, SubgraphClass[]>;
|
|
19
|
-
processors?: Map<string, (module: any) => ProcessorFactory>;
|
|
20
|
-
};
|
|
21
|
-
export declare class PackagesManager implements IPackagesManager {
|
|
22
|
-
protected options: IPackagesManagerOptions;
|
|
23
|
-
protected onError?: ((e: unknown) => void) | undefined;
|
|
24
|
-
private docModelsMap;
|
|
25
|
-
private subgraphsMap;
|
|
26
|
-
private processorMap;
|
|
27
|
-
private configWatcher;
|
|
28
|
-
private eventEmitter;
|
|
29
|
-
constructor(options: IPackagesManagerOptions, onError?: ((e: unknown) => void) | undefined);
|
|
30
|
-
init(): Promise<PackageManagerResult>;
|
|
31
|
-
private loadPackages;
|
|
32
|
-
private loadFromConfigFile;
|
|
33
|
-
private initConfigFile;
|
|
34
|
-
private updatePackagesMap;
|
|
35
|
-
private updateSubgraphsMap;
|
|
36
|
-
private updateProcessorsMap;
|
|
37
|
-
onDocumentModelsChange(handler: (documentModels: Record<string, DocumentModelModule[]>) => void): void;
|
|
38
|
-
onSubgraphsChange(handler: (subgraphs: Map<string, SubgraphClass[]>) => void): void;
|
|
39
|
-
onProcessorsChange(handler: (processors: Map<string, (module: any) => ProcessorFactory>) => void): void;
|
|
40
|
-
}
|
|
41
|
-
export {};
|
|
42
|
-
//# sourceMappingURL=package-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../src/package-manager.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,GAAU,UAAU,MAAM,EAAE,kBAIvD,CAAC;AAEF,eAAO,MAAM,YAAY,cAGxB,CAAC;AAGF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,UAAU,gBAAgB;IACxB,sBAAsB,CACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,KAAK,IAAI,GACvE,IAAI,CAAC;CACT;AAED,KAAK,uBAAuB,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAU/E,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAQlB;AA8DD,wBAAgB,uBAAuB,CACrC,GAAG,cAAc,EAAE,mBAAmB,EAAE,EAAE,GACzC,mBAAmB,EAAE,CAUvB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,gBAAgB,CAAC,CAAC;CAC7D,CAAC;AAEF,qBAAa,eAAgB,YAAW,gBAAgB;IAYpD,SAAS,CAAC,OAAO,EAAE,uBAAuB;IAC1C,SAAS,CAAC,OAAO,CAAC,GAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI;IAZ1C,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,YAAY,CAAwD;IAC5E,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,YAAY,CAIf;gBAGO,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,GAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,aAAA;IAK7B,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC;YAcpC,YAAY;YAqBZ,kBAAkB;IAkBhC,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,mBAAmB;IAe3B,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,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,gBAAgB,CAAC,KACvD,IAAI,GACR,IAAI;CAGR"}
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
import { execSync } from "node:child_process";
|
|
2
|
-
export const installPackages = async (packages) => {
|
|
3
|
-
for (const packageName of packages) {
|
|
4
|
-
execSync(`ph install ${packageName}`);
|
|
5
|
-
}
|
|
6
|
-
};
|
|
7
|
-
export const readManifest = () => {
|
|
8
|
-
const manifest = execSync(`ph manifest`).toString();
|
|
9
|
-
return manifest;
|
|
10
|
-
};
|
|
11
|
-
import { getConfig } from "@powerhousedao/config";
|
|
12
|
-
import EventEmitter from "node:events";
|
|
13
|
-
import { watchFile } from "node:fs";
|
|
14
|
-
export async function loadDependency(packageName, subPath) {
|
|
15
|
-
try {
|
|
16
|
-
const fullPath = `${packageName}/${subPath}`;
|
|
17
|
-
return await import(/* @vite-ignore */ fullPath);
|
|
18
|
-
}
|
|
19
|
-
catch (e) {
|
|
20
|
-
console.error("Error loading dependency", packageName, subPath, e);
|
|
21
|
-
return null;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
async function loadPackagesDocumentModels(packages) {
|
|
25
|
-
const loadedPackages = new Map();
|
|
26
|
-
for (const pkg of packages) {
|
|
27
|
-
try {
|
|
28
|
-
console.log("> Loading package:", pkg);
|
|
29
|
-
const pkgModule = (await loadDependency(pkg, "document-models"));
|
|
30
|
-
if (pkgModule) {
|
|
31
|
-
console.log(` ➜ Loaded Document Models from: ${pkg}`);
|
|
32
|
-
loadedPackages.set(pkg, Object.values(pkgModule));
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
console.warn(` ➜ No Document Models found: ${pkg}`);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
catch (e) {
|
|
39
|
-
console.error("Error loading Document Models from", pkg, e);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return loadedPackages;
|
|
43
|
-
}
|
|
44
|
-
async function loadPackagesSubgraphs(packages) {
|
|
45
|
-
const loadedPackages = new Map();
|
|
46
|
-
for (const pkg of packages) {
|
|
47
|
-
const pkgModule = (await loadDependency(pkg, "subgraphs"));
|
|
48
|
-
const subgraphs = pkgModule
|
|
49
|
-
? Object.values(pkgModule).map((subgraph) => {
|
|
50
|
-
return Object.values(subgraph);
|
|
51
|
-
})
|
|
52
|
-
: undefined;
|
|
53
|
-
if (!pkgModule || !subgraphs?.length) {
|
|
54
|
-
console.warn(` ➜ No Subgraphs found: ${pkg}`);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
console.log(` ➜ Loaded Subgraphs from: ${pkg}`);
|
|
58
|
-
loadedPackages.set(pkg.replaceAll("@", ""), subgraphs.flat());
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return loadedPackages;
|
|
62
|
-
}
|
|
63
|
-
async function loadPackagesProcessors(packages) {
|
|
64
|
-
const loadedPackages = new Map();
|
|
65
|
-
for (const pkg of packages) {
|
|
66
|
-
const pkgModule = (await loadDependency(pkg, "processors"));
|
|
67
|
-
if (pkgModule) {
|
|
68
|
-
console.log(` ➜ Loaded Processor Factory from: ${pkg}`);
|
|
69
|
-
loadedPackages.set(pkg, pkgModule);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
console.warn(` ➜ No Processor Factory found: ${pkg}`);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
return loadedPackages;
|
|
76
|
-
}
|
|
77
|
-
export function getUniqueDocumentModels(...documentModels) {
|
|
78
|
-
const uniqueModels = new Map();
|
|
79
|
-
for (const models of documentModels) {
|
|
80
|
-
for (const model of models) {
|
|
81
|
-
uniqueModels.set(model.documentModel.id, model);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return Array.from(uniqueModels.values());
|
|
85
|
-
}
|
|
86
|
-
export class PackagesManager {
|
|
87
|
-
options;
|
|
88
|
-
onError;
|
|
89
|
-
docModelsMap = new Map();
|
|
90
|
-
subgraphsMap = new Map();
|
|
91
|
-
processorMap = new Map();
|
|
92
|
-
configWatcher;
|
|
93
|
-
eventEmitter = new EventEmitter();
|
|
94
|
-
constructor(options, onError) {
|
|
95
|
-
this.options = options;
|
|
96
|
-
this.onError = onError;
|
|
97
|
-
this.eventEmitter.setMaxListeners(0);
|
|
98
|
-
}
|
|
99
|
-
async init() {
|
|
100
|
-
if ("packages" in this.options) {
|
|
101
|
-
return await this.loadPackages(this.options.packages);
|
|
102
|
-
}
|
|
103
|
-
else if ("configFile" in this.options) {
|
|
104
|
-
return await this.initConfigFile(this.options.configFile);
|
|
105
|
-
}
|
|
106
|
-
return {
|
|
107
|
-
documentModels: [],
|
|
108
|
-
subgraphs: new Map(),
|
|
109
|
-
processors: new Map(),
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
async loadPackages(packages) {
|
|
113
|
-
// install packages
|
|
114
|
-
const packagesMap = await loadPackagesDocumentModels(packages);
|
|
115
|
-
const subgraphsMap = await loadPackagesSubgraphs(packages);
|
|
116
|
-
const processorsMap = await loadPackagesProcessors(packages);
|
|
117
|
-
this.updatePackagesMap(packagesMap);
|
|
118
|
-
this.updateSubgraphsMap(subgraphsMap);
|
|
119
|
-
this.updateProcessorsMap(processorsMap);
|
|
120
|
-
return {
|
|
121
|
-
documentModels: getUniqueDocumentModels(...Array.from(packagesMap.values())),
|
|
122
|
-
subgraphs: subgraphsMap,
|
|
123
|
-
processors: processorsMap,
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
async loadFromConfigFile(configFile) {
|
|
127
|
-
try {
|
|
128
|
-
const loadedConfig = getConfig(configFile);
|
|
129
|
-
if (!loadedConfig) {
|
|
130
|
-
throw new Error(`Failed to load config from ${configFile}`);
|
|
131
|
-
}
|
|
132
|
-
const packageNames = loadedConfig.packages?.map((pkg) => pkg.packageName) ?? [];
|
|
133
|
-
return await this.loadPackages(packageNames);
|
|
134
|
-
}
|
|
135
|
-
catch (error) {
|
|
136
|
-
const err = error instanceof Error ? error : new Error(String(error));
|
|
137
|
-
if (this.onError) {
|
|
138
|
-
this.onError(err);
|
|
139
|
-
}
|
|
140
|
-
return Promise.reject(err);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
initConfigFile(configFile) {
|
|
144
|
-
const result = this.loadFromConfigFile(configFile);
|
|
145
|
-
if (!this.configWatcher) {
|
|
146
|
-
this.configWatcher = watchFile(configFile, { interval: 100 }, (curr, prev) => {
|
|
147
|
-
if (curr.mtime === prev.mtime) {
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
150
|
-
void this.loadFromConfigFile(configFile).catch(this.onError);
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
return result;
|
|
154
|
-
}
|
|
155
|
-
updatePackagesMap(packagesMap) {
|
|
156
|
-
const oldPackages = Array.from(this.docModelsMap.keys());
|
|
157
|
-
const newPackages = Array.from(packagesMap.keys());
|
|
158
|
-
oldPackages
|
|
159
|
-
.filter((pkg) => !newPackages.includes(pkg))
|
|
160
|
-
.forEach((pkg) => {
|
|
161
|
-
console.log("> Removed package:", pkg);
|
|
162
|
-
});
|
|
163
|
-
this.docModelsMap = packagesMap;
|
|
164
|
-
this.eventEmitter.emit("documentModelsChange", Object.fromEntries(packagesMap));
|
|
165
|
-
}
|
|
166
|
-
updateSubgraphsMap(subgraphsMap) {
|
|
167
|
-
const oldPackages = Array.from(this.subgraphsMap.keys());
|
|
168
|
-
const newPackages = Array.from(subgraphsMap.keys());
|
|
169
|
-
oldPackages
|
|
170
|
-
.filter((pkg) => !newPackages.includes(pkg))
|
|
171
|
-
.forEach((pkg) => {
|
|
172
|
-
console.log("> Removed Subgraphs from:", pkg);
|
|
173
|
-
});
|
|
174
|
-
this.subgraphsMap = subgraphsMap;
|
|
175
|
-
this.eventEmitter.emit("subgraphsChange", subgraphsMap);
|
|
176
|
-
}
|
|
177
|
-
updateProcessorsMap(processorsMap) {
|
|
178
|
-
const oldPackages = Array.from(this.processorMap.keys());
|
|
179
|
-
const newPackages = Array.from(processorsMap.keys());
|
|
180
|
-
oldPackages
|
|
181
|
-
.filter((pkg) => !newPackages.includes(pkg))
|
|
182
|
-
.forEach((pkg) => {
|
|
183
|
-
console.log("> Removed Processor Factories from:", pkg);
|
|
184
|
-
});
|
|
185
|
-
this.processorMap = processorsMap;
|
|
186
|
-
this.eventEmitter.emit("processorsChange", processorsMap);
|
|
187
|
-
}
|
|
188
|
-
onDocumentModelsChange(handler) {
|
|
189
|
-
this.eventEmitter.on("documentModelsChange", handler);
|
|
190
|
-
}
|
|
191
|
-
onSubgraphsChange(handler) {
|
|
192
|
-
this.eventEmitter.on("subgraphsChange", handler);
|
|
193
|
-
}
|
|
194
|
-
onProcessorsChange(handler) {
|
|
195
|
-
this.eventEmitter.on("processorsChange", handler);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
//# sourceMappingURL=package-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../src/package-manager.ts"],"names":[],"mappings":"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"}
|