@bleedingdev/modern-js-server-core 3.4.0-ultramodern.19 → 3.4.0-ultramodern.20

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.
@@ -32,7 +32,7 @@ export interface BffUserConfig {
32
32
  /**
33
33
  * Selects the BFF runtime implementation.
34
34
  *
35
- * - `effect`: only `api/effect/index` is served.
35
+ * - `effect`: only `api/index` (or the configured `bff.effect.entry`) is served.
36
36
  * - `hono`: only `api/lambda/**` handlers are served.
37
37
  *
38
38
  * @default 'effect'
@@ -100,6 +100,17 @@ export interface BffEffectDataPlatformUserConfig {
100
100
  }
101
101
  export interface BffEffectUserConfig {
102
102
  entry?: string;
103
+ /**
104
+ * Enforce Effect-native API/runtime modules instead of raw request handlers.
105
+ *
106
+ * When enabled, Effect API entries must export a `defineEffectBff(...)`
107
+ * definition or a `{ api, layer }` HttpApi module. Raw `handler` exports,
108
+ * default request handlers, and unbranded custom `createHandler` factories
109
+ * are treated as legacy escape hatches.
110
+ *
111
+ * @default true
112
+ */
113
+ strictEffectApproach?: true;
103
114
  openapi?: BffEffectOpenApiUserConfig;
104
115
  dataPlatform?: BffEffectDataPlatformUserConfig;
105
116
  }
package/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  "modern",
18
18
  "modern.js"
19
19
  ],
20
- "version": "3.4.0-ultramodern.19",
20
+ "version": "3.4.0-ultramodern.20",
21
21
  "types": "./dist/types/index.d.ts",
22
22
  "main": "./dist/cjs/index.js",
23
23
  "exports": {
@@ -76,9 +76,9 @@
76
76
  "flatted": "^3.4.2",
77
77
  "hono": "^4.12.27",
78
78
  "ts-deepmerge": "8.0.0",
79
- "@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.4.0-ultramodern.19",
80
- "@modern-js/runtime-utils": "npm:@bleedingdev/modern-js-runtime-utils@3.4.0-ultramodern.19",
81
- "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.4.0-ultramodern.19"
79
+ "@modern-js/runtime-utils": "npm:@bleedingdev/modern-js-runtime-utils@3.4.0-ultramodern.20",
80
+ "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.4.0-ultramodern.20",
81
+ "@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.4.0-ultramodern.20"
82
82
  },
83
83
  "devDependencies": {
84
84
  "@rslib/core": "0.23.0",
@@ -87,7 +87,7 @@
87
87
  "@types/node": "^26.0.1",
88
88
  "@typescript/native-preview": "7.0.0-dev.20260624.1",
89
89
  "http-proxy-middleware": "^4.1.1",
90
- "@modern-js/types": "npm:@bleedingdev/modern-js-types@3.4.0-ultramodern.19",
90
+ "@modern-js/types": "npm:@bleedingdev/modern-js-types@3.4.0-ultramodern.20",
91
91
  "@scripts/rstest-config": "2.66.0"
92
92
  },
93
93
  "sideEffects": false,