@getstrata/bootstrap 2.2.11 → 2.2.13
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/README.md +1 -1
- package/dist/bootstrap/providers/view.d.ts +10 -1
- package/dist/entries/context.js +22 -1
- package/dist/entries/dependencies.js +22 -1
- package/dist/entries/providers/view.js +23 -1
- package/dist/entries/providers.js +22 -1
- package/dist/entries/secretsGuard.js +4 -2
- package/dist/index.js +9 -3
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @getstrata/bootstrap changelog
|
|
2
2
|
|
|
3
|
+
## 2.2.13
|
|
4
|
+
|
|
5
|
+
- Improve view rendering and better htmx support
|
|
6
|
+
|
|
7
|
+
## 2.2.12
|
|
8
|
+
|
|
9
|
+
- Require Bun >=1.4.3; align CI, generated/existing example runtime pins and Docker stages to 1.4.3, with bun-types >=1.4.3 behind the official @types/bun shim.
|
|
10
|
+
|
|
11
|
+
Add identified field-encryption keyrings, reader-first email/MFA configuration, and explicit transactional maintenance rotation for ciphertext and lookup keys with durable checkpoints, RLS scopes, fresh retirement audits and backup/rollback guidance. Fix SQLite primary-key compilation for non-generated keys. Preserve legacy auth defaults; no automatic data migration.
|
|
12
|
+
|
|
3
13
|
## 2.2.11
|
|
4
14
|
|
|
5
15
|
Add independently interruptible read-only SQLite and MySQL observations; extend bounded failed-job and outbox metrics to file-backed SQLite and URL-backed MySQL with schema/index guards, real-engine regressions and three-process consistency tests. Preserve Postgres RLS and business transaction behavior.
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @getstrata/bootstrap
|
|
2
2
|
|
|
3
|
-
Application bootstrap for [Strata](https://github.com/EyK-26/strata) apps: HttpKernel, service container, and web session helpers. Requires Bun (tested on 1.4.
|
|
3
|
+
Application bootstrap for [Strata](https://github.com/EyK-26/strata) apps: HttpKernel, service container, and web session helpers. Requires Bun >=1.4.3 (tested on 1.4.3).
|
|
4
4
|
|
|
5
5
|
Generate an app rather than wiring this by hand:
|
|
6
6
|
|
|
@@ -1,5 +1,14 @@
|
|
|
1
|
+
import type { WebLayoutDataOptions } from "@getstrata/core/view";
|
|
1
2
|
import type { ServiceProvider } from "../contracts";
|
|
2
3
|
declare const CORE_VIEW_TOKEN = "core.view";
|
|
3
4
|
declare const VIEW_DIRECTORY_CONFIG_KEY = "view.directory";
|
|
5
|
+
interface ViewProviderOptions {
|
|
6
|
+
directory?: string;
|
|
7
|
+
layout?: string | false;
|
|
8
|
+
data?: WebLayoutDataOptions;
|
|
9
|
+
}
|
|
10
|
+
/** Per-app view configuration for generated and custom bootstraps. */
|
|
11
|
+
declare function createViewProvider(options?: ViewProviderOptions): ServiceProvider;
|
|
4
12
|
declare const viewProvider: ServiceProvider;
|
|
5
|
-
export {
|
|
13
|
+
export type { ViewProviderOptions };
|
|
14
|
+
export { CORE_VIEW_TOKEN, createViewProvider, VIEW_DIRECTORY_CONFIG_KEY, viewProvider };
|
package/dist/entries/context.js
CHANGED
|
@@ -835,15 +835,35 @@ import { currentRequestMeta } from "@getstrata/core/http/requestMetaContext";
|
|
|
835
835
|
import { appDisplayName } from "@getstrata/core/runtime/appKeyPrefix";
|
|
836
836
|
import { isViewsEnabled } from "@getstrata/core/runtime/frontendMode";
|
|
837
837
|
import {
|
|
838
|
+
CORE_VIEW_RENDERER_TOKEN,
|
|
838
839
|
configureWebErrorView,
|
|
839
840
|
configureWebLayoutData,
|
|
841
|
+
createWebLayoutDataResolver,
|
|
840
842
|
DEFAULT_VIEWS_DIRECTORY,
|
|
841
843
|
EtaViewEngine,
|
|
842
844
|
errorTemplateName,
|
|
843
|
-
resolveWebLayoutData
|
|
845
|
+
resolveWebLayoutData,
|
|
846
|
+
ViewRenderer
|
|
844
847
|
} from "@getstrata/core/view";
|
|
845
848
|
var CORE_VIEW_TOKEN = "core.view";
|
|
846
849
|
var VIEW_DIRECTORY_CONFIG_KEY = "view.directory";
|
|
850
|
+
function createViewProvider(options = {}) {
|
|
851
|
+
const directory = options.directory;
|
|
852
|
+
const layout = options.layout;
|
|
853
|
+
const data = { ...options.data };
|
|
854
|
+
return {
|
|
855
|
+
name: "view",
|
|
856
|
+
register({ container, config }) {
|
|
857
|
+
if (!isViewsEnabled())
|
|
858
|
+
return;
|
|
859
|
+
const viewsDirectory = directory ?? (process.env.VIEW_DIRECTORY?.trim() || DEFAULT_VIEWS_DIRECTORY);
|
|
860
|
+
config.set(VIEW_DIRECTORY_CONFIG_KEY, viewsDirectory);
|
|
861
|
+
const engine = new EtaViewEngine(viewsDirectory, createWebLayoutDataResolver(container, data));
|
|
862
|
+
container.set(CORE_VIEW_TOKEN, engine);
|
|
863
|
+
container.set(CORE_VIEW_RENDERER_TOKEN, new ViewRenderer(engine, layout));
|
|
864
|
+
}
|
|
865
|
+
};
|
|
866
|
+
}
|
|
847
867
|
var viewProvider = {
|
|
848
868
|
name: "view",
|
|
849
869
|
register({ container, config }) {
|
|
@@ -854,6 +874,7 @@ var viewProvider = {
|
|
|
854
874
|
config.set(VIEW_DIRECTORY_CONFIG_KEY, viewsDirectory);
|
|
855
875
|
const engine = new EtaViewEngine(viewsDirectory, (request) => resolveWebLayoutData(container, request ?? currentRequestMeta().request));
|
|
856
876
|
container.set(CORE_VIEW_TOKEN, engine);
|
|
877
|
+
container.set(CORE_VIEW_RENDERER_TOKEN, new ViewRenderer(engine));
|
|
857
878
|
configureWebLayoutData({
|
|
858
879
|
extra: async () => ({
|
|
859
880
|
appName: appDisplayName(),
|
|
@@ -835,15 +835,35 @@ import { currentRequestMeta } from "@getstrata/core/http/requestMetaContext";
|
|
|
835
835
|
import { appDisplayName } from "@getstrata/core/runtime/appKeyPrefix";
|
|
836
836
|
import { isViewsEnabled } from "@getstrata/core/runtime/frontendMode";
|
|
837
837
|
import {
|
|
838
|
+
CORE_VIEW_RENDERER_TOKEN,
|
|
838
839
|
configureWebErrorView,
|
|
839
840
|
configureWebLayoutData,
|
|
841
|
+
createWebLayoutDataResolver,
|
|
840
842
|
DEFAULT_VIEWS_DIRECTORY,
|
|
841
843
|
EtaViewEngine,
|
|
842
844
|
errorTemplateName,
|
|
843
|
-
resolveWebLayoutData
|
|
845
|
+
resolveWebLayoutData,
|
|
846
|
+
ViewRenderer
|
|
844
847
|
} from "@getstrata/core/view";
|
|
845
848
|
var CORE_VIEW_TOKEN = "core.view";
|
|
846
849
|
var VIEW_DIRECTORY_CONFIG_KEY = "view.directory";
|
|
850
|
+
function createViewProvider(options = {}) {
|
|
851
|
+
const directory = options.directory;
|
|
852
|
+
const layout = options.layout;
|
|
853
|
+
const data = { ...options.data };
|
|
854
|
+
return {
|
|
855
|
+
name: "view",
|
|
856
|
+
register({ container, config }) {
|
|
857
|
+
if (!isViewsEnabled())
|
|
858
|
+
return;
|
|
859
|
+
const viewsDirectory = directory ?? (process.env.VIEW_DIRECTORY?.trim() || DEFAULT_VIEWS_DIRECTORY);
|
|
860
|
+
config.set(VIEW_DIRECTORY_CONFIG_KEY, viewsDirectory);
|
|
861
|
+
const engine = new EtaViewEngine(viewsDirectory, createWebLayoutDataResolver(container, data));
|
|
862
|
+
container.set(CORE_VIEW_TOKEN, engine);
|
|
863
|
+
container.set(CORE_VIEW_RENDERER_TOKEN, new ViewRenderer(engine, layout));
|
|
864
|
+
}
|
|
865
|
+
};
|
|
866
|
+
}
|
|
847
867
|
var viewProvider = {
|
|
848
868
|
name: "view",
|
|
849
869
|
register({ container, config }) {
|
|
@@ -854,6 +874,7 @@ var viewProvider = {
|
|
|
854
874
|
config.set(VIEW_DIRECTORY_CONFIG_KEY, viewsDirectory);
|
|
855
875
|
const engine = new EtaViewEngine(viewsDirectory, (request) => resolveWebLayoutData(container, request ?? currentRequestMeta().request));
|
|
856
876
|
container.set(CORE_VIEW_TOKEN, engine);
|
|
877
|
+
container.set(CORE_VIEW_RENDERER_TOKEN, new ViewRenderer(engine));
|
|
857
878
|
configureWebLayoutData({
|
|
858
879
|
extra: async () => ({
|
|
859
880
|
appName: appDisplayName(),
|
|
@@ -4,15 +4,35 @@ import { currentRequestMeta } from "@getstrata/core/http/requestMetaContext";
|
|
|
4
4
|
import { appDisplayName } from "@getstrata/core/runtime/appKeyPrefix";
|
|
5
5
|
import { isViewsEnabled } from "@getstrata/core/runtime/frontendMode";
|
|
6
6
|
import {
|
|
7
|
+
CORE_VIEW_RENDERER_TOKEN,
|
|
7
8
|
configureWebErrorView,
|
|
8
9
|
configureWebLayoutData,
|
|
10
|
+
createWebLayoutDataResolver,
|
|
9
11
|
DEFAULT_VIEWS_DIRECTORY,
|
|
10
12
|
EtaViewEngine,
|
|
11
13
|
errorTemplateName,
|
|
12
|
-
resolveWebLayoutData
|
|
14
|
+
resolveWebLayoutData,
|
|
15
|
+
ViewRenderer
|
|
13
16
|
} from "@getstrata/core/view";
|
|
14
17
|
var CORE_VIEW_TOKEN = "core.view";
|
|
15
18
|
var VIEW_DIRECTORY_CONFIG_KEY = "view.directory";
|
|
19
|
+
function createViewProvider(options = {}) {
|
|
20
|
+
const directory = options.directory;
|
|
21
|
+
const layout = options.layout;
|
|
22
|
+
const data = { ...options.data };
|
|
23
|
+
return {
|
|
24
|
+
name: "view",
|
|
25
|
+
register({ container, config }) {
|
|
26
|
+
if (!isViewsEnabled())
|
|
27
|
+
return;
|
|
28
|
+
const viewsDirectory = directory ?? (process.env.VIEW_DIRECTORY?.trim() || DEFAULT_VIEWS_DIRECTORY);
|
|
29
|
+
config.set(VIEW_DIRECTORY_CONFIG_KEY, viewsDirectory);
|
|
30
|
+
const engine = new EtaViewEngine(viewsDirectory, createWebLayoutDataResolver(container, data));
|
|
31
|
+
container.set(CORE_VIEW_TOKEN, engine);
|
|
32
|
+
container.set(CORE_VIEW_RENDERER_TOKEN, new ViewRenderer(engine, layout));
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
16
36
|
var viewProvider = {
|
|
17
37
|
name: "view",
|
|
18
38
|
register({ container, config }) {
|
|
@@ -23,6 +43,7 @@ var viewProvider = {
|
|
|
23
43
|
config.set(VIEW_DIRECTORY_CONFIG_KEY, viewsDirectory);
|
|
24
44
|
const engine = new EtaViewEngine(viewsDirectory, (request) => resolveWebLayoutData(container, request ?? currentRequestMeta().request));
|
|
25
45
|
container.set(CORE_VIEW_TOKEN, engine);
|
|
46
|
+
container.set(CORE_VIEW_RENDERER_TOKEN, new ViewRenderer(engine));
|
|
26
47
|
configureWebLayoutData({
|
|
27
48
|
extra: async () => ({
|
|
28
49
|
appName: appDisplayName(),
|
|
@@ -42,5 +63,6 @@ var viewProvider = {
|
|
|
42
63
|
export {
|
|
43
64
|
CORE_VIEW_TOKEN,
|
|
44
65
|
VIEW_DIRECTORY_CONFIG_KEY,
|
|
66
|
+
createViewProvider,
|
|
45
67
|
viewProvider
|
|
46
68
|
};
|
|
@@ -820,15 +820,35 @@ import { currentRequestMeta } from "@getstrata/core/http/requestMetaContext";
|
|
|
820
820
|
import { appDisplayName } from "@getstrata/core/runtime/appKeyPrefix";
|
|
821
821
|
import { isViewsEnabled } from "@getstrata/core/runtime/frontendMode";
|
|
822
822
|
import {
|
|
823
|
+
CORE_VIEW_RENDERER_TOKEN,
|
|
823
824
|
configureWebErrorView,
|
|
824
825
|
configureWebLayoutData,
|
|
826
|
+
createWebLayoutDataResolver,
|
|
825
827
|
DEFAULT_VIEWS_DIRECTORY,
|
|
826
828
|
EtaViewEngine,
|
|
827
829
|
errorTemplateName,
|
|
828
|
-
resolveWebLayoutData
|
|
830
|
+
resolveWebLayoutData,
|
|
831
|
+
ViewRenderer
|
|
829
832
|
} from "@getstrata/core/view";
|
|
830
833
|
var CORE_VIEW_TOKEN = "core.view";
|
|
831
834
|
var VIEW_DIRECTORY_CONFIG_KEY = "view.directory";
|
|
835
|
+
function createViewProvider(options = {}) {
|
|
836
|
+
const directory = options.directory;
|
|
837
|
+
const layout = options.layout;
|
|
838
|
+
const data = { ...options.data };
|
|
839
|
+
return {
|
|
840
|
+
name: "view",
|
|
841
|
+
register({ container, config }) {
|
|
842
|
+
if (!isViewsEnabled())
|
|
843
|
+
return;
|
|
844
|
+
const viewsDirectory = directory ?? (process.env.VIEW_DIRECTORY?.trim() || DEFAULT_VIEWS_DIRECTORY);
|
|
845
|
+
config.set(VIEW_DIRECTORY_CONFIG_KEY, viewsDirectory);
|
|
846
|
+
const engine = new EtaViewEngine(viewsDirectory, createWebLayoutDataResolver(container, data));
|
|
847
|
+
container.set(CORE_VIEW_TOKEN, engine);
|
|
848
|
+
container.set(CORE_VIEW_RENDERER_TOKEN, new ViewRenderer(engine, layout));
|
|
849
|
+
}
|
|
850
|
+
};
|
|
851
|
+
}
|
|
832
852
|
var viewProvider = {
|
|
833
853
|
name: "view",
|
|
834
854
|
register({ container, config }) {
|
|
@@ -839,6 +859,7 @@ var viewProvider = {
|
|
|
839
859
|
config.set(VIEW_DIRECTORY_CONFIG_KEY, viewsDirectory);
|
|
840
860
|
const engine = new EtaViewEngine(viewsDirectory, (request) => resolveWebLayoutData(container, request ?? currentRequestMeta().request));
|
|
841
861
|
container.set(CORE_VIEW_TOKEN, engine);
|
|
862
|
+
container.set(CORE_VIEW_RENDERER_TOKEN, new ViewRenderer(engine));
|
|
842
863
|
configureWebLayoutData({
|
|
843
864
|
extra: async () => ({
|
|
844
865
|
appName: appDisplayName(),
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
// ../../src/bootstrap/secretsGuard.ts
|
|
3
|
+
import { resolveFieldEncryptionKeyring } from "@getstrata/core/crypto/fieldEncryption";
|
|
3
4
|
import { getDefaultDatabasePool } from "@getstrata/core/database/defaultConnection";
|
|
4
5
|
import { envFlagEnabled, isProductionEnv } from "@getstrata/core/runtime/appEnv";
|
|
5
6
|
import { isViewsMode, parseFrontendMode } from "@getstrata/core/runtime/frontendMode";
|
|
@@ -92,8 +93,8 @@ function assertFeatureProductionSecrets(env) {
|
|
|
92
93
|
throw new Error("Production startup blocked: rotate SCIM_BEARER_TOKEN away from published test defaults.");
|
|
93
94
|
}
|
|
94
95
|
}
|
|
95
|
-
if ((envFlagEnabled(env.FEATURE_FIELD_ENCRYPTION) || envFlagEnabled(env.FEATURE_MFA)) && !env.KMS_ENCRYPTION_KEY?.trim()) {
|
|
96
|
-
throw new Error("Production startup blocked: set KMS_ENCRYPTION_KEY when field encryption or MFA is enabled.");
|
|
96
|
+
if ((envFlagEnabled(env.FEATURE_FIELD_ENCRYPTION) || envFlagEnabled(env.FEATURE_MFA)) && !env.KMS_ENCRYPTION_KEY?.trim() && !env.KMS_ENCRYPTION_KEYRING) {
|
|
97
|
+
throw new Error("Production startup blocked: set KMS_ENCRYPTION_KEY or KMS_ENCRYPTION_KEYRING when field encryption or MFA is enabled.");
|
|
97
98
|
}
|
|
98
99
|
if (envFlagEnabled(env.FEATURE_SAML)) {
|
|
99
100
|
const required = [
|
|
@@ -205,6 +206,7 @@ function assertPublicAppUrl(env) {
|
|
|
205
206
|
}
|
|
206
207
|
}
|
|
207
208
|
function assertProductionSecrets(env = process.env) {
|
|
209
|
+
resolveFieldEncryptionKeyring(env);
|
|
208
210
|
if (!isProductionEnv(env)) {
|
|
209
211
|
return;
|
|
210
212
|
}
|
package/dist/index.js
CHANGED
|
@@ -1263,12 +1263,15 @@ import { currentRequestMeta } from "@getstrata/core/http/requestMetaContext";
|
|
|
1263
1263
|
import { appDisplayName } from "@getstrata/core/runtime/appKeyPrefix";
|
|
1264
1264
|
import { isViewsEnabled as isViewsEnabled2 } from "@getstrata/core/runtime/frontendMode";
|
|
1265
1265
|
import {
|
|
1266
|
+
CORE_VIEW_RENDERER_TOKEN,
|
|
1266
1267
|
configureWebErrorView,
|
|
1267
1268
|
configureWebLayoutData,
|
|
1269
|
+
createWebLayoutDataResolver,
|
|
1268
1270
|
DEFAULT_VIEWS_DIRECTORY,
|
|
1269
1271
|
EtaViewEngine,
|
|
1270
1272
|
errorTemplateName,
|
|
1271
|
-
resolveWebLayoutData
|
|
1273
|
+
resolveWebLayoutData,
|
|
1274
|
+
ViewRenderer
|
|
1272
1275
|
} from "@getstrata/core/view";
|
|
1273
1276
|
var CORE_VIEW_TOKEN = "core.view";
|
|
1274
1277
|
var VIEW_DIRECTORY_CONFIG_KEY = "view.directory";
|
|
@@ -1282,6 +1285,7 @@ var viewProvider = {
|
|
|
1282
1285
|
config.set(VIEW_DIRECTORY_CONFIG_KEY, viewsDirectory);
|
|
1283
1286
|
const engine = new EtaViewEngine(viewsDirectory, (request) => resolveWebLayoutData(container, request ?? currentRequestMeta().request));
|
|
1284
1287
|
container.set(CORE_VIEW_TOKEN, engine);
|
|
1288
|
+
container.set(CORE_VIEW_RENDERER_TOKEN, new ViewRenderer(engine));
|
|
1285
1289
|
configureWebLayoutData({
|
|
1286
1290
|
extra: async () => ({
|
|
1287
1291
|
appName: appDisplayName(),
|
|
@@ -1750,6 +1754,7 @@ strata_${name}_collector_success 0
|
|
|
1750
1754
|
};
|
|
1751
1755
|
}
|
|
1752
1756
|
// ../../src/bootstrap/secretsGuard.ts
|
|
1757
|
+
import { resolveFieldEncryptionKeyring } from "@getstrata/core/crypto/fieldEncryption";
|
|
1753
1758
|
import { getDefaultDatabasePool as getDefaultDatabasePool2 } from "@getstrata/core/database/defaultConnection";
|
|
1754
1759
|
import { envFlagEnabled as envFlagEnabled3, isProductionEnv as isProductionEnv2 } from "@getstrata/core/runtime/appEnv";
|
|
1755
1760
|
import { isViewsMode, parseFrontendMode } from "@getstrata/core/runtime/frontendMode";
|
|
@@ -1842,8 +1847,8 @@ function assertFeatureProductionSecrets(env) {
|
|
|
1842
1847
|
throw new Error("Production startup blocked: rotate SCIM_BEARER_TOKEN away from published test defaults.");
|
|
1843
1848
|
}
|
|
1844
1849
|
}
|
|
1845
|
-
if ((envFlagEnabled3(env.FEATURE_FIELD_ENCRYPTION) || envFlagEnabled3(env.FEATURE_MFA)) && !env.KMS_ENCRYPTION_KEY?.trim()) {
|
|
1846
|
-
throw new Error("Production startup blocked: set KMS_ENCRYPTION_KEY when field encryption or MFA is enabled.");
|
|
1850
|
+
if ((envFlagEnabled3(env.FEATURE_FIELD_ENCRYPTION) || envFlagEnabled3(env.FEATURE_MFA)) && !env.KMS_ENCRYPTION_KEY?.trim() && !env.KMS_ENCRYPTION_KEYRING) {
|
|
1851
|
+
throw new Error("Production startup blocked: set KMS_ENCRYPTION_KEY or KMS_ENCRYPTION_KEYRING when field encryption or MFA is enabled.");
|
|
1847
1852
|
}
|
|
1848
1853
|
if (envFlagEnabled3(env.FEATURE_SAML)) {
|
|
1849
1854
|
const required = [
|
|
@@ -1930,6 +1935,7 @@ function assertPublicAppUrl(env) {
|
|
|
1930
1935
|
}
|
|
1931
1936
|
}
|
|
1932
1937
|
function assertProductionSecrets(env = process.env) {
|
|
1938
|
+
resolveFieldEncryptionKeyring(env);
|
|
1933
1939
|
if (!isProductionEnv2(env)) {
|
|
1934
1940
|
return;
|
|
1935
1941
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getstrata/bootstrap",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.13",
|
|
4
4
|
"description": "Strata application bootstrap: HttpKernel, DI, web session helpers",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -183,17 +183,17 @@
|
|
|
183
183
|
"build:bundle": "bun build index.ts --outdir dist --target bun --external bun --external eta --external mysql2 --external @getstrata/core",
|
|
184
184
|
"build:types": "tsc -p tsconfig.types.json && bun ../../scripts/prune-bootstrap-dist-types.ts",
|
|
185
185
|
"prepublishOnly": "bun run build",
|
|
186
|
-
"build:subpaths": "bun build entries/applicationRegistry.ts entries/buildModuleRoutes.ts entries/buildWebModuleRoutes.ts entries/cache/modelCacheTags.ts entries/config.ts entries/context.ts entries/contracts.ts entries/createWebRoutes.ts entries/createSpaRoutes.ts entries/dependencies.ts entries/discoverModules.ts entries/discoverListeners.ts entries/discoverModels.ts entries/discoverJobs.ts entries/health.ts entries/http/securedRouteModelBinding.ts entries/httpKernel.ts entries/listeners/invalidateCacheOnModelWrite.ts entries/membershipService.ts entries/metricsRoutes.ts entries/queue/defaultJobs.ts entries/providers.ts entries/providers/view.ts entries/routeRegistry.ts entries/schedule.ts entries/secretsGuard.ts entries/web/forms.ts entries/web/routing.ts entries/web/server.ts entries/web/session.ts entries/web/slug.ts --outdir dist --root . --target bun --external bun --external eta --external mysql2 --external @getstrata/core --external @getstrata/bootstrap --external @getstrata/bootstrap/applicationRegistry --external @getstrata/bootstrap/buildModuleRoutes --external @getstrata/bootstrap/buildWebModuleRoutes --external @getstrata/bootstrap/cache/modelCacheTags --external @getstrata/bootstrap/config --external @getstrata/bootstrap/context --external @getstrata/bootstrap/contracts --external @getstrata/bootstrap/createWebRoutes --external @getstrata/bootstrap/createSpaRoutes --external @getstrata/bootstrap/dependencies --external @getstrata/bootstrap/discoverModules --external @getstrata/bootstrap/discoverListeners --external @getstrata/bootstrap/discoverModels --external @getstrata/bootstrap/discoverJobs --external @getstrata/bootstrap/health --external @getstrata/bootstrap/http/securedRouteModelBinding --external @getstrata/bootstrap/httpKernel --external @getstrata/bootstrap/listeners/invalidateCacheOnModelWrite --external @getstrata/bootstrap/membershipService --external @getstrata/bootstrap/metricsRoutes --external @getstrata/bootstrap/queue/defaultJobs --external @getstrata/bootstrap/providers --external @getstrata/bootstrap/providers/view --external @getstrata/bootstrap/routeRegistry --external @getstrata/bootstrap/schedule --external @getstrata/bootstrap/secretsGuard --external @getstrata/bootstrap/web/forms --external @getstrata/bootstrap/web/routing --external @getstrata/bootstrap/web/server --external @getstrata/bootstrap/web/session --external @getstrata/bootstrap/web/slug --external @getstrata/core/auth/accessControl --external @getstrata/core/auth/abilityChecker --external @getstrata/core/auth/authContext --external @getstrata/core/auth/emailVerification --external @getstrata/core/auth/guard --external @getstrata/core/auth/jwt --external @getstrata/core/auth/jwtGuard --external @getstrata/core/auth/basicAuthGuard --external @getstrata/core/auth/tokenAbilityChecker --external @getstrata/core/auth/membershipContext --external @getstrata/core/auth/membershipMiddleware --external @getstrata/core/auth/membershipScope --external @getstrata/core/auth/membershipService --external @getstrata/core/auth/oauth/oidcProvider --external @getstrata/core/auth/oauth/providers --external @getstrata/core/auth/oauth/samlProvider --external @getstrata/core/auth/oauth/types --external @getstrata/core/auth/saml/samlServiceProvider --external @getstrata/core/auth/password --external @getstrata/core/auth/passwordLogin --external @getstrata/core/auth/oneTimeToken --external @getstrata/core/auth/intendedUrlCookie --external @getstrata/core/auth/passwordConfirmCookie --external @getstrata/core/auth/policy --external @getstrata/core/auth/scimAuthMiddleware --external @getstrata/core/auth/sessionCookie --external @getstrata/core/auth/sessionGuard --external @getstrata/core/auth/tokenHash --external @getstrata/core/audit/exportAuditLogs --external @getstrata/core/audit/siemFormatter --external @getstrata/core/admin/formatValue --external @getstrata/core/admin/registry --external @getstrata/core/admin/types --external @getstrata/core/cache/tags --external @getstrata/core/cache/createCacheStore --external @getstrata/core/cache/repository --external @getstrata/core/cache/simpleCache --external @getstrata/core/cache/simpleCacheStore --external @getstrata/core/config/envSchema --external @getstrata/core/contracts/serviceTokens --external @getstrata/core/contracts/authUserDirectory --external @getstrata/core/contracts/container --external @getstrata/core/contracts/di --external @getstrata/core/crypto/fieldEncryption --external @getstrata/core/crypto/mfaSecret --external @getstrata/core/database --external @getstrata/core/database/baseRepository --external @getstrata/core/database/bindConnection --external @getstrata/core/database/boundConnection --external @getstrata/core/database/bunSql --external @getstrata/core/database/connection --external @getstrata/core/database/connectionContext --external @getstrata/core/database/defaultConnection --external @getstrata/core/database/dialect --external @getstrata/core/database/mysqlConnection --external @getstrata/core/database/namedConnections --external @getstrata/core/database/errors --external @getstrata/core/database/factory --external @getstrata/core/database/migrations --external @getstrata/core/database/migrations/types --external @getstrata/core/database/model --external @getstrata/core/database/query --external @getstrata/core/database/relationships --external @getstrata/core/database/repositoryConnection --external @getstrata/core/database/repositoryQuery --external @getstrata/core/database/seeders --external @getstrata/core/database/seeders/types --external @getstrata/core/database/schema --external @getstrata/core/database/sqliteConnection --external @getstrata/core/database/table --external @getstrata/core/database/transaction --external @getstrata/core/database/types --external @getstrata/core/database/whereBuilder --external @getstrata/core/errors/http --external @getstrata/core/events --external @getstrata/core/events/outbox --external @getstrata/core/facades --external @getstrata/core/http --external @getstrata/core/http/authMiddleware --external @getstrata/core/http/authorizeMiddleware --external @getstrata/core/http/bodySizeLimitMiddleware --external @getstrata/core/http/clientIp --external @getstrata/core/http/cookies --external @getstrata/core/http/contentNegotiation --external @getstrata/core/http/contentSecurityPolicy --external @getstrata/core/http/conditionalResponse --external @getstrata/core/http/corsMiddleware --external @getstrata/core/http/csrfMiddleware --external @getstrata/core/http/csrfProtection --external @getstrata/core/http/csrfToken --external @getstrata/core/http/etag --external @getstrata/core/http/flashSession --external @getstrata/core/http/flashMiddleware --external @getstrata/core/http/formRequest --external @getstrata/core/http/middleware --external @getstrata/core/http/metricsMiddleware --external @getstrata/core/http/loginThrottleMiddleware --external @getstrata/core/http/memoryThrottleMiddleware --external @getstrata/core/http/pagination --external @getstrata/core/http/parseFormBody --external @getstrata/core/http/parseMultipartUpload --external @getstrata/core/http/requireAbilityMiddleware --external @getstrata/core/http/requireAuthMiddleware --external @getstrata/core/http/requireGlobalAdminMiddleware --external @getstrata/core/http/requireWebAuthMiddleware --external @getstrata/core/http/requireVerifiedMiddleware --external @getstrata/core/http/requirePasswordConfirmMiddleware --external @getstrata/core/http/resources --external @getstrata/core/http/response --external @getstrata/core/http/route --external @getstrata/core/http/routeMiddleware --external @getstrata/core/http/routeModelBinding --external @getstrata/core/http/safeInternalPath --external @getstrata/core/http/signedUrl --external @getstrata/core/http/statelessAuth --external @getstrata/core/http/scimThrottleMiddleware --external @getstrata/core/http/securityHeadersMiddleware --external @getstrata/core/http/securedRouteModelBinding --external @getstrata/core/http/requestMetaContext --external @getstrata/core/http/webErrorResponse --external @getstrata/core/http/webFormRequest --external @getstrata/core/http/throttleMiddleware --external @getstrata/core/http/uploads --external @getstrata/core/http/validation --external @getstrata/core/jobs/exportAuditLogsJob --external @getstrata/core/jobs/invalidateCacheTagsJob --external @getstrata/core/lifecycle/gracefulShutdown --external @getstrata/core/logging/logger --external @getstrata/core/logging/requestLoggingMiddleware --external @getstrata/core/mail/mailer --external @getstrata/core/mail/markdownMail --external @getstrata/core/mail/markdownMailable --external @getstrata/core/mail/sanitizeMailHtml --external @getstrata/core/media/imageTransform --external @getstrata/core/metrics/prometheus --external @getstrata/core/notifications --external @getstrata/core/openapi/generator --external @getstrata/core/openapi/registeredRoute --external @getstrata/core/openapi/validate --external @getstrata/core/pagination --external @getstrata/core/queue --external @getstrata/core/queue/createAppQueue --external @getstrata/core/queue/failedJobRepository --external @getstrata/core/queue/failedJobService --external @getstrata/core/queue/jobRegistry --external @getstrata/core/queue/jobRunner --external @getstrata/core/queue/queueMetrics --external @getstrata/core/queue/publicQueue --external @getstrata/core/queue/redisQueue --external @getstrata/core/queue/types --external @getstrata/core/runtime/appEnv --external @getstrata/core/runtime/appKeyPrefix --external @getstrata/core/runtime/frontendMode --external @getstrata/core/runtime/applicationRegistry --external @getstrata/core/runtime/asyncContextStore --external @getstrata/core/scheduler/schedule --external @getstrata/core/scheduler/osCron --external @getstrata/core/security/oauthState --external @getstrata/core/security/publicReads --external @getstrata/core/security/recoveryCodes --external @getstrata/core/security/safeFetch --external @getstrata/core/security/safePath --external @getstrata/core/security/safeUrl --external @getstrata/core/security/scimTenantTokens --external @getstrata/core/security/securityEvents --external @getstrata/core/security/stripeWebhook --external @getstrata/core/security/webhookSignature --external @getstrata/core/security/timingSafeCompare --external @getstrata/core/security/tokenExpiry --external @getstrata/core/security/totp --external @getstrata/core/storage/storage --external @getstrata/core/tenant/tenancyConfig --external @getstrata/core/tenant/tenantContext --external @getstrata/core/tenant/tenantDatabaseScope --external @getstrata/core/tenant/databaseTenantContext --external @getstrata/core/tenant/tenantMiddleware --external @getstrata/core/tenant/enableTenantRls --external @getstrata/core/terminal/runShell --external @getstrata/core/tracing/traceContext --external @getstrata/core/tracing/tracingMiddleware --external @getstrata/core/validation/rules --external @getstrata/core/view",
|
|
186
|
+
"build:subpaths": "bun build entries/applicationRegistry.ts entries/buildModuleRoutes.ts entries/buildWebModuleRoutes.ts entries/cache/modelCacheTags.ts entries/config.ts entries/context.ts entries/contracts.ts entries/createWebRoutes.ts entries/createSpaRoutes.ts entries/dependencies.ts entries/discoverModules.ts entries/discoverListeners.ts entries/discoverModels.ts entries/discoverJobs.ts entries/health.ts entries/http/securedRouteModelBinding.ts entries/httpKernel.ts entries/listeners/invalidateCacheOnModelWrite.ts entries/membershipService.ts entries/metricsRoutes.ts entries/queue/defaultJobs.ts entries/providers.ts entries/providers/view.ts entries/routeRegistry.ts entries/schedule.ts entries/secretsGuard.ts entries/web/forms.ts entries/web/routing.ts entries/web/server.ts entries/web/session.ts entries/web/slug.ts --outdir dist --root . --target bun --external bun --external eta --external mysql2 --external @getstrata/core --external @getstrata/bootstrap --external @getstrata/bootstrap/applicationRegistry --external @getstrata/bootstrap/buildModuleRoutes --external @getstrata/bootstrap/buildWebModuleRoutes --external @getstrata/bootstrap/cache/modelCacheTags --external @getstrata/bootstrap/config --external @getstrata/bootstrap/context --external @getstrata/bootstrap/contracts --external @getstrata/bootstrap/createWebRoutes --external @getstrata/bootstrap/createSpaRoutes --external @getstrata/bootstrap/dependencies --external @getstrata/bootstrap/discoverModules --external @getstrata/bootstrap/discoverListeners --external @getstrata/bootstrap/discoverModels --external @getstrata/bootstrap/discoverJobs --external @getstrata/bootstrap/health --external @getstrata/bootstrap/http/securedRouteModelBinding --external @getstrata/bootstrap/httpKernel --external @getstrata/bootstrap/listeners/invalidateCacheOnModelWrite --external @getstrata/bootstrap/membershipService --external @getstrata/bootstrap/metricsRoutes --external @getstrata/bootstrap/queue/defaultJobs --external @getstrata/bootstrap/providers --external @getstrata/bootstrap/providers/view --external @getstrata/bootstrap/routeRegistry --external @getstrata/bootstrap/schedule --external @getstrata/bootstrap/secretsGuard --external @getstrata/bootstrap/web/forms --external @getstrata/bootstrap/web/routing --external @getstrata/bootstrap/web/server --external @getstrata/bootstrap/web/session --external @getstrata/bootstrap/web/slug --external @getstrata/core/auth/accessControl --external @getstrata/core/auth/abilityChecker --external @getstrata/core/auth/authContext --external @getstrata/core/auth/emailVerification --external @getstrata/core/auth/guard --external @getstrata/core/auth/jwt --external @getstrata/core/auth/jwtGuard --external @getstrata/core/auth/basicAuthGuard --external @getstrata/core/auth/tokenAbilityChecker --external @getstrata/core/auth/membershipContext --external @getstrata/core/auth/membershipMiddleware --external @getstrata/core/auth/membershipScope --external @getstrata/core/auth/membershipService --external @getstrata/core/auth/oauth/oidcProvider --external @getstrata/core/auth/oauth/providers --external @getstrata/core/auth/oauth/samlProvider --external @getstrata/core/auth/oauth/types --external @getstrata/core/auth/saml/samlServiceProvider --external @getstrata/core/auth/password --external @getstrata/core/auth/passwordLogin --external @getstrata/core/auth/oneTimeToken --external @getstrata/core/auth/intendedUrlCookie --external @getstrata/core/auth/passwordConfirmCookie --external @getstrata/core/auth/policy --external @getstrata/core/auth/scimAuthMiddleware --external @getstrata/core/auth/sessionCookie --external @getstrata/core/auth/sessionGuard --external @getstrata/core/auth/tokenHash --external @getstrata/core/audit/exportAuditLogs --external @getstrata/core/audit/siemFormatter --external @getstrata/core/admin/formatValue --external @getstrata/core/admin/registry --external @getstrata/core/admin/types --external @getstrata/core/cache/tags --external @getstrata/core/cache/createCacheStore --external @getstrata/core/cache/repository --external @getstrata/core/cache/simpleCache --external @getstrata/core/cache/simpleCacheStore --external @getstrata/core/config/envSchema --external @getstrata/core/contracts/serviceTokens --external @getstrata/core/contracts/authUserDirectory --external @getstrata/core/contracts/container --external @getstrata/core/contracts/di --external @getstrata/core/crypto/fieldEncryption --external @getstrata/core/crypto/fieldEncryptionRotation --external @getstrata/core/crypto/mfaSecret --external @getstrata/core/database --external @getstrata/core/database/baseRepository --external @getstrata/core/database/bindConnection --external @getstrata/core/database/boundConnection --external @getstrata/core/database/bunSql --external @getstrata/core/database/connection --external @getstrata/core/database/connectionContext --external @getstrata/core/database/defaultConnection --external @getstrata/core/database/dialect --external @getstrata/core/database/mysqlConnection --external @getstrata/core/database/namedConnections --external @getstrata/core/database/errors --external @getstrata/core/database/factory --external @getstrata/core/database/migrations --external @getstrata/core/database/migrations/types --external @getstrata/core/database/model --external @getstrata/core/database/query --external @getstrata/core/database/relationships --external @getstrata/core/database/repositoryConnection --external @getstrata/core/database/repositoryQuery --external @getstrata/core/database/seeders --external @getstrata/core/database/seeders/types --external @getstrata/core/database/schema --external @getstrata/core/database/sqliteConnection --external @getstrata/core/database/table --external @getstrata/core/database/transaction --external @getstrata/core/database/types --external @getstrata/core/database/whereBuilder --external @getstrata/core/errors/http --external @getstrata/core/events --external @getstrata/core/events/outbox --external @getstrata/core/facades --external @getstrata/core/http --external @getstrata/core/http/authMiddleware --external @getstrata/core/http/authorizeMiddleware --external @getstrata/core/http/bodySizeLimitMiddleware --external @getstrata/core/http/clientIp --external @getstrata/core/http/cookies --external @getstrata/core/http/contentNegotiation --external @getstrata/core/http/contentSecurityPolicy --external @getstrata/core/http/conditionalResponse --external @getstrata/core/http/corsMiddleware --external @getstrata/core/http/csrfMiddleware --external @getstrata/core/http/csrfProtection --external @getstrata/core/http/csrfToken --external @getstrata/core/http/etag --external @getstrata/core/http/flashSession --external @getstrata/core/http/flashMiddleware --external @getstrata/core/http/formRequest --external @getstrata/core/http/middleware --external @getstrata/core/http/metricsMiddleware --external @getstrata/core/http/loginThrottleMiddleware --external @getstrata/core/http/memoryThrottleMiddleware --external @getstrata/core/http/pagination --external @getstrata/core/http/parseFormBody --external @getstrata/core/http/parseMultipartUpload --external @getstrata/core/http/requireAbilityMiddleware --external @getstrata/core/http/requireAuthMiddleware --external @getstrata/core/http/requireGlobalAdminMiddleware --external @getstrata/core/http/requireWebAuthMiddleware --external @getstrata/core/http/requireVerifiedMiddleware --external @getstrata/core/http/requirePasswordConfirmMiddleware --external @getstrata/core/http/resources --external @getstrata/core/http/response --external @getstrata/core/http/route --external @getstrata/core/http/routeMiddleware --external @getstrata/core/http/routeModelBinding --external @getstrata/core/http/safeInternalPath --external @getstrata/core/http/signedUrl --external @getstrata/core/http/statelessAuth --external @getstrata/core/http/scimThrottleMiddleware --external @getstrata/core/http/securityHeadersMiddleware --external @getstrata/core/http/securedRouteModelBinding --external @getstrata/core/http/requestMetaContext --external @getstrata/core/http/webErrorResponse --external @getstrata/core/http/webFormRequest --external @getstrata/core/http/throttleMiddleware --external @getstrata/core/http/uploads --external @getstrata/core/http/validation --external @getstrata/core/jobs/exportAuditLogsJob --external @getstrata/core/jobs/invalidateCacheTagsJob --external @getstrata/core/lifecycle/gracefulShutdown --external @getstrata/core/logging/logger --external @getstrata/core/logging/requestLoggingMiddleware --external @getstrata/core/mail/mailer --external @getstrata/core/mail/markdownMail --external @getstrata/core/mail/markdownMailable --external @getstrata/core/mail/sanitizeMailHtml --external @getstrata/core/media/imageTransform --external @getstrata/core/metrics/prometheus --external @getstrata/core/notifications --external @getstrata/core/openapi/generator --external @getstrata/core/openapi/registeredRoute --external @getstrata/core/openapi/validate --external @getstrata/core/pagination --external @getstrata/core/queue --external @getstrata/core/queue/createAppQueue --external @getstrata/core/queue/failedJobRepository --external @getstrata/core/queue/failedJobService --external @getstrata/core/queue/jobRegistry --external @getstrata/core/queue/jobRunner --external @getstrata/core/queue/queueMetrics --external @getstrata/core/queue/publicQueue --external @getstrata/core/queue/redisQueue --external @getstrata/core/queue/types --external @getstrata/core/runtime/appEnv --external @getstrata/core/runtime/appKeyPrefix --external @getstrata/core/runtime/frontendMode --external @getstrata/core/runtime/applicationRegistry --external @getstrata/core/runtime/asyncContextStore --external @getstrata/core/scheduler/schedule --external @getstrata/core/scheduler/osCron --external @getstrata/core/security/oauthState --external @getstrata/core/security/publicReads --external @getstrata/core/security/recoveryCodes --external @getstrata/core/security/safeFetch --external @getstrata/core/security/safePath --external @getstrata/core/security/safeUrl --external @getstrata/core/security/scimTenantTokens --external @getstrata/core/security/securityEvents --external @getstrata/core/security/stripeWebhook --external @getstrata/core/security/webhookSignature --external @getstrata/core/security/timingSafeCompare --external @getstrata/core/security/tokenExpiry --external @getstrata/core/security/totp --external @getstrata/core/storage/storage --external @getstrata/core/tenant/tenancyConfig --external @getstrata/core/tenant/tenantContext --external @getstrata/core/tenant/tenantDatabaseScope --external @getstrata/core/tenant/databaseTenantContext --external @getstrata/core/tenant/tenantMiddleware --external @getstrata/core/tenant/enableTenantRls --external @getstrata/core/terminal/runShell --external @getstrata/core/tracing/traceContext --external @getstrata/core/tracing/tracingMiddleware --external @getstrata/core/validation/rules --external @getstrata/core/view",
|
|
187
187
|
"build:shims": "true"
|
|
188
188
|
},
|
|
189
189
|
"publishConfig": {
|
|
190
190
|
"access": "public"
|
|
191
191
|
},
|
|
192
192
|
"peerDependencies": {
|
|
193
|
-
"@getstrata/core": "^2.2.
|
|
193
|
+
"@getstrata/core": "^2.2.13",
|
|
194
194
|
"typescript": "^5.9.0 || ^6.0.0 || ^7.0.0"
|
|
195
195
|
},
|
|
196
196
|
"engines": {
|
|
197
|
-
"bun": ">=1.4.
|
|
197
|
+
"bun": ">=1.4.3"
|
|
198
198
|
}
|
|
199
199
|
}
|