@zeltjs/adapter-node 0.5.0 → 0.6.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
@@ -16,9 +16,9 @@ npm install @zeltjs/adapter-node @zeltjs/core
16
16
 
17
17
  ```typescript
18
18
  import { serve } from '@zeltjs/adapter-node';
19
- import { createHttpApp } from '@zeltjs/core';
19
+ import { createApp } from '@zeltjs/core';
20
20
 
21
- const app = createHttpApp({ controllers: [...] });
21
+ const app = createApp({ controllers: [...] });
22
22
 
23
23
  serve(app, { port: 3000 });
24
24
  ```
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ServerType, createAdaptorServer } from "@hono/node-server";
2
- import { CliConfig, CommandApp, EnvConfig, HttpApp, ReadyResult, SchedulerApp, Signal, SignalHandler } from "@zeltjs/core";
2
+ import { CliConfig, CommandApp, EnvConfig, ExecResult, HttpApp, ReadyResult, SchedulerApp, Signal, SignalHandler } from "@zeltjs/core";
3
3
 
4
4
  //#region src/cli.config.d.ts
5
5
  declare class NodeCliConfig extends CliConfig {
@@ -32,9 +32,6 @@ type ServerHandle = {
32
32
  type NodeAppOptions = {
33
33
  readonly warmup?: boolean;
34
34
  };
35
- type ExecResult = {
36
- readonly exitCode: 0 | 1;
37
- };
38
35
  type NodeAppBase = {
39
36
  readonly args: readonly string[];
40
37
  };
@@ -43,7 +40,7 @@ type HttpNodeApp = ReadyResult & NodeAppBase & {
43
40
  readonly shutdown: () => Promise<void>;
44
41
  };
45
42
  type CommandNodeApp = ReadyResult & NodeAppBase & {
46
- readonly execCommand: (argv: string[]) => Promise<ExecResult>;
43
+ readonly execCommand: (argv: readonly string[]) => Promise<ExecResult>;
47
44
  readonly shutdown: () => Promise<void>;
48
45
  };
49
46
  type SchedulerNodeAppPart = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/cli.config.ts","../src/dotenv.config.ts","../src/on-node.ts","../src/process-env.config.ts","../src/serve.ts"],"mappings":";;;;cAIa,aAAA,SAAsB,SAAA;EACxB,GAAA,CAAA;EAIA,IAAA,CAAA;EAIA,IAAA,CAAK,IAAA;EAIL,WAAA,CAAY,IAAA;EAIZ,QAAA,CAAS,MAAA,EAAQ,MAAA,EAAQ,OAAA,EAAS,aAAA;EAIlC,SAAA,CAAU,MAAA,EAAQ,MAAA,EAAQ,OAAA,EAAS,aAAA;AAAA;;;cCrBjC,YAAA,SAAqB,SAAA;EAAA,mBACb,KAAA;;;;;KCShB,aAAA;EAAA,SACM,IAAA;EAAA,SACA,QAAA;AAAA;AAAA,KAGC,YAAA;EAAA,SACD,OAAA;IAAW,IAAA;IAAc,OAAA;EAAA;EAAA,SACzB,QAAA,QAAgB,OAAA;AAAA;AAAA,KAGf,cAAA;EAAA,SACD,MAAA;AAAA;AAAA,KAGC,UAAA;EAAA,SACD,QAAA;AAAA;AAAA,KAGN,WAAA;EAAA,SACM,IAAA;AAAA;AAAA,KAGC,WAAA,GAAc,WAAA,GACxB,WAAA;EAAA,SACW,MAAA,GAAS,aAAA,YAAyB,aAAA,KAAkB,OAAA,CAAQ,YAAA;EAAA,SAC5D,QAAA,QAAgB,OAAA;AAAA;AAAA,KAGjB,cAAA,GAAiB,WAAA,GAC3B,WAAA;EAAA,SACW,WAAA,GAAc,IAAA,eAAmB,OAAA,CAAQ,UAAA;EAAA,SACzC,QAAA,QAAgB,OAAA;AAAA;AAAA,KAGjB,oBAAA;EAAA,SACD,cAAA,QAAsB,OAAA;EAAA,SACtB,aAAA,QAAqB,OAAA;AAAA;AAAA,KAGpB,WAAA,GAAc,WAAA,GAAc,cAAA;;iBAgLxB,MAAA,CACd,GAAA,EAAK,OAAA,GAAU,UAAA,GAAa,YAAA,EAC5B,OAAA,GAAU,cAAA,GACT,OAAA,CAAQ,WAAA,GAAc,oBAAA;;iBAET,MAAA,CACd,GAAA,EAAK,OAAA,GAAU,YAAA,EACf,OAAA,GAAU,cAAA,GACT,OAAA,CAAQ,WAAA,GAAc,oBAAA;;iBAET,MAAA,CACd,GAAA,EAAK,UAAA,GAAa,YAAA,EAClB,OAAA,GAAU,cAAA,GACT,OAAA,CAAQ,cAAA,GAAiB,oBAAA;;iBAEZ,MAAA,CAAO,GAAA,EAAK,OAAA,GAAU,UAAA,EAAY,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,WAAA;;iBAErE,MAAA,CAAO,GAAA,EAAK,OAAA,EAAS,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,WAAA;;iBAExD,MAAA,CAAO,GAAA,EAAK,UAAA,EAAY,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,cAAA;;;cCrP9D,gBAAA,SAAyB,SAAA;EAC3B,GAAA,CAAI,GAAA;AAAA;;;KCDH,YAAA;EACV,IAAA;EACA,QAAA;AAAA;AAAA,KAGU,WAAA;EACV,IAAA;EACA,OAAA;AAAA;AAAA,KAGG,OAAA;EACH,KAAA,GAAQ,OAAA,EAAS,OAAA,KAAY,OAAA,CAAQ,QAAA;AAAA;AAAA,cAa1B,QAAA,GACX,GAAA,EAAK,OAAA,EACL,iBAAA,GAAoB,YAAA,KAAiB,IAAA,EAAM,WAAA,YAC3C,aAAA,IAAiB,IAAA,EAAM,WAAA,cACtB,UAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/cli.config.ts","../src/dotenv.config.ts","../src/on-node.ts","../src/process-env.config.ts","../src/serve.ts"],"mappings":";;;;cAIa,aAAA,SAAsB,SAAA;EACxB,GAAA,CAAA;EAIA,IAAA,CAAA;EAIA,IAAA,CAAK,IAAA;EAIL,WAAA,CAAY,IAAA;EAIZ,QAAA,CAAS,MAAA,EAAQ,MAAA,EAAQ,OAAA,EAAS,aAAA;EAIlC,SAAA,CAAU,MAAA,EAAQ,MAAA,EAAQ,OAAA,EAAS,aAAA;AAAA;;;cCrBjC,YAAA,SAAqB,SAAA;EAAA,mBACb,KAAA;;;;;KCShB,aAAA;EAAA,SACM,IAAA;EAAA,SACA,QAAA;AAAA;AAAA,KAGC,YAAA;EAAA,SACD,OAAA;IAAW,IAAA;IAAc,OAAA;EAAA;EAAA,SACzB,QAAA,QAAgB,OAAA;AAAA;AAAA,KAGf,cAAA;EAAA,SACD,MAAA;AAAA;AAAA,KAKN,WAAA;EAAA,SACM,IAAA;AAAA;AAAA,KAGC,WAAA,GAAc,WAAA,GACxB,WAAA;EAAA,SACW,MAAA,GAAS,aAAA,YAAyB,aAAA,KAAkB,OAAA,CAAQ,YAAA;EAAA,SAC5D,QAAA,QAAgB,OAAA;AAAA;AAAA,KAGjB,cAAA,GAAiB,WAAA,GAC3B,WAAA;EAAA,SACW,WAAA,GAAc,IAAA,wBAA4B,OAAA,CAAQ,UAAA;EAAA,SAClD,QAAA,QAAgB,OAAA;AAAA;AAAA,KAGjB,oBAAA;EAAA,SACD,cAAA,QAAsB,OAAA;EAAA,SACtB,aAAA,QAAqB,OAAA;AAAA;AAAA,KAGpB,WAAA,GAAc,WAAA,GAAc,cAAA;;iBAqIxB,MAAA,CACd,GAAA,EAAK,OAAA,GAAU,UAAA,GAAa,YAAA,EAC5B,OAAA,GAAU,cAAA,GACT,OAAA,CAAQ,WAAA,GAAc,oBAAA;;iBAET,MAAA,CACd,GAAA,EAAK,OAAA,GAAU,YAAA,EACf,OAAA,GAAU,cAAA,GACT,OAAA,CAAQ,WAAA,GAAc,oBAAA;;iBAET,MAAA,CACd,GAAA,EAAK,UAAA,GAAa,YAAA,EAClB,OAAA,GAAU,cAAA,GACT,OAAA,CAAQ,cAAA,GAAiB,oBAAA;;iBAEZ,MAAA,CAAO,GAAA,EAAK,OAAA,GAAU,UAAA,EAAY,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,WAAA;;iBAErE,MAAA,CAAO,GAAA,EAAK,OAAA,EAAS,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,WAAA;;iBAExD,MAAA,CAAO,GAAA,EAAK,UAAA,EAAY,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,cAAA;;;cCxM9D,gBAAA,SAAyB,SAAA;EAC3B,GAAA,CAAI,GAAA;AAAA;;;KCDH,YAAA;EACV,IAAA;EACA,QAAA;AAAA;AAAA,KAGU,WAAA;EACV,IAAA;EACA,OAAA;AAAA;AAAA,KAGG,OAAA;EACH,KAAA,GAAQ,OAAA,EAAS,OAAA,KAAY,OAAA,CAAQ,QAAA;AAAA;AAAA,cAa1B,QAAA,GACX,GAAA,EAAK,OAAA,EACL,iBAAA,GAAoB,YAAA,KAAiB,IAAA,EAAM,WAAA,YAC3C,aAAA,IAAiB,IAAA,EAAM,WAAA,cACtB,UAAA"}
package/dist/index.js CHANGED
@@ -70,8 +70,6 @@ var ProcessEnvConfig = class extends EnvConfig {
70
70
  ProcessEnvConfig = _ts_decorate([Config], ProcessEnvConfig);
71
71
  //#endregion
72
72
  //#region src/on-node.ts
73
- const successResult = { exitCode: 0 };
74
- const failureResult = { exitCode: 1 };
75
73
  const createListenForHttp = (appFetch, appShutdown) => {
76
74
  return async (portOrOptions) => {
77
75
  const listenOptions = typeof portOrOptions === "number" ? { port: portOrOptions } : portOrOptions ?? {};
@@ -100,26 +98,6 @@ const createListenForHttp = (appFetch, appShutdown) => {
100
98
  };
101
99
  };
102
100
  };
103
- /** @throws {ZeltLifecycleStateError} */ const runCommand = (CommandClass, get) => {
104
- const instance = get(CommandClass);
105
- return Promise.resolve().then(() => instance.run()).then(() => successResult).catch(() => failureResult);
106
- };
107
- /** @throws {ZeltLifecycleStateError} */ const createExecForCommands = (hasCommand, getCommands, get, stderr) => {
108
- return async (argv) => {
109
- const commandName = argv[0];
110
- if (!commandName) {
111
- stderr.write("No command specified\n");
112
- return failureResult;
113
- }
114
- if (!hasCommand(commandName)) {
115
- stderr.write(`Command not found: ${commandName}\n`);
116
- return failureResult;
117
- }
118
- const CommandClass = getCommands().get(commandName);
119
- if (!CommandClass) return failureResult;
120
- return runCommand(CommandClass, get);
121
- };
122
- };
123
101
  const getStderr = () => globalThis.process.stderr;
124
102
  const getArgs = () => globalThis.process.argv.slice(2);
125
103
  const extractCapabilities = (app) => app;
@@ -132,12 +110,18 @@ const buildHttpNodeApp = (caps, resolver, shutdown, args) => {
132
110
  shutdown
133
111
  };
134
112
  };
135
- /** @throws {ZeltLifecycleStateError} */ const buildCommandNodeApp = (caps, resolver, shutdown, stderr, args) => {
136
- if (typeof caps.hasCommand !== "function" || typeof caps.getCommands !== "function") return void 0;
113
+ const buildCommandNodeApp = (caps, resolver, shutdown, stderr, args) => {
114
+ if (typeof caps.execCommand !== "function") return void 0;
115
+ const coreExecCommand = caps.execCommand;
116
+ const execCommand = async (argv) => {
117
+ const result = await coreExecCommand(argv);
118
+ if (result.exitCode === 1) stderr.write(`${result.reason.message}\n`);
119
+ return result;
120
+ };
137
121
  return {
138
122
  ...resolver,
139
123
  args,
140
- execCommand: createExecForCommands(caps.hasCommand, caps.getCommands, resolver.get, stderr),
124
+ execCommand,
141
125
  shutdown
142
126
  };
143
127
  };
@@ -148,7 +132,7 @@ const buildSchedulerPart = (caps) => {
148
132
  stopScheduler: caps.stopScheduler
149
133
  };
150
134
  };
151
- /** @throws {ZeltLifecycleStateError} */ const buildNodeApps = (caps, resolver, shutdown, stderr, args) => ({
135
+ const buildNodeApps = (caps, resolver, shutdown, stderr, args) => ({
152
136
  httpResult: buildHttpNodeApp(caps, resolver, shutdown, args),
153
137
  commandResult: buildCommandNodeApp(caps, resolver, shutdown, stderr, args),
154
138
  schedulerPart: buildSchedulerPart(caps)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["CliConfig","Config","NodeCliConfig","cwd","process","argv","exit","code","setExitCode","exitCode","onSignal","signal","handler","on","offSignal","off","Config","EnvConfig","config","DotEnvConfig","paths","path","override","Config","EnvConfig","ProcessEnvConfig","get","key","process","env","serve","NodeCliConfig","ProcessEnvConfig","successResult","exitCode","failureResult","createListenForHttp","appFetch","appShutdown","portOrOptions","listenOptions","port","hostname","server","serverReady","Promise","resolve","fetch","info","address","shutdown","reject","close","err","runCommand","CommandClass","get","instance","then","run","catch","createExecForCommands","hasCommand","getCommands","stderr","argv","commandName","write","commandMap","getStderr","globalThis","process","getArgs","slice","extractCapabilities","app","buildHttpNodeApp","caps","resolver","args","undefined","listen","buildCommandNodeApp","execCommand","buildSchedulerPart","startScheduler","stopScheduler","buildNodeApps","httpResult","commandResult","schedulerPart","mergeNodeApps","result","schedulerMethods","fullApp","onNode","options","addFallbackConfig","readyOptions","warmup","ready","serve","buildServeOptions","optionsOrCallback","extractCallback","maybeCallback","serveApp","app","options","callback","fetch","port","hostname"],"sources":["../src/cli.config.ts","../src/dotenv.config.ts","../src/process-env.config.ts","../src/on-node.ts","../src/serve.ts"],"sourcesContent":["import type { Signal, SignalHandler } from '@zeltjs/core';\nimport { CliConfig, Config } from '@zeltjs/core';\n\n@Config\nexport class NodeCliConfig extends CliConfig {\n override cwd(): string {\n return process.cwd();\n }\n\n override argv(): readonly string[] {\n return process.argv;\n }\n\n override exit(code: number): never {\n process.exit(code);\n }\n\n override setExitCode(code: number): void {\n process.exitCode = code;\n }\n\n override onSignal(signal: Signal, handler: SignalHandler): void {\n process.on(signal, handler);\n }\n\n override offSignal(signal: Signal, handler: SignalHandler): void {\n process.off(signal, handler);\n }\n}\n","import { Config, EnvConfig } from '@zeltjs/core';\nimport { config } from 'dotenv';\n\n@Config\nexport class DotEnvConfig extends EnvConfig {\n protected readonly paths: string[] = ['.env'];\n\n constructor() {\n super();\n for (const path of this.paths) {\n config({ path, override: true });\n }\n }\n}\n","import { Config, EnvConfig } from '@zeltjs/core';\n\n@Config\nexport class ProcessEnvConfig extends EnvConfig {\n override get(key: string): string | undefined {\n return process.env[key];\n }\n}\n","import type { ServerType } from '@hono/node-server';\nimport { serve } from '@hono/node-server';\nimport type {\n CommandApp,\n CommandClass,\n HttpApp,\n ReadyOptions,\n ReadyResult,\n SchedulerApp,\n} from '@zeltjs/core';\n\nimport { NodeCliConfig } from './cli.config';\nimport { ProcessEnvConfig } from './process-env.config';\n\ntype ListenOptions = {\n readonly port?: number;\n readonly hostname?: string;\n};\n\nexport type ServerHandle = {\n readonly address: { port: number; address: string };\n readonly shutdown: () => Promise<void>;\n};\n\nexport type NodeAppOptions = {\n readonly warmup?: boolean;\n};\n\nexport type ExecResult = {\n readonly exitCode: 0 | 1;\n};\n\ntype NodeAppBase = {\n readonly args: readonly string[];\n};\n\nexport type HttpNodeApp = ReadyResult &\n NodeAppBase & {\n readonly listen: (portOrOptions?: number | ListenOptions) => Promise<ServerHandle>;\n readonly shutdown: () => Promise<void>;\n };\n\nexport type CommandNodeApp = ReadyResult &\n NodeAppBase & {\n readonly execCommand: (argv: string[]) => Promise<ExecResult>;\n readonly shutdown: () => Promise<void>;\n };\n\nexport type SchedulerNodeAppPart = {\n readonly startScheduler: () => Promise<void>;\n readonly stopScheduler: () => Promise<void>;\n};\n\nexport type FullNodeApp = HttpNodeApp & CommandNodeApp;\n\nexport type NodeApp = HttpNodeApp | CommandNodeApp | FullNodeApp;\n\ntype Stderr = { write: (s: string) => void };\n\nconst successResult: ExecResult = { exitCode: 0 };\nconst failureResult: ExecResult = { exitCode: 1 };\n\nconst createListenForHttp = (\n appFetch: (request: Request) => Promise<Response>,\n appShutdown: () => Promise<void>,\n): ((portOrOptions?: number | ListenOptions) => Promise<ServerHandle>) => {\n return async (portOrOptions?: number | ListenOptions): Promise<ServerHandle> => {\n const listenOptions: ListenOptions =\n typeof portOrOptions === 'number' ? { port: portOrOptions } : (portOrOptions ?? {});\n\n const port = listenOptions.port ?? 3000;\n const hostname = listenOptions.hostname ?? '0.0.0.0';\n\n let server!: ServerType;\n const serverReady = new Promise<{ port: number; address: string }>((resolve) => {\n server = serve({ fetch: appFetch, port, hostname }, (info) =>\n resolve({ port: info.port, address: info.address }),\n );\n });\n\n const address = await serverReady;\n\n const shutdown = async (): Promise<void> => {\n await new Promise<void>((resolve, reject) => {\n server.close((err) => (err ? reject(err) : resolve()));\n });\n await appShutdown();\n };\n\n return { address, shutdown };\n };\n};\n\n/** @throws {ZeltLifecycleStateError} */\nconst runCommand = (\n CommandClass: CommandClass,\n get: <T extends object>(cls: new (...args: never[]) => T) => T,\n): Promise<ExecResult> => {\n const instance = get(CommandClass);\n return Promise.resolve()\n .then(() => instance.run())\n .then(() => successResult)\n .catch(() => failureResult);\n};\n\n/** @throws {ZeltLifecycleStateError} */\nconst createExecForCommands = (\n hasCommand: (name: string) => boolean,\n getCommands: () => ReadonlyMap<string, CommandClass>,\n get: <T extends object>(cls: new (...args: never[]) => T) => T,\n stderr: Stderr,\n): ((argv: string[]) => Promise<ExecResult>) => {\n return async (argv: string[]): Promise<ExecResult> => {\n const commandName = argv[0];\n if (!commandName) {\n stderr.write('No command specified\\n');\n return failureResult;\n }\n\n if (!hasCommand(commandName)) {\n stderr.write(`Command not found: ${commandName}\\n`);\n return failureResult;\n }\n\n const commandMap = getCommands();\n const CommandClass = commandMap.get(commandName);\n if (!CommandClass) {\n return failureResult;\n }\n\n return runCommand(CommandClass, get);\n };\n};\n\nconst getStderr = (): Stderr => globalThis.process.stderr;\n\nconst getArgs = (): readonly string[] => globalThis.process.argv.slice(2);\n\ntype AppCapabilities = {\n fetch?: (request: Request) => Promise<Response>;\n hasCommand?: (name: string) => boolean;\n getCommands?: () => ReadonlyMap<string, CommandClass>;\n startScheduler?: () => Promise<void>;\n stopScheduler?: () => Promise<void>;\n};\n\ntype AnyApp = HttpApp | CommandApp | SchedulerApp | (HttpApp & CommandApp & SchedulerApp);\n\nconst extractCapabilities = (app: AnyApp): AppCapabilities => app;\n\ntype BuildResult = {\n httpResult: HttpNodeApp | undefined;\n commandResult: CommandNodeApp | undefined;\n schedulerPart: SchedulerNodeAppPart | undefined;\n};\n\nconst buildHttpNodeApp = (\n caps: AppCapabilities,\n resolver: ReadyResult,\n shutdown: () => Promise<void>,\n args: readonly string[],\n): HttpNodeApp | undefined => {\n if (typeof caps.fetch !== 'function') return undefined;\n return { ...resolver, args, listen: createListenForHttp(caps.fetch, shutdown), shutdown };\n};\n\n/** @throws {ZeltLifecycleStateError} */\nconst buildCommandNodeApp = (\n caps: AppCapabilities,\n resolver: ReadyResult,\n shutdown: () => Promise<void>,\n stderr: Stderr,\n args: readonly string[],\n): CommandNodeApp | undefined => {\n if (typeof caps.hasCommand !== 'function' || typeof caps.getCommands !== 'function')\n return undefined;\n return {\n ...resolver,\n args,\n execCommand: createExecForCommands(caps.hasCommand, caps.getCommands, resolver.get, stderr),\n shutdown,\n };\n};\n\nconst buildSchedulerPart = (caps: AppCapabilities): SchedulerNodeAppPart | undefined => {\n if (typeof caps.startScheduler !== 'function' || typeof caps.stopScheduler !== 'function')\n return undefined;\n return {\n startScheduler: caps.startScheduler,\n stopScheduler: caps.stopScheduler,\n };\n};\n\n/** @throws {ZeltLifecycleStateError} */\nconst buildNodeApps = (\n caps: AppCapabilities,\n resolver: ReadyResult,\n shutdown: () => Promise<void>,\n stderr: Stderr,\n args: readonly string[],\n): BuildResult => ({\n httpResult: buildHttpNodeApp(caps, resolver, shutdown, args),\n commandResult: buildCommandNodeApp(caps, resolver, shutdown, stderr, args),\n schedulerPart: buildSchedulerPart(caps),\n});\n\nconst mergeNodeApps = (\n result: BuildResult,\n resolver: ReadyResult,\n shutdown: () => Promise<void>,\n args: readonly string[],\n): NodeApp => {\n const { httpResult, commandResult, schedulerPart } = result;\n const schedulerMethods = schedulerPart ?? {};\n\n if (httpResult && commandResult) {\n const fullApp: FullNodeApp = {\n ...httpResult,\n execCommand: commandResult.execCommand,\n ...schedulerMethods,\n };\n return fullApp;\n }\n if (httpResult) return { ...httpResult, ...schedulerMethods };\n if (commandResult) return { ...commandResult, ...schedulerMethods };\n return { ...resolver, args, shutdown, listen: () => new Promise(() => {}), ...schedulerMethods };\n};\n\n/** @throws {ZeltLifecycleStateError} */\nexport function onNode(\n app: HttpApp & CommandApp & SchedulerApp,\n options?: NodeAppOptions,\n): Promise<FullNodeApp & SchedulerNodeAppPart>;\n/** @throws {ZeltLifecycleStateError} */\nexport function onNode(\n app: HttpApp & SchedulerApp,\n options?: NodeAppOptions,\n): Promise<HttpNodeApp & SchedulerNodeAppPart>;\n/** @throws {ZeltLifecycleStateError} */\nexport function onNode(\n app: CommandApp & SchedulerApp,\n options?: NodeAppOptions,\n): Promise<CommandNodeApp & SchedulerNodeAppPart>;\n/** @throws {ZeltLifecycleStateError} */\nexport function onNode(app: HttpApp & CommandApp, options?: NodeAppOptions): Promise<FullNodeApp>;\n/** @throws {ZeltLifecycleStateError} */\nexport function onNode(app: HttpApp, options?: NodeAppOptions): Promise<HttpNodeApp>;\n/** @throws {ZeltLifecycleStateError} */\nexport function onNode(app: CommandApp, options?: NodeAppOptions): Promise<CommandNodeApp>;\n/** @throws {ZeltLifecycleStateError} */\nexport async function onNode(app: AnyApp, options: NodeAppOptions = {}): Promise<NodeApp> {\n app.addFallbackConfig(NodeCliConfig);\n app.addFallbackConfig(ProcessEnvConfig);\n\n const readyOptions: ReadyOptions = { warmup: options.warmup ?? true };\n const resolver = await app.ready(readyOptions);\n\n const caps = extractCapabilities(app);\n const stderr = getStderr();\n const args = getArgs();\n const result = buildNodeApps(caps, resolver, app.shutdown, stderr, args);\n\n return mergeNodeApps(result, resolver, app.shutdown, args);\n}\n","import type { ServerType } from '@hono/node-server';\nimport { serve } from '@hono/node-server';\n\nexport type ServeOptions = {\n port?: number;\n hostname?: string;\n};\n\nexport type AddressInfo = {\n port: number;\n address: string;\n};\n\ntype AppLike = {\n fetch: (request: Request) => Promise<Response>;\n};\n\nconst buildServeOptions = (\n optionsOrCallback: ServeOptions | ((info: AddressInfo) => void) | undefined,\n): ServeOptions => (typeof optionsOrCallback === 'function' ? {} : (optionsOrCallback ?? {}));\n\nconst extractCallback = (\n optionsOrCallback: ServeOptions | ((info: AddressInfo) => void) | undefined,\n maybeCallback: ((info: AddressInfo) => void) | undefined,\n): ((info: AddressInfo) => void) | undefined =>\n typeof optionsOrCallback === 'function' ? optionsOrCallback : maybeCallback;\n\nexport const serveApp = (\n app: AppLike,\n optionsOrCallback?: ServeOptions | ((info: AddressInfo) => void),\n maybeCallback?: (info: AddressInfo) => void,\n): ServerType => {\n const options = buildServeOptions(optionsOrCallback);\n const callback = extractCallback(optionsOrCallback, maybeCallback);\n\n return serve(\n {\n fetch: app.fetch,\n port: options.port ?? 3000,\n hostname: options.hostname ?? '0.0.0.0',\n },\n callback,\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["CliConfig","Config","NodeCliConfig","cwd","process","argv","exit","code","setExitCode","exitCode","onSignal","signal","handler","on","offSignal","off","Config","EnvConfig","config","DotEnvConfig","paths","path","override","Config","EnvConfig","ProcessEnvConfig","get","key","process","env","serve","NodeCliConfig","ProcessEnvConfig","createListenForHttp","appFetch","appShutdown","portOrOptions","listenOptions","port","hostname","server","serverReady","Promise","resolve","fetch","info","address","shutdown","reject","close","err","getStderr","globalThis","process","stderr","getArgs","argv","slice","extractCapabilities","app","buildHttpNodeApp","caps","resolver","args","undefined","listen","buildCommandNodeApp","execCommand","coreExecCommand","result","exitCode","write","reason","message","buildSchedulerPart","startScheduler","stopScheduler","buildNodeApps","httpResult","commandResult","schedulerPart","mergeNodeApps","schedulerMethods","fullApp","onNode","options","addFallbackConfig","readyOptions","warmup","ready","serve","buildServeOptions","optionsOrCallback","extractCallback","maybeCallback","serveApp","app","options","callback","fetch","port","hostname"],"sources":["../src/cli.config.ts","../src/dotenv.config.ts","../src/process-env.config.ts","../src/on-node.ts","../src/serve.ts"],"sourcesContent":["import type { Signal, SignalHandler } from '@zeltjs/core';\nimport { CliConfig, Config } from '@zeltjs/core';\n\n@Config\nexport class NodeCliConfig extends CliConfig {\n override cwd(): string {\n return process.cwd();\n }\n\n override argv(): readonly string[] {\n return process.argv;\n }\n\n override exit(code: number): never {\n process.exit(code);\n }\n\n override setExitCode(code: number): void {\n process.exitCode = code;\n }\n\n override onSignal(signal: Signal, handler: SignalHandler): void {\n process.on(signal, handler);\n }\n\n override offSignal(signal: Signal, handler: SignalHandler): void {\n process.off(signal, handler);\n }\n}\n","import { Config, EnvConfig } from '@zeltjs/core';\nimport { config } from 'dotenv';\n\n@Config\nexport class DotEnvConfig extends EnvConfig {\n protected readonly paths: string[] = ['.env'];\n\n constructor() {\n super();\n for (const path of this.paths) {\n config({ path, override: true });\n }\n }\n}\n","import { Config, EnvConfig } from '@zeltjs/core';\n\n@Config\nexport class ProcessEnvConfig extends EnvConfig {\n override get(key: string): string | undefined {\n return process.env[key];\n }\n}\n","import type { ServerType } from '@hono/node-server';\nimport { serve } from '@hono/node-server';\nimport type {\n CommandApp,\n ExecResult,\n HttpApp,\n ReadyOptions,\n ReadyResult,\n SchedulerApp,\n} from '@zeltjs/core';\n\nimport { NodeCliConfig } from './cli.config';\nimport { ProcessEnvConfig } from './process-env.config';\n\ntype ListenOptions = {\n readonly port?: number;\n readonly hostname?: string;\n};\n\nexport type ServerHandle = {\n readonly address: { port: number; address: string };\n readonly shutdown: () => Promise<void>;\n};\n\nexport type NodeAppOptions = {\n readonly warmup?: boolean;\n};\n\nexport type { ExecResult } from '@zeltjs/core';\n\ntype NodeAppBase = {\n readonly args: readonly string[];\n};\n\nexport type HttpNodeApp = ReadyResult &\n NodeAppBase & {\n readonly listen: (portOrOptions?: number | ListenOptions) => Promise<ServerHandle>;\n readonly shutdown: () => Promise<void>;\n };\n\nexport type CommandNodeApp = ReadyResult &\n NodeAppBase & {\n readonly execCommand: (argv: readonly string[]) => Promise<ExecResult>;\n readonly shutdown: () => Promise<void>;\n };\n\nexport type SchedulerNodeAppPart = {\n readonly startScheduler: () => Promise<void>;\n readonly stopScheduler: () => Promise<void>;\n};\n\nexport type FullNodeApp = HttpNodeApp & CommandNodeApp;\n\nexport type NodeApp = HttpNodeApp | CommandNodeApp | FullNodeApp;\n\ntype Stderr = { write: (s: string) => void };\n\nconst createListenForHttp = (\n appFetch: (request: Request) => Promise<Response>,\n appShutdown: () => Promise<void>,\n): ((portOrOptions?: number | ListenOptions) => Promise<ServerHandle>) => {\n return async (portOrOptions?: number | ListenOptions): Promise<ServerHandle> => {\n const listenOptions: ListenOptions =\n typeof portOrOptions === 'number' ? { port: portOrOptions } : (portOrOptions ?? {});\n\n const port = listenOptions.port ?? 3000;\n const hostname = listenOptions.hostname ?? '0.0.0.0';\n\n let server!: ServerType;\n const serverReady = new Promise<{ port: number; address: string }>((resolve) => {\n server = serve({ fetch: appFetch, port, hostname }, (info) =>\n resolve({ port: info.port, address: info.address }),\n );\n });\n\n const address = await serverReady;\n\n const shutdown = async (): Promise<void> => {\n await new Promise<void>((resolve, reject) => {\n server.close((err) => (err ? reject(err) : resolve()));\n });\n await appShutdown();\n };\n\n return { address, shutdown };\n };\n};\n\nconst getStderr = (): Stderr => globalThis.process.stderr;\n\nconst getArgs = (): readonly string[] => globalThis.process.argv.slice(2);\n\ntype AppCapabilities = {\n fetch?: (request: Request) => Promise<Response>;\n execCommand?: (argv: readonly string[]) => Promise<ExecResult>;\n startScheduler?: () => Promise<void>;\n stopScheduler?: () => Promise<void>;\n};\n\ntype AnyApp = HttpApp | CommandApp | SchedulerApp | (HttpApp & CommandApp & SchedulerApp);\n\nconst extractCapabilities = (app: AnyApp): AppCapabilities => app;\n\ntype BuildResult = {\n httpResult: HttpNodeApp | undefined;\n commandResult: CommandNodeApp | undefined;\n schedulerPart: SchedulerNodeAppPart | undefined;\n};\n\nconst buildHttpNodeApp = (\n caps: AppCapabilities,\n resolver: ReadyResult,\n shutdown: () => Promise<void>,\n args: readonly string[],\n): HttpNodeApp | undefined => {\n if (typeof caps.fetch !== 'function') return undefined;\n return { ...resolver, args, listen: createListenForHttp(caps.fetch, shutdown), shutdown };\n};\n\nconst buildCommandNodeApp = (\n caps: AppCapabilities,\n resolver: ReadyResult,\n shutdown: () => Promise<void>,\n stderr: Stderr,\n args: readonly string[],\n): CommandNodeApp | undefined => {\n if (typeof caps.execCommand !== 'function') return undefined;\n\n const coreExecCommand = caps.execCommand;\n const execCommand = async (argv: readonly string[]): Promise<ExecResult> => {\n const result = await coreExecCommand(argv);\n if (result.exitCode === 1) {\n stderr.write(`${result.reason.message}\\n`);\n }\n return result;\n };\n\n return { ...resolver, args, execCommand, shutdown };\n};\n\nconst buildSchedulerPart = (caps: AppCapabilities): SchedulerNodeAppPart | undefined => {\n if (typeof caps.startScheduler !== 'function' || typeof caps.stopScheduler !== 'function')\n return undefined;\n return {\n startScheduler: caps.startScheduler,\n stopScheduler: caps.stopScheduler,\n };\n};\n\nconst buildNodeApps = (\n caps: AppCapabilities,\n resolver: ReadyResult,\n shutdown: () => Promise<void>,\n stderr: Stderr,\n args: readonly string[],\n): BuildResult => ({\n httpResult: buildHttpNodeApp(caps, resolver, shutdown, args),\n commandResult: buildCommandNodeApp(caps, resolver, shutdown, stderr, args),\n schedulerPart: buildSchedulerPart(caps),\n});\n\nconst mergeNodeApps = (\n result: BuildResult,\n resolver: ReadyResult,\n shutdown: () => Promise<void>,\n args: readonly string[],\n): NodeApp => {\n const { httpResult, commandResult, schedulerPart } = result;\n const schedulerMethods = schedulerPart ?? {};\n\n if (httpResult && commandResult) {\n const fullApp: FullNodeApp = {\n ...httpResult,\n execCommand: commandResult.execCommand,\n ...schedulerMethods,\n };\n return fullApp;\n }\n if (httpResult) return { ...httpResult, ...schedulerMethods };\n if (commandResult) return { ...commandResult, ...schedulerMethods };\n return { ...resolver, args, shutdown, listen: () => new Promise(() => {}), ...schedulerMethods };\n};\n\n/** @throws {ZeltLifecycleStateError} */\nexport function onNode(\n app: HttpApp & CommandApp & SchedulerApp,\n options?: NodeAppOptions,\n): Promise<FullNodeApp & SchedulerNodeAppPart>;\n/** @throws {ZeltLifecycleStateError} */\nexport function onNode(\n app: HttpApp & SchedulerApp,\n options?: NodeAppOptions,\n): Promise<HttpNodeApp & SchedulerNodeAppPart>;\n/** @throws {ZeltLifecycleStateError} */\nexport function onNode(\n app: CommandApp & SchedulerApp,\n options?: NodeAppOptions,\n): Promise<CommandNodeApp & SchedulerNodeAppPart>;\n/** @throws {ZeltLifecycleStateError} */\nexport function onNode(app: HttpApp & CommandApp, options?: NodeAppOptions): Promise<FullNodeApp>;\n/** @throws {ZeltLifecycleStateError} */\nexport function onNode(app: HttpApp, options?: NodeAppOptions): Promise<HttpNodeApp>;\n/** @throws {ZeltLifecycleStateError} */\nexport function onNode(app: CommandApp, options?: NodeAppOptions): Promise<CommandNodeApp>;\n/** @throws {ZeltLifecycleStateError} */\nexport async function onNode(app: AnyApp, options: NodeAppOptions = {}): Promise<NodeApp> {\n app.addFallbackConfig(NodeCliConfig);\n app.addFallbackConfig(ProcessEnvConfig);\n\n const readyOptions: ReadyOptions = { warmup: options.warmup ?? true };\n const resolver = await app.ready(readyOptions);\n\n const caps = extractCapabilities(app);\n const stderr = getStderr();\n const args = getArgs();\n const result = buildNodeApps(caps, resolver, app.shutdown, stderr, args);\n\n return mergeNodeApps(result, resolver, app.shutdown, args);\n}\n","import type { ServerType } from '@hono/node-server';\nimport { serve } from '@hono/node-server';\n\nexport type ServeOptions = {\n port?: number;\n hostname?: string;\n};\n\nexport type AddressInfo = {\n port: number;\n address: string;\n};\n\ntype AppLike = {\n fetch: (request: Request) => Promise<Response>;\n};\n\nconst buildServeOptions = (\n optionsOrCallback: ServeOptions | ((info: AddressInfo) => void) | undefined,\n): ServeOptions => (typeof optionsOrCallback === 'function' ? {} : (optionsOrCallback ?? {}));\n\nconst extractCallback = (\n optionsOrCallback: ServeOptions | ((info: AddressInfo) => void) | undefined,\n maybeCallback: ((info: AddressInfo) => void) | undefined,\n): ((info: AddressInfo) => void) | undefined =>\n typeof optionsOrCallback === 'function' ? optionsOrCallback : maybeCallback;\n\nexport const serveApp = (\n app: AppLike,\n optionsOrCallback?: ServeOptions | ((info: AddressInfo) => void),\n maybeCallback?: (info: AddressInfo) => void,\n): ServerType => {\n const options = buildServeOptions(optionsOrCallback);\n const callback = extractCallback(optionsOrCallback, maybeCallback);\n\n return serve(\n {\n fetch: app.fetch,\n port: options.port ?? 3000,\n hostname: options.hostname ?? '0.0.0.0',\n },\n callback,\n );\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeltjs/adapter-node",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -23,7 +23,7 @@
23
23
  "dependencies": {
24
24
  "@hono/node-server": "2.0.1",
25
25
  "dotenv": "17.4.2",
26
- "@zeltjs/core": "0.5.0"
26
+ "@zeltjs/core": "0.6.0"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/node": "22.19.17"