@cosmicdrift/kumiko-server-runtime 0.355.0 → 0.357.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/dist/build-prod-bundle.js +2 -1
- package/dist/compose-features.js +20 -2
- package/package.json +6 -6
- package/src/changes.json +10 -0
|
@@ -66,7 +66,8 @@ const hasBun = typeof globalThis.Bun !== "undefined";
|
|
|
66
66
|
// (nur public/) gedacht ist — wer JS/CSS will, schreibt ein eigenes
|
|
67
67
|
// index.html mit den richtigen Placeholder-Tags.
|
|
68
68
|
// interactive-widget=resizes-content (fw#1918): keeps `position: fixed`
|
|
69
|
-
// bottom bars anchored above a mobile keyboard instead of behind it.
|
|
69
|
+
// bottom bars anchored above a mobile keyboard instead of behind it. iOS Safari
|
|
70
|
+
// ignores the key; renderer-web's useKeyboardInset covers it via window.visualViewport.
|
|
70
71
|
export const DEFAULT_HTML = `<!doctype html>
|
|
71
72
|
<html lang="en">
|
|
72
73
|
<head>
|
package/dist/compose-features.js
CHANGED
|
@@ -12,12 +12,16 @@
|
|
|
12
12
|
// auth-email-password (+ auth-self-registration when authOptions.signup
|
|
13
13
|
// is set), then the app features. Later features may reference earlier
|
|
14
14
|
// ones (e.g. authClaims hooks on user/tenant).
|
|
15
|
-
import { createAuthEmailPasswordFeature, createAuthSelfRegistrationToggleFeature, } from "@cosmicdrift/kumiko-bundled-features/auth-email-password";
|
|
15
|
+
import { AUTH_SELF_REGISTRATION_FEATURE, createAuthEmailPasswordFeature, createAuthSelfRegistrationToggleFeature, } from "@cosmicdrift/kumiko-bundled-features/auth-email-password";
|
|
16
16
|
import { AUTH_MFA_FEATURE, mfaStatusCheckerFromFeature, } from "@cosmicdrift/kumiko-bundled-features/auth-mfa";
|
|
17
17
|
import { createConfigFeature } from "@cosmicdrift/kumiko-bundled-features/config";
|
|
18
|
+
import { createFilesTenantDataFeature } from "@cosmicdrift/kumiko-bundled-features/files-tenant-data";
|
|
18
19
|
import { collectAssignableAppRoles, createTenantFeature, } from "@cosmicdrift/kumiko-bundled-features/tenant";
|
|
20
|
+
import { TENANT_LIFECYCLE_FEATURE } from "@cosmicdrift/kumiko-bundled-features/tenant-lifecycle";
|
|
19
21
|
import { createUserFeature } from "@cosmicdrift/kumiko-bundled-features/user";
|
|
20
22
|
import { dedupeFeatures } from "@cosmicdrift/kumiko-framework/engine";
|
|
23
|
+
const FILES_FEATURE = "files";
|
|
24
|
+
const FILES_TENANT_DATA_FEATURE = "files-tenant-data";
|
|
21
25
|
export function composeFeatures(appFeatures, options) {
|
|
22
26
|
// ponytail: includeBundled:false skips the auth-mfa auto-wiring below —
|
|
23
27
|
// an app composing its own foundation and mounting auth-mfa itself is
|
|
@@ -70,13 +74,27 @@ export function composeFeatures(appFeatures, options) {
|
|
|
70
74
|
const filteredApp = [];
|
|
71
75
|
for (const f of dedupedAppFeatures) {
|
|
72
76
|
if (bundledNames.has(f.name)) {
|
|
77
|
+
// The toggle takes no options, so the app copy is identical. Apps still
|
|
78
|
+
// need it in APP_FEATURES: the schema CLI and tests compose without
|
|
79
|
+
// authOptions.signup and only get it from there.
|
|
80
|
+
if (f.name === AUTH_SELF_REGISTRATION_FEATURE)
|
|
81
|
+
continue;
|
|
73
82
|
// biome-ignore lint/suspicious/noConsole: boot-time UX warning
|
|
74
83
|
console.warn(`[composeFeatures] "${f.name}" already auto-mounted via includeBundled — dropping the explicit copy from APP_FEATURES. Remove it from run-config.ts to silence this warning.`);
|
|
75
84
|
continue;
|
|
76
85
|
}
|
|
77
86
|
filteredApp.push(f);
|
|
78
87
|
}
|
|
79
|
-
|
|
88
|
+
const names = new Set(filteredApp.map((f) => f.name));
|
|
89
|
+
// Without it, tenant destroy leaves fileRef rows and stored binaries behind.
|
|
90
|
+
const needsFilesTenantData = names.has(FILES_FEATURE) &&
|
|
91
|
+
names.has(TENANT_LIFECYCLE_FEATURE) &&
|
|
92
|
+
!names.has(FILES_TENANT_DATA_FEATURE);
|
|
93
|
+
return [
|
|
94
|
+
...bundled,
|
|
95
|
+
...filteredApp,
|
|
96
|
+
...(needsFilesTenantData ? [createFilesTenantDataFeature()] : []),
|
|
97
|
+
];
|
|
80
98
|
}
|
|
81
99
|
// The magic-link mail fields shared by all five flows. Conditional spreads omit
|
|
82
100
|
// undefined keys (exactOptionalPropertyTypes) and avoid the property-write that
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cosmicdrift/kumiko-server-runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.357.0",
|
|
4
4
|
"description": "Production server-boot runtime for Kumiko apps: connections, schema-drift-gate, seeds, lifecycle, graceful shutdown. Symmetric to kumiko-dev-server's runDevApp, without dev/scaffold/codegen tooling.",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
|
|
@@ -84,11 +84,11 @@
|
|
|
84
84
|
}
|
|
85
85
|
},
|
|
86
86
|
"dependencies": {
|
|
87
|
-
"@cosmicdrift/kumiko-bundled-features": "0.
|
|
88
|
-
"@cosmicdrift/kumiko-framework": "0.
|
|
89
|
-
"@cosmicdrift/kumiko-headless": "0.
|
|
90
|
-
"@cosmicdrift/kumiko-renderer-web": "0.
|
|
91
|
-
"@cosmicdrift/kumiko-types": "0.
|
|
87
|
+
"@cosmicdrift/kumiko-bundled-features": "0.357.0",
|
|
88
|
+
"@cosmicdrift/kumiko-framework": "0.357.0",
|
|
89
|
+
"@cosmicdrift/kumiko-headless": "0.357.0",
|
|
90
|
+
"@cosmicdrift/kumiko-renderer-web": "0.357.0",
|
|
91
|
+
"@cosmicdrift/kumiko-types": "0.357.0",
|
|
92
92
|
"bun-types": "^1.3.13",
|
|
93
93
|
"ioredis": "^5.10.1",
|
|
94
94
|
"temporal-polyfill": "^0.3.2"
|
package/src/changes.json
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
[
|
|
2
|
+
{
|
|
3
|
+
"version": "0.357.0",
|
|
4
|
+
"type": "fix",
|
|
5
|
+
"title": "composeFeatures no longer warns about auth-self-registration listed in APP_FEATURES"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"version": "0.356.0",
|
|
9
|
+
"type": "improvement",
|
|
10
|
+
"title": "composeFeatures mounts files-tenant-data when files and tenant-lifecycle are present"
|
|
11
|
+
},
|
|
2
12
|
{
|
|
3
13
|
"version": "0.354.0",
|
|
4
14
|
"type": "fix",
|