@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 +5 -6
- package/dist/index.d.ts +5 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -16
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -46,25 +46,24 @@ onCloudflareWorkers(app, {
|
|
|
46
46
|
|
|
47
47
|
## Environment Variables
|
|
48
48
|
|
|
49
|
-
|
|
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,
|
|
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(
|
|
57
|
+
constructor(private env = inject(Env)) {}
|
|
58
58
|
|
|
59
59
|
@Get('/')
|
|
60
60
|
getApiHost() {
|
|
61
|
-
return { apiHost: this.env.
|
|
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 {
|
|
1
|
+
import { EnvAdaptor, HttpApp, ReadyResult } from "@zeltjs/core";
|
|
2
2
|
|
|
3
|
-
//#region src/cloudflare-workers-env.
|
|
4
|
-
declare class
|
|
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
|
|
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,
|
|
18
|
+
export { type CloudflareWorkersApp, CloudflareWorkersEnvAdaptor, type CloudflareWorkersOptions, onCloudflareWorkers };
|
|
24
19
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/cloudflare-workers-env.
|
|
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,
|
|
3
|
-
//#region src/cloudflare-workers-env.
|
|
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
|
|
10
|
+
var CloudflareWorkersEnvAdaptor = class extends EnvAdaptor {
|
|
11
11
|
get(key) {
|
|
12
|
-
const value = env
|
|
12
|
+
const value = Reflect.get(env, key);
|
|
13
13
|
return typeof value === "string" ? value : void 0;
|
|
14
14
|
}
|
|
15
15
|
};
|
|
16
|
-
|
|
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(
|
|
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
|
-
|
|
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 {
|
|
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","
|
|
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.
|
|
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.
|
|
24
|
+
"@zeltjs/core": "0.8.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@cloudflare/workers-types": "4.20250523.0"
|