stratal 0.0.5 → 0.0.6

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
@@ -85,10 +85,9 @@ npx skills add strataljs/stratal
85
85
  Define a module with a controller and wire it up as a Cloudflare Worker:
86
86
 
87
87
  ```typescript
88
- import { type ApplicationConfig } from 'stratal'
88
+ import { Stratal } from 'stratal'
89
89
  import { Module } from 'stratal/module'
90
90
  import { Controller, Route, type RouterContext } from 'stratal/router'
91
- import { StratalWorker } from 'stratal/worker'
92
91
  import { z } from 'stratal/validation'
93
92
 
94
93
  // Define a controller
@@ -110,11 +109,7 @@ class GreetingsController {
110
109
  class AppModule {}
111
110
 
112
111
  // Worker entry point
113
- export default class Backend extends StratalWorker {
114
- protected configure(): ApplicationConfig {
115
- return { module: AppModule }
116
- }
117
- }
112
+ export default new Stratal({ module: AppModule })
118
113
  ```
119
114
 
120
115
  ## Contributing
@@ -12,6 +12,10 @@ export interface ApplicationConfig {
12
12
  formatter?: 'json' | 'pretty';
13
13
  };
14
14
  }
15
+ export interface ApplicationOptions extends ApplicationConfig {
16
+ env: StratalEnv;
17
+ ctx: ExecutionContext;
18
+ }
15
19
  /**
16
20
  * Application
17
21
  *
@@ -34,7 +38,7 @@ export interface ApplicationConfig {
34
38
  *
35
39
  * @example
36
40
  * ```typescript
37
- * const app = new Application(env, ctx, config)
41
+ * const app = new Application({ module: AppModule, env, ctx })
38
42
  * await app.initialize()
39
43
  *
40
44
  * // Access container via getter
@@ -46,9 +50,6 @@ export interface ApplicationConfig {
46
50
  * ```
47
51
  */
48
52
  export declare class Application {
49
- readonly env: StratalEnv;
50
- readonly ctx: ExecutionContext;
51
- private readonly appConfig;
52
53
  /**
53
54
  * Unified Container - manages all DI operations
54
55
  * Use app.container to access registration and resolution methods
@@ -58,7 +59,10 @@ export declare class Application {
58
59
  private consumerRegistry;
59
60
  private cronManager;
60
61
  private initialized;
61
- constructor(env: StratalEnv, ctx: ExecutionContext, appConfig: ApplicationConfig);
62
+ readonly env: StratalEnv;
63
+ readonly ctx: ExecutionContext;
64
+ private readonly appConfig;
65
+ constructor(options: ApplicationOptions);
62
66
  /**
63
67
  * Get the Container instance
64
68
  *
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAA;AAKvC,OAAO,EAAiE,QAAQ,EAAmB,MAAM,UAAU,CAAA;AAEnH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAMhE,OAAO,EAAkD,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AAG7F,MAAM,WAAW,iBAAiB;IAChC,8BAA8B;IAC9B,MAAM,EAAE,WAAW,GAAG,aAAa,CAAA;IACnC,oEAAoE;IACpE,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,QAAQ,CAAA;QAChB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAC9B,CAAA;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,WAAW;IAapB,QAAQ,CAAC,GAAG,EAAE,UAAU;IACxB,QAAQ,CAAC,GAAG,EAAE,gBAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAd5B;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAW;IAE7B,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAQ;gBAGhB,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,gBAAgB,EACb,SAAS,EAAE,iBAAiB;IAwB/C;;;;;;;OAOG;IACH,IAAI,SAAS,IAAI,SAAS,CAEzB;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCjC;;;;;OAKG;IACH,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;IAU5B;;;;;OAKG;IACG,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxE;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAerE;;;;;;;OAOG;IACH,uBAAuB,CAAC,MAAM,SAAO,GAAG,aAAa;IAQ/C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAK/B,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,gBAAgB;IAOxB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAoB7B;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;CAU7B"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAA;AAKvC,OAAO,EAAiE,QAAQ,EAAmB,MAAM,UAAU,CAAA;AAEnH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAMhE,OAAO,EAAkD,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AAG7F,MAAM,WAAW,iBAAiB;IAChC,8BAA8B;IAC9B,MAAM,EAAE,WAAW,GAAG,aAAa,CAAA;IACnC,oEAAoE;IACpE,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,QAAQ,CAAA;QAChB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAC9B,CAAA;CACF;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,GAAG,EAAE,UAAU,CAAA;IACf,GAAG,EAAE,gBAAgB,CAAA;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,WAAW;IACtB;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAW;IAE7B,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAQ;IAE3B,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAA;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;gBAEjC,OAAO,EAAE,kBAAkB;IA2BvC;;;;;;;OAOG;IACH,IAAI,SAAS,IAAI,SAAS,CAEzB;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCjC;;;;;OAKG;IACH,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;IAU5B;;;;;OAKG;IACG,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxE;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAerE;;;;;;;OAOG;IACH,uBAAuB,CAAC,MAAM,SAAO,GAAG,aAAa;IAQ/C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAK/B,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,gBAAgB;IAOxB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAoB7B;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;CAU7B"}
@@ -33,7 +33,7 @@ import { ROUTER_TOKENS, RouterService } from './router';
33
33
  *
34
34
  * @example
35
35
  * ```typescript
36
- * const app = new Application(env, ctx, config)
36
+ * const app = new Application({ module: AppModule, env, ctx })
37
37
  * await app.initialize()
38
38
  *
39
39
  * // Access container via getter
@@ -45,9 +45,6 @@ import { ROUTER_TOKENS, RouterService } from './router';
45
45
  * ```
46
46
  */
47
47
  export class Application {
48
- env;
49
- ctx;
50
- appConfig;
51
48
  /**
52
49
  * Unified Container - manages all DI operations
53
50
  * Use app.container to access registration and resolution methods
@@ -57,14 +54,17 @@ export class Application {
57
54
  consumerRegistry;
58
55
  cronManager;
59
56
  initialized = false;
60
- constructor(env, ctx, appConfig) {
61
- this.env = env;
62
- this.ctx = ctx;
63
- this.appConfig = appConfig;
57
+ env;
58
+ ctx;
59
+ appConfig;
60
+ constructor(options) {
61
+ this.env = options.env;
62
+ this.ctx = options.ctx;
63
+ this.appConfig = options;
64
64
  // Create unified Container with explicit child container
65
65
  this._container = new Container({
66
- env,
67
- ctx,
66
+ env: this.env,
67
+ ctx: this.ctx,
68
68
  container: tsyringeRootContainer.createChildContainer()
69
69
  });
70
70
  // Register Application instance
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './application';
2
2
  export * from './env';
3
3
  export * from './types';
4
+ export { Stratal } from './stratal';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './application';
2
2
  export * from './env';
3
3
  export * from './types';
4
+ export { Stratal } from './stratal';
4
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA"}
@@ -0,0 +1,48 @@
1
+ import 'reflect-metadata';
2
+ import { Application, type ApplicationConfig } from './application';
3
+ import type { StratalEnv } from './env';
4
+ /**
5
+ * Stratal — Hono-style entry point for Cloudflare Workers.
6
+ *
7
+ * Lazily initializes the Application on the first handler call and caches it
8
+ * for all subsequent invocations. A concurrent-init guard prevents double
9
+ * initialization from simultaneous requests.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * import { Stratal } from 'stratal'
14
+ * import { AppModule } from './app.module'
15
+ *
16
+ * export default new Stratal({ module: AppModule })
17
+ * ```
18
+ */
19
+ export declare class Stratal<Env extends StratalEnv = StratalEnv> {
20
+ private readonly config;
21
+ private app;
22
+ private initPromise;
23
+ constructor(config: ApplicationConfig);
24
+ /**
25
+ * Handle HTTP requests via RouterService.
26
+ */
27
+ fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response>;
28
+ /**
29
+ * Handle queue batches.
30
+ */
31
+ queue(batch: MessageBatch, env: Env, ctx: ExecutionContext): Promise<void>;
32
+ /**
33
+ * Handle scheduled cron triggers.
34
+ */
35
+ scheduled(controller: ScheduledController, env: Env, ctx: ExecutionContext): Promise<void>;
36
+ /**
37
+ * Get or lazily initialize the Application singleton.
38
+ * The first call's `env`/`ctx` are used for initialization;
39
+ * subsequent calls return the cached instance.
40
+ */
41
+ getApplication(env: Env, ctx: ExecutionContext): Promise<Application>;
42
+ /**
43
+ * Shut down the application and release all resources.
44
+ */
45
+ shutdown(): Promise<void>;
46
+ private initializeApp;
47
+ }
48
+ //# sourceMappingURL=stratal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stratal.d.ts","sourceRoot":"","sources":["../src/stratal.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAEzB,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGvC;;;;;;;;;;;;;;GAcG;AACH,qBAAa,OAAO,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAI1C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,GAAG,CAA2B;IACtC,OAAO,CAAC,WAAW,CAAoC;gBAE1B,MAAM,EAAE,iBAAiB;IAMtD;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAMjF;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhF;;OAEG;IACG,SAAS,CAAC,UAAU,EAAE,mBAAmB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhG;;;;OAIG;IACG,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAsB3E;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAOjB,aAAa;CAK5B"}
@@ -0,0 +1,90 @@
1
+ import 'reflect-metadata';
2
+ import { Application } from './application';
3
+ import { ROUTER_TOKENS } from './router';
4
+ /**
5
+ * Stratal — Hono-style entry point for Cloudflare Workers.
6
+ *
7
+ * Lazily initializes the Application on the first handler call and caches it
8
+ * for all subsequent invocations. A concurrent-init guard prevents double
9
+ * initialization from simultaneous requests.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * import { Stratal } from 'stratal'
14
+ * import { AppModule } from './app.module'
15
+ *
16
+ * export default new Stratal({ module: AppModule })
17
+ * ```
18
+ */
19
+ export class Stratal {
20
+ config;
21
+ app = null;
22
+ initPromise = null;
23
+ constructor(config) {
24
+ this.config = config;
25
+ this.fetch = this.fetch.bind(this);
26
+ this.queue = this.queue.bind(this);
27
+ this.scheduled = this.scheduled.bind(this);
28
+ }
29
+ /**
30
+ * Handle HTTP requests via RouterService.
31
+ */
32
+ async fetch(request, env, ctx) {
33
+ const app = await this.getApplication(env, ctx);
34
+ const router = app.resolve(ROUTER_TOKENS.RouterService);
35
+ return router.fetch(request, env, ctx);
36
+ }
37
+ /**
38
+ * Handle queue batches.
39
+ */
40
+ async queue(batch, env, ctx) {
41
+ const app = await this.getApplication(env, ctx);
42
+ return app.handleQueue(batch, batch.queue);
43
+ }
44
+ /**
45
+ * Handle scheduled cron triggers.
46
+ */
47
+ async scheduled(controller, env, ctx) {
48
+ const app = await this.getApplication(env, ctx);
49
+ return app.handleScheduled(controller);
50
+ }
51
+ /**
52
+ * Get or lazily initialize the Application singleton.
53
+ * The first call's `env`/`ctx` are used for initialization;
54
+ * subsequent calls return the cached instance.
55
+ */
56
+ async getApplication(env, ctx) {
57
+ // Fast path: already initialized
58
+ if (this.app) {
59
+ return this.app;
60
+ }
61
+ // Concurrent initialization guard
62
+ if (this.initPromise) {
63
+ return this.initPromise;
64
+ }
65
+ // Start initialization
66
+ this.initPromise = this.initializeApp(env, ctx);
67
+ try {
68
+ this.app = await this.initPromise;
69
+ return this.app;
70
+ }
71
+ finally {
72
+ this.initPromise = null;
73
+ }
74
+ }
75
+ /**
76
+ * Shut down the application and release all resources.
77
+ */
78
+ async shutdown() {
79
+ if (this.app) {
80
+ await this.app.shutdown();
81
+ this.app = null;
82
+ }
83
+ }
84
+ async initializeApp(env, ctx) {
85
+ const app = new Application({ ...this.config, env, ctx });
86
+ await app.initialize();
87
+ return app;
88
+ }
89
+ }
90
+ //# sourceMappingURL=stratal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stratal.js","sourceRoot":"","sources":["../src/stratal.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stratal",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "description": "A modular Cloudflare Workers framework with dependency injection, queue-based events, and type-safe configuration",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -27,7 +27,7 @@
27
27
  "typescript"
28
28
  ],
29
29
  "engines": {
30
- "node": ">=18.0.0"
30
+ "node": ">=22.0.0"
31
31
  },
32
32
  "publishConfig": {
33
33
  "access": "public",
@@ -83,7 +83,7 @@
83
83
  "@hono/zod-openapi": "^1.2.2",
84
84
  "@intlify/core-base": "^11.2.8",
85
85
  "@intlify/message-compiler": "^11.2.8",
86
- "@scalar/hono-api-reference": "^0.9.46",
86
+ "@scalar/hono-api-reference": "^0.10.0",
87
87
  "@xmldom/xmldom": "^0.8.11",
88
88
  "hono": "^4.12.3",
89
89
  "reflect-metadata": "^0.2.2",
@@ -131,13 +131,13 @@
131
131
  }
132
132
  },
133
133
  "devDependencies": {
134
- "@aws-sdk/client-s3": "3.1000.0",
134
+ "@aws-sdk/client-s3": "3.1003.0",
135
135
  "@aws-sdk/lib-storage": "^3.1000.0",
136
- "@aws-sdk/s3-request-presigner": "3.1000.0",
136
+ "@aws-sdk/s3-request-presigner": "3.1003.0",
137
137
  "@cloudflare/vitest-pool-workers": "^0.12.18",
138
- "@cloudflare/workers-types": "4.20260305.0",
138
+ "@cloudflare/workers-types": "4.20260306.1",
139
139
  "@react-email/components": "^1.0.8",
140
- "@stratal/testing": "0.0.5",
140
+ "@stratal/testing": "workspace:*",
141
141
  "@tus/server": "^2.3.0",
142
142
  "@types/node": "^25.3.2",
143
143
  "@types/nodemailer": "^7.0.11",
@@ -151,4 +151,4 @@
151
151
  "typescript": "^5.9.3",
152
152
  "vitest": "~3.2.0"
153
153
  }
154
- }
154
+ }
package/CHANGELOG.md DELETED
@@ -1,121 +0,0 @@
1
- # stratal
2
-
3
- ## 0.0.5
4
-
5
- ### Patch Changes
6
-
7
- - [#66](https://github.com/strataljs/stratal/pull/66) [`c8ea964`](https://github.com/strataljs/stratal/commit/c8ea964e272b09ebc6619843e77d2b51178f9423) Thanks [@adesege](https://github.com/adesege)! - Add type-safe events system with `@Listener` and `@On` decorators, `EventRegistry` for handler registration and emission, and automatic listener discovery from module providers during application bootstrap. Enhanced DI container with service decoration support.
8
-
9
- ## 0.0.4
10
-
11
- ### Patch Changes
12
-
13
- - **Lazy i18n context building** — `MessageLoaderService` now lazily builds and caches `CoreContext` per locale on first access instead of eagerly at startup, reducing initialization overhead.
14
- - **Pre-build i18n contexts at startup** — Moved `CoreContext` creation and message flattening from per-request `I18nService` to the singleton `MessageLoaderService`, eliminating repeated work on every `t()` call.
15
- - **Skip stack traces in production** — Added a static flag on `ApplicationError` to disable stack trace capture in production, where traces are stripped from responses anyway.
16
-
17
- - **Cross-realm metadata keys** — Migrated all internal metadata symbols from `Symbol()` to `Symbol.for()` with a `stratal:` prefix for reliable cross-realm identity in Cloudflare Workers.
18
- - **Benchmark configuration** — Added a benchmark section to the Vitest config and updated Wrangler compatibility flags for Node.js modules.
19
- - **i18n integration tests** — Added localization integratnning in the workerd pool.
20
-
21
- - **Consistent zod imports** — Updated zod imports across benchmark files to use the i18n validation module.
22
- - **Cleaner error handling** — `GlobalErrorHandler` now passes the translated message directly to the logger, avoiding double-translation.
23
-
24
- ## 0.0.3
25
-
26
- ### Patch Changes
27
-
28
- - - **Lazy i18n context building** — `MessageLoaderService` now lazily builds and caches `CoreContext` per locale on first access instead of eagerly at startup, reducing initialization overhead.
29
- - **Pre-build i18n contexts at startup** — Moved `CoreContext` creation and message flattening from per-request `I18nService` to the singleton `MessageLoaderService`, eliminating repeated work on every `t()` call.
30
- - **Skip stack traces in production** — Added a static flag on `ApplicationError` to disable stack trace capture in production, where traces are stripped from responses anyway.
31
-
32
- - **Cross-realm metadata keys** — Migrated all internal metadata symbols from `Symbol()` to `Symbol.for()` with a `stratal:` prefix for reliable cross-realm identity in Cloudflare Workers.
33
- - **Benchmark configuration** — Added a benchmark section to the Vitest config and updated Wrangler compatibility flags for Node.js modules.
34
- - **i18n integration tests** — Added localization integratnning in the workerd pool.
35
-
36
- - **Consistent zod imports** — Updated zod imports across benchmark files to use the i18n validation module.
37
- - **Cleaner error handling** — `GlobalErrorHandler` now passes the translated message directly to the logger, avoiding double-translation.
38
-
39
- ## 0.0.2
40
-
41
- ### Patch Changes
42
-
43
- #### `stratal` (core)
44
-
45
- ##### Breaking Changes
46
-
47
- - **`withRoot`/`withRootAsync` renamed to `forRoot`/`forRootAsync`** — All dynamic module configuration methods have been renamed for consistency. Update every `SomeModule.withRoot(...)` call to `SomeModule.forRoot(...)` and `SomeModule.withRootAsync(...)` to `SomeModule.forRootAsync(...)`. ([`152913a`](https://github.com/strataljs/stratal/commit/152913a))
48
-
49
- - **Barrel export removed — use sub-path imports** — The top-level `stratal` barrel export has been removed. Consumers must now import from sub-paths (`stratal/di`, `stratal/router`, `stratal/cache`, `stratal/validation`, etc.). ([`af073d8`](https://github.com/strataljs/stratal/commit/af073d8))
50
-
51
- ##### Features
52
-
53
- - **DOM polyfill for Cloudflare Workers** — Added a DOM polyfill to support AWS SDK v3 XML parsing in Cloudflare Workers environments. ([`f3b2cb9`](https://github.com/strataljs/stratal/commit/f3b2cb9))
54
-
55
- - **Benchmark suite** — Added benchmark functionality for measuring framework performa30438`](https://github.com/strataljs/stratal/commit/7230438))
56
-
57
- ##### Security
58
-
59
- - **ConfigService blocks prototype pollution** — `ConfigService` now rejects dangerous keys (`__proto__`, `constructor`, `prototype`) to prevent prototype pollution attacks. ([`567139c`](https://github.com/strataljs/stratal/commit/567139c), [`e64b4e7`](https://github.com/strataljs/stratal/commit/e64b4e7))
60
-
61
- ##### Bug Fixes
62
-
63
- - **`reflect-metadata` import moved to vitest setup** — Removed unused `reflect-metadata` imports from example files and centralized the import in `vitest.setup.ts`. ([`f3b2cb9`](https://github.com/strataljs/stratal/commit/f3b2cb9))
64
-
65
- ---
66
-
67
- #### `@stratal/testing`
68
-
69
- ##### Breaking Changes
70
-
71
- - **Import paths updated** — Import paths updated to match the new core sub-path exports (e.g. `stratal/di` instead of the barrel `stratal`). ([`af073d8`](https://github.com/strataljs/stratal/commit/af073d8))
72
-
73
- - Updated dependencies []:
74
- - stratal@0.0.2
75
-
76
- ## 0.0.1
77
-
78
- ### Patch Changes
79
-
80
- - Initial release of the Stratal framework — a modular Cloudflare Workers framework built on Hono and tsyringe.
81
-
82
- **Core Infrastructure**
83
-
84
- - NestJS-style module system with `@Module()` decorator, dynamic modules (`withRoot`, `withRootAsync`), and lifecycle hooks (`OnInitialize`, `OnShutdown`)
85
- - Two-tier dependency injection container (global singletons + request-scoped) powered by tsyringe with conditional registration and service decoration
86
- - `StratalWorker` entry point extending Cloudflare's `WorkerEntrypoint` for HTTP fetch, queue batches, and scheduled cron triggers
87
-
88
- **Routing & API**
89
-
90
- - Hono-based routing with `@Controller()` and `@Route()` decorators, automatic controller discovery, and route guards via `@UseGuards()`
91
- - OpenAPI schema generation with `@hono/zod-openapi` and Scalar API reference integration
92
- - NestJS-like middleware configuration with route-specific application and exclusion
93
-
94
- **Background Processing**
95
-
96
- - Queue consumerfor Cloudflare Queues with `@Consumer()` and `@QueueJob()` decorators and batch processing
97
- - Cron job scheduling via `CronManager` integrated with Cloudflare's scheduled events
98
-
99
- **Services & Integrations**
100
-
101
- - Email module with pluggable providers (Nodemailer, Resend) and queue-based sending
102
- - Storage module with AWS S3 / Cloudflare R2 support, multipart uploads, presigned URLs, and TUS resumable uploads
103
- - Internationalization (i18n) module with locale detection, message compilation, and request-scoped translations
104
- - Cache module with pluggable providers and Cloudflare KV integration
105
- - Configuration module with `registerAs()` namespaces and Zod-based validation
106
- - Structured logging with JSON and pretty formatters
107
-
108
- **Developer Experience**
109
-
110
- - Zod-powered request/response validation with type inference
111
- - Custom `ApplicationError` class with HTTP status mapping
112
- - ESM-only with full TypeScript decorator support (`emitDecoratorMetadata`)
113
- - Sub-path exports for tree-shakeable imports (`stratal/di`, `stratal/router`, `stratal/cache`, etc.)
114
-
115
- - `TestingModule` and `TestingModuleBuilder` for bootstrapping isolated module environments in tests
116
- - `TestHttpClient` with request builder and response wrapper for integration testing
117
- - `FetchMock` for mocking HTTP fetch calls
118
- - `FakeStorageService` for in-memory storage testing without S3/R2
119
- - `ProviderOverrideBuilder` for replacing providers with test doubles
120
- - Nodemailer mock for email testing
121
- - Test environment utilities via `getTestEnv()`
@@ -1,2 +0,0 @@
1
- export { StratalWorker } from './stratal-worker';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA"}
@@ -1,2 +0,0 @@
1
- export { StratalWorker } from './stratal-worker';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA"}
@@ -1,49 +0,0 @@
1
- import 'reflect-metadata';
2
- import { WorkerEntrypoint } from 'cloudflare:workers';
3
- import { Application, type ApplicationConfig } from '../application';
4
- import type { StratalEnv } from '../env';
5
- /**
6
- * Base class for Cloudflare Workers using the modules framework.
7
- * Handles Application singleton management and provides default handlers.
8
- *
9
- * @example
10
- * ```typescript
11
- * export default class Backend extends StratalWorker<Cloudflare.Env> {
12
- * protected configure() {
13
- * return {
14
- * module: AppModule,
15
- * logging: { level: LogLevel.INFO },
16
- * }
17
- * }
18
- * }
19
- * ```
20
- */
21
- export declare abstract class StratalWorker<Env extends StratalEnv = StratalEnv> extends WorkerEntrypoint<Env> {
22
- /**
23
- * Configure the Application.
24
- * Access `this.env` and `this.ctx` for environment-dependent config.
25
- */
26
- protected abstract configure(): ApplicationConfig;
27
- /**
28
- * Get or initialize the Application singleton.
29
- * Handles concurrent initialization guards automatically.
30
- */
31
- protected getApp(): Promise<Application>;
32
- private initializeApp;
33
- /**
34
- * Handle HTTP requests via RouterService.
35
- * Override for custom request handling.
36
- */
37
- fetch(request: Request): Promise<Response>;
38
- /**
39
- * Handle queue batches.
40
- * Override for custom queue handling.
41
- */
42
- queue(batch: MessageBatch): Promise<void>;
43
- /**
44
- * Handle scheduled cron triggers.
45
- * Override for custom scheduled handling.
46
- */
47
- scheduled(controller: ScheduledController): Promise<void>;
48
- }
49
- //# sourceMappingURL=stratal-worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stratal-worker.d.ts","sourceRoot":"","sources":["../../src/worker/stratal-worker.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAEzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAaxC;;;;;;;;;;;;;;;GAeG;AACH,8BAAsB,aAAa,CAClC,GAAG,SAAS,UAAU,GAAG,UAAU,CAClC,SAAQ,gBAAgB,CAAC,GAAG,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,iBAAiB;IAEjD;;;OAGG;cACa,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC;YA8BhC,aAAa;IAO3B;;;OAGG;IACG,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAMhD;;;OAGG;IACG,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C;;;OAGG;IACG,SAAS,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAI/D"}
@@ -1,89 +0,0 @@
1
- import 'reflect-metadata';
2
- import { WorkerEntrypoint } from 'cloudflare:workers';
3
- import { Application } from '../application';
4
- import { ROUTER_TOKENS } from '../router';
5
- /**
6
- * Per-class singleton registry
7
- * Key: Worker class constructor
8
- * Value: { app, promise } for singleton + concurrent init guard
9
- */
10
- const registry = new Map();
11
- /**
12
- * Base class for Cloudflare Workers using the modules framework.
13
- * Handles Application singleton management and provides default handlers.
14
- *
15
- * @example
16
- * ```typescript
17
- * export default class Backend extends StratalWorker<Cloudflare.Env> {
18
- * protected configure() {
19
- * return {
20
- * module: AppModule,
21
- * logging: { level: LogLevel.INFO },
22
- * }
23
- * }
24
- * }
25
- * ```
26
- */
27
- export class StratalWorker extends WorkerEntrypoint {
28
- /**
29
- * Get or initialize the Application singleton.
30
- * Handles concurrent initialization guards automatically.
31
- */
32
- async getApp() {
33
- const key = this.constructor;
34
- let state = registry.get(key);
35
- if (!state) {
36
- state = { app: null, promise: null };
37
- registry.set(key, state);
38
- }
39
- // Fast path: already initialized
40
- if (state.app) {
41
- return state.app;
42
- }
43
- // Concurrent initialization guard
44
- if (state.promise) {
45
- return state.promise;
46
- }
47
- // Start initialization
48
- state.promise = this.initializeApp();
49
- try {
50
- state.app = await state.promise;
51
- return state.app;
52
- }
53
- finally {
54
- state.promise = null;
55
- }
56
- }
57
- async initializeApp() {
58
- const config = this.configure();
59
- const app = new Application(this.env, this.ctx, config);
60
- await app.initialize();
61
- return app;
62
- }
63
- /**
64
- * Handle HTTP requests via RouterService.
65
- * Override for custom request handling.
66
- */
67
- async fetch(request) {
68
- const app = await this.getApp();
69
- const router = app.resolve(ROUTER_TOKENS.RouterService);
70
- return router.fetch(request, this.env, this.ctx);
71
- }
72
- /**
73
- * Handle queue batches.
74
- * Override for custom queue handling.
75
- */
76
- async queue(batch) {
77
- const app = await this.getApp();
78
- return app.handleQueue(batch, batch.queue);
79
- }
80
- /**
81
- * Handle scheduled cron triggers.
82
- * Override for custom scheduled handling.
83
- */
84
- async scheduled(controller) {
85
- const app = await this.getApp();
86
- return app.handleScheduled(controller);
87
- }
88
- }
89
- //# sourceMappingURL=stratal-worker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stratal-worker.js","sourceRoot":"","sources":["../../src/worker/stratal-worker.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAEzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,WAAW,EAA0B,MAAM,gBAAgB,CAAA;AAEpE,OAAO,EAAE,aAAa,EAAsB,MAAM,WAAW,CAAA;AAE7D;;;;GAIG;AACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAGrB,CAAA;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAgB,aAEpB,SAAQ,gBAAqB;IAO9B;;;OAGG;IACO,KAAK,CAAC,MAAM;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAA;QAC5B,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAE7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;YACpC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACzB,CAAC;QAED,iCAAiC;QACjC,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACf,OAAO,KAAK,CAAC,GAAG,CAAA;QACjB,CAAC;QAED,kCAAkC;QAClC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC,OAAO,CAAA;QACrB,CAAC;QAED,uBAAuB;QACvB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAEpC,IAAI,CAAC;YACJ,KAAK,CAAC,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAA;YAC/B,OAAO,KAAK,CAAC,GAAG,CAAA;QACjB,CAAC;gBAAS,CAAC;YACV,KAAK,CAAC,OAAO,GAAG,IAAI,CAAA;QACrB,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,aAAa;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC/B,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACvD,MAAM,GAAG,CAAC,UAAU,EAAE,CAAA;QACtB,OAAO,GAAG,CAAA;IACX,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,OAAgB;QAC3B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;QAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAgB,aAAa,CAAC,aAAa,CAAC,CAAA;QACtE,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACjD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,KAAmB;QAC9B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;QAC/B,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,UAA+B;QAC9C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;QAC/B,OAAO,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;IACvC,CAAC;CACD"}