@powerhousedao/reactor-api 1.29.14-dev.1 → 1.29.15-dev.1
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":"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,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,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;
|
|
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,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,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;AA4DD,wBAAgB,uBAAuB,CACrC,GAAG,cAAc,EAAE,mBAAmB,EAAE,EAAE,GACzC,mBAAmB,EAAE,CAUvB;AAED,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,WAAW,CAAiC;IACpD,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;IAW7B,IAAI;;;;;YAQH,YAAY;YAkBZ,kBAAkB;IAkBhC,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,kBAAkB;IAU1B,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,iBAAiB,CACf,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,IAAI,GACvD,IAAI;CAGR"}
|
|
@@ -45,15 +45,17 @@ async function loadPackagesSubgraphs(packages) {
|
|
|
45
45
|
const loadedPackages = new Map();
|
|
46
46
|
for (const pkg of packages) {
|
|
47
47
|
const pkgModule = (await loadDependency(pkg, "subgraphs"));
|
|
48
|
-
const subgraphs =
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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}`);
|
|
54
55
|
}
|
|
55
56
|
else {
|
|
56
|
-
console.
|
|
57
|
+
console.log(` ➜ Loaded Subgraphs from: ${pkg}`);
|
|
58
|
+
loadedPackages.set(pkg.replaceAll("@", ""), subgraphs.flat());
|
|
57
59
|
}
|
|
58
60
|
}
|
|
59
61
|
return loadedPackages;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/subgraphs/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAMnC,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG/D,qBAAa,eAAe;;IAKxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAT5B,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,aAAa,CAA2B;gBAG7B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,OAAO,CAAC,OAAO,EACpB,OAAO,EAAE,oBAAoB,EAC7B,gBAAgB,EAAE,EAAE,EACpB,cAAc,EAAE,eAAe,EAC/B,SAAS,GAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAa;IAS3D,IAAI;IAmBJ,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,SAAK,EAAE,IAAI,SAAK;IAsBpE,YAAY;IAQlB,0BAA0B,4BAExB;IAEF,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAItD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/subgraphs/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAMnC,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG/D,qBAAa,eAAe;;IAKxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAT5B,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,aAAa,CAA2B;gBAG7B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,OAAO,CAAC,OAAO,EACpB,OAAO,EAAE,oBAAoB,EAC7B,gBAAgB,EAAE,EAAE,EACpB,cAAc,EAAE,eAAe,EAC/B,SAAS,GAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAa;IAS3D,IAAI;IAmBJ,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,SAAK,EAAE,IAAI,SAAK;IAsBpE,YAAY;IAQlB,0BAA0B,4BAExB;IAEF,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAItD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE;CAmKxD"}
|
|
@@ -78,7 +78,38 @@ export class SubgraphManager {
|
|
|
78
78
|
this.contextFields = { ...this.contextFields, ...fields };
|
|
79
79
|
}
|
|
80
80
|
setSupergraph(supergraph, subgraphs) {
|
|
81
|
+
// Set the supergraph with its subgraphs
|
|
81
82
|
this.subgraphs.set(supergraph, subgraphs);
|
|
83
|
+
// Also register this supergraph as a subgraph of the /graphql supergraph
|
|
84
|
+
if (supergraph !== "" && supergraph !== "graphql") {
|
|
85
|
+
// Create a virtual subgraph for the supergraph
|
|
86
|
+
const supergraphSubgraph = {
|
|
87
|
+
name: "supergraph",
|
|
88
|
+
path: `/${supergraph}`,
|
|
89
|
+
// These are required by the ISubgraph interface
|
|
90
|
+
resolvers: {},
|
|
91
|
+
typeDefs: {}, // Cast empty object to DocumentNode
|
|
92
|
+
reactor: this.reactor,
|
|
93
|
+
operationalStore: this.operationalStore,
|
|
94
|
+
onSetup: async () => { },
|
|
95
|
+
};
|
|
96
|
+
// Add it to the /graphql supergraph
|
|
97
|
+
if (!this.subgraphs.has("graphql")) {
|
|
98
|
+
this.subgraphs.set("graphql", []);
|
|
99
|
+
console.log(`> Created /graphql supergraph`);
|
|
100
|
+
}
|
|
101
|
+
// Check if the supergraph is already registered as a subgraph
|
|
102
|
+
const existingSubgraph = this.subgraphs
|
|
103
|
+
.get("graphql")
|
|
104
|
+
?.find((s) => s.name === supergraph);
|
|
105
|
+
if (!existingSubgraph) {
|
|
106
|
+
// We need to cast the ISubgraph to Subgraph since the Map expects Subgraph[]
|
|
107
|
+
this.subgraphs
|
|
108
|
+
.get("graphql")
|
|
109
|
+
?.push(supergraphSubgraph);
|
|
110
|
+
console.log(`> Registered /${supergraph} as a subgraph of /graphql`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
82
113
|
this.updateRouter();
|
|
83
114
|
}
|
|
84
115
|
#createApolloServer(schema) {
|
|
@@ -106,6 +137,10 @@ export class SubgraphManager {
|
|
|
106
137
|
for (const [supergraph, subgraphs] of this.subgraphs.entries()) {
|
|
107
138
|
const supergraphEndpoints = {};
|
|
108
139
|
for (const subgraph of subgraphs) {
|
|
140
|
+
if (subgraph.name === "supergraph") {
|
|
141
|
+
supergraphEndpoints[subgraph.path] = undefined;
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
109
144
|
const subgraphConfig = this.#getLocalSubgraphConfig(subgraph.name);
|
|
110
145
|
if (!subgraphConfig)
|
|
111
146
|
continue;
|