From 15402fd6479cd281bd2342257d2797e65ea8db02 Mon Sep 17 00:00:00 2001 From: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com> Date: Thu, 4 Jun 2026 16:08:25 +0800 Subject: [PATCH 1/2] feat(hono): re-export the `Hono` type from @objectstack/hono MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Downstream apps that consume `createHonoApp()` need the `Hono` type only to annotate the returned app. Re-exporting it here lets them import the type from `@objectstack/hono` instead of adding their own `hono` dependency — guaranteeing a single `hono` across the framework boundary (no duplicate-package type-identity errors, no version-pin/overrides alignment). `hono` stays a normal runtime dependency of this package, so standalone `os start` is unaffected; this only adds a type surface. Co-Authored-By: Claude Opus 4.8 --- packages/adapters/hono/src/index.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/adapters/hono/src/index.ts b/packages/adapters/hono/src/index.ts index 8e68bcecd..47da95212 100644 --- a/packages/adapters/hono/src/index.ts +++ b/packages/adapters/hono/src/index.ts @@ -9,6 +9,18 @@ import { } from '@objectstack/runtime'; import { readEnvWithDeprecation } from '@objectstack/types'; +/** + * Re-export the `Hono` type from the copy of `hono` this adapter owns. + * + * Downstream apps (e.g. the cloud control plane) only need the `Hono` TYPE to + * annotate the app returned by {@link createHonoApp}. Importing it from here — + * rather than adding their own `hono` dependency — guarantees there is exactly + * ONE `hono` across the framework boundary, so the app's type matches without + * any version-pinning / pnpm.overrides alignment dance. `hono` stays a normal + * runtime dependency of THIS package, so standalone `os start` is unaffected. + */ +export type { Hono } from 'hono'; + /** * Minimal structural interface matching KernelManager from @objectstack/service-cloud. * Declared locally to avoid a circular build dependency. From 1bd975fd38410b4e2c82d90271014560f287d4b3 Mon Sep 17 00:00:00 2001 From: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com> Date: Thu, 4 Jun 2026 16:09:11 +0800 Subject: [PATCH 2/2] chore: add changeset for @objectstack/hono Hono type re-export --- .changeset/hono-type-reexport.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .changeset/hono-type-reexport.md diff --git a/.changeset/hono-type-reexport.md b/.changeset/hono-type-reexport.md new file mode 100644 index 000000000..e72116f31 --- /dev/null +++ b/.changeset/hono-type-reexport.md @@ -0,0 +1,12 @@ +--- +'@objectstack/hono': patch +--- + +feat(hono): re-export the `Hono` type from `@objectstack/hono` + +Downstream apps that consume `createHonoApp()` only need the `Hono` type to +annotate the returned app. They can now `import type { Hono } from '@objectstack/hono'` +instead of adding their own `hono` dependency, which guarantees a single +`hono` across a `link:`/cross-package boundary (no duplicate-package +type-identity errors, no version-pin alignment). `hono` remains a normal +runtime dependency of this package, so standalone usage is unaffected.