@daloyjs/core 0.12.0 → 0.13.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/README.md CHANGED
@@ -8,6 +8,8 @@
8
8
 
9
9
  > A **runtime-portable TypeScript web framework** with built-in **contract-first routing**, **validation**, **OpenAPI (Hey API)**, **typed client generation**, **large-scale maintainability**, and **security-focused runtime plus supply-chain posture**.
10
10
 
11
+ **One-line API docs.** `new App({ openapi: { info: ... }, docs: true })` auto-mounts `GET /docs` (Scalar) and `GET /openapi.json` — the same DX as FastAPI, without leaving TypeScript.
12
+
11
13
  DaloyJS is maintained in the GitHub organization at <https://github.com/daloyjs>; the canonical framework repository is <https://github.com/daloyjs/daloy>.
12
14
 
13
15
  ---
@@ -16,7 +18,7 @@ DaloyJS exists to be the framework you'd build if you took the best ideas from e
16
18
 
17
19
  | You want | Today's best-of | What DaloyJS gives you |
18
20
  | ------------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
19
- | Best **OpenAPI ergonomics** | [FastAPI](https://fastapi.tiangolo.com) | First-class OpenAPI 3.1 generation from a single route definition. |
21
+ | Best **OpenAPI ergonomics** | [FastAPI](https://fastapi.tiangolo.com) | First-class OpenAPI 3.1 generation from a single route definition; one-line `docs: true` auto-mounts `/docs` and `/openapi.json`. |
20
22
  | Best **Vercel / serverless / edge fit** | [Hono](https://hono.dev/docs/) | Web-standard `Request → Response` core, multi-runtime adapters. |
21
23
  | Mature **Swagger / docs / ops** in Node | [Fastify](https://fastify.dev/docs/latest/Reference/) | Encapsulated plugins, structured logger, graceful shutdown, request ids, hooks. |
22
24
  | Modern **TS-first DX**, Bun acceptable | [Elysia](https://elysiajs.com/at-glance.html) | End-to-end typed handlers, typed context, typed client. |
@@ -182,15 +184,61 @@ const r = await client.getBookById({ params: { id: "1" } });
182
184
 
183
185
  ---
184
186
 
185
- ## Built-in docs UI (Swagger UI / Scalar)
187
+ ## Built-in docs UI (Scalar / Swagger UI)
188
+
189
+ FastAPI-style. One line on the `App` constructor mounts `GET /docs` and `GET /openapi.json` for you,
190
+ with a strict CSP and CDN-hosted assets:
191
+
192
+ ```ts
193
+ import { App } from "@daloyjs/core";
194
+
195
+ const app = new App({
196
+ openapi: { info: { title: "My API", version: "1.0.0" } },
197
+ docs: true, // mounts GET /docs (Scalar) and GET /openapi.json
198
+ });
199
+ ```
200
+
201
+ Use `docs: "auto"` to mount only when `production: false`, or the object form for full control:
202
+
203
+ ```ts
204
+ new App({
205
+ openapi: { info: { title: "My API", version: "1.0.0" } },
206
+ docs: { ui: "swagger", path: "/reference", openapiPath: "/spec.json", tags: ["Docs"] },
207
+ });
208
+ ```
209
+
210
+ Prefer to mount manually? Import the helpers directly:
211
+
212
+ ```ts
213
+ import { swaggerUiHtml, scalarHtml, htmlResponse } from "@daloyjs/core/docs";
214
+ import { generateOpenAPI } from "@daloyjs/core/openapi";
215
+ ```
216
+
217
+ The UI is always contract-accurate — never stale. `create-daloy` templates opt in with `docs: true`.
218
+
219
+ If you omit `openapi.info.title` / `info.version`, Daloy reads your project's `package.json` (`name`, `version`, `description`) automatically — no boilerplate. Deno projects without a `package.json` fall back to `deno.json` / `deno.jsonc`. Explicit values always win.
220
+
221
+ Prefer a factory? `createApp(options)` is exported as an alias of `new App(options)`.
186
222
 
187
223
  ```ts
188
- import { swaggerUiHtml, htmlResponse } from "@daloyjs/core/docs";
189
- // returns a self-contained HTML page that loads /openapi.json
224
+ import { createApp } from "@daloyjs/core";
225
+
226
+ const app = createApp({ docs: true });
190
227
  ```
191
228
 
192
- Mount at `/docs` and the UI is always contract-accurate never stale.
193
- `create-daloy@0.2.0` mounts Swagger UI at `/docs` and the live spec at `/openapi.json` by default.
229
+ ### `daloy dev` one-command watch mode
230
+
231
+ `daloy dev [entry]` delegates to the host runtime's native watch tool, with no extra config:
232
+
233
+ | Runtime | Spawned command |
234
+ | ------- | --------------------------------------------------------------- |
235
+ | Node | `node --import tsx --watch <entry>` |
236
+ | Bun | `bun --hot <entry>` |
237
+ | Deno | `deno run --watch --allow-net --allow-env --allow-read <entry>` |
238
+
239
+ Entry defaults to `src/index.ts`, `src/main.ts`, `src/server.ts`, or `src/app.ts`. Install `tsx` as a dev dependency on Node for TypeScript entries.
240
+
241
+ Pass `--runtime <node|bun|deno>` to override runtime detection. This is required when running `daloy dev` from a `package.json` script on Bun or Deno, because the CLI binary's `#!/usr/bin/env node` shebang otherwise forces Node detection. The `bun-basic` template ships `"dev": "daloy dev --runtime bun"` for this reason.
194
242
 
195
243
  ---
196
244
 
@@ -321,6 +369,8 @@ What works today, at a glance:
321
369
  - WebSocket primitives with the same Bun-style handler shape (`open`/`message`/`close`/`drain`/`error`) running on both Node and Bun adapters, plus typed `app.ws(path, handler)` registration and route-table awareness so the upgrade listener is only installed when WS routes exist.
322
370
  - Pretty `printStartupBanner()` / `formatStartupBanner()` startup helpers at `@daloyjs/core/banner`, used by every starter template so `pnpm dev` greets you with a colorized boxed panel (TTY + `NO_COLOR` / `FORCE_COLOR` aware, with an ASCII fallback for dumb terminals).
323
371
  - In-process test client (`app.request()`), contract-test runner, in-process typed client, and Hey API codegen via `pnpm gen`.
372
+ - One-command watch loop: `daloy dev` delegates to the host runtime's native watcher (`node --import tsx --watch`, `bun --hot`, or `deno run --watch`) with a `--runtime` override for cross-runtime `package.json` scripts.
373
+ - Zero-config OpenAPI `info` autofill from `package.json` (Node / Bun) or `deno.json` / `deno.jsonc` (Deno) — explicit `openapi.info` values always win.
324
374
  - `pnpm create daloy` scaffolder with Node, Bun, Deno, Cloudflare Worker, and Vercel Edge templates, plus optional `--with-ci` GitHub Actions / Dependabot / CODEOWNERS / SECURITY.md hardening.
325
375
  - Plugin encapsulation, decorators, structured logging, request-id propagation, lifecycle events (`onPluginInstalled`, `onShutdown`, `onClose`), and graceful shutdown.
326
376
  - Integration guides for transactional email providers — AWS SES, SendGrid, Resend, Postmark, Mailgun, and Mailtrap — with a common `EmailSender` plugin pattern and runtime-compatibility matrix.
package/bin/daloy.mjs CHANGED
@@ -10,6 +10,7 @@
10
10
  import { pathToFileURL, fileURLToPath } from "node:url";
11
11
  import { resolve, dirname } from "node:path";
12
12
  import { existsSync, readFileSync } from "node:fs";
13
+ import { spawn } from "node:child_process";
13
14
  import { runCli } from "../dist/cli.js";
14
15
 
15
16
  const PKG = JSON.parse(
@@ -42,11 +43,46 @@ async function importEntry(specifier) {
42
43
  return import(pathToFileURL(abs).href);
43
44
  }
44
45
 
46
+ function spawnDev(command, args) {
47
+ return new Promise((resolvePromise, reject) => {
48
+ const child = spawn(command, args, { stdio: "inherit", shell: false });
49
+ const forward = (sig) => {
50
+ try {
51
+ child.kill(sig);
52
+ } catch {
53
+ /* ignore */
54
+ }
55
+ };
56
+ process.on("SIGINT", forward);
57
+ process.on("SIGTERM", forward);
58
+ child.on("error", (err) => {
59
+ if (err && err.code === "ENOENT") {
60
+ reject(
61
+ new Error(
62
+ `\`${command}\` was not found on PATH. ` +
63
+ (command === "node"
64
+ ? "Install `tsx` as a dev dependency (`pnpm add -D tsx`) and ensure Node.js is on PATH."
65
+ : `Install ${command} or run daloy dev from the runtime that hosts it.`)
66
+ )
67
+ );
68
+ return;
69
+ }
70
+ reject(err);
71
+ });
72
+ child.on("exit", (code, signal) => {
73
+ process.off("SIGINT", forward);
74
+ process.off("SIGTERM", forward);
75
+ resolvePromise(signal ? 1 : (code ?? 0));
76
+ });
77
+ });
78
+ }
79
+
45
80
  const result = await runCli(process.argv.slice(2), {
46
81
  stdout: (chunk) => process.stdout.write(chunk),
47
82
  stderr: (chunk) => process.stderr.write(chunk),
48
83
  importEntry,
49
84
  version: PKG.version,
85
+ spawn: spawnDev,
50
86
  });
51
87
 
52
88
  process.exit(result.exitCode);
package/dist/app.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { WebSocketRegistry, type WebSocketHandler } from "./websocket.js";
2
2
  import { type Logger } from "./logger.js";
3
3
  import type { HttpMethod, Hooks, PathString, RequestSchemas, ResponsesMap, RouteDefinition } from "./types.js";
4
+ import { type OpenAPIInfo, type OpenAPIOptions } from "./openapi.js";
5
+ import { type DocsContentSecurityPolicyOptions } from "./docs.js";
4
6
  /**
5
7
  * Configuration accepted by {@link App}'s constructor. Every field is
6
8
  * optional; sensible production defaults are applied.
@@ -47,6 +49,86 @@ export interface AppOptions {
47
49
  mockMode?: boolean;
48
50
  /** Global hooks applied to every route. */
49
51
  hooks?: Hooks;
52
+ /**
53
+ * OpenAPI 3.1 document metadata used by the built-in auto-mounted
54
+ * `/openapi.json` route and any other consumer that calls
55
+ * `generateOpenAPI(app)` without its own options. When `info.title` /
56
+ * `info.version` are omitted they fall back to the top-level
57
+ * {@link AppOptions.title} / {@link AppOptions.version} fields, then to
58
+ * `"DaloyJS API"` / `"0.0.0"`.
59
+ *
60
+ * @since 0.3.0
61
+ */
62
+ openapi?: AppOpenAPIOptions;
63
+ /**
64
+ * Enable the built-in API documentation surface — a `/openapi.json` route
65
+ * that serves the live OpenAPI 3.1 spec and a `/docs` route that serves a
66
+ * Scalar (default) or Swagger UI HTML page that loads it. This is the
67
+ * one-line equivalent of FastAPI's automatic `/docs` UI.
68
+ *
69
+ * - `false` (default) — never mount. Write your own with `generateOpenAPI`
70
+ * + `swaggerUiHtml` / `scalarHtml` for full control.
71
+ * - `true` — always mount on `/openapi.json` and `/docs`.
72
+ * - `"auto"` — mount when `NODE_ENV !== "production"`; otherwise skip. This
73
+ * is a "secure by default" choice: production deployments should opt in
74
+ * explicitly so internal APIs do not accidentally publish a browsable
75
+ * schema.
76
+ * - object — full configuration (custom paths, UI choice, title, CSP
77
+ * overrides). The `enabled` field on the object can override the
78
+ * auto/prod rule.
79
+ *
80
+ * The default is `false` so adding a new `App({ ... })` to an existing app
81
+ * never silently changes its public surface; scaffolded projects from
82
+ * `create-daloy` set `docs: true` for the auto-mount experience.
83
+ *
84
+ * @since 0.3.0
85
+ */
86
+ docs?: boolean | "auto" | DocsRouteOptions;
87
+ }
88
+ /**
89
+ * Subset of {@link OpenAPIOptions} accepted by `new App({ openapi })`. All
90
+ * fields are optional; `info.title` / `info.version` fall back to the
91
+ * top-level {@link AppOptions.title} / {@link AppOptions.version}.
92
+ *
93
+ * @since 0.3.0
94
+ */
95
+ export interface AppOpenAPIOptions {
96
+ info?: Partial<OpenAPIInfo>;
97
+ servers?: OpenAPIOptions["servers"];
98
+ securitySchemes?: OpenAPIOptions["securitySchemes"];
99
+ webhooks?: OpenAPIOptions["webhooks"];
100
+ }
101
+ /**
102
+ * Configuration for the auto-mounted docs surface. Pass to
103
+ * `new App({ docs: { ... } })` to override defaults; omit to take all
104
+ * defaults.
105
+ *
106
+ * @since 0.3.0
107
+ */
108
+ export interface DocsRouteOptions {
109
+ /** Path the docs UI is served from. Default `"/docs"`. */
110
+ path?: PathString;
111
+ /** Path the OpenAPI 3.1 JSON spec is served from. Default `"/openapi.json"`. */
112
+ openapiPath?: PathString;
113
+ /** Which built-in UI to render. Default `"scalar"` (smaller payload, modern UI). */
114
+ ui?: "scalar" | "swagger";
115
+ /** Page `<title>`. Defaults to the resolved OpenAPI `info.title`. */
116
+ title?: string;
117
+ /**
118
+ * Force the docs to mount regardless of `NODE_ENV`. When `"auto"` (default
119
+ * for the object form), behaves like the top-level `docs: "auto"` setting.
120
+ */
121
+ enabled?: boolean | "auto";
122
+ /**
123
+ * Tags attached to the auto-mounted operations in the generated spec.
124
+ * Default: `["Docs"]`. Pass an empty array to omit tags entirely.
125
+ */
126
+ tags?: string[];
127
+ /**
128
+ * Override the Content-Security-Policy applied to the docs HTML response.
129
+ * Forwarded to {@link docsContentSecurityPolicy}.
130
+ */
131
+ csp?: DocsContentSecurityPolicyOptions;
50
132
  }
51
133
  /** Information passed to {@link App.onPluginInstalled} listeners. */
52
134
  export interface PluginInstalledEvent {
@@ -161,6 +243,21 @@ export declare class App {
161
243
  private inflight;
162
244
  private draining;
163
245
  constructor(options?: AppOptions);
246
+ /**
247
+ * Resolve whether the app is running in production. Honours the explicit
248
+ * `production` option first, then falls back to `NODE_ENV === "production"`.
249
+ * Used by the docs auto-mount and error response detail stripping.
250
+ */
251
+ private isProduction;
252
+ /**
253
+ * Resolve the {@link AppOptions.docs} option and, when enabled, register
254
+ * the `/openapi.json` + `/docs` routes. Called once during construction so
255
+ * the routes appear in `app.routes` for introspection and so the spec
256
+ * served at runtime includes every route registered afterwards (the spec
257
+ * is generated lazily inside the request handler).
258
+ */
259
+ private maybeMountDocs;
260
+ private mountDocs;
164
261
  /**
165
262
  * Register a single route on the application.
166
263
  *
@@ -386,4 +483,28 @@ export declare class App {
386
483
  */
387
484
  shutdown(timeoutMs?: number, reason?: string): Promise<void>;
388
485
  }
486
+ /**
487
+ * Factory alias for `new App(options)`. Lets callers who prefer a
488
+ * functional style (or who avoid `new`) write:
489
+ *
490
+ * ```ts
491
+ * import { createApp } from "@daloyjs/core";
492
+ *
493
+ * const app = createApp({ openapi: { info: { title: "My API", version: "1.0.0" } }, docs: true });
494
+ * ```
495
+ *
496
+ * Behaviour is identical to `new App(options)` — the alias exists purely
497
+ * for ergonomics and matches the factory pattern used by Express, Fastify,
498
+ * and Hono adapters.
499
+ *
500
+ * @since 0.3.0
501
+ */
502
+ export declare function createApp(options?: AppOptions): App;
503
+ /**
504
+ * Test helper: clear the cached package.json read so each test starts
505
+ * from a fresh lookup. Not part of the public API.
506
+ *
507
+ * @internal
508
+ */
509
+ export declare function _resetPackageJsonCacheForTests(): void;
389
510
  //# sourceMappingURL=app.d.ts.map
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/app.js CHANGED
@@ -4,6 +4,8 @@ import { BadRequestError, HttpError, InternalError, MethodNotAllowedError, NotFo
4
4
  import { validate } from "./schema.js";
5
5
  import { readBodyLimited, safeJsonParse, randomId } from "./security.js";
6
6
  import { createLogger, noopLogger } from "./logger.js";
7
+ import { generateOpenAPI, } from "./openapi.js";
8
+ import { docsContentSecurityPolicy, scalarHtml, swaggerUiHtml, } from "./docs.js";
7
9
  const DEFAULTS = {
8
10
  bodyLimitBytes: 1024 * 1024,
9
11
  requestTimeoutMs: 30_000,
@@ -96,6 +98,121 @@ export class App {
96
98
  typeof options.logger.info === "function"
97
99
  ? options.logger
98
100
  : createLogger({ level: options.logger?.level ?? "info" });
101
+ this.maybeMountDocs();
102
+ }
103
+ /**
104
+ * Resolve whether the app is running in production. Honours the explicit
105
+ * `production` option first, then falls back to `NODE_ENV === "production"`.
106
+ * Used by the docs auto-mount and error response detail stripping.
107
+ */
108
+ isProduction() {
109
+ if (this.options.production !== undefined)
110
+ return this.options.production;
111
+ return (typeof process !== "undefined" &&
112
+ typeof process.env !== "undefined" &&
113
+ process.env.NODE_ENV === "production");
114
+ }
115
+ /**
116
+ * Resolve the {@link AppOptions.docs} option and, when enabled, register
117
+ * the `/openapi.json` + `/docs` routes. Called once during construction so
118
+ * the routes appear in `app.routes` for introspection and so the spec
119
+ * served at runtime includes every route registered afterwards (the spec
120
+ * is generated lazily inside the request handler).
121
+ */
122
+ maybeMountDocs() {
123
+ const raw = this.options.docs;
124
+ if (raw === undefined || raw === false)
125
+ return;
126
+ let resolvedOpts;
127
+ if (raw === true) {
128
+ resolvedOpts = {};
129
+ }
130
+ else if (raw === "auto") {
131
+ if (this.isProduction())
132
+ return;
133
+ resolvedOpts = {};
134
+ }
135
+ else {
136
+ // object form
137
+ const enabled = raw.enabled ?? true;
138
+ if (enabled === false)
139
+ return;
140
+ if (enabled === "auto" && this.isProduction())
141
+ return;
142
+ resolvedOpts = raw;
143
+ }
144
+ this.mountDocs(resolvedOpts);
145
+ }
146
+ mountDocs(opts) {
147
+ const openapiPath = (opts.openapiPath ?? "/openapi.json");
148
+ const docsPath = (opts.path ?? "/docs");
149
+ const ui = opts.ui ?? "scalar";
150
+ const tags = opts.tags ?? ["Docs"];
151
+ // Best-effort lazy read of the host project's package.json so that
152
+ // `new App({ docs: true })` with no explicit `openapi.info` still produces
153
+ // a spec titled after the user's package (`name` → title,
154
+ // `version` → version, `description` → description). Silently skipped on
155
+ // edge runtimes that lack `node:fs`.
156
+ const resolveInfo = async () => {
157
+ const fromOpenapi = this.options.openapi?.info ?? {};
158
+ const fromPkg = await readHostPackageJsonInfo();
159
+ const title = fromOpenapi.title ?? this.options.title ?? fromPkg.title ?? "DaloyJS API";
160
+ const version = fromOpenapi.version ?? this.options.version ?? fromPkg.version ?? "0.0.0";
161
+ const description = fromOpenapi.description ?? this.options.description ?? fromPkg.description;
162
+ return description ? { title, version, description } : { title, version };
163
+ };
164
+ const generate = async () => generateOpenAPI(this, {
165
+ info: await resolveInfo(),
166
+ ...(this.options.openapi?.servers
167
+ ? { servers: this.options.openapi.servers }
168
+ : {}),
169
+ ...(this.options.openapi?.securitySchemes
170
+ ? { securitySchemes: this.options.openapi.securitySchemes }
171
+ : {}),
172
+ ...(this.options.openapi?.webhooks
173
+ ? { webhooks: this.options.openapi.webhooks }
174
+ : {}),
175
+ });
176
+ this.route({
177
+ method: "GET",
178
+ path: openapiPath,
179
+ operationId: "getOpenAPIDocument",
180
+ ...(tags.length ? { tags } : {}),
181
+ summary: "OpenAPI 3.1 document",
182
+ responses: {
183
+ 200: { description: "OpenAPI 3.1 document for this application." },
184
+ },
185
+ handler: async () => ({
186
+ status: 200,
187
+ body: await generate(),
188
+ }),
189
+ });
190
+ this.route({
191
+ method: "GET",
192
+ path: docsPath,
193
+ operationId: "getDocsUI",
194
+ ...(tags.length ? { tags } : {}),
195
+ summary: "Interactive API reference",
196
+ responses: {
197
+ 200: { description: "Interactive API documentation UI." },
198
+ },
199
+ handler: async () => {
200
+ const title = opts.title ?? (await resolveInfo()).title;
201
+ const html = ui === "swagger"
202
+ ? swaggerUiHtml({ specUrl: openapiPath, title })
203
+ : scalarHtml({ specUrl: openapiPath, title });
204
+ return {
205
+ status: 200,
206
+ body: html,
207
+ headers: {
208
+ "content-type": "text/html; charset=utf-8",
209
+ "content-security-policy": docsContentSecurityPolicy(opts.csp),
210
+ "x-content-type-options": "nosniff",
211
+ "referrer-policy": "no-referrer",
212
+ },
213
+ };
214
+ },
215
+ });
99
216
  }
100
217
  // ---------- registration ----------
101
218
  /**
@@ -172,7 +289,10 @@ export class App {
172
289
  * @returns This `App` instance for chaining.
173
290
  */
174
291
  group(prefix, config, register) {
175
- const child = new App(this.options);
292
+ // Child apps share the parent's router/routes/etc. Disable docs auto-mount
293
+ // on the child so it does not re-register the parent's `/openapi.json` and
294
+ // `/docs` routes (which would throw "Duplicate route").
295
+ const child = new App({ ...this.options, docs: false });
176
296
  child.router = this.router;
177
297
  child.routes = this.routes;
178
298
  child.webSocketRoutes = this.webSocketRoutes;
@@ -884,4 +1004,125 @@ function serializeErr(err) {
884
1004
  }
885
1005
  return { value: String(err) };
886
1006
  }
1007
+ /**
1008
+ * Factory alias for `new App(options)`. Lets callers who prefer a
1009
+ * functional style (or who avoid `new`) write:
1010
+ *
1011
+ * ```ts
1012
+ * import { createApp } from "@daloyjs/core";
1013
+ *
1014
+ * const app = createApp({ openapi: { info: { title: "My API", version: "1.0.0" } }, docs: true });
1015
+ * ```
1016
+ *
1017
+ * Behaviour is identical to `new App(options)` — the alias exists purely
1018
+ * for ergonomics and matches the factory pattern used by Express, Fastify,
1019
+ * and Hono adapters.
1020
+ *
1021
+ * @since 0.3.0
1022
+ */
1023
+ export function createApp(options = {}) {
1024
+ return new App(options);
1025
+ }
1026
+ const PACKAGE_JSON_CACHE = {};
1027
+ /**
1028
+ * Best-effort lazy read of the host project's `package.json` so that
1029
+ * `new App({ docs: true })` with no explicit `openapi.info` still produces
1030
+ * a spec titled after the user's package. Reads `package.json` first; if
1031
+ * none is found while walking up from `process.cwd()`, falls back to
1032
+ * `deno.json` / `deno.jsonc` so Deno projects get the same DX without a
1033
+ * `package.json`. Returns an empty object on edge runtimes (Cloudflare
1034
+ * Workers, Vercel Edge) where `node:fs` is absent, on any I/O or parse
1035
+ * error, and when nothing is found.
1036
+ *
1037
+ * The result is memoized at module scope: manifests do not change
1038
+ * during a process lifetime and we never want this to add latency to
1039
+ * subsequent docs requests.
1040
+ */
1041
+ function readHostPackageJsonInfo() {
1042
+ if (PACKAGE_JSON_CACHE.value !== undefined)
1043
+ return PACKAGE_JSON_CACHE.value;
1044
+ const promise = (async () => {
1045
+ const empty = {};
1046
+ const proc = globalThis.process;
1047
+ if (!proc || typeof proc.cwd !== "function")
1048
+ return empty;
1049
+ let fs;
1050
+ let path;
1051
+ try {
1052
+ fs = await import("node:fs");
1053
+ path = await import("node:path");
1054
+ }
1055
+ catch {
1056
+ return empty;
1057
+ }
1058
+ let dir;
1059
+ try {
1060
+ dir = proc.cwd();
1061
+ }
1062
+ catch {
1063
+ return empty;
1064
+ }
1065
+ const parseManifest = (raw, allowComments) => {
1066
+ // deno.jsonc allows // line comments and /* block */ comments. Strip
1067
+ // them before parsing — naively, but well enough for typical manifests.
1068
+ const text = allowComments
1069
+ ? raw
1070
+ .replace(/\/\*[\s\S]*?\*\//g, "")
1071
+ .replace(/(^|[^:\\])\/\/.*$/gm, "$1")
1072
+ : raw;
1073
+ return JSON.parse(text);
1074
+ };
1075
+ const extractInfo = (json) => {
1076
+ const result = {};
1077
+ if (typeof json.name === "string" && json.name.length > 0) {
1078
+ result.title = json.name;
1079
+ }
1080
+ if (typeof json.version === "string" && json.version.length > 0) {
1081
+ result.version = json.version;
1082
+ }
1083
+ if (typeof json.description === "string" && json.description.length > 0) {
1084
+ result.description = json.description;
1085
+ }
1086
+ return result;
1087
+ };
1088
+ // Walk up to the filesystem root looking for a manifest. Cap depth so
1089
+ // a deeply-nested cwd can't cause excessive stat calls. At each level,
1090
+ // prefer package.json, then deno.json, then deno.jsonc.
1091
+ for (let i = 0; i < 12; i++) {
1092
+ const pkg = path.join(dir, "package.json");
1093
+ const denoJson = path.join(dir, "deno.json");
1094
+ const denoJsonc = path.join(dir, "deno.jsonc");
1095
+ try {
1096
+ if (fs.existsSync(pkg)) {
1097
+ return extractInfo(parseManifest(fs.readFileSync(pkg, "utf8"), false));
1098
+ }
1099
+ if (fs.existsSync(denoJson)) {
1100
+ return extractInfo(parseManifest(fs.readFileSync(denoJson, "utf8"), false));
1101
+ }
1102
+ if (fs.existsSync(denoJsonc)) {
1103
+ return extractInfo(parseManifest(fs.readFileSync(denoJsonc, "utf8"), true));
1104
+ }
1105
+ }
1106
+ catch {
1107
+ return empty;
1108
+ }
1109
+ const parent = path.dirname(dir);
1110
+ if (parent === dir)
1111
+ break;
1112
+ dir = parent;
1113
+ }
1114
+ return empty;
1115
+ })();
1116
+ PACKAGE_JSON_CACHE.value = promise;
1117
+ return promise;
1118
+ }
1119
+ /**
1120
+ * Test helper: clear the cached package.json read so each test starts
1121
+ * from a fresh lookup. Not part of the public API.
1122
+ *
1123
+ * @internal
1124
+ */
1125
+ export function _resetPackageJsonCacheForTests() {
1126
+ PACKAGE_JSON_CACHE.value = undefined;
1127
+ }
887
1128
  //# sourceMappingURL=app.js.map
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -16,6 +16,17 @@ export interface CliIO {
16
16
  importEntry: (specifier: string) => Promise<unknown>;
17
17
  /** Version string surfaced by `--version`. */
18
18
  version: string;
19
+ /**
20
+ * Spawn a child process and resolve with its exit code. Required for
21
+ * `daloy dev`; optional so unit tests that only exercise `inspect`
22
+ * can omit it.
23
+ */
24
+ spawn?: (command: string, args: readonly string[]) => Promise<number>;
25
+ /**
26
+ * Override runtime detection (defaults to inspecting `globalThis.process.versions`).
27
+ * Mainly exists for tests.
28
+ */
29
+ detectRuntime?: () => DevRuntime;
19
30
  }
20
31
  export interface CliResult {
21
32
  exitCode: number;
@@ -30,7 +41,37 @@ export interface CliOptions {
30
41
  entry?: string;
31
42
  help: boolean;
32
43
  version: boolean;
44
+ /** Override runtime detection for `daloy dev`. */
45
+ runtime?: DevRuntime;
33
46
  }
47
+ /** Runtime detected for `daloy dev`. */
48
+ export type DevRuntime = "node" | "bun" | "deno";
49
+ /**
50
+ * Detect which JS runtime is hosting the CLI. Inspects
51
+ * `globalThis.process.versions` for Bun/Deno markers; falls back to Node.
52
+ *
53
+ * @since 0.3.0
54
+ */
55
+ export declare function detectRuntime(): DevRuntime;
56
+ /**
57
+ * Build the `(command, args)` pair `daloy dev` should spawn for the given
58
+ * runtime and entry file. Pure function so tests can assert exact argv
59
+ * without spawning a child process.
60
+ *
61
+ * - Node: `node --import tsx --watch <entry>` (tsx must be installed as a
62
+ * dev dependency for TS files; .js entries also work).
63
+ * - Bun: `bun --hot <entry>` (Bun ships with TS support).
64
+ * - Deno: `deno run --watch --allow-net --allow-env --allow-read <entry>`
65
+ * (the three permissions cover serving HTTP, reading env vars, and
66
+ * reading the source tree; users who need more should run `deno run`
67
+ * directly).
68
+ *
69
+ * @since 0.3.0
70
+ */
71
+ export declare function buildDevCommand(runtime: DevRuntime, entry: string): {
72
+ command: string;
73
+ args: string[];
74
+ };
34
75
  export declare function parseArgs(argv: readonly string[]): {
35
76
  command: string;
36
77
  opts: CliOptions;
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,qEAAqE;IACrE,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AA6CD,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAmDxF;AAUD,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAyDnF"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,qEAAqE;IACrE,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtE;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,UAAU,CAAC;CAClC;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AA4ED,wCAAwC;AACxC,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAM1C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAavG;AA2BD,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CA6DxF;AAUD,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CA4DnF"}
package/dist/cli.js CHANGED
@@ -18,6 +18,9 @@ Usage:
18
18
 
19
19
  Commands:
20
20
  inspect [entry] Load an App and print its routes (default command).
21
+ dev [entry] Start the entry file with the host runtime's
22
+ native watch mode (tsx --watch on Node, --hot on
23
+ Bun, --watch on Deno).
21
24
 
22
25
  Options:
23
26
  --json Print machine-readable JSON instead of a table.
@@ -26,21 +29,30 @@ Options:
26
29
  --openapi Print the OpenAPI 3.1 document for the App.
27
30
  --tag <tag> Only show routes that declare this tag.
28
31
  --method <method> Only show routes for this HTTP method.
32
+ --runtime <r> (dev) Force the runtime: node | bun | deno.
33
+ Useful from package.json scripts where the CLI
34
+ shebang would otherwise always select Node.
29
35
  -h, --help Show this help.
30
36
  -v, --version Print the @daloyjs/core version this CLI ships from.
31
37
 
32
38
  Entry:
33
- A path to a JS or TS file that exports an App instance, either as the
34
- default export or as a named export called "app". Modules may also
35
- export a zero-argument buildApp() or createApp() factory. Defaults to
36
- ./src/app.ts, ./src/app.js, ./src/build-app.ts, ./src/build-app.js,
37
- ./app.ts, ./app.js, ./build-app.ts, then ./build-app.js.
39
+ For inspect: a path to a JS or TS file that exports an App instance,
40
+ either as the default export or as a named export called "app". Modules
41
+ may also export a zero-argument buildApp() or createApp() factory.
42
+ Defaults to ./src/app.ts, ./src/app.js, ./src/build-app.ts,
43
+ ./src/build-app.js, ./app.ts, ./app.js, ./build-app.ts, ./build-app.js.
44
+
45
+ For dev: a path to the runnable entry (e.g. ./src/index.ts that calls
46
+ serve()). Defaults to ./src/index.ts, ./src/main.ts, ./src/server.ts,
47
+ ./src/app.ts, ./index.ts, ./main.ts, ./server.ts, ./app.ts.
38
48
 
39
49
  Examples:
40
50
  daloy inspect
41
51
  daloy inspect --json src/server.ts
42
52
  daloy inspect --check
43
53
  daloy inspect --openapi > openapi.json
54
+ daloy dev
55
+ daloy dev src/server.ts
44
56
  `;
45
57
  const DEFAULT_ENTRIES = [
46
58
  "src/app.ts",
@@ -52,6 +64,93 @@ const DEFAULT_ENTRIES = [
52
64
  "build-app.ts",
53
65
  "build-app.js",
54
66
  ];
67
+ const DEFAULT_DEV_ENTRIES = [
68
+ "src/index.ts",
69
+ "src/main.ts",
70
+ "src/server.ts",
71
+ "src/app.ts",
72
+ "src/index.js",
73
+ "src/main.js",
74
+ "src/server.js",
75
+ "src/app.js",
76
+ "index.ts",
77
+ "main.ts",
78
+ "server.ts",
79
+ "app.ts",
80
+ "index.js",
81
+ "main.js",
82
+ "server.js",
83
+ "app.js",
84
+ ];
85
+ /**
86
+ * Detect which JS runtime is hosting the CLI. Inspects
87
+ * `globalThis.process.versions` for Bun/Deno markers; falls back to Node.
88
+ *
89
+ * @since 0.3.0
90
+ */
91
+ export function detectRuntime() {
92
+ const proc = globalThis.process;
93
+ const v = proc?.versions ?? {};
94
+ if (v.bun)
95
+ return "bun";
96
+ if (v.deno)
97
+ return "deno";
98
+ return "node";
99
+ }
100
+ /**
101
+ * Build the `(command, args)` pair `daloy dev` should spawn for the given
102
+ * runtime and entry file. Pure function so tests can assert exact argv
103
+ * without spawning a child process.
104
+ *
105
+ * - Node: `node --import tsx --watch <entry>` (tsx must be installed as a
106
+ * dev dependency for TS files; .js entries also work).
107
+ * - Bun: `bun --hot <entry>` (Bun ships with TS support).
108
+ * - Deno: `deno run --watch --allow-net --allow-env --allow-read <entry>`
109
+ * (the three permissions cover serving HTTP, reading env vars, and
110
+ * reading the source tree; users who need more should run `deno run`
111
+ * directly).
112
+ *
113
+ * @since 0.3.0
114
+ */
115
+ export function buildDevCommand(runtime, entry) {
116
+ switch (runtime) {
117
+ case "bun":
118
+ return { command: "bun", args: ["--hot", entry] };
119
+ case "deno":
120
+ return {
121
+ command: "deno",
122
+ args: ["run", "--watch", "--allow-net", "--allow-env", "--allow-read", entry],
123
+ };
124
+ case "node":
125
+ default:
126
+ return { command: "node", args: ["--import", "tsx", "--watch", entry] };
127
+ }
128
+ }
129
+ /**
130
+ * Pick the first existing dev entry. Unlike `loadApp` we can't `import()`
131
+ * to probe (we'd execute the user's server twice) so we rely on the file
132
+ * system via `node:fs` when available; on edge runtimes we just return the
133
+ * first candidate.
134
+ */
135
+ async function resolveDevEntry(entry) {
136
+ if (entry)
137
+ return entry;
138
+ try {
139
+ const fs = await import("node:fs");
140
+ const path = await import("node:path");
141
+ const proc = globalThis.process;
142
+ const cwd = proc?.cwd?.() ?? ".";
143
+ for (const candidate of DEFAULT_DEV_ENTRIES) {
144
+ if (fs.existsSync(path.join(cwd, candidate)))
145
+ return candidate;
146
+ }
147
+ }
148
+ catch {
149
+ /* fall through */
150
+ }
151
+ throw new Error(`Could not find a dev entry. Tried: ${DEFAULT_DEV_ENTRIES.join(", ")}.\n` +
152
+ `Pass an explicit path: daloy dev ./src/server.ts`);
153
+ }
55
154
  export function parseArgs(argv) {
56
155
  const opts = {
57
156
  json: false,
@@ -62,10 +161,9 @@ export function parseArgs(argv) {
62
161
  version: false,
63
162
  };
64
163
  let command = "inspect";
65
- let i = argv[0] === "inspect" ? 1 : 0;
66
- // Treat the first positional that isn't a known command as the entry.
67
- if (argv[0] === "help") {
68
- command = "help";
164
+ let i = 0;
165
+ if (argv[0] === "inspect" || argv[0] === "dev" || argv[0] === "help") {
166
+ command = argv[0];
69
167
  i = 1;
70
168
  }
71
169
  for (; i < argv.length; i++) {
@@ -91,6 +189,14 @@ export function parseArgs(argv) {
91
189
  case "--method":
92
190
  opts.method = readFlagValue(argv, ++i, "--method").toUpperCase();
93
191
  break;
192
+ case "--runtime": {
193
+ const value = readFlagValue(argv, ++i, "--runtime").toLowerCase();
194
+ if (value !== "node" && value !== "bun" && value !== "deno") {
195
+ throw new Error(`--runtime must be one of: node, bun, deno (got: ${value})`);
196
+ }
197
+ opts.runtime = value;
198
+ break;
199
+ }
94
200
  case "-h":
95
201
  case "--help":
96
202
  opts.help = true;
@@ -133,6 +239,9 @@ export async function runCli(argv, io) {
133
239
  io.stdout(`${io.version}\n`);
134
240
  return { exitCode: 0 };
135
241
  }
242
+ if (command === "dev") {
243
+ return runDev(opts, io);
244
+ }
136
245
  if (command !== "inspect") {
137
246
  io.stderr(`Unknown command: ${command}\n\n${HELP}`);
138
247
  return { exitCode: 2 };
@@ -223,6 +332,31 @@ function formatContract(report) {
223
332
  out.push("FAIL.");
224
333
  return `${out.join("\n")}\n`;
225
334
  }
335
+ async function runDev(opts, io) {
336
+ if (!io.spawn) {
337
+ io.stderr("daloy dev requires a spawn-capable host (use the bundled bin/daloy.mjs CLI).\n");
338
+ return { exitCode: 2 };
339
+ }
340
+ let entry;
341
+ try {
342
+ entry = await resolveDevEntry(opts.entry);
343
+ }
344
+ catch (err) {
345
+ io.stderr(`${err.message}\n`);
346
+ return { exitCode: 1 };
347
+ }
348
+ const runtime = opts.runtime ?? (io.detectRuntime ?? detectRuntime)();
349
+ const { command, args } = buildDevCommand(runtime, entry);
350
+ io.stdout(`daloy dev: ${runtime} → ${command} ${args.join(" ")}\n`);
351
+ try {
352
+ const code = await io.spawn(command, args);
353
+ return { exitCode: code };
354
+ }
355
+ catch (err) {
356
+ io.stderr(`daloy dev: failed to start: ${err.message}\n`);
357
+ return { exitCode: 1 };
358
+ }
359
+ }
226
360
  async function loadApp(entry, io) {
227
361
  const candidates = entry ? [entry] : DEFAULT_ENTRIES.slice();
228
362
  let lastErr;
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export { App } from "./app.js";
2
- export type { AppOptions, IntrospectedRoute, PluginInstalledEvent, ShutdownEvent, } from "./app.js";
2
+ export { createApp } from "./app.js";
3
+ export { _resetPackageJsonCacheForTests } from "./app.js";
4
+ export type { AppOptions, AppOpenAPIOptions, DocsRouteOptions, IntrospectedRoute, PluginInstalledEvent, ShutdownEvent, } from "./app.js";
3
5
  export type { RouteDefinition, HttpMethod, PathString, RequestSchemas, ResponsesMap, ResponseSpec, AuthSpec, Hooks, BaseContext, AppState, HandlerReturn, InferRequest, ParamsOf, PathParams, CallbackDefinition, CallbackMap, CallbackOperation, } from "./types.js";
4
6
  export { HttpError, BadRequestError, ValidationError, NotFoundError, UnauthorizedError, ForbiddenError, MethodNotAllowedError, PayloadTooLargeError, UnsupportedMediaTypeError, TooManyRequestsError, RequestTimeoutError, InternalError, } from "./errors.js";
5
7
  export type { ProblemDetails, ProblemRenderOptions } from "./errors.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,4 +1,6 @@
1
1
  export { App } from "./app.js";
2
+ export { createApp } from "./app.js";
3
+ export { _resetPackageJsonCacheForTests } from "./app.js";
2
4
  export { HttpError, BadRequestError, ValidationError, NotFoundError, UnauthorizedError, ForbiddenError, MethodNotAllowedError, PayloadTooLargeError, UnsupportedMediaTypeError, TooManyRequestsError, RequestTimeoutError, InternalError, } from "./errors.js";
3
5
  export { validate, isStandardSchema } from "./schema.js";
4
6
  export { readBodyLimited, safeJsonParse, sanitizeHeaderName, sanitizeHeaderValue, timingSafeEqual, randomId, } from "./security.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AA4B/B,OAAO,EACL,SAAS,EACT,eAAe,EACf,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,GACd,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EACL,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,QAAQ,GACT,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,SAAS,EACT,aAAa,EACb,IAAI,EACJ,SAAS,EACT,MAAM,EACN,UAAU,EACV,SAAS,EACT,IAAI,GACL,MAAM,iBAAiB,CAAC;AAazB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtE,OAAO,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,gBAAgB,CAAC;AASxB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAqB/B,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAOvE,OAAO,EACL,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAUtB,OAAO,EACL,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AASxB,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAUtB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,SAAS,EACT,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,gBAAgB,GACjB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAC;AA8B1D,OAAO,EACL,SAAS,EACT,eAAe,EACf,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,GACd,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EACL,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,QAAQ,GACT,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,SAAS,EACT,aAAa,EACb,IAAI,EACJ,SAAS,EACT,MAAM,EACN,UAAU,EACV,SAAS,EACT,IAAI,GACL,MAAM,iBAAiB,CAAC;AAazB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtE,OAAO,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,gBAAgB,CAAC;AASxB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAqB/B,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAOvE,OAAO,EACL,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAUtB,OAAO,EACL,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AASxB,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAUtB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,SAAS,EACT,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,gBAAgB,GACjB,MAAM,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@daloyjs/core",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "DaloyJS is a runtime-portable, contract-first TypeScript web framework with built-in OpenAPI (Hey API), typed client generation, large-scale maintainability, and security-first defaults. Hono-grade portability, Elysia-grade DX, FastAPI-grade docs, Fastify-grade ops — distributed via pnpm.",
5
5
  "type": "module",
6
6
  "publishConfig": {