From 9b941335af73a634e2ab18a59e2517d2bd2fb905 Mon Sep 17 00:00:00 2001 From: Romain Lenzotti Date: Thu, 8 Oct 2026 07:36:24 +0200 Subject: [PATCH 1/2] fix(cli): resolve ts-morph from declared dependencies and report boot errors to the stats API - import SyntaxKind from ts-morph instead of the undeclared @ts-morph/common, which broke `pnpm dlx tsed init` (isolated node_modules) - declare the missing ts-morph dependencies in cli-testing, cli-plugin-mongoose and cli-plugin-typegraphql - report errors raised before the injector exists (failed import, plugin loading) to the stats API - send default values for the fields required by the stats API so failed init reports are no longer rejected Closes #615 Co-Authored-By: Claude Opus 5.5 --- packages/cli-plugin-mongoose/package.json | 1 + packages/cli-plugin-typegraphql/package.json | 1 + packages/cli-testing/package.json | 1 + packages/cli/src/bin/boot.ts | 68 ++++++++++-------- packages/cli/src/bin/reportBootError.spec.ts | 70 ++++++++++++++++++ packages/cli/src/bin/reportBootError.ts | 72 +++++++++++++++++++ .../cli/src/processors/transformIndexFile.ts | 3 +- packages/cli/src/services/CliStats.ts | 19 +++-- yarn.lock | 3 + 9 files changed, 203 insertions(+), 35 deletions(-) create mode 100644 packages/cli/src/bin/reportBootError.spec.ts create mode 100644 packages/cli/src/bin/reportBootError.ts diff --git a/packages/cli-plugin-mongoose/package.json b/packages/cli-plugin-mongoose/package.json index 9dc925a64..899f6b32f 100644 --- a/packages/cli-plugin-mongoose/package.json +++ b/packages/cli-plugin-mongoose/package.json @@ -24,6 +24,7 @@ "dependencies": { "change-case": "5.4.4", "pluralize": "8.0.0", + "ts-morph": "27.0.0", "tslib": "2.7.0" }, "devDependencies": { diff --git a/packages/cli-plugin-typegraphql/package.json b/packages/cli-plugin-typegraphql/package.json index 09c198933..146c47aa3 100644 --- a/packages/cli-plugin-typegraphql/package.json +++ b/packages/cli-plugin-typegraphql/package.json @@ -26,6 +26,7 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { + "ts-morph": "27.0.0", "tslib": "2.7.0" }, "devDependencies": { diff --git a/packages/cli-testing/package.json b/packages/cli-testing/package.json index 81fea2653..32f292771 100644 --- a/packages/cli-testing/package.json +++ b/packages/cli-testing/package.json @@ -30,6 +30,7 @@ "build:ts": "tsc --build tsconfig.esm.json" }, "dependencies": { + "@ts-morph/common": "0.28.0", "@tsed/cli-core": "workspace:*", "tslib": "2.7.0" }, diff --git a/packages/cli/src/bin/boot.ts b/packages/cli/src/bin/boot.ts index ec78fba97..a43b3c883 100644 --- a/packages/cli/src/bin/boot.ts +++ b/packages/cli/src/bin/boot.ts @@ -2,6 +2,8 @@ import {register} from "node:module"; import {join} from "node:path"; import {pathToFileURL} from "node:url"; +import {reportBootError} from "./reportBootError.js"; + const EXT = process.env.CLI_MODE === "ts" ? "ts" : "js"; register(pathToFileURL(join(import.meta.dirname, `../loaders/alias.hook.${EXT}`)), { @@ -16,33 +18,43 @@ register(pathToFileURL(join(import.meta.dirname, `../loaders/alias.hook.${EXT}`) transferList: [] }); -const {tools, commands, resources, CliCore, PKG, TEMPLATE_DIR, ArchitectureConvention, ProjectConvention} = await import("../index.js"); - -CliCore.bootstrap({ - name: "tsed", - pkg: PKG as any, - templateDir: TEMPLATE_DIR, - plugins: true, - updateNotifier: true, - checkPrecondition: true, - commands, - mcp: { - tools, - resources - }, - defaultProjectPreferences() { - return { - convention: ProjectConvention.DEFAULT, - architecture: ArchitectureConvention.DEFAULT - }; - }, - project: { - reinstallAfterRun: true - }, - logger: { - level: "info" - } -}).catch((error) => { +try { + const {tools, commands, resources, CliCore, PKG, TEMPLATE_DIR, ArchitectureConvention, ProjectConvention} = await import("../index.js"); + + await CliCore.bootstrap({ + name: "tsed", + pkg: PKG as any, + templateDir: TEMPLATE_DIR, + plugins: true, + updateNotifier: true, + checkPrecondition: true, + commands, + mcp: { + tools, + resources + }, + defaultProjectPreferences() { + return { + convention: ProjectConvention.DEFAULT, + architecture: ArchitectureConvention.DEFAULT + }; + }, + project: { + reinstallAfterRun: true + }, + logger: { + level: "info" + } + }); +} catch (error) { console.error(error); + + const origin = (error as {origin?: unknown})?.origin ?? error; + + // errors raised by a command are already reported by CliStats.$onFinish + if (!(origin as {reported?: boolean})?.reported) { + await reportBootError(origin, process.argv[2]); + } + process.exit(-1); -}); +} diff --git a/packages/cli/src/bin/reportBootError.spec.ts b/packages/cli/src/bin/reportBootError.spec.ts new file mode 100644 index 000000000..022b92c03 --- /dev/null +++ b/packages/cli/src/bin/reportBootError.spec.ts @@ -0,0 +1,70 @@ +import {afterEach, beforeEach, describe, expect, it, vi} from "vitest"; + +import {reportBootError} from "./reportBootError.js"; + +describe("reportBootError()", () => { + const fetchMock = vi.fn(); + + beforeEach(() => { + fetchMock.mockResolvedValue({ok: true}); + vi.stubGlobal("fetch", fetchMock); + }); + + afterEach(() => { + fetchMock.mockReset(); + vi.unstubAllGlobals(); + }); + + it("should report the error raised while booting the init command", async () => { + const error = new Error( + "Cannot find package '@ts-morph/common' imported from /home/user/.local/share/pnpm/store/transformIndexFile.js" + ); + Object.assign(error, {code: "ERR_MODULE_NOT_FOUND"}); + + await reportBootError(error, "init"); + + expect(fetchMock).toHaveBeenCalledTimes(1); + + const [url, options] = fetchMock.mock.calls[0]; + const body = JSON.parse(options.body); + + expect(url).toEqual("https://api.tsed.dev/rest/cli/stats"); + expect(options.method).toEqual("POST"); + expect(body).toMatchObject({ + channel: "cli", + is_success: false, + error_name: "ERR_MODULE_NOT_FOUND", + features: [], + tsed_version: "unknown", + platform: "unknown", + convention: "unknown", + runtime: "node" + }); + // required and non-empty on the stats API side + ["package_manager", "os"].forEach((key) => expect(body[key]).toEqual(expect.stringMatching(/.+/))); + expect(body.cli_version).toEqual(expect.stringMatching(/.+/)); + expect(body.error_message).toContain("Cannot find package '@ts-morph/common'"); + expect(body.error_message).not.toContain("/home/user"); + }); + + it("should wrap a non error value", async () => { + await reportBootError("boom", "init"); + + expect(JSON.parse(fetchMock.mock.calls[0][1].body)).toMatchObject({ + error_name: "Error", + is_success: false + }); + }); + + it("should not report an error for another command", async () => { + await reportBootError(new Error("boom"), "generate"); + + expect(fetchMock).not.toHaveBeenCalled(); + }); + + it("should not throw when the stats API is unreachable", async () => { + fetchMock.mockRejectedValue(new Error("network")); + + await expect(reportBootError(new Error("boom"), "init")).resolves.toBeUndefined(); + }); +}); diff --git a/packages/cli/src/bin/reportBootError.ts b/packages/cli/src/bin/reportBootError.ts new file mode 100644 index 000000000..6ab49d0f9 --- /dev/null +++ b/packages/cli/src/bin/reportBootError.ts @@ -0,0 +1,72 @@ +import {readFile} from "node:fs/promises"; +import * as os from "node:os"; +import {dirname, join} from "node:path"; + +import {anonymizePaths} from "../services/mappers/anonymizePaths.js"; + +const STATS_URL = "https://api.tsed.dev/rest/cli/stats"; +const TIMEOUT = 3000; +// the stats API rejects the payload when a required field is missing or empty +const UNKNOWN = "unknown"; + +async function getCliVersion(dir = import.meta.dirname): Promise { + try { + const pkg = JSON.parse(await readFile(join(dir, "package.json"), "utf8")); + + if (pkg.name === "@tsed/cli") { + return pkg.version || ""; + } + } catch { + // no package.json at this level + } + + const parent = dirname(dir); + + return parent === dir ? "" : getCliVersion(parent); +} + +function getPackageManager() { + // e.g. "pnpm/11.17.0 npm/? node/v24.18.0 linux x64" + return process.env.npm_config_user_agent?.split("/")[0] || UNKNOWN; +} + +/** + * Report an error raised while the CLI is booting, before the injector (and therefore CliStats) exists. + * + * This module must only depend on Node.js built-ins: it runs precisely when a dependency of the CLI cannot be loaded. + */ +export async function reportBootError(error: unknown, commandName?: string) { + if (commandName !== "init") { + return; + } + + const er = error instanceof Error ? error : new Error(String(error)); + + try { + await fetch(STATS_URL, { + method: "POST", + headers: { + "Content-Type": "application/json", + Accept: "application/json" + }, + body: JSON.stringify({ + features: [], + is_success: false, + error_name: (er as NodeJS.ErrnoException).code || er.name || "", + error_message: [anonymizePaths(er.message || ""), anonymizePaths(er.stack || "")].filter(Boolean).join(" "), + os: os.type(), + channel: "cli", + cli_version: (await getCliVersion()) || UNKNOWN, + // the project preferences are not resolved yet at this stage + tsed_version: UNKNOWN, + platform: UNKNOWN, + convention: UNKNOWN, + package_manager: getPackageManager(), + runtime: process.versions.bun ? "bun" : "node" + }), + signal: AbortSignal.timeout(TIMEOUT) + }); + } catch { + // reporting must never hide the original error + } +} diff --git a/packages/cli/src/processors/transformIndexFile.ts b/packages/cli/src/processors/transformIndexFile.ts index 73cd55639..7f306d778 100644 --- a/packages/cli/src/processors/transformIndexFile.ts +++ b/packages/cli/src/processors/transformIndexFile.ts @@ -1,9 +1,8 @@ -import {ts} from "@ts-morph/common"; import {pascalCase} from "change-case"; +import {SyntaxKind} from "ts-morph"; import type {RenderDataContext} from "../interfaces/RenderDataContext.js"; import type {ProjectClient} from "../services/ProjectClient.js"; -import SyntaxKind = ts.SyntaxKind; export function transformIndexFile(project: ProjectClient, data: RenderDataContext) { const sourceFile = project.indexSourceFile!; diff --git a/packages/cli/src/services/CliStats.ts b/packages/cli/src/services/CliStats.ts index eb0c75c03..0f33da42e 100644 --- a/packages/cli/src/services/CliStats.ts +++ b/packages/cli/src/services/CliStats.ts @@ -15,6 +15,8 @@ declare global { } } +const UNKNOWN = "unknown"; + type InitStatPayload = { tsed_version: string; platform: string; @@ -45,12 +47,14 @@ export class CliStats extends CliHttpClient { os: os.type(), convention: this.projectPackage.preferences.convention === "conv_default" ? "tsed" : "angular", style: this.projectPackage.preferences.architecture === "arc_default" ? "tsed" : "feature", - platform: this.projectPackage.preferences.platform, - package_manager: this.projectPackage.preferences.packageManager, - runtime: this.projectPackage.preferences.runtime, + // the stats API rejects the payload when a required field is missing or empty, + // which happens when the init command fails before the preferences are resolved + platform: this.projectPackage.preferences.platform || UNKNOWN, + package_manager: this.projectPackage.preferences.packageManager || UNKNOWN, + runtime: this.projectPackage.preferences.runtime || UNKNOWN, channel: opts.channel || "cli", - cli_version: constant("pkg.version", ""), - tsed_version: this.projectPackage.dependencies["@tsed/platform-http"] + cli_version: constant("pkg.version", "") || UNKNOWN, + tsed_version: this.projectPackage.dependencies["@tsed/platform-http"] || UNKNOWN } satisfies InitStatPayload; return this.post("/rest/cli/stats", { @@ -63,6 +67,11 @@ export class CliStats extends CliHttpClient { $onFinish(data: {commandName?: string; features?: string[]}, er?: Error) { if (data.commandName === "init") { + // prevent the bin from reporting the same error a second time + if (er) { + Object.assign(er, {reported: true}); + } + const sanitizedMessage = anonymizePaths(er?.message || ""); const sanitizedStack = anonymizePaths(er?.stack || ""); diff --git a/yarn.lock b/yarn.lock index 7b8a29e02..35408dcee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3491,6 +3491,7 @@ __metadata: change-case: "npm:5.4.4" cross-env: "npm:7.0.3" pluralize: "npm:8.0.0" + ts-morph: "npm:27.0.0" tslib: "npm:2.7.0" typescript: "npm:6.0.3" vitest: "npm:4.1.11" @@ -3569,6 +3570,7 @@ __metadata: "@tsed/cli-core": "workspace:*" "@tsed/typescript": "workspace:*" cross-env: "npm:7.0.3" + ts-morph: "npm:27.0.0" tslib: "npm:2.7.0" typescript: "npm:6.0.3" vitest: "npm:4.1.11" @@ -3696,6 +3698,7 @@ __metadata: version: 0.0.0-use.local resolution: "@tsed/cli-testing@workspace:packages/cli-testing" dependencies: + "@ts-morph/common": "npm:0.28.0" "@tsed/cli-core": "workspace:*" "@tsed/typescript": "workspace:*" cross-env: "npm:7.0.3" From 9fe90745ef13cff66dbe012c68f97fbbb893adc9 Mon Sep 17 00:00:00 2001 From: Romain Lenzotti Date: Thu, 8 Oct 2026 10:39:43 +0200 Subject: [PATCH 2/2] fix: align peer dependencies across packages - replace the `workspace:*` peer ranges published as-is on npm by `>=7.0.0` for @tsed/cli and @tsed/cli-core - stop declaring the same Ts.ED packages in both dependencies and peerDependencies with diverging ranges - move the Ts.ED singletons (core, di, hooks, schema, logger) to peerDependencies >=8.38.0 in cli-core, cli-prompts, cli-tasks and cli-mcp - declare @tsed/cli, @tsed/cli-core and @tsed/di as peers of every plugin - declare the runtime imports missing from cli-testing, cli-plugin-typegraphql, cli-plugin-passport and the generate plugins - replace the unused @tsed/platform-http peer of the generate plugins by optional platform peers - alias @tsed/hooks and @tsed/logger to the CLI copies when loading plugins - drop the redundant `optional: false` peerDependenciesMeta entries Co-Authored-By: Claude Opus 5.5 --- package.json | 1 + packages/cli-core/package.json | 29 +-- .../cli-generate-http-client/package.json | 26 +- packages/cli-generate-swagger/package.json | 18 +- packages/cli-mcp/package.json | 52 ++-- packages/cli-plugin-eslint/package.json | 9 + packages/cli-plugin-jest/package.json | 9 + packages/cli-plugin-mongoose/package.json | 9 + .../cli-plugin-oidc-provider/package.json | 9 +- packages/cli-plugin-oxc/package.json | 9 + packages/cli-plugin-passport/package.json | 12 + packages/cli-plugin-prisma/package.json | 9 + packages/cli-plugin-typegraphql/package.json | 11 +- packages/cli-plugin-typeorm/package.json | 9 + packages/cli-plugin-vitest/package.json | 9 + packages/cli-prompts/package.json | 12 +- packages/cli-tasks/package.json | 12 +- packages/cli-testing/package.json | 16 +- packages/cli/package.json | 30 +-- packages/cli/src/bin/boot.ts | 2 + yarn.lock | 236 ++++++++++++------ 21 files changed, 342 insertions(+), 187 deletions(-) diff --git a/package.json b/package.json index 139d42cbd..e051e1245 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,7 @@ "@clack/prompts": "^1.0.0-alpha.10", "@tsed/core": ">=8.38.0", "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0", "@tsed/logger": ">=8.0.3", "@tsed/logger-std": ">=8.0.3", "@tsed/normalize-path": ">=8.38.0", diff --git a/packages/cli-core/package.json b/packages/cli-core/package.json index fb31b1444..d802bc759 100644 --- a/packages/cli-core/package.json +++ b/packages/cli-core/package.json @@ -35,10 +35,9 @@ "@ts-morph/common": "0.28.0", "@tsed/cli-prompts": "workspace:*", "@tsed/cli-tasks": "workspace:*", - "@tsed/logger": ">=8.0.3", "@tsed/logger-pattern-layout": ">=8.0.3", "@tsed/logger-std": ">=8.0.3", - "@tsed/normalize-path": ">=8.0.0", + "@tsed/normalize-path": ">=8.38.0", "ajv": "^8.17.1", "axios": "^1.20.0", "chalk": "^5.3.0", @@ -62,6 +61,12 @@ "uuid": "^14.0.0" }, "devDependencies": { + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0", + "@tsed/logger": ">=8.0.3", + "@tsed/openspec": ">=8.38.0", + "@tsed/schema": ">=8.38.0", "@tsed/typescript": "workspace:*", "@types/commander": "2.12.2", "@types/figures": "3.0.1", @@ -79,19 +84,11 @@ "vitest": "4.1.11" }, "peerDependencies": { - "@tsed/core": ">=8.3.1", - "@tsed/di": ">=8.3.1", - "@tsed/hooks": ">=8.3.1" - }, - "peerDependenciesMeta": { - "@tsed/core": { - "optional": false - }, - "@tsed/di": { - "optional": false - }, - "@tsed/hooks": { - "optional": false - } + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0", + "@tsed/logger": ">=8.0.3", + "@tsed/openspec": ">=8.38.0", + "@tsed/schema": ">=8.38.0" } } diff --git a/packages/cli-generate-http-client/package.json b/packages/cli-generate-http-client/package.json index 2736b29bc..e109ccaaa 100644 --- a/packages/cli-generate-http-client/package.json +++ b/packages/cli-generate-http-client/package.json @@ -28,6 +28,10 @@ "devDependencies": { "@tsed/cli": "workspace:*", "@tsed/cli-core": "workspace:*", + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0", + "@tsed/logger": ">=8.0.3", "@tsed/typescript": "workspace:*", "cross-env": "7.0.3", "swagger-typescript-api": "13.12.2", @@ -35,16 +39,24 @@ "vitest": "4.1.11" }, "peerDependencies": { - "@tsed/platform-http": ">=7.14.2", - "@tsed/swagger": ">=7.14.2", - "swagger-typescript-api": "^9.3.1" + "@tsed/cli-core": ">=7.0.0", + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/platform-express": ">=8.38.0", + "@tsed/platform-fastify": ">=8.38.0", + "@tsed/platform-koa": ">=8.38.0", + "@tsed/swagger": ">=8.38.0", + "swagger-typescript-api": ">=13.0.0" }, "peerDependenciesMeta": { - "@tsed/swagger": { - "optional": false + "@tsed/platform-express": { + "optional": true }, - "swagger-typescript-api": { - "optional": false + "@tsed/platform-fastify": { + "optional": true + }, + "@tsed/platform-koa": { + "optional": true } } } diff --git a/packages/cli-generate-swagger/package.json b/packages/cli-generate-swagger/package.json index 75ee960ef..986ddf3d4 100644 --- a/packages/cli-generate-swagger/package.json +++ b/packages/cli-generate-swagger/package.json @@ -34,15 +34,21 @@ "vitest": "4.1.11" }, "peerDependencies": { - "@tsed/platform-http": ">=7.14.2", - "@tsed/swagger": ">=7.14.2" + "@tsed/cli-core": ">=7.0.0", + "@tsed/platform-express": ">=8.38.0", + "@tsed/platform-fastify": ">=8.38.0", + "@tsed/platform-koa": ">=8.38.0", + "@tsed/swagger": ">=8.38.0" }, "peerDependenciesMeta": { - "@tsed/swagger": { - "optional": false + "@tsed/platform-express": { + "optional": true }, - "swagger-typescript-api": { - "optional": false + "@tsed/platform-fastify": { + "optional": true + }, + "@tsed/platform-koa": { + "optional": true } } } diff --git a/packages/cli-mcp/package.json b/packages/cli-mcp/package.json index 8d9118686..95ca76c1a 100644 --- a/packages/cli-mcp/package.json +++ b/packages/cli-mcp/package.json @@ -41,20 +41,21 @@ "dependencies": { "@modelcontextprotocol/node": "^2.0.0", "@modelcontextprotocol/server": "^2.0.0", - "@tsed/core": ">=8.38.0", - "@tsed/di": ">=8.38.0", - "@tsed/hooks": ">=8.38.0", - "@tsed/json-mapper": ">=8.38.0", - "@tsed/logger": ">=8.0.3", - "@tsed/logger-std": ">=8.0.3", "@tsed/platform-mcp": ">=8.38.0", - "@tsed/schema": ">=8.38.0", "tslib": "^2.7.0" }, "devDependencies": { "@swc-node/register": "^1.10.9", "@swc/core": "1.7.26", "@swc/helpers": "^0.5.13", + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0", + "@tsed/json-mapper": ">=8.38.0", + "@tsed/logger": ">=8.0.3", + "@tsed/logger-std": ">=8.0.3", + "@tsed/openspec": ">=8.38.0", + "@tsed/schema": ">=8.38.0", "@tsed/typescript": "workspace:*", "@types/change-case": "^2.3.1", "@types/consolidate": "0.14.4", @@ -64,36 +65,13 @@ "vitest": "4.1.11" }, "peerDependencies": { - "@tsed/core": ">=8.0.0", - "@tsed/di": ">=8.0.0", - "@tsed/hooks": ">=8.0.0", - "@tsed/logger": ">=8.0.2", - "@tsed/logger-std": ">=8.0.2", - "@tsed/openspec": ">=8.0.0", - "@tsed/schema": ">=8.0.0" - }, - "peerDependenciesMeta": { - "@tsed/core": { - "optional": false - }, - "@tsed/di": { - "optional": false - }, - "@tsed/hooks": { - "optional": false - }, - "@tsed/logger": { - "optional": false - }, - "@tsed/logger-std": { - "optional": false - }, - "@tsed/openspec": { - "optional": false - }, - "@tsed/schema": { - "optional": false - } + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0", + "@tsed/json-mapper": ">=8.38.0", + "@tsed/logger": ">=8.0.3", + "@tsed/openspec": ">=8.38.0", + "@tsed/schema": ">=8.38.0" }, "engines": { "node": ">=14" diff --git a/packages/cli-plugin-eslint/package.json b/packages/cli-plugin-eslint/package.json index a76115ce6..0de649718 100644 --- a/packages/cli-plugin-eslint/package.json +++ b/packages/cli-plugin-eslint/package.json @@ -27,9 +27,18 @@ "devDependencies": { "@tsed/cli": "workspace:*", "@tsed/cli-core": "workspace:*", + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0", + "@tsed/logger": ">=8.0.3", "@tsed/typescript": "workspace:*", "cross-env": "7.0.3", "typescript": "6.0.3", "vitest": "4.1.11" + }, + "peerDependencies": { + "@tsed/cli": ">=7.0.0", + "@tsed/cli-core": ">=7.0.0", + "@tsed/di": ">=8.38.0" } } diff --git a/packages/cli-plugin-jest/package.json b/packages/cli-plugin-jest/package.json index ec55cd337..1bf4e8d26 100644 --- a/packages/cli-plugin-jest/package.json +++ b/packages/cli-plugin-jest/package.json @@ -27,9 +27,18 @@ "devDependencies": { "@tsed/cli": "workspace:*", "@tsed/cli-core": "workspace:*", + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0", + "@tsed/logger": ">=8.0.3", "@tsed/typescript": "workspace:*", "cross-env": "7.0.3", "typescript": "6.0.3", "vitest": "4.1.11" + }, + "peerDependencies": { + "@tsed/cli": ">=7.0.0", + "@tsed/cli-core": ">=7.0.0", + "@tsed/di": ">=8.38.0" } } diff --git a/packages/cli-plugin-mongoose/package.json b/packages/cli-plugin-mongoose/package.json index 899f6b32f..19391c5ef 100644 --- a/packages/cli-plugin-mongoose/package.json +++ b/packages/cli-plugin-mongoose/package.json @@ -30,9 +30,18 @@ "devDependencies": { "@tsed/cli": "workspace:*", "@tsed/cli-core": "workspace:*", + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0", + "@tsed/logger": ">=8.0.3", "@tsed/typescript": "workspace:*", "cross-env": "7.0.3", "typescript": "6.0.3", "vitest": "4.1.11" + }, + "peerDependencies": { + "@tsed/cli": ">=7.0.0", + "@tsed/cli-core": ">=7.0.0", + "@tsed/di": ">=8.38.0" } } diff --git a/packages/cli-plugin-oidc-provider/package.json b/packages/cli-plugin-oidc-provider/package.json index 3d402d3ac..e9c4e3496 100644 --- a/packages/cli-plugin-oidc-provider/package.json +++ b/packages/cli-plugin-oidc-provider/package.json @@ -32,13 +32,18 @@ "devDependencies": { "@tsed/cli": "workspace:*", "@tsed/cli-core": "workspace:*", + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0", + "@tsed/logger": ">=8.0.3", "@tsed/typescript": "workspace:*", "cross-env": "7.0.3", "typescript": "6.0.3", "vitest": "4.1.11" }, "peerDependencies": { - "@tsed/cli": "workspace:*", - "@tsed/cli-core": "workspace:*" + "@tsed/cli": ">=7.0.0", + "@tsed/cli-core": ">=7.0.0", + "@tsed/di": ">=8.38.0" } } diff --git a/packages/cli-plugin-oxc/package.json b/packages/cli-plugin-oxc/package.json index 8a0915aeb..8e6625784 100644 --- a/packages/cli-plugin-oxc/package.json +++ b/packages/cli-plugin-oxc/package.json @@ -28,9 +28,18 @@ "@tsed/cli": "workspace:*", "@tsed/cli-core": "workspace:*", "@tsed/cli-testing": "workspace:*", + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0", + "@tsed/logger": ">=8.0.3", "@tsed/typescript": "workspace:*", "cross-env": "7.0.3", "typescript": "5.6.2", "vitest": "4.1.11" + }, + "peerDependencies": { + "@tsed/cli": ">=7.0.0", + "@tsed/cli-core": ">=7.0.0", + "@tsed/di": ">=8.38.0" } } diff --git a/packages/cli-plugin-passport/package.json b/packages/cli-plugin-passport/package.json index ebce4cc00..f87486aa1 100644 --- a/packages/cli-plugin-passport/package.json +++ b/packages/cli-plugin-passport/package.json @@ -28,10 +28,22 @@ "devDependencies": { "@tsed/cli": "workspace:*", "@tsed/cli-core": "workspace:*", + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0", + "@tsed/logger": ">=8.0.3", + "@tsed/openspec": ">=8.38.0", + "@tsed/schema": ">=8.38.0", "@tsed/typescript": "workspace:*", "@types/change-case": "^2.3.1", "cross-env": "7.0.3", "typescript": "6.0.3", "vitest": "4.1.11" + }, + "peerDependencies": { + "@tsed/cli": ">=7.0.0", + "@tsed/cli-core": ">=7.0.0", + "@tsed/di": ">=8.38.0", + "@tsed/schema": ">=8.38.0" } } diff --git a/packages/cli-plugin-prisma/package.json b/packages/cli-plugin-prisma/package.json index 4d165bb89..8855ab6e8 100644 --- a/packages/cli-plugin-prisma/package.json +++ b/packages/cli-plugin-prisma/package.json @@ -28,9 +28,18 @@ "devDependencies": { "@tsed/cli": "workspace:*", "@tsed/cli-core": "workspace:*", + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0", + "@tsed/logger": ">=8.0.3", "@tsed/typescript": "workspace:*", "cross-env": "7.0.3", "typescript": "6.0.3", "vitest": "4.1.11" + }, + "peerDependencies": { + "@tsed/cli": ">=7.0.0", + "@tsed/cli-core": ">=7.0.0", + "@tsed/di": ">=8.38.0" } } diff --git a/packages/cli-plugin-typegraphql/package.json b/packages/cli-plugin-typegraphql/package.json index 146c47aa3..dbc352d3a 100644 --- a/packages/cli-plugin-typegraphql/package.json +++ b/packages/cli-plugin-typegraphql/package.json @@ -26,19 +26,26 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { + "change-case": "5.4.4", + "pluralize": "8.0.0", "ts-morph": "27.0.0", "tslib": "2.7.0" }, "devDependencies": { "@tsed/cli": "workspace:*", "@tsed/cli-core": "workspace:*", + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0", + "@tsed/logger": ">=8.0.3", "@tsed/typescript": "workspace:*", "cross-env": "7.0.3", "typescript": "6.0.3", "vitest": "4.1.11" }, "peerDependencies": { - "@tsed/cli": "workspace:*", - "@tsed/cli-core": "workspace:*" + "@tsed/cli": ">=7.0.0", + "@tsed/cli-core": ">=7.0.0", + "@tsed/di": ">=8.38.0" } } diff --git a/packages/cli-plugin-typeorm/package.json b/packages/cli-plugin-typeorm/package.json index cb66da68a..7a405fe61 100644 --- a/packages/cli-plugin-typeorm/package.json +++ b/packages/cli-plugin-typeorm/package.json @@ -28,9 +28,18 @@ "devDependencies": { "@tsed/cli": "workspace:*", "@tsed/cli-core": "workspace:*", + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0", + "@tsed/logger": ">=8.0.3", "@tsed/typescript": "workspace:*", "cross-env": "7.0.3", "typescript": "6.0.3", "vitest": "4.1.11" + }, + "peerDependencies": { + "@tsed/cli": ">=7.0.0", + "@tsed/cli-core": ">=7.0.0", + "@tsed/di": ">=8.38.0" } } diff --git a/packages/cli-plugin-vitest/package.json b/packages/cli-plugin-vitest/package.json index 1dd734b8c..a7512826d 100644 --- a/packages/cli-plugin-vitest/package.json +++ b/packages/cli-plugin-vitest/package.json @@ -27,9 +27,18 @@ "devDependencies": { "@tsed/cli": "workspace:*", "@tsed/cli-core": "workspace:*", + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0", + "@tsed/logger": ">=8.0.3", "@tsed/typescript": "workspace:*", "cross-env": "7.0.3", "typescript": "6.0.3", "vitest": "4.1.11" + }, + "peerDependencies": { + "@tsed/cli": ">=7.0.0", + "@tsed/cli-core": ">=7.0.0", + "@tsed/di": ">=8.38.0" } } diff --git a/packages/cli-prompts/package.json b/packages/cli-prompts/package.json index 78b4c3b17..20a64076f 100644 --- a/packages/cli-prompts/package.json +++ b/packages/cli-prompts/package.json @@ -22,15 +22,19 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "@clack/prompts": ">=1.0.0-alpha.10", + "@clack/prompts": ">=1.0.0-alpha.10" + }, + "devDependencies": { "@tsed/core": ">=8.38.0", "@tsed/di": ">=8.38.0", "@tsed/hooks": ">=8.38.0", - "@tsed/logger": ">=8.0.3" - }, - "devDependencies": { + "@tsed/logger": ">=8.0.3", "@tsed/typescript": "workspace:*", "typescript": "6.0.3", "vitest": "4.1.11" + }, + "peerDependencies": { + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0" } } diff --git a/packages/cli-tasks/package.json b/packages/cli-tasks/package.json index 072253854..459989c83 100644 --- a/packages/cli-tasks/package.json +++ b/packages/cli-tasks/package.json @@ -28,15 +28,19 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "@clack/prompts": ">=1.0.0-alpha.10", + "@clack/prompts": ">=1.0.0-alpha.10" + }, + "devDependencies": { "@tsed/core": ">=8.38.0", "@tsed/di": ">=8.38.0", "@tsed/hooks": ">=8.38.0", - "@tsed/logger": ">=8.0.3" - }, - "devDependencies": { + "@tsed/logger": ">=8.0.3", "@tsed/typescript": "workspace:*", "typescript": "6.0.3", "vitest": "4.1.11" + }, + "peerDependencies": { + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0" } } diff --git a/packages/cli-testing/package.json b/packages/cli-testing/package.json index 32f292771..4bfebdf9e 100644 --- a/packages/cli-testing/package.json +++ b/packages/cli-testing/package.json @@ -32,12 +32,26 @@ "dependencies": { "@ts-morph/common": "0.28.0", "@tsed/cli-core": "workspace:*", - "tslib": "2.7.0" + "@tsed/logger-std": ">=8.0.3", + "@tsed/normalize-path": ">=8.38.0", + "fs-extra": "^11.2.0", + "rxjs": "^7.8.1", + "tslib": "2.7.0", + "uuid": "^14.0.0" }, "devDependencies": { + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0", + "@tsed/logger": ">=8.0.3", "@tsed/typescript": "workspace:*", "cross-env": "7.0.3", "typescript": "6.0.3", "vitest": "4.1.11" + }, + "peerDependencies": { + "@tsed/core": ">=8.38.0", + "@tsed/di": ">=8.38.0", + "@tsed/hooks": ">=8.38.0" } } diff --git a/packages/cli/package.json b/packages/cli/package.json index 4559a86d4..9e79eb535 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -82,35 +82,11 @@ "vitest": "4.1.11" }, "peerDependencies": { - "@tsed/core": ">=8.0.0", - "@tsed/di": ">=8.0.0", - "@tsed/hooks": ">=8.0.0", - "@tsed/logger": ">=8.0.2", - "@tsed/logger-std": ">=8.0.2", - "@tsed/openspec": ">=8.0.0", - "@tsed/schema": ">=8.0.0" + "vite": ">=6.0.0" }, "peerDependenciesMeta": { - "@tsed/core": { - "optional": false - }, - "@tsed/di": { - "optional": false - }, - "@tsed/hooks": { - "optional": false - }, - "@tsed/logger": { - "optional": false - }, - "@tsed/logger-std": { - "optional": false - }, - "@tsed/openspec": { - "optional": false - }, - "@tsed/schema": { - "optional": false + "vite": { + "optional": true } }, "engines": { diff --git a/packages/cli/src/bin/boot.ts b/packages/cli/src/bin/boot.ts index a43b3c883..483418403 100644 --- a/packages/cli/src/bin/boot.ts +++ b/packages/cli/src/bin/boot.ts @@ -11,6 +11,8 @@ register(pathToFileURL(join(import.meta.dirname, `../loaders/alias.hook.${EXT}`) data: { "@tsed/core": import.meta.resolve("@tsed/core"), "@tsed/di": import.meta.resolve("@tsed/di"), + "@tsed/hooks": import.meta.resolve("@tsed/hooks"), + "@tsed/logger": import.meta.resolve("@tsed/logger"), "@tsed/schema": import.meta.resolve("@tsed/schema"), "@tsed/cli-core": import.meta.resolve("@tsed/cli-core"), "@tsed/cli": import.meta.resolve("@tsed/cli") diff --git a/yarn.lock b/yarn.lock index 35408dcee..d809b28dc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3300,10 +3300,15 @@ __metadata: "@ts-morph/common": "npm:0.28.0" "@tsed/cli-prompts": "workspace:*" "@tsed/cli-tasks": "workspace:*" + "@tsed/core": "npm:>=8.38.0" + "@tsed/di": "npm:>=8.38.0" + "@tsed/hooks": "npm:>=8.38.0" "@tsed/logger": "npm:>=8.0.3" "@tsed/logger-pattern-layout": "npm:>=8.0.3" "@tsed/logger-std": "npm:>=8.0.3" - "@tsed/normalize-path": "npm:>=8.0.0" + "@tsed/normalize-path": "npm:>=8.38.0" + "@tsed/openspec": "npm:>=8.38.0" + "@tsed/schema": "npm:>=8.38.0" "@tsed/typescript": "workspace:*" "@types/commander": "npm:2.12.2" "@types/figures": "npm:3.0.1" @@ -3341,16 +3346,12 @@ __metadata: uuid: "npm:^14.0.0" vitest: "npm:4.1.11" peerDependencies: - "@tsed/core": ">=8.3.1" - "@tsed/di": ">=8.3.1" - "@tsed/hooks": ">=8.3.1" - peerDependenciesMeta: - "@tsed/core": - optional: false - "@tsed/di": - optional: false - "@tsed/hooks": - optional: false + "@tsed/core": ">=8.38.0" + "@tsed/di": ">=8.38.0" + "@tsed/hooks": ">=8.38.0" + "@tsed/logger": ">=8.0.3" + "@tsed/openspec": ">=8.38.0" + "@tsed/schema": ">=8.38.0" languageName: unknown linkType: soft @@ -3360,6 +3361,10 @@ __metadata: dependencies: "@tsed/cli": "workspace:*" "@tsed/cli-core": "workspace:*" + "@tsed/core": "npm:>=8.38.0" + "@tsed/di": "npm:>=8.38.0" + "@tsed/hooks": "npm:>=8.38.0" + "@tsed/logger": "npm:>=8.0.3" "@tsed/typescript": "workspace:*" change-case: "npm:5.4.4" cross-env: "npm:7.0.3" @@ -3368,14 +3373,21 @@ __metadata: typescript: "npm:6.0.3" vitest: "npm:4.1.11" peerDependencies: - "@tsed/platform-http": ">=7.14.2" - "@tsed/swagger": ">=7.14.2" - swagger-typescript-api: ^9.3.1 + "@tsed/cli-core": ">=7.0.0" + "@tsed/core": ">=8.38.0" + "@tsed/di": ">=8.38.0" + "@tsed/platform-express": ">=8.38.0" + "@tsed/platform-fastify": ">=8.38.0" + "@tsed/platform-koa": ">=8.38.0" + "@tsed/swagger": ">=8.38.0" + swagger-typescript-api: ">=13.0.0" peerDependenciesMeta: - "@tsed/swagger": - optional: false - swagger-typescript-api: - optional: false + "@tsed/platform-express": + optional: true + "@tsed/platform-fastify": + optional: true + "@tsed/platform-koa": + optional: true languageName: unknown linkType: soft @@ -3392,13 +3404,18 @@ __metadata: typescript: "npm:6.0.3" vitest: "npm:4.1.11" peerDependencies: - "@tsed/platform-http": ">=7.14.2" - "@tsed/swagger": ">=7.14.2" + "@tsed/cli-core": ">=7.0.0" + "@tsed/platform-express": ">=8.38.0" + "@tsed/platform-fastify": ">=8.38.0" + "@tsed/platform-koa": ">=8.38.0" + "@tsed/swagger": ">=8.38.0" peerDependenciesMeta: - "@tsed/swagger": - optional: false - swagger-typescript-api: - optional: false + "@tsed/platform-express": + optional: true + "@tsed/platform-fastify": + optional: true + "@tsed/platform-koa": + optional: true languageName: unknown linkType: soft @@ -3417,6 +3434,7 @@ __metadata: "@tsed/json-mapper": "npm:>=8.38.0" "@tsed/logger": "npm:>=8.0.3" "@tsed/logger-std": "npm:>=8.0.3" + "@tsed/openspec": "npm:>=8.38.0" "@tsed/platform-mcp": "npm:>=8.38.0" "@tsed/schema": "npm:>=8.38.0" "@tsed/typescript": "workspace:*" @@ -3428,28 +3446,13 @@ __metadata: typescript: "npm:6.0.3" vitest: "npm:4.1.11" peerDependencies: - "@tsed/core": ">=8.0.0" - "@tsed/di": ">=8.0.0" - "@tsed/hooks": ">=8.0.0" - "@tsed/logger": ">=8.0.2" - "@tsed/logger-std": ">=8.0.2" - "@tsed/openspec": ">=8.0.0" - "@tsed/schema": ">=8.0.0" - peerDependenciesMeta: - "@tsed/core": - optional: false - "@tsed/di": - optional: false - "@tsed/hooks": - optional: false - "@tsed/logger": - optional: false - "@tsed/logger-std": - optional: false - "@tsed/openspec": - optional: false - "@tsed/schema": - optional: false + "@tsed/core": ">=8.38.0" + "@tsed/di": ">=8.38.0" + "@tsed/hooks": ">=8.38.0" + "@tsed/json-mapper": ">=8.38.0" + "@tsed/logger": ">=8.0.3" + "@tsed/openspec": ">=8.38.0" + "@tsed/schema": ">=8.38.0" languageName: unknown linkType: soft @@ -3459,11 +3462,19 @@ __metadata: dependencies: "@tsed/cli": "workspace:*" "@tsed/cli-core": "workspace:*" + "@tsed/core": "npm:>=8.38.0" + "@tsed/di": "npm:>=8.38.0" + "@tsed/hooks": "npm:>=8.38.0" + "@tsed/logger": "npm:>=8.0.3" "@tsed/typescript": "workspace:*" cross-env: "npm:7.0.3" tslib: "npm:2.7.0" typescript: "npm:6.0.3" vitest: "npm:4.1.11" + peerDependencies: + "@tsed/cli": ">=7.0.0" + "@tsed/cli-core": ">=7.0.0" + "@tsed/di": ">=8.38.0" languageName: unknown linkType: soft @@ -3473,11 +3484,19 @@ __metadata: dependencies: "@tsed/cli": "workspace:*" "@tsed/cli-core": "workspace:*" + "@tsed/core": "npm:>=8.38.0" + "@tsed/di": "npm:>=8.38.0" + "@tsed/hooks": "npm:>=8.38.0" + "@tsed/logger": "npm:>=8.0.3" "@tsed/typescript": "workspace:*" cross-env: "npm:7.0.3" tslib: "npm:2.7.0" typescript: "npm:6.0.3" vitest: "npm:4.1.11" + peerDependencies: + "@tsed/cli": ">=7.0.0" + "@tsed/cli-core": ">=7.0.0" + "@tsed/di": ">=8.38.0" languageName: unknown linkType: soft @@ -3487,6 +3506,10 @@ __metadata: dependencies: "@tsed/cli": "workspace:*" "@tsed/cli-core": "workspace:*" + "@tsed/core": "npm:>=8.38.0" + "@tsed/di": "npm:>=8.38.0" + "@tsed/hooks": "npm:>=8.38.0" + "@tsed/logger": "npm:>=8.0.3" "@tsed/typescript": "workspace:*" change-case: "npm:5.4.4" cross-env: "npm:7.0.3" @@ -3495,6 +3518,10 @@ __metadata: tslib: "npm:2.7.0" typescript: "npm:6.0.3" vitest: "npm:4.1.11" + peerDependencies: + "@tsed/cli": ">=7.0.0" + "@tsed/cli-core": ">=7.0.0" + "@tsed/di": ">=8.38.0" languageName: unknown linkType: soft @@ -3504,6 +3531,10 @@ __metadata: dependencies: "@tsed/cli": "workspace:*" "@tsed/cli-core": "workspace:*" + "@tsed/core": "npm:>=8.38.0" + "@tsed/di": "npm:>=8.38.0" + "@tsed/hooks": "npm:>=8.38.0" + "@tsed/logger": "npm:>=8.0.3" "@tsed/typescript": "workspace:*" cross-env: "npm:7.0.3" ts-morph: "npm:27.0.0" @@ -3511,8 +3542,9 @@ __metadata: typescript: "npm:6.0.3" vitest: "npm:4.1.11" peerDependencies: - "@tsed/cli": "workspace:*" - "@tsed/cli-core": "workspace:*" + "@tsed/cli": ">=7.0.0" + "@tsed/cli-core": ">=7.0.0" + "@tsed/di": ">=8.38.0" languageName: unknown linkType: soft @@ -3523,11 +3555,19 @@ __metadata: "@tsed/cli": "workspace:*" "@tsed/cli-core": "workspace:*" "@tsed/cli-testing": "workspace:*" + "@tsed/core": "npm:>=8.38.0" + "@tsed/di": "npm:>=8.38.0" + "@tsed/hooks": "npm:>=8.38.0" + "@tsed/logger": "npm:>=8.0.3" "@tsed/typescript": "workspace:*" cross-env: "npm:7.0.3" tslib: "npm:2.7.0" typescript: "npm:5.6.2" vitest: "npm:4.1.11" + peerDependencies: + "@tsed/cli": ">=7.0.0" + "@tsed/cli-core": ">=7.0.0" + "@tsed/di": ">=8.38.0" languageName: unknown linkType: soft @@ -3537,6 +3577,12 @@ __metadata: dependencies: "@tsed/cli": "workspace:*" "@tsed/cli-core": "workspace:*" + "@tsed/core": "npm:>=8.38.0" + "@tsed/di": "npm:>=8.38.0" + "@tsed/hooks": "npm:>=8.38.0" + "@tsed/logger": "npm:>=8.0.3" + "@tsed/openspec": "npm:>=8.38.0" + "@tsed/schema": "npm:>=8.38.0" "@tsed/typescript": "workspace:*" "@types/change-case": "npm:^2.3.1" change-case: "npm:^5.4.4" @@ -3544,6 +3590,11 @@ __metadata: tslib: "npm:2.7.0" typescript: "npm:6.0.3" vitest: "npm:4.1.11" + peerDependencies: + "@tsed/cli": ">=7.0.0" + "@tsed/cli-core": ">=7.0.0" + "@tsed/di": ">=8.38.0" + "@tsed/schema": ">=8.38.0" languageName: unknown linkType: soft @@ -3553,12 +3604,20 @@ __metadata: dependencies: "@tsed/cli": "workspace:*" "@tsed/cli-core": "workspace:*" + "@tsed/core": "npm:>=8.38.0" + "@tsed/di": "npm:>=8.38.0" + "@tsed/hooks": "npm:>=8.38.0" + "@tsed/logger": "npm:>=8.0.3" "@tsed/typescript": "workspace:*" change-case: "npm:5.4.4" cross-env: "npm:7.0.3" tslib: "npm:2.7.0" typescript: "npm:6.0.3" vitest: "npm:4.1.11" + peerDependencies: + "@tsed/cli": ">=7.0.0" + "@tsed/cli-core": ">=7.0.0" + "@tsed/di": ">=8.38.0" languageName: unknown linkType: soft @@ -3568,15 +3627,22 @@ __metadata: dependencies: "@tsed/cli": "workspace:*" "@tsed/cli-core": "workspace:*" + "@tsed/core": "npm:>=8.38.0" + "@tsed/di": "npm:>=8.38.0" + "@tsed/hooks": "npm:>=8.38.0" + "@tsed/logger": "npm:>=8.0.3" "@tsed/typescript": "workspace:*" + change-case: "npm:5.4.4" cross-env: "npm:7.0.3" + pluralize: "npm:8.0.0" ts-morph: "npm:27.0.0" tslib: "npm:2.7.0" typescript: "npm:6.0.3" vitest: "npm:4.1.11" peerDependencies: - "@tsed/cli": "workspace:*" - "@tsed/cli-core": "workspace:*" + "@tsed/cli": ">=7.0.0" + "@tsed/cli-core": ">=7.0.0" + "@tsed/di": ">=8.38.0" languageName: unknown linkType: soft @@ -3586,12 +3652,20 @@ __metadata: dependencies: "@tsed/cli": "workspace:*" "@tsed/cli-core": "workspace:*" + "@tsed/core": "npm:>=8.38.0" + "@tsed/di": "npm:>=8.38.0" + "@tsed/hooks": "npm:>=8.38.0" + "@tsed/logger": "npm:>=8.0.3" "@tsed/typescript": "workspace:*" change-case: "npm:5.4.4" cross-env: "npm:7.0.3" tslib: "npm:2.7.0" typescript: "npm:6.0.3" vitest: "npm:4.1.11" + peerDependencies: + "@tsed/cli": ">=7.0.0" + "@tsed/cli-core": ">=7.0.0" + "@tsed/di": ">=8.38.0" languageName: unknown linkType: soft @@ -3601,11 +3675,19 @@ __metadata: dependencies: "@tsed/cli": "workspace:*" "@tsed/cli-core": "workspace:*" + "@tsed/core": "npm:>=8.38.0" + "@tsed/di": "npm:>=8.38.0" + "@tsed/hooks": "npm:>=8.38.0" + "@tsed/logger": "npm:>=8.0.3" "@tsed/typescript": "workspace:*" cross-env: "npm:7.0.3" tslib: "npm:2.7.0" typescript: "npm:6.0.3" vitest: "npm:4.1.11" + peerDependencies: + "@tsed/cli": ">=7.0.0" + "@tsed/cli-core": ">=7.0.0" + "@tsed/di": ">=8.38.0" languageName: unknown linkType: soft @@ -3621,6 +3703,9 @@ __metadata: "@tsed/typescript": "workspace:*" typescript: "npm:6.0.3" vitest: "npm:4.1.11" + peerDependencies: + "@tsed/core": ">=8.38.0" + "@tsed/di": ">=8.38.0" languageName: unknown linkType: soft @@ -3635,6 +3720,7 @@ __metadata: "@swc/helpers": "npm:0.5.13" "@tsed/core": "npm:>=8.38.0" "@tsed/di": "npm:>=8.38.0" + "@tsed/hooks": "npm:>=8.38.0" "@tsed/logger": "npm:>=8.0.3" "@tsed/logger-std": "npm:>=8.0.3" "@tsed/markdown-it-symbols": "npm:3.20.8" @@ -3691,6 +3777,9 @@ __metadata: "@tsed/typescript": "workspace:*" typescript: "npm:6.0.3" vitest: "npm:4.1.11" + peerDependencies: + "@tsed/core": ">=8.38.0" + "@tsed/di": ">=8.38.0" languageName: unknown linkType: soft @@ -3700,11 +3789,24 @@ __metadata: dependencies: "@ts-morph/common": "npm:0.28.0" "@tsed/cli-core": "workspace:*" + "@tsed/core": "npm:>=8.38.0" + "@tsed/di": "npm:>=8.38.0" + "@tsed/hooks": "npm:>=8.38.0" + "@tsed/logger": "npm:>=8.0.3" + "@tsed/logger-std": "npm:>=8.0.3" + "@tsed/normalize-path": "npm:>=8.38.0" "@tsed/typescript": "workspace:*" cross-env: "npm:7.0.3" + fs-extra: "npm:^11.2.0" + rxjs: "npm:^7.8.1" tslib: "npm:2.7.0" typescript: "npm:6.0.3" + uuid: "npm:^14.0.0" vitest: "npm:4.1.11" + peerDependencies: + "@tsed/core": ">=8.38.0" + "@tsed/di": ">=8.38.0" + "@tsed/hooks": ">=8.38.0" languageName: unknown linkType: soft @@ -3750,28 +3852,10 @@ __metadata: vitest: "npm:4.1.11" zod: "npm:3.25.76" peerDependencies: - "@tsed/core": ">=8.0.0" - "@tsed/di": ">=8.0.0" - "@tsed/hooks": ">=8.0.0" - "@tsed/logger": ">=8.0.2" - "@tsed/logger-std": ">=8.0.2" - "@tsed/openspec": ">=8.0.0" - "@tsed/schema": ">=8.0.0" + vite: ">=6.0.0" peerDependenciesMeta: - "@tsed/core": - optional: false - "@tsed/di": - optional: false - "@tsed/hooks": - optional: false - "@tsed/logger": - optional: false - "@tsed/logger-std": - optional: false - "@tsed/openspec": - optional: false - "@tsed/schema": - optional: false + vite: + optional: true bin: tsed: lib/esm/bin/tsed.js languageName: unknown @@ -3919,16 +4003,6 @@ __metadata: languageName: node linkType: hard -"@tsed/normalize-path@npm:>=8.0.0": - version: 8.8.0 - resolution: "@tsed/normalize-path@npm:8.8.0" - dependencies: - normalize-path: "npm:3.0.0" - tslib: "npm:2.7.0" - checksum: 10/25c67fdb536f2af513825bfa2cce59f92c3ba30c27fc343fe2b6d12486e589b76752969ba10174a31c55800eba1fd9980c53e0d73da5a31a57a15436d33d821c - languageName: node - linkType: hard - "@tsed/normalize-path@npm:>=8.38.0": version: 8.38.0 resolution: "@tsed/normalize-path@npm:8.38.0"