Files
ClintchizandClaude Opus 5 afa2a8c093 chore(deps): move packages to TypeScript 6.0.3
Raises the typescript devDependency across the workspace, bumps package
versions, re-adds ignoreDeprecations, and repoints the @wrnexus registry.

These were pre-existing working-tree changes, committed as-is rather than
authored here. The .npmrc change redirects @wrnexus publishes from
registry.npmjs.org to registry.workroot.in — confirm that is intended
before publishing from this branch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 19:16:34 +05:30
..

Inter-app API showcase

Generated with wrnexus workspace inter-app-api-showcase.

  • web exposes GET /api/product and calls admin through private RPC.
  • admin provides the catalog service.
  • packages/shared owns the typed contract imported by both apps.

Run the verification from the repository root:

bun test examples/inter-app-api-showcase/apps/web/test/inter-app.test.ts

A WrNexus workspace — multiple apps, one gateway, interconnected.

inter-app-api-showcase/
  wrnexus.workspace.ts   # apps ↔ domains map (used by `wrnexus gateway`)
  apps/
    web/                # a WrNexus app  → localhost, web.localhost
    admin/              # a WrNexus app  → admin.localhost
  packages/
    shared/             # @app/shared — shared code + cross-app pubsub bus

Run everything (one port, routed by domain)

bun install
bun run dev            # = wrnexus gateway  → http://127.0.0.1:3000

Add the hosts to your machine (e.g. /etc/hosts):

127.0.0.1 web.localhost admin.localhost

Open http://localhost:3000 for the web app or http://admin.localhost:3000 for the admin app. The ports printed for individual apps are internal gateway targets, not public workspace URLs.

Interconnect

  • Shared code: import @app/shared in any app.
  • Runtime messaging: import { bus } from "@app/shared" then bus.publish("tenant:created", {...}) in one app and bus.subscribe("tenant:*", fn) in another (needs Redis).
  • Databases: point apps at the same db/databases in their config.

Add another app

wrnexus workspace add reports --domain=reports.localhost