@powerhousedao/switchboard 2.2.165-dev.0 → 2.4.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/.env +8 -0
- package/CHANGELOG.md +74 -0
- package/dist/src/clients/redis.d.ts +1 -1
- package/dist/src/clients/redis.d.ts.map +1 -1
- package/dist/src/clients/redis.js +1 -5
- package/dist/src/clients/redis.js.map +1 -1
- package/dist/src/index.js +18 -24
- package/dist/src/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +3 -3
- package/dist/src/utils/package-manager.d.ts +0 -33
- package/dist/src/utils/package-manager.d.ts.map +0 -1
- package/dist/src/utils/package-manager.js +0 -145
- package/dist/src/utils/package-manager.js.map +0 -1
- package/src/clients/redis.ts +0 -51
- package/src/index.ts +0 -99
- package/src/install-packages.ts +0 -8
- package/src/profiler.ts +0 -25
- package/src/utils/gen-doc-model-type-defs.ts +0 -65
- package/src/utils/package-manager.ts +0 -204
package/.env
ADDED
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,77 @@
|
|
|
1
|
+
## 2.4.0-dev.0 (2025-05-06)
|
|
2
|
+
|
|
3
|
+
### 🚀 Features
|
|
4
|
+
|
|
5
|
+
- **switchboard:** use package manager from reactor api ([a0a15417b](https://github.com/powerhouse-inc/powerhouse/commit/a0a15417b))
|
|
6
|
+
- **switchboard:** use filesystem if postgres url is not available ([0ae80d84b](https://github.com/powerhouse-inc/powerhouse/commit/0ae80d84b))
|
|
7
|
+
|
|
8
|
+
### 🧱 Updated Dependencies
|
|
9
|
+
|
|
10
|
+
- Updated @powerhousedao/reactor-api to 1.29.23-dev.3
|
|
11
|
+
|
|
12
|
+
### ❤️ Thank You
|
|
13
|
+
|
|
14
|
+
- Frank
|
|
15
|
+
|
|
16
|
+
## 2.3.0 (2025-05-06)
|
|
17
|
+
|
|
18
|
+
### 🚀 Features
|
|
19
|
+
|
|
20
|
+
- moved log levels definition to config and set default level to "info" ([ef6040210](https://github.com/powerhouse-inc/powerhouse/commit/ef6040210))
|
|
21
|
+
- **document-drive:** implemented LRU in memory cache ([9f6347b58](https://github.com/powerhouse-inc/powerhouse/commit/9f6347b58))
|
|
22
|
+
- **reactor-browser,connect:** use global analytics store ([213059fcd](https://github.com/powerhouse-inc/powerhouse/commit/213059fcd))
|
|
23
|
+
- **reactor-api,reactor-local:** updated analytics dependencies ([34ba69ba4](https://github.com/powerhouse-inc/powerhouse/commit/34ba69ba4))
|
|
24
|
+
- **connect,reactor-browser:** implemented analytics demo on connect ([d71c42400](https://github.com/powerhouse-inc/powerhouse/commit/d71c42400))
|
|
25
|
+
- **reactor-browser:** added analytics engine support ([50067856f](https://github.com/powerhouse-inc/powerhouse/commit/50067856f))
|
|
26
|
+
- **reactor-api,reactor-local,switchboard:** wait initial timeout before start listening to requests ([f49c00d4a](https://github.com/powerhouse-inc/powerhouse/commit/f49c00d4a))
|
|
27
|
+
- checkout release branch ([6f3e20067](https://github.com/powerhouse-inc/powerhouse/commit/6f3e20067))
|
|
28
|
+
- added sky-atlas-staging ([7eb24f6c6](https://github.com/powerhouse-inc/powerhouse/commit/7eb24f6c6))
|
|
29
|
+
- removed DriveContextProvider dep from connect DriveEditorContainer ([ea926fc30](https://github.com/powerhouse-inc/powerhouse/commit/ea926fc30))
|
|
30
|
+
- **nx-cloud:** setup nx cloud workspace ([3048ba71d](https://github.com/powerhouse-inc/powerhouse/commit/3048ba71d))
|
|
31
|
+
- **switchboard:** use reactor api package manager ([e5b5722fe](https://github.com/powerhouse-inc/powerhouse/commit/e5b5722fe))
|
|
32
|
+
- **reactor:** added vscode launch config and cli for debugging react-local ([610b33f50](https://github.com/powerhouse-inc/powerhouse/commit/610b33f50))
|
|
33
|
+
- **reactor-api:** added JSON scalar ([d3f8b4193](https://github.com/powerhouse-inc/powerhouse/commit/d3f8b4193))
|
|
34
|
+
- **ui:** improve cell navigation ([eaaa8b995](https://github.com/powerhouse-inc/powerhouse/commit/eaaa8b995))
|
|
35
|
+
- **builder-tools:** load local package from manifest ([96f4962d3](https://github.com/powerhouse-inc/powerhouse/commit/96f4962d3))
|
|
36
|
+
- **ph-cli:** add update command for dependency management ([ab3f06f85](https://github.com/powerhouse-inc/powerhouse/commit/ab3f06f85))
|
|
37
|
+
- added support for supergraphs ([650321bd6](https://github.com/powerhouse-inc/powerhouse/commit/650321bd6))
|
|
38
|
+
|
|
39
|
+
### 🩹 Fixes
|
|
40
|
+
|
|
41
|
+
- **release-app:** set pnpm version to install ([8587ca47d](https://github.com/powerhouse-inc/powerhouse/commit/8587ca47d))
|
|
42
|
+
- **switchboard:** use inmemory cache if redis env var is not provided ([de27c68ad](https://github.com/powerhouse-inc/powerhouse/commit/de27c68ad))
|
|
43
|
+
- separate node code in powerhouse config packages ([77071d3e9](https://github.com/powerhouse-inc/powerhouse/commit/77071d3e9))
|
|
44
|
+
- added script for testing end-to-end codegen pipeline ([8668f82b4](https://github.com/powerhouse-inc/powerhouse/commit/8668f82b4))
|
|
45
|
+
- updating launch confituration to fix reactor local debug source mapping ([32af5af15](https://github.com/powerhouse-inc/powerhouse/commit/32af5af15))
|
|
46
|
+
- **switchboard:** add analytics-engine-core as a dependency of switchboard ([bded7cbab](https://github.com/powerhouse-inc/powerhouse/commit/bded7cbab))
|
|
47
|
+
- **ph-cli:** ph add does not remove installed packages ([1109ef2ed](https://github.com/powerhouse-inc/powerhouse/commit/1109ef2ed))
|
|
48
|
+
- **connect:** fixed diff analyzer dependency version ([c4119416f](https://github.com/powerhouse-inc/powerhouse/commit/c4119416f))
|
|
49
|
+
- **connect:** updated diff analyzer dependency ([012eb867c](https://github.com/powerhouse-inc/powerhouse/commit/012eb867c))
|
|
50
|
+
- **connect,document-drive,reactor-browser:** build issues ([d8142a0e3](https://github.com/powerhouse-inc/powerhouse/commit/d8142a0e3))
|
|
51
|
+
- remove .env and add to .gitignore ([5ca95a8ee](https://github.com/powerhouse-inc/powerhouse/commit/5ca95a8ee))
|
|
52
|
+
- **switchboard,reactor-local:** latest version of sky atlas was not being installed ([7245bb133](https://github.com/powerhouse-inc/powerhouse/commit/7245bb133))
|
|
53
|
+
- add source map generation so we can debug ([a4e8cbb69](https://github.com/powerhouse-inc/powerhouse/commit/a4e8cbb69))
|
|
54
|
+
- update lockfile ([07931c848](https://github.com/powerhouse-inc/powerhouse/commit/07931c848))
|
|
55
|
+
- **deploy:** set branch env var ([835cc704d](https://github.com/powerhouse-inc/powerhouse/commit/835cc704d))
|
|
56
|
+
- build and deploy action ([e8c550849](https://github.com/powerhouse-inc/powerhouse/commit/e8c550849))
|
|
57
|
+
- **switchboard:** removed duplicate listen ([02ca53a9d](https://github.com/powerhouse-inc/powerhouse/commit/02ca53a9d))
|
|
58
|
+
- made ph packages env var ([b9aaff84d](https://github.com/powerhouse-inc/powerhouse/commit/b9aaff84d))
|
|
59
|
+
- remove filter ([ece84a667](https://github.com/powerhouse-inc/powerhouse/commit/ece84a667))
|
|
60
|
+
- **document-drive:** linting issues ([de8e4472e](https://github.com/powerhouse-inc/powerhouse/commit/de8e4472e))
|
|
61
|
+
- **scalars:** restore scrollbar styles ([b450e57b6](https://github.com/powerhouse-inc/powerhouse/commit/b450e57b6))
|
|
62
|
+
- roll back replace plugin ([6c4781da2](https://github.com/powerhouse-inc/powerhouse/commit/6c4781da2))
|
|
63
|
+
- **codegen:** update validation plugin name ([18de56413](https://github.com/powerhouse-inc/powerhouse/commit/18de56413))
|
|
64
|
+
|
|
65
|
+
### ❤️ Thank You
|
|
66
|
+
|
|
67
|
+
- acaldas @acaldas
|
|
68
|
+
- Benjamin Jordan
|
|
69
|
+
- Frank
|
|
70
|
+
- Guillermo Puente @gpuente
|
|
71
|
+
- nesdc88
|
|
72
|
+
- ryanwolhuter @ryanwolhuter
|
|
73
|
+
- Yasiel Cabrera @YasielCabrera
|
|
74
|
+
|
|
1
75
|
## 2.2.0 (2025-03-19)
|
|
2
76
|
|
|
3
77
|
### 🚀 Features
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type RedisClientType } from "redis";
|
|
2
2
|
export declare let redisClient: RedisClientType;
|
|
3
|
-
export declare const initRedis: () => Promise<RedisClientType>;
|
|
3
|
+
export declare const initRedis: (url: string) => Promise<RedisClientType>;
|
|
4
4
|
export declare const closeRedis: () => void;
|
|
5
5
|
//# sourceMappingURL=redis.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../../src/clients/redis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,OAAO,CAAC;AAE3D,eAAO,IAAI,WAAW,EAAE,eAAe,CAAC;AACxC,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../../src/clients/redis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,OAAO,CAAC;AAE3D,eAAO,IAAI,WAAW,EAAE,eAAe,CAAC;AACxC,eAAO,MAAM,SAAS,GAAU,KAAK,MAAM,6BAuB1C,CAAC;AAeF,eAAO,MAAM,UAAU,YAItB,CAAC"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import { createClient } from "redis";
|
|
2
2
|
export let redisClient;
|
|
3
|
-
export const initRedis = async () => {
|
|
3
|
+
export const initRedis = async (url) => {
|
|
4
4
|
if (!redisClient) {
|
|
5
|
-
const url = process.env.REDIS_TLS_URL ?? process.env.REDIS_URL;
|
|
6
|
-
if (!url) {
|
|
7
|
-
throw new Error("REDIS_TLS_URL is not set");
|
|
8
|
-
}
|
|
9
5
|
const socket = url.includes("rediss")
|
|
10
6
|
? {
|
|
11
7
|
tls: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../src/clients/redis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,OAAO,CAAC;AAE3D,MAAM,CAAC,IAAI,WAA4B,CAAC;AACxC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../src/clients/redis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,OAAO,CAAC;AAE3D,MAAM,CAAC,IAAI,WAA4B,CAAC;AACxC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;IAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACnC,CAAC,CAAC;gBACE,GAAG,EAAE,IAAI;gBACT,kBAAkB,EAAE,KAAK;aAC1B;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,WAAW,GAAG,YAAY,CAAC;YACzB,GAAG;YACH,MAAM;SACP,CAAC,CAAC;QAEH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE;YACtC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,WAAW,CACvB,KAAK,IAAI,EAAE;IACT,IAAI,CAAC;QACH,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC,EACD,IAAI,GAAG,EAAE,GAAG,CAAC,CACd,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,aAAa,CAAC,KAAK,CAAC,CAAC;IAErB,WAAW,CAAC,UAAU,EAAE,CAAC;AAC3B,CAAC,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { startAPI } from "@powerhousedao/reactor-api";
|
|
3
3
|
import * as Sentry from "@sentry/node";
|
|
4
|
-
import { ReactorBuilder, driveDocumentModelModule } from "document-drive";
|
|
4
|
+
import { InMemoryCache, ReactorBuilder, driveDocumentModelModule, } from "document-drive";
|
|
5
5
|
import RedisCache from "document-drive/cache/redis";
|
|
6
|
+
import { FilesystemStorage } from "document-drive/storage/filesystem";
|
|
6
7
|
import { PrismaStorageFactory } from "document-drive/storage/prisma";
|
|
7
8
|
import { documentModelDocumentModelModule, } from "document-model";
|
|
8
9
|
import dotenv from "dotenv";
|
|
9
10
|
import express from "express";
|
|
11
|
+
import path from "path";
|
|
10
12
|
import { initRedis } from "./clients/redis.js";
|
|
11
13
|
import { initProfilerFromEnv } from "./profiler.js";
|
|
12
|
-
import { PackagesManager } from "./utils/package-manager.js";
|
|
13
14
|
dotenv.config();
|
|
14
15
|
// Create a monolith express app for all subgraphs
|
|
15
16
|
const app = express();
|
|
@@ -33,32 +34,29 @@ const main = async () => {
|
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
try {
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
packages,
|
|
41
|
-
});
|
|
42
|
-
const { documentModels, subgraphs } = await pkgManager.init();
|
|
43
|
-
const redis = await initRedis();
|
|
44
|
-
const connectionString = process.env.DATABASE_URL;
|
|
45
|
-
if (!connectionString) {
|
|
46
|
-
throw new Error("Please set env var DATABASE_URL");
|
|
37
|
+
const redisUrl = process.env.REDIS_TLS_URL ?? process.env.REDIS_URL;
|
|
38
|
+
let redis;
|
|
39
|
+
if (redisUrl) {
|
|
40
|
+
redis = await initRedis(redisUrl);
|
|
47
41
|
}
|
|
42
|
+
const connectionString = process.env.DATABASE_URL ?? "./.ph/drive-storage";
|
|
48
43
|
const dbUrl = connectionString.includes("amazonaws") &&
|
|
49
44
|
!connectionString.includes("sslmode=no-verify")
|
|
50
45
|
? connectionString + "?sslmode=no-verify"
|
|
51
46
|
: connectionString;
|
|
52
|
-
const
|
|
53
|
-
const storageFactory =
|
|
54
|
-
|
|
47
|
+
const cache = redis ? new RedisCache(redis) : new InMemoryCache();
|
|
48
|
+
const storageFactory = dbUrl.startsWith("postgres")
|
|
49
|
+
? new PrismaStorageFactory(dbUrl, cache)
|
|
50
|
+
: undefined;
|
|
51
|
+
const storage = storageFactory
|
|
52
|
+
? storageFactory.build()
|
|
53
|
+
: new FilesystemStorage(path.join(process.cwd(), dbUrl));
|
|
55
54
|
const reactor = new ReactorBuilder([
|
|
56
55
|
documentModelDocumentModelModule,
|
|
57
56
|
driveDocumentModelModule,
|
|
58
|
-
...documentModels,
|
|
59
57
|
])
|
|
60
58
|
.withStorage(storage)
|
|
61
|
-
.withCache(
|
|
59
|
+
.withCache(cache)
|
|
62
60
|
.build();
|
|
63
61
|
// init drive server
|
|
64
62
|
await reactor.initialize();
|
|
@@ -66,13 +64,9 @@ const main = async () => {
|
|
|
66
64
|
await startAPI(reactor, {
|
|
67
65
|
express: app,
|
|
68
66
|
port: serverPort,
|
|
69
|
-
dbPath: dbUrl,
|
|
70
|
-
|
|
67
|
+
dbPath: dbUrl.startsWith("postgres") ? dbUrl : "./.ph/read-storage",
|
|
68
|
+
configFile: path.join(process.cwd(), "powerhouse.config.json"),
|
|
71
69
|
});
|
|
72
|
-
// start http server
|
|
73
|
-
// httpServer.listen({ port: serverPort }, () => {
|
|
74
|
-
// console.log(`Subgraph server listening on port ${serverPort}`);
|
|
75
|
-
// });
|
|
76
70
|
}
|
|
77
71
|
catch (e) {
|
|
78
72
|
Sentry.captureException(e);
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|