@getstrata/bootstrap 2.0.1 → 2.0.3
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/CHANGELOG.md +10 -0
- package/dist/bootstrap/httpKernel.d.ts +1 -1
- package/dist/entries/buildModuleRoutes.js +9 -8
- package/dist/entries/buildWebModuleRoutes.js +10 -9
- package/dist/entries/createWebRoutes.js +10 -9
- package/dist/entries/httpKernel.js +8 -2
- package/dist/entries/web/routing.js +8 -2
- package/dist/index.js +10 -9
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @getstrata/bootstrap changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.3
|
|
4
|
+
|
|
5
|
+
- Persist transactional events with leased tenant-aware SQL outbox workers
|
|
6
|
+
|
|
7
|
+
## 2.0.2
|
|
8
|
+
|
|
9
|
+
- Adopt TypeScript 7.0.2 in framework and generated apps; preserve tested TypeScript 5.9 and 6.x consumer compatibility.
|
|
10
|
+
- Verify six generated app configurations against three compiler versions and typecheck/build React SPA and hybrid frontends.
|
|
11
|
+
- Declare Bun-supported CSS imports in the SPA scaffold for TypeScript 7.
|
|
12
|
+
|
|
3
13
|
## 2.0.1
|
|
4
14
|
|
|
5
15
|
- Fix release lockfile drift and CLI 2.x peer compatibility
|
|
@@ -7,7 +7,7 @@ type WebGuestHome = string | ((user: AuthUser) => string | Promise<string>);
|
|
|
7
7
|
declare class HttpKernel {
|
|
8
8
|
private readonly dependencies;
|
|
9
9
|
constructor(dependencies: AppDependencies);
|
|
10
|
-
globalMiddleware(): Middleware[];
|
|
10
|
+
globalMiddleware(errorFormat?: "json" | "web"): Middleware[];
|
|
11
11
|
group(name: MiddlewareGroupName): Middleware[];
|
|
12
12
|
wrap(groups: MiddlewareGroupName | MiddlewareGroupName[], handler: RouteHandler): RouteHandler;
|
|
13
13
|
wrapApi(handler: RouteHandler): RouteHandler;
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
// ../../src/bootstrap/buildModuleRoutes.ts
|
|
3
3
|
import { conditionalJsonResponse } from "@getstrata/core/http/conditionalResponse";
|
|
4
4
|
import { applyMiddlewareToRoutes } from "@getstrata/core/http/middleware";
|
|
5
|
-
import { createJsonErrorMiddleware } from "@getstrata/core/http/response";
|
|
6
5
|
|
|
7
6
|
// ../../src/bootstrap/httpKernel.ts
|
|
8
7
|
import {
|
|
@@ -27,7 +26,12 @@ import { createRequireGlobalAdminMiddleware } from "@getstrata/core/http/require
|
|
|
27
26
|
import { createRequirePasswordConfirmMiddleware } from "@getstrata/core/http/requirePasswordConfirmMiddleware";
|
|
28
27
|
import { createRequireVerifiedMiddleware } from "@getstrata/core/http/requireVerifiedMiddleware";
|
|
29
28
|
import { createRequireWebAuthMiddleware } from "@getstrata/core/http/requireWebAuthMiddleware";
|
|
30
|
-
import {
|
|
29
|
+
import {
|
|
30
|
+
createJsonErrorMiddleware,
|
|
31
|
+
createWebErrorMiddleware,
|
|
32
|
+
withErrorHandling,
|
|
33
|
+
withJsonErrorHandling
|
|
34
|
+
} from "@getstrata/core/http/response";
|
|
31
35
|
import { withMiddleware } from "@getstrata/core/http/routeMiddleware";
|
|
32
36
|
import { createSecurityHeadersMiddleware } from "@getstrata/core/http/securityHeadersMiddleware";
|
|
33
37
|
import { createValidateSignatureMiddleware } from "@getstrata/core/http/signedUrl";
|
|
@@ -116,7 +120,7 @@ class HttpKernel {
|
|
|
116
120
|
constructor(dependencies) {
|
|
117
121
|
this.dependencies = dependencies;
|
|
118
122
|
}
|
|
119
|
-
globalMiddleware() {
|
|
123
|
+
globalMiddleware(errorFormat = "json") {
|
|
120
124
|
const auth = this.dependencies.container.resolve(CORE_AUTH_TOKEN);
|
|
121
125
|
return [
|
|
122
126
|
createCorsMiddleware(),
|
|
@@ -126,6 +130,7 @@ class HttpKernel {
|
|
|
126
130
|
createMetricsMiddleware(),
|
|
127
131
|
createRequestLoggingMiddleware(),
|
|
128
132
|
requestIdMiddleware,
|
|
133
|
+
errorFormat === "json" ? createJsonErrorMiddleware() : createWebErrorMiddleware(),
|
|
129
134
|
createAuthMiddleware(auth),
|
|
130
135
|
createMembershipMiddleware(),
|
|
131
136
|
createTenantMiddleware()
|
|
@@ -454,11 +459,7 @@ function buildModuleRoutes(dependencies, options = {}) {
|
|
|
454
459
|
routeRegistry.clear();
|
|
455
460
|
}
|
|
456
461
|
const kernel = createHttpKernel(dependencies);
|
|
457
|
-
const middleware = [
|
|
458
|
-
...kernel.globalMiddleware(),
|
|
459
|
-
createJsonErrorMiddleware(),
|
|
460
|
-
...kernel.group("api")
|
|
461
|
-
];
|
|
462
|
+
const middleware = [...kernel.globalMiddleware(), ...kernel.group("api")];
|
|
462
463
|
const cachedJson = createCachedJson(dependencies);
|
|
463
464
|
const moduleRoutes = {};
|
|
464
465
|
for (const module of modules) {
|
|
@@ -5,7 +5,6 @@ import { applyMiddlewareToRoutes as applyMiddlewareToRoutes2 } from "@getstrata/
|
|
|
5
5
|
// ../../src/bootstrap/buildModuleRoutes.ts
|
|
6
6
|
import { conditionalJsonResponse } from "@getstrata/core/http/conditionalResponse";
|
|
7
7
|
import { applyMiddlewareToRoutes } from "@getstrata/core/http/middleware";
|
|
8
|
-
import { createJsonErrorMiddleware } from "@getstrata/core/http/response";
|
|
9
8
|
|
|
10
9
|
// ../../src/bootstrap/httpKernel.ts
|
|
11
10
|
import {
|
|
@@ -30,7 +29,12 @@ import { createRequireGlobalAdminMiddleware } from "@getstrata/core/http/require
|
|
|
30
29
|
import { createRequirePasswordConfirmMiddleware } from "@getstrata/core/http/requirePasswordConfirmMiddleware";
|
|
31
30
|
import { createRequireVerifiedMiddleware } from "@getstrata/core/http/requireVerifiedMiddleware";
|
|
32
31
|
import { createRequireWebAuthMiddleware } from "@getstrata/core/http/requireWebAuthMiddleware";
|
|
33
|
-
import {
|
|
32
|
+
import {
|
|
33
|
+
createJsonErrorMiddleware,
|
|
34
|
+
createWebErrorMiddleware,
|
|
35
|
+
withErrorHandling,
|
|
36
|
+
withJsonErrorHandling
|
|
37
|
+
} from "@getstrata/core/http/response";
|
|
34
38
|
import { withMiddleware } from "@getstrata/core/http/routeMiddleware";
|
|
35
39
|
import { createSecurityHeadersMiddleware } from "@getstrata/core/http/securityHeadersMiddleware";
|
|
36
40
|
import { createValidateSignatureMiddleware } from "@getstrata/core/http/signedUrl";
|
|
@@ -119,7 +123,7 @@ class HttpKernel {
|
|
|
119
123
|
constructor(dependencies) {
|
|
120
124
|
this.dependencies = dependencies;
|
|
121
125
|
}
|
|
122
|
-
globalMiddleware() {
|
|
126
|
+
globalMiddleware(errorFormat = "json") {
|
|
123
127
|
const auth = this.dependencies.container.resolve(CORE_AUTH_TOKEN);
|
|
124
128
|
return [
|
|
125
129
|
createCorsMiddleware(),
|
|
@@ -129,6 +133,7 @@ class HttpKernel {
|
|
|
129
133
|
createMetricsMiddleware(),
|
|
130
134
|
createRequestLoggingMiddleware(),
|
|
131
135
|
requestIdMiddleware,
|
|
136
|
+
errorFormat === "json" ? createJsonErrorMiddleware() : createWebErrorMiddleware(),
|
|
132
137
|
createAuthMiddleware(auth),
|
|
133
138
|
createMembershipMiddleware(),
|
|
134
139
|
createTenantMiddleware()
|
|
@@ -457,11 +462,7 @@ function buildModuleRoutes(dependencies, options = {}) {
|
|
|
457
462
|
routeRegistry.clear();
|
|
458
463
|
}
|
|
459
464
|
const kernel = createHttpKernel(dependencies);
|
|
460
|
-
const middleware = [
|
|
461
|
-
...kernel.globalMiddleware(),
|
|
462
|
-
createJsonErrorMiddleware(),
|
|
463
|
-
...kernel.group("api")
|
|
464
|
-
];
|
|
465
|
+
const middleware = [...kernel.globalMiddleware(), ...kernel.group("api")];
|
|
465
466
|
const cachedJson = createCachedJson(dependencies);
|
|
466
467
|
const moduleRoutes = {};
|
|
467
468
|
for (const module of modules) {
|
|
@@ -481,7 +482,7 @@ function buildWebModuleRoutes(dependencies, options = {}) {
|
|
|
481
482
|
routeRegistry.clear();
|
|
482
483
|
}
|
|
483
484
|
const kernel = createHttpKernel(dependencies);
|
|
484
|
-
const middleware = kernel.globalMiddleware();
|
|
485
|
+
const middleware = kernel.globalMiddleware("web");
|
|
485
486
|
const moduleRoutes = { ...seedRoutes };
|
|
486
487
|
for (const module of modules) {
|
|
487
488
|
if (!module.webRoutes) {
|
|
@@ -11,7 +11,6 @@ import { applyMiddlewareToRoutes as applyMiddlewareToRoutes2 } from "@getstrata/
|
|
|
11
11
|
// ../../src/bootstrap/buildModuleRoutes.ts
|
|
12
12
|
import { conditionalJsonResponse } from "@getstrata/core/http/conditionalResponse";
|
|
13
13
|
import { applyMiddlewareToRoutes } from "@getstrata/core/http/middleware";
|
|
14
|
-
import { createJsonErrorMiddleware } from "@getstrata/core/http/response";
|
|
15
14
|
|
|
16
15
|
// ../../src/bootstrap/httpKernel.ts
|
|
17
16
|
import {
|
|
@@ -36,7 +35,12 @@ import { createRequireGlobalAdminMiddleware } from "@getstrata/core/http/require
|
|
|
36
35
|
import { createRequirePasswordConfirmMiddleware } from "@getstrata/core/http/requirePasswordConfirmMiddleware";
|
|
37
36
|
import { createRequireVerifiedMiddleware } from "@getstrata/core/http/requireVerifiedMiddleware";
|
|
38
37
|
import { createRequireWebAuthMiddleware } from "@getstrata/core/http/requireWebAuthMiddleware";
|
|
39
|
-
import {
|
|
38
|
+
import {
|
|
39
|
+
createJsonErrorMiddleware,
|
|
40
|
+
createWebErrorMiddleware,
|
|
41
|
+
withErrorHandling,
|
|
42
|
+
withJsonErrorHandling
|
|
43
|
+
} from "@getstrata/core/http/response";
|
|
40
44
|
import { withMiddleware } from "@getstrata/core/http/routeMiddleware";
|
|
41
45
|
import { createSecurityHeadersMiddleware } from "@getstrata/core/http/securityHeadersMiddleware";
|
|
42
46
|
import { createValidateSignatureMiddleware } from "@getstrata/core/http/signedUrl";
|
|
@@ -125,7 +129,7 @@ class HttpKernel {
|
|
|
125
129
|
constructor(dependencies) {
|
|
126
130
|
this.dependencies = dependencies;
|
|
127
131
|
}
|
|
128
|
-
globalMiddleware() {
|
|
132
|
+
globalMiddleware(errorFormat = "json") {
|
|
129
133
|
const auth = this.dependencies.container.resolve(CORE_AUTH_TOKEN);
|
|
130
134
|
return [
|
|
131
135
|
createCorsMiddleware(),
|
|
@@ -135,6 +139,7 @@ class HttpKernel {
|
|
|
135
139
|
createMetricsMiddleware(),
|
|
136
140
|
createRequestLoggingMiddleware(),
|
|
137
141
|
requestIdMiddleware,
|
|
142
|
+
errorFormat === "json" ? createJsonErrorMiddleware() : createWebErrorMiddleware(),
|
|
138
143
|
createAuthMiddleware(auth),
|
|
139
144
|
createMembershipMiddleware(),
|
|
140
145
|
createTenantMiddleware()
|
|
@@ -463,11 +468,7 @@ function buildModuleRoutes(dependencies, options = {}) {
|
|
|
463
468
|
routeRegistry.clear();
|
|
464
469
|
}
|
|
465
470
|
const kernel = createHttpKernel(dependencies);
|
|
466
|
-
const middleware = [
|
|
467
|
-
...kernel.globalMiddleware(),
|
|
468
|
-
createJsonErrorMiddleware(),
|
|
469
|
-
...kernel.group("api")
|
|
470
|
-
];
|
|
471
|
+
const middleware = [...kernel.globalMiddleware(), ...kernel.group("api")];
|
|
471
472
|
const cachedJson = createCachedJson(dependencies);
|
|
472
473
|
const moduleRoutes = {};
|
|
473
474
|
for (const module of modules) {
|
|
@@ -487,7 +488,7 @@ function buildWebModuleRoutes(dependencies, options = {}) {
|
|
|
487
488
|
routeRegistry.clear();
|
|
488
489
|
}
|
|
489
490
|
const kernel = createHttpKernel(dependencies);
|
|
490
|
-
const middleware = kernel.globalMiddleware();
|
|
491
|
+
const middleware = kernel.globalMiddleware("web");
|
|
491
492
|
const moduleRoutes = { ...seedRoutes };
|
|
492
493
|
for (const module of modules) {
|
|
493
494
|
if (!module.webRoutes) {
|
|
@@ -22,7 +22,12 @@ import { createRequireGlobalAdminMiddleware } from "@getstrata/core/http/require
|
|
|
22
22
|
import { createRequirePasswordConfirmMiddleware } from "@getstrata/core/http/requirePasswordConfirmMiddleware";
|
|
23
23
|
import { createRequireVerifiedMiddleware } from "@getstrata/core/http/requireVerifiedMiddleware";
|
|
24
24
|
import { createRequireWebAuthMiddleware } from "@getstrata/core/http/requireWebAuthMiddleware";
|
|
25
|
-
import {
|
|
25
|
+
import {
|
|
26
|
+
createJsonErrorMiddleware,
|
|
27
|
+
createWebErrorMiddleware,
|
|
28
|
+
withErrorHandling,
|
|
29
|
+
withJsonErrorHandling
|
|
30
|
+
} from "@getstrata/core/http/response";
|
|
26
31
|
import { withMiddleware } from "@getstrata/core/http/routeMiddleware";
|
|
27
32
|
import { createSecurityHeadersMiddleware } from "@getstrata/core/http/securityHeadersMiddleware";
|
|
28
33
|
import { createValidateSignatureMiddleware } from "@getstrata/core/http/signedUrl";
|
|
@@ -111,7 +116,7 @@ class HttpKernel {
|
|
|
111
116
|
constructor(dependencies) {
|
|
112
117
|
this.dependencies = dependencies;
|
|
113
118
|
}
|
|
114
|
-
globalMiddleware() {
|
|
119
|
+
globalMiddleware(errorFormat = "json") {
|
|
115
120
|
const auth = this.dependencies.container.resolve(CORE_AUTH_TOKEN);
|
|
116
121
|
return [
|
|
117
122
|
createCorsMiddleware(),
|
|
@@ -121,6 +126,7 @@ class HttpKernel {
|
|
|
121
126
|
createMetricsMiddleware(),
|
|
122
127
|
createRequestLoggingMiddleware(),
|
|
123
128
|
requestIdMiddleware,
|
|
129
|
+
errorFormat === "json" ? createJsonErrorMiddleware() : createWebErrorMiddleware(),
|
|
124
130
|
createAuthMiddleware(auth),
|
|
125
131
|
createMembershipMiddleware(),
|
|
126
132
|
createTenantMiddleware()
|
|
@@ -32,7 +32,12 @@ import { createRequireGlobalAdminMiddleware } from "@getstrata/core/http/require
|
|
|
32
32
|
import { createRequirePasswordConfirmMiddleware } from "@getstrata/core/http/requirePasswordConfirmMiddleware";
|
|
33
33
|
import { createRequireVerifiedMiddleware } from "@getstrata/core/http/requireVerifiedMiddleware";
|
|
34
34
|
import { createRequireWebAuthMiddleware } from "@getstrata/core/http/requireWebAuthMiddleware";
|
|
35
|
-
import {
|
|
35
|
+
import {
|
|
36
|
+
createJsonErrorMiddleware,
|
|
37
|
+
createWebErrorMiddleware,
|
|
38
|
+
withErrorHandling,
|
|
39
|
+
withJsonErrorHandling
|
|
40
|
+
} from "@getstrata/core/http/response";
|
|
36
41
|
import { withMiddleware } from "@getstrata/core/http/routeMiddleware";
|
|
37
42
|
import { createSecurityHeadersMiddleware } from "@getstrata/core/http/securityHeadersMiddleware";
|
|
38
43
|
import { createValidateSignatureMiddleware } from "@getstrata/core/http/signedUrl";
|
|
@@ -121,7 +126,7 @@ class HttpKernel {
|
|
|
121
126
|
constructor(dependencies) {
|
|
122
127
|
this.dependencies = dependencies;
|
|
123
128
|
}
|
|
124
|
-
globalMiddleware() {
|
|
129
|
+
globalMiddleware(errorFormat = "json") {
|
|
125
130
|
const auth = this.dependencies.container.resolve(CORE_AUTH_TOKEN);
|
|
126
131
|
return [
|
|
127
132
|
createCorsMiddleware(),
|
|
@@ -131,6 +136,7 @@ class HttpKernel {
|
|
|
131
136
|
createMetricsMiddleware(),
|
|
132
137
|
createRequestLoggingMiddleware(),
|
|
133
138
|
requestIdMiddleware,
|
|
139
|
+
errorFormat === "json" ? createJsonErrorMiddleware() : createWebErrorMiddleware(),
|
|
134
140
|
createAuthMiddleware(auth),
|
|
135
141
|
createMembershipMiddleware(),
|
|
136
142
|
createTenantMiddleware()
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,6 @@ import {
|
|
|
17
17
|
// ../../src/bootstrap/buildModuleRoutes.ts
|
|
18
18
|
import { conditionalJsonResponse } from "@getstrata/core/http/conditionalResponse";
|
|
19
19
|
import { applyMiddlewareToRoutes } from "@getstrata/core/http/middleware";
|
|
20
|
-
import { createJsonErrorMiddleware } from "@getstrata/core/http/response";
|
|
21
20
|
|
|
22
21
|
// ../../src/bootstrap/httpKernel.ts
|
|
23
22
|
import {
|
|
@@ -42,7 +41,12 @@ import { createRequireGlobalAdminMiddleware } from "@getstrata/core/http/require
|
|
|
42
41
|
import { createRequirePasswordConfirmMiddleware } from "@getstrata/core/http/requirePasswordConfirmMiddleware";
|
|
43
42
|
import { createRequireVerifiedMiddleware } from "@getstrata/core/http/requireVerifiedMiddleware";
|
|
44
43
|
import { createRequireWebAuthMiddleware } from "@getstrata/core/http/requireWebAuthMiddleware";
|
|
45
|
-
import {
|
|
44
|
+
import {
|
|
45
|
+
createJsonErrorMiddleware,
|
|
46
|
+
createWebErrorMiddleware,
|
|
47
|
+
withErrorHandling,
|
|
48
|
+
withJsonErrorHandling
|
|
49
|
+
} from "@getstrata/core/http/response";
|
|
46
50
|
import { withMiddleware } from "@getstrata/core/http/routeMiddleware";
|
|
47
51
|
import { createSecurityHeadersMiddleware } from "@getstrata/core/http/securityHeadersMiddleware";
|
|
48
52
|
import { createValidateSignatureMiddleware } from "@getstrata/core/http/signedUrl";
|
|
@@ -130,7 +134,7 @@ class HttpKernel {
|
|
|
130
134
|
constructor(dependencies) {
|
|
131
135
|
this.dependencies = dependencies;
|
|
132
136
|
}
|
|
133
|
-
globalMiddleware() {
|
|
137
|
+
globalMiddleware(errorFormat = "json") {
|
|
134
138
|
const auth = this.dependencies.container.resolve(CORE_AUTH_TOKEN);
|
|
135
139
|
return [
|
|
136
140
|
createCorsMiddleware(),
|
|
@@ -140,6 +144,7 @@ class HttpKernel {
|
|
|
140
144
|
createMetricsMiddleware(),
|
|
141
145
|
createRequestLoggingMiddleware(),
|
|
142
146
|
requestIdMiddleware,
|
|
147
|
+
errorFormat === "json" ? createJsonErrorMiddleware() : createWebErrorMiddleware(),
|
|
143
148
|
createAuthMiddleware(auth),
|
|
144
149
|
createMembershipMiddleware(),
|
|
145
150
|
createTenantMiddleware()
|
|
@@ -462,11 +467,7 @@ function buildModuleRoutes(dependencies, options = {}) {
|
|
|
462
467
|
routeRegistry.clear();
|
|
463
468
|
}
|
|
464
469
|
const kernel = createHttpKernel(dependencies);
|
|
465
|
-
const middleware = [
|
|
466
|
-
...kernel.globalMiddleware(),
|
|
467
|
-
createJsonErrorMiddleware(),
|
|
468
|
-
...kernel.group("api")
|
|
469
|
-
];
|
|
470
|
+
const middleware = [...kernel.globalMiddleware(), ...kernel.group("api")];
|
|
470
471
|
const cachedJson = createCachedJson(dependencies);
|
|
471
472
|
const moduleRoutes = {};
|
|
472
473
|
for (const module of modules) {
|
|
@@ -486,7 +487,7 @@ function buildWebModuleRoutes(dependencies, options = {}) {
|
|
|
486
487
|
routeRegistry.clear();
|
|
487
488
|
}
|
|
488
489
|
const kernel = createHttpKernel(dependencies);
|
|
489
|
-
const middleware = kernel.globalMiddleware();
|
|
490
|
+
const middleware = kernel.globalMiddleware("web");
|
|
490
491
|
const moduleRoutes = { ...seedRoutes };
|
|
491
492
|
for (const module of modules) {
|
|
492
493
|
if (!module.webRoutes) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getstrata/bootstrap",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"description": "Strata application bootstrap: HttpKernel, DI, web session helpers",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -185,8 +185,8 @@
|
|
|
185
185
|
"access": "public"
|
|
186
186
|
},
|
|
187
187
|
"peerDependencies": {
|
|
188
|
-
"@getstrata/core": "^2.0.
|
|
189
|
-
"typescript": "^5.9.0"
|
|
188
|
+
"@getstrata/core": "^2.0.3",
|
|
189
|
+
"typescript": "^5.9.0 || ^6.0.0 || ^7.0.0"
|
|
190
190
|
},
|
|
191
191
|
"engines": {
|
|
192
192
|
"bun": ">=1.4.0"
|