@zeltjs/adapter-cloudflare-workers 0.6.1 → 0.8.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
@@ -46,25 +46,24 @@ onCloudflareWorkers(app, {
46
46
 
47
47
  ## Environment Variables
48
48
 
49
- When using `EnvConfig`, it is automatically replaced with `CloudflareWorkersEnvConfig` which reads from `cloudflare:workers` env:
49
+ `onCloudflareWorkers()` automatically registers `CloudflareWorkersEnvAdaptor`, which reads from the `cloudflare:workers` env. Use `inject(Env)` to access environment variables:
50
50
 
51
51
  ```typescript
52
- import { createApp, Controller, Get, EnvConfig, EnvService, inject } from '@zeltjs/core';
52
+ import { createApp, Controller, Get, Env, inject } from '@zeltjs/core';
53
53
  import { onCloudflareWorkers } from '@zeltjs/adapter-cloudflare-workers';
54
54
 
55
55
  @Controller('/config')
56
56
  class ConfigController {
57
- constructor(private env = inject(EnvService)) {}
57
+ constructor(private env = inject(Env)) {}
58
58
 
59
59
  @Get('/')
60
60
  getApiHost() {
61
- return { apiHost: this.env.get('API_HOST') };
61
+ return { apiHost: this.env.getString('API_HOST', 'localhost') };
62
62
  }
63
63
  }
64
64
 
65
65
  const app = createApp({
66
- controllers: [ConfigController],
67
- configs: [EnvConfig],
66
+ http: { controllers: [ConfigController] },
68
67
  });
69
68
 
70
69
  const workers = await onCloudflareWorkers(app);
package/dist/index.d.ts CHANGED
@@ -1,24 +1,19 @@
1
- import { ControllerRouteInfo, EnvConfig, HttpApp, HttpMetadata, ReadyResult } from "@zeltjs/core";
1
+ import { EnvAdaptor, HttpApp, ReadyResult } from "@zeltjs/core";
2
2
 
3
- //#region src/cloudflare-workers-env.config.d.ts
4
- declare class CloudflareWorkersEnvConfig extends EnvConfig {
3
+ //#region src/cloudflare-workers-env.adaptor.d.ts
4
+ declare class CloudflareWorkersEnvAdaptor extends EnvAdaptor {
5
5
  get(key: string): string | undefined;
6
6
  }
7
7
  //#endregion
8
8
  //#region src/on-cloudflare-workers.d.ts
9
- type DynamicMeta = HttpMetadata;
10
9
  type CloudflareWorkersOptions = {
11
10
  readonly warmup?: boolean;
12
- readonly dynamic?: boolean;
13
11
  };
14
- type BaseCloudflareWorkersApp = ReadyResult & {
12
+ type CloudflareWorkersApp = ReadyResult & {
15
13
  readonly fetch: (request: Request, env: unknown, ctx: ExecutionContext) => Promise<Response>;
16
14
  readonly shutdown: () => Promise<void>;
17
15
  };
18
- type CloudflareWorkersApp = BaseCloudflareWorkersApp & {
19
- readonly __dynamicMeta?: DynamicMeta;
20
- };
21
16
  declare const onCloudflareWorkers: (app: HttpApp, options?: CloudflareWorkersOptions) => Promise<CloudflareWorkersApp>;
22
17
  //#endregion
23
- export { type CloudflareWorkersApp, CloudflareWorkersEnvConfig, type CloudflareWorkersOptions, type ControllerRouteInfo, type DynamicMeta, type HttpMetadata, onCloudflareWorkers };
18
+ export { type CloudflareWorkersApp, CloudflareWorkersEnvAdaptor, type CloudflareWorkersOptions, onCloudflareWorkers };
24
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/cloudflare-workers-env.config.ts","../src/on-cloudflare-workers.ts"],"mappings":";;;cAIa,0BAAA,SAAmC,SAAA;EACrC,GAAA,CAAI,GAAA;AAAA;;;KCOH,WAAA,GAAc,YAAA;AAAA,KAEd,wBAAA;EAAA,SACD,MAAA;EAAA,SACA,OAAA;AAAA;AAAA,KAGN,wBAAA,GAA2B,WAAA;EAAA,SACrB,KAAA,GAAQ,OAAA,EAAS,OAAA,EAAS,GAAA,WAAc,GAAA,EAAK,gBAAA,KAAqB,OAAA,CAAQ,QAAA;EAAA,SAC1E,QAAA,QAAgB,OAAA;AAAA;AAAA,KAGf,oBAAA,GAAuB,wBAAA;EAAA,SACxB,aAAA,GAAgB,WAAA;AAAA;AAAA,cAGd,mBAAA,GACX,GAAA,EAAK,OAAA,EACL,OAAA,GAAS,wBAAA,KACR,OAAA,CAAQ,oBAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/cloudflare-workers-env.adaptor.ts","../src/on-cloudflare-workers.ts"],"mappings":";;;cAIa,2BAAA,SAAoC,UAAA;EACtC,GAAA,CAAI,GAAA;AAAA;;;KCDH,wBAAA;EAAA,SACD,MAAA;AAAA;AAAA,KAGC,oBAAA,GAAuB,WAAA;EAAA,SACxB,KAAA,GAAQ,OAAA,EAAS,OAAA,EAAS,GAAA,WAAc,GAAA,EAAK,gBAAA,KAAqB,OAAA,CAAQ,QAAA;EAAA,SAC1E,QAAA,QAAgB,OAAA;AAAA;AAAA,cAGd,mBAAA,GACX,GAAA,EAAK,OAAA,EACL,OAAA,GAAS,wBAAA,KACR,OAAA,CAAQ,oBAAA"}
package/dist/index.js CHANGED
@@ -1,23 +1,23 @@
1
1
  import { env } from "cloudflare:workers";
2
- import { Config, EnvConfig } from "@zeltjs/core";
3
- //#region src/cloudflare-workers-env.config.ts
2
+ import { Config, EnvAdaptor } from "@zeltjs/core";
3
+ //#region src/cloudflare-workers-env.adaptor.ts
4
4
  function _ts_decorate(decorators, target, key, desc) {
5
5
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
6
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7
7
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
8
8
  return c > 3 && r && Object.defineProperty(target, key, r), r;
9
9
  }
10
- var CloudflareWorkersEnvConfig = class extends EnvConfig {
10
+ var CloudflareWorkersEnvAdaptor = class extends EnvAdaptor {
11
11
  get(key) {
12
- const value = env[key];
12
+ const value = Reflect.get(env, key);
13
13
  return typeof value === "string" ? value : void 0;
14
14
  }
15
15
  };
16
- CloudflareWorkersEnvConfig = _ts_decorate([Config], CloudflareWorkersEnvConfig);
16
+ CloudflareWorkersEnvAdaptor = _ts_decorate([Config], CloudflareWorkersEnvAdaptor);
17
17
  //#endregion
18
18
  //#region src/on-cloudflare-workers.ts
19
19
  const onCloudflareWorkers = async (app, options = {}) => {
20
- app.addFallbackConfig(CloudflareWorkersEnvConfig);
20
+ app.addFallbackConfig(CloudflareWorkersEnvAdaptor);
21
21
  const readyOptions = { warmup: options.warmup ?? false };
22
22
  const resolver = await app.ready(readyOptions);
23
23
  const fetch = async (request, _env, ctx) => {
@@ -25,21 +25,13 @@ const onCloudflareWorkers = async (app, options = {}) => {
25
25
  ctx.waitUntil(response.then(() => {}));
26
26
  return response;
27
27
  };
28
- const base = {
28
+ return {
29
29
  ...resolver,
30
30
  fetch,
31
31
  shutdown: app.shutdown
32
32
  };
33
- if (options.dynamic) {
34
- const __dynamicMeta = app.getMetadata();
35
- return {
36
- ...base,
37
- __dynamicMeta
38
- };
39
- }
40
- return base;
41
33
  };
42
34
  //#endregion
43
- export { CloudflareWorkersEnvConfig, onCloudflareWorkers };
35
+ export { CloudflareWorkersEnvAdaptor, onCloudflareWorkers };
44
36
 
45
37
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["env","Config","EnvConfig","CloudflareWorkersEnvConfig","get","key","value","undefined","CloudflareWorkersEnvConfig","onCloudflareWorkers","app","options","addFallbackConfig","readyOptions","warmup","resolver","ready","fetch","request","_env","ctx","response","waitUntil","then","base","shutdown","dynamic","__dynamicMeta","getMetadata"],"sources":["../src/cloudflare-workers-env.config.ts","../src/on-cloudflare-workers.ts"],"sourcesContent":["import { env } from 'cloudflare:workers';\nimport { Config, EnvConfig } from '@zeltjs/core';\n\n@Config\nexport class CloudflareWorkersEnvConfig extends EnvConfig {\n override get(key: string): string | undefined {\n const value: unknown = (env as Record<string, unknown>)[key];\n return typeof value === 'string' ? value : undefined;\n }\n}\n","import type {\n ControllerRouteInfo,\n HttpApp,\n HttpMetadata,\n ReadyOptions,\n ReadyResult,\n} from '@zeltjs/core';\n\nimport { CloudflareWorkersEnvConfig } from './cloudflare-workers-env.config';\n\nexport type { ControllerRouteInfo, HttpMetadata };\n\nexport type DynamicMeta = HttpMetadata;\n\nexport type CloudflareWorkersOptions = {\n readonly warmup?: boolean;\n readonly dynamic?: boolean;\n};\n\ntype BaseCloudflareWorkersApp = ReadyResult & {\n readonly fetch: (request: Request, env: unknown, ctx: ExecutionContext) => Promise<Response>;\n readonly shutdown: () => Promise<void>;\n};\n\nexport type CloudflareWorkersApp = BaseCloudflareWorkersApp & {\n readonly __dynamicMeta?: DynamicMeta;\n};\n\nexport const onCloudflareWorkers = async (\n app: HttpApp,\n options: CloudflareWorkersOptions = {},\n): Promise<CloudflareWorkersApp> => {\n app.addFallbackConfig(CloudflareWorkersEnvConfig);\n\n const readyOptions: ReadyOptions = { warmup: options.warmup ?? false };\n const resolver = await app.ready(readyOptions);\n\n const fetch = async (\n request: Request,\n _env: unknown,\n ctx: ExecutionContext,\n ): Promise<Response> => {\n const response = app.fetch(request);\n ctx.waitUntil(response.then(() => {}));\n return response;\n };\n\n const base: BaseCloudflareWorkersApp = { ...resolver, fetch, shutdown: app.shutdown };\n\n if (options.dynamic) {\n const __dynamicMeta = app.getMetadata();\n return { ...base, __dynamicMeta };\n }\n\n return base;\n};\n"],"mappings":";;;;;;;;;AAIA,IAAaG,6BAAb,cAAgDD,UAAAA;CACrCE,IAAIC,KAAiC;EAC5C,MAAMC,QAAiB,IAAiCD;AACxD,SAAO,OAAOC,UAAU,WAAWA,QAAQC,KAAAA;;;;;;ACqB/C,MAAaE,sBAAsB,OACjCC,KACAC,UAAoC,EAAE,KAAA;AAEtCD,KAAIE,kBAAkBJ,2BAAAA;CAEtB,MAAMK,eAA6B,EAAEC,QAAQH,QAAQG,UAAU,OAAM;CACrE,MAAMC,WAAW,MAAML,IAAIM,MAAMH,aAAAA;CAEjC,MAAMI,QAAQ,OACZC,SACAC,MACAC,QAAAA;EAEA,MAAMC,WAAWX,IAAIO,MAAMC,QAAAA;AAC3BE,MAAIE,UAAUD,SAASE,WAAK,GAAO,CAAA;AACnC,SAAOF;;CAGT,MAAMG,OAAiC;EAAE,GAAGT;EAAUE;EAAOQ,UAAUf,IAAIe;EAAS;AAEpF,KAAId,QAAQe,SAAS;EACnB,MAAMC,gBAAgBjB,IAAIkB,aAAW;AACrC,SAAO;GAAE,GAAGJ;GAAMG;GAAc;;AAGlC,QAAOH"}
1
+ {"version":3,"file":"index.js","names":["env","Config","EnvAdaptor","CloudflareWorkersEnvAdaptor","get","key","value","Reflect","undefined","CloudflareWorkersEnvAdaptor","onCloudflareWorkers","app","options","addFallbackConfig","readyOptions","warmup","resolver","ready","fetch","request","_env","ctx","response","waitUntil","then","shutdown"],"sources":["../src/cloudflare-workers-env.adaptor.ts","../src/on-cloudflare-workers.ts"],"sourcesContent":["import { env } from 'cloudflare:workers';\nimport { Config, EnvAdaptor } from '@zeltjs/core';\n\n@Config\nexport class CloudflareWorkersEnvAdaptor extends EnvAdaptor {\n override get(key: string): string | undefined {\n const value: unknown = Reflect.get(env, key);\n return typeof value === 'string' ? value : undefined;\n }\n}\n","import type { HttpApp, ReadyOptions, ReadyResult } from '@zeltjs/core';\n\nimport { CloudflareWorkersEnvAdaptor } from './cloudflare-workers-env.adaptor';\n\nexport type CloudflareWorkersOptions = {\n readonly warmup?: boolean;\n};\n\nexport type CloudflareWorkersApp = ReadyResult & {\n readonly fetch: (request: Request, env: unknown, ctx: ExecutionContext) => Promise<Response>;\n readonly shutdown: () => Promise<void>;\n};\n\nexport const onCloudflareWorkers = async (\n app: HttpApp,\n options: CloudflareWorkersOptions = {},\n): Promise<CloudflareWorkersApp> => {\n app.addFallbackConfig(CloudflareWorkersEnvAdaptor);\n\n const readyOptions: ReadyOptions = { warmup: options.warmup ?? false };\n const resolver = await app.ready(readyOptions);\n\n const fetch = async (\n request: Request,\n _env: unknown,\n ctx: ExecutionContext,\n ): Promise<Response> => {\n const response = app.fetch(request);\n ctx.waitUntil(response.then(() => {}));\n return response;\n };\n\n return { ...resolver, fetch, shutdown: app.shutdown };\n};\n"],"mappings":";;;;;;;;;AAIA,IAAaG,8BAAb,cAAiDD,WAAAA;CACtCE,IAAIC,KAAiC;EAC5C,MAAMC,QAAiBC,QAAQH,IAAIJ,KAAKK,IAAAA;AACxC,SAAO,OAAOC,UAAU,WAAWA,QAAQE,KAAAA;;;;;;ACM/C,MAAaE,sBAAsB,OACjCC,KACAC,UAAoC,EAAE,KAAA;AAEtCD,KAAIE,kBAAkBJ,4BAAAA;CAEtB,MAAMK,eAA6B,EAAEC,QAAQH,QAAQG,UAAU,OAAM;CACrE,MAAMC,WAAW,MAAML,IAAIM,MAAMH,aAAAA;CAEjC,MAAMI,QAAQ,OACZC,SACAC,MACAC,QAAAA;EAEA,MAAMC,WAAWX,IAAIO,MAAMC,QAAAA;AAC3BE,MAAIE,UAAUD,SAASE,WAAK,GAAO,CAAA;AACnC,SAAOF;;AAGT,QAAO;EAAE,GAAGN;EAAUE;EAAOO,UAAUd,IAAIc;EAAS"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeltjs/adapter-cloudflare-workers",
3
- "version": "0.6.1",
3
+ "version": "0.8.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -21,7 +21,7 @@
21
21
  "dist"
22
22
  ],
23
23
  "dependencies": {
24
- "@zeltjs/core": "0.6.1"
24
+ "@zeltjs/core": "0.8.0"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@cloudflare/workers-types": "4.20250523.0"