@dudousxd/nestjs-durable-dashboard 0.1.1 → 0.2.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/server/durable-api.controller.d.ts +1 -1
- package/dist/server/durable-api.controller.d.ts.map +1 -1
- package/dist/server/durable-api.controller.js +2 -2
- package/dist/server/durable-api.controller.js.map +1 -1
- package/dist/server/durable-dashboard.module.d.ts +14 -3
- package/dist/server/durable-dashboard.module.d.ts.map +1 -1
- package/dist/server/durable-dashboard.module.js +24 -11
- package/dist/server/durable-dashboard.module.js.map +1 -1
- package/dist/server/durable-ui.controller.d.ts +9 -1
- package/dist/server/durable-ui.controller.d.ts.map +1 -1
- package/dist/server/durable-ui.controller.js +21 -5
- package/dist/server/durable-ui.controller.js.map +1 -1
- package/package.json +4 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { RunStatus } from '@dudousxd/nestjs-durable-core';
|
|
2
2
|
import { DashboardService } from './dashboard.service.js';
|
|
3
|
-
/** JSON API consumed by the control-plane SPA. Mounted
|
|
3
|
+
/** JSON API consumed by the control-plane SPA. Mounted at `<base>/api` (base from RouterModule). */
|
|
4
4
|
export declare class DurableApiController {
|
|
5
5
|
private readonly dashboard;
|
|
6
6
|
constructor(dashboard: DashboardService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-api.controller.d.ts","sourceRoot":"","sources":["../../src/server/durable-api.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,
|
|
1
|
+
{"version":3,"file":"durable-api.controller.d.ts","sourceRoot":"","sources":["../../src/server/durable-api.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,oGAAoG;AACpG,qBACa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,gBAAgB;IAGxD,IAAI,CAAkB,MAAM,CAAC,EAAE,SAAS,EAAqB,QAAQ,CAAC,EAAE,MAAM;IAKxE,GAAG,CAAc,EAAE,EAAE,MAAM;IAOjC,KAAK,CAAc,EAAE,EAAE,MAAM;IAKvB,MAAM,CAAc,EAAE,EAAE,MAAM;CAKrC"}
|
|
@@ -12,7 +12,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
12
|
};
|
|
13
13
|
import { Controller, Get, NotFoundException, Param, Post, Query } from '@nestjs/common';
|
|
14
14
|
import { DashboardService } from './dashboard.service.js';
|
|
15
|
-
/** JSON API consumed by the control-plane SPA. Mounted
|
|
15
|
+
/** JSON API consumed by the control-plane SPA. Mounted at `<base>/api` (base from RouterModule). */
|
|
16
16
|
let DurableApiController = class DurableApiController {
|
|
17
17
|
dashboard;
|
|
18
18
|
constructor(dashboard) {
|
|
@@ -67,7 +67,7 @@ __decorate([
|
|
|
67
67
|
__metadata("design:returntype", Promise)
|
|
68
68
|
], DurableApiController.prototype, "cancel", null);
|
|
69
69
|
DurableApiController = __decorate([
|
|
70
|
-
Controller('
|
|
70
|
+
Controller('api'),
|
|
71
71
|
__metadata("design:paramtypes", [DashboardService])
|
|
72
72
|
], DurableApiController);
|
|
73
73
|
export { DurableApiController };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-api.controller.js","sourceRoot":"","sources":["../../src/server/durable-api.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,
|
|
1
|
+
{"version":3,"file":"durable-api.controller.js","sourceRoot":"","sources":["../../src/server/durable-api.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,oGAAoG;AAE7F,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IACF;IAA7B,YAA6B,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;IAAG,CAAC;IAG5D,IAAI,CAAkB,MAAkB,EAAqB,QAAiB;QAC5E,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IAGK,AAAN,KAAK,CAAC,GAAG,CAAc,EAAU;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC;IAChB,CAAC;IAGD,KAAK,CAAc,EAAU;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAc,EAAU;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAtBC;IADC,GAAG,CAAC,MAAM,CAAC;IACN,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;IAAsB,WAAA,KAAK,CAAC,UAAU,CAAC,CAAA;;;;gDAE3D;AAGK;IADL,GAAG,CAAC,UAAU,CAAC;IACL,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;+CAIrB;AAGD;IADC,IAAI,CAAC,gBAAgB,CAAC;IAChB,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;iDAEjB;AAGK;IADL,IAAI,CAAC,iBAAiB,CAAC;IACV,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;kDAIxB;AAzBU,oBAAoB;IADhC,UAAU,CAAC,KAAK,CAAC;qCAEwB,gBAAgB;GAD7C,oBAAoB,CA0BhC"}
|
|
@@ -1,8 +1,19 @@
|
|
|
1
|
+
import { type DynamicModule } from '@nestjs/common';
|
|
2
|
+
export interface DurableDashboardOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Where to mount the control plane. The SPA serves at `<basePath>` and its JSON API at
|
|
5
|
+
* `<basePath>/api`. Default `/durable`. Set e.g. `/api/durable` to bring it under your app's
|
|
6
|
+
* `/api` prefix (so its auth/proxy rules cover the dashboard API too).
|
|
7
|
+
*/
|
|
8
|
+
basePath?: string;
|
|
9
|
+
}
|
|
1
10
|
/**
|
|
2
|
-
* Mounts the control plane
|
|
3
|
-
*
|
|
4
|
-
*
|
|
11
|
+
* Mounts the control plane — the bundled React SPA plus its JSON API. Import via
|
|
12
|
+
* `DurableDashboardModule.forRoot()` (default `/durable`) or `.forRoot({ basePath: '/api/durable' })`,
|
|
13
|
+
* alongside `DurableModule` (which is global) so it resolves the engine and store. Front a
|
|
14
|
+
* guard/middleware on the base route to protect it.
|
|
5
15
|
*/
|
|
6
16
|
export declare class DurableDashboardModule {
|
|
17
|
+
static forRoot(options?: DurableDashboardOptions): DynamicModule;
|
|
7
18
|
}
|
|
8
19
|
//# sourceMappingURL=durable-dashboard.module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-dashboard.module.d.ts","sourceRoot":"","sources":["../../src/server/durable-dashboard.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"durable-dashboard.module.d.ts","sourceRoot":"","sources":["../../src/server/durable-dashboard.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAM5D,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAOD;;;;;GAKG;AACH,qBACa,sBAAsB;IACjC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAE,uBAA4B,GAAG,aAAa;CAUrE"}
|
|
@@ -4,23 +4,36 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
+
var DurableDashboardModule_1;
|
|
7
8
|
import { Module } from '@nestjs/common';
|
|
9
|
+
import { RouterModule } from '@nestjs/core';
|
|
8
10
|
import { DashboardService } from './dashboard.service.js';
|
|
9
11
|
import { DurableApiController } from './durable-api.controller.js';
|
|
10
|
-
import { DurableUiController } from './durable-ui.controller.js';
|
|
12
|
+
import { DASHBOARD_BASE_PATH, DurableUiController } from './durable-ui.controller.js';
|
|
13
|
+
/** Leading slash, no trailing slash — so `<base>/api` and the injected client base stay consistent. */
|
|
14
|
+
function normalizeBasePath(basePath) {
|
|
15
|
+
return `/${basePath.replace(/^\/+|\/+$/g, '')}`;
|
|
16
|
+
}
|
|
11
17
|
/**
|
|
12
|
-
* Mounts the control plane
|
|
13
|
-
*
|
|
14
|
-
*
|
|
18
|
+
* Mounts the control plane — the bundled React SPA plus its JSON API. Import via
|
|
19
|
+
* `DurableDashboardModule.forRoot()` (default `/durable`) or `.forRoot({ basePath: '/api/durable' })`,
|
|
20
|
+
* alongside `DurableModule` (which is global) so it resolves the engine and store. Front a
|
|
21
|
+
* guard/middleware on the base route to protect it.
|
|
15
22
|
*/
|
|
16
|
-
let DurableDashboardModule = class DurableDashboardModule {
|
|
23
|
+
let DurableDashboardModule = DurableDashboardModule_1 = class DurableDashboardModule {
|
|
24
|
+
static forRoot(options = {}) {
|
|
25
|
+
const basePath = normalizeBasePath(options.basePath ?? '/durable');
|
|
26
|
+
return {
|
|
27
|
+
module: DurableDashboardModule_1,
|
|
28
|
+
imports: [RouterModule.register([{ path: basePath, module: DurableDashboardModule_1 }])],
|
|
29
|
+
controllers: [DurableUiController, DurableApiController],
|
|
30
|
+
providers: [DashboardService, { provide: DASHBOARD_BASE_PATH, useValue: basePath }],
|
|
31
|
+
exports: [DashboardService],
|
|
32
|
+
};
|
|
33
|
+
}
|
|
17
34
|
};
|
|
18
|
-
DurableDashboardModule = __decorate([
|
|
19
|
-
Module({
|
|
20
|
-
controllers: [DurableUiController, DurableApiController],
|
|
21
|
-
providers: [DashboardService],
|
|
22
|
-
exports: [DashboardService],
|
|
23
|
-
})
|
|
35
|
+
DurableDashboardModule = DurableDashboardModule_1 = __decorate([
|
|
36
|
+
Module({})
|
|
24
37
|
], DurableDashboardModule);
|
|
25
38
|
export { DurableDashboardModule };
|
|
26
39
|
//# sourceMappingURL=durable-dashboard.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-dashboard.module.js","sourceRoot":"","sources":["../../src/server/durable-dashboard.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"durable-dashboard.module.js","sourceRoot":"","sources":["../../src/server/durable-dashboard.module.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAsB,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAWtF,uGAAuG;AACvG,SAAS,iBAAiB,CAAC,QAAgB;IACzC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AAEI,IAAM,sBAAsB,8BAA5B,MAAM,sBAAsB;IACjC,MAAM,CAAC,OAAO,CAAC,UAAmC,EAAE;QAClD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC;QACnE,OAAO;YACL,MAAM,EAAE,wBAAsB;YAC9B,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,wBAAsB,EAAE,CAAC,CAAC,CAAC;YACtF,WAAW,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;YACxD,SAAS,EAAE,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YACnF,OAAO,EAAE,CAAC,gBAAgB,CAAC;SAC5B,CAAC;IACJ,CAAC;CACF,CAAA;AAXY,sBAAsB;IADlC,MAAM,CAAC,EAAE,CAAC;GACE,sBAAsB,CAWlC"}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { StreamableFile } from '@nestjs/common';
|
|
2
|
-
/**
|
|
2
|
+
/** DI token carrying the configured mount base (e.g. `/durable`, `/api/durable`). */
|
|
3
|
+
export declare const DASHBOARD_BASE_PATH: unique symbol;
|
|
4
|
+
/**
|
|
5
|
+
* Serves the bundled control-plane SPA at the configured base (+ hashed assets at `<base>/assets`).
|
|
6
|
+
* The path comes from `RouterModule` (set by `DurableDashboardModule.forRoot({ basePath })`), so the
|
|
7
|
+
* controller routes are relative.
|
|
8
|
+
*/
|
|
3
9
|
export declare class DurableUiController {
|
|
10
|
+
private readonly basePath;
|
|
4
11
|
private readonly dir;
|
|
12
|
+
constructor(basePath: string);
|
|
5
13
|
index(): string;
|
|
6
14
|
asset(file: string): StreamableFile;
|
|
7
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-ui.controller.d.ts","sourceRoot":"","sources":["../../src/server/durable-ui.controller.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"durable-ui.controller.d.ts","sourceRoot":"","sources":["../../src/server/durable-ui.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAOL,cAAc,EACf,MAAM,gBAAgB,CAAC;AAExB,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,eAAgC,CAAC;AAoBjE;;;;GAIG;AACH,qBACa,mBAAmB;IAGW,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFlE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;gBAE0B,QAAQ,EAAE,MAAM;IAO1E,KAAK,IAAI,MAAM;IAiBf,KAAK,CAAgB,IAAI,EAAE,MAAM,GAAG,cAAc;CAWnD"}
|
|
@@ -13,7 +13,11 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
import { existsSync, readFileSync } from 'node:fs';
|
|
14
14
|
import { basename, extname, join, resolve, sep } from 'node:path';
|
|
15
15
|
import { fileURLToPath } from 'node:url';
|
|
16
|
-
import { Controller, Get, Header, NotFoundException, Param, StreamableFile } from '@nestjs/common';
|
|
16
|
+
import { Controller, Get, Header, Inject, NotFoundException, Param, StreamableFile, } from '@nestjs/common';
|
|
17
|
+
/** DI token carrying the configured mount base (e.g. `/durable`, `/api/durable`). */
|
|
18
|
+
export const DASHBOARD_BASE_PATH = Symbol('DASHBOARD_BASE_PATH');
|
|
19
|
+
/** The base the SPA bundle was built with (Vite `base`); rewritten to the configured base at serve time. */
|
|
20
|
+
const BUILD_BASE = '/durable';
|
|
17
21
|
/** dist/server/durable-ui.controller.js -> ../spa (the Vite build output). */
|
|
18
22
|
function spaDir() {
|
|
19
23
|
return fileURLToPath(new URL('../spa', import.meta.url));
|
|
@@ -27,9 +31,17 @@ const CONTENT_TYPES = {
|
|
|
27
31
|
'.woff2': 'font/woff2',
|
|
28
32
|
'.ico': 'image/x-icon',
|
|
29
33
|
};
|
|
30
|
-
/**
|
|
34
|
+
/**
|
|
35
|
+
* Serves the bundled control-plane SPA at the configured base (+ hashed assets at `<base>/assets`).
|
|
36
|
+
* The path comes from `RouterModule` (set by `DurableDashboardModule.forRoot({ basePath })`), so the
|
|
37
|
+
* controller routes are relative.
|
|
38
|
+
*/
|
|
31
39
|
let DurableUiController = class DurableUiController {
|
|
40
|
+
basePath;
|
|
32
41
|
dir = spaDir();
|
|
42
|
+
constructor(basePath) {
|
|
43
|
+
this.basePath = basePath;
|
|
44
|
+
}
|
|
33
45
|
// index.html references hash-named bundles, so it MUST NOT be cached (stale bundle = the
|
|
34
46
|
// classic "stuck loading after a deploy"). The hashed assets below are immutable.
|
|
35
47
|
index() {
|
|
@@ -37,8 +49,10 @@ let DurableUiController = class DurableUiController {
|
|
|
37
49
|
if (!existsSync(indexPath)) {
|
|
38
50
|
throw new NotFoundException('Dashboard is not built. Run the package build.');
|
|
39
51
|
}
|
|
40
|
-
|
|
41
|
-
|
|
52
|
+
// The bundle was built with Vite base `/durable/`; rewrite asset URLs to the configured base so
|
|
53
|
+
// the SPA loads from `<base>/assets` wherever it's mounted, and tell the client its API base.
|
|
54
|
+
const html = readFileSync(indexPath, 'utf8').replaceAll(`="${BUILD_BASE}/`, `="${this.basePath}/`);
|
|
55
|
+
const inject = `<script>window.__DURABLE_BASE__='${this.basePath}';</script>`;
|
|
42
56
|
return html.includes('</head>') ? html.replace('</head>', `${inject}</head>`) : inject + html;
|
|
43
57
|
}
|
|
44
58
|
asset(file) {
|
|
@@ -71,7 +85,9 @@ __decorate([
|
|
|
71
85
|
__metadata("design:returntype", StreamableFile)
|
|
72
86
|
], DurableUiController.prototype, "asset", null);
|
|
73
87
|
DurableUiController = __decorate([
|
|
74
|
-
Controller(
|
|
88
|
+
Controller(),
|
|
89
|
+
__param(0, Inject(DASHBOARD_BASE_PATH)),
|
|
90
|
+
__metadata("design:paramtypes", [String])
|
|
75
91
|
], DurableUiController);
|
|
76
92
|
export { DurableUiController };
|
|
77
93
|
//# sourceMappingURL=durable-ui.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-ui.controller.js","sourceRoot":"","sources":["../../src/server/durable-ui.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,
|
|
1
|
+
{"version":3,"file":"durable-ui.controller.js","sourceRoot":"","sources":["../../src/server/durable-ui.controller.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dudousxd/nestjs-durable-dashboard",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Embedded control plane (runs, step timeline, retry/cancel) for nestjs-durable — bundled React SPA served by NestJS",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Davide Carvalho",
|
|
@@ -24,10 +24,12 @@
|
|
|
24
24
|
],
|
|
25
25
|
"peerDependencies": {
|
|
26
26
|
"@dudousxd/nestjs-durable-core": ">=0.1.0 <1.0.0",
|
|
27
|
-
"@nestjs/common": "^10.0.0 || ^11.0.0"
|
|
27
|
+
"@nestjs/common": "^10.0.0 || ^11.0.0",
|
|
28
|
+
"@nestjs/core": "^10.0.0 || ^11.0.0"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
31
|
"@nestjs/common": "11.1.26",
|
|
32
|
+
"@nestjs/core": "11.1.26",
|
|
31
33
|
"@tanstack/react-query": "5.62.7",
|
|
32
34
|
"@xyflow/react": "12.3.6",
|
|
33
35
|
"@types/react": "18.3.18",
|