@bleedingdev/modern-js-plugin-bff 3.5.0-ultramodern.10 → 3.5.0-ultramodern.100
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/cjs/cli/compress.js +52 -0
- package/dist/cjs/cli/generator.js +184 -0
- package/dist/cjs/cli/prefix.js +50 -0
- package/dist/cjs/cli/serverGlobalVars.js +127 -0
- package/dist/cjs/cli/watch.js +51 -0
- package/dist/cjs/cli.js +11 -130
- package/dist/cjs/loader.js +19 -2
- package/dist/cjs/runtime/data-platform/batch/queue.js +284 -0
- package/dist/cjs/runtime/data-platform/batch/request.js +98 -0
- package/dist/cjs/runtime/data-platform/batch/response.js +64 -0
- package/dist/cjs/runtime/data-platform/batch/telemetry.js +67 -0
- package/dist/cjs/runtime/data-platform/batch/url.js +69 -0
- package/dist/cjs/runtime/data-platform/batch-transport.js +59 -0
- package/dist/cjs/runtime/data-platform/codec.js +155 -0
- package/dist/cjs/runtime/data-platform/index.js +30 -633
- package/dist/cjs/runtime/data-platform/invalidation.js +61 -0
- package/dist/cjs/runtime/data-platform/trace.js +73 -0
- package/dist/cjs/runtime/data-platform/types.js +48 -0
- package/dist/cjs/runtime/data-platform/validation.js +178 -0
- package/dist/cjs/runtime/effect/adapter/constants.js +44 -0
- package/dist/cjs/runtime/effect/adapter/cross-project-policy.js +61 -0
- package/dist/cjs/runtime/effect/adapter/entry.js +92 -0
- package/dist/cjs/runtime/effect/adapter/error-response.js +79 -0
- package/dist/cjs/runtime/effect/adapter/handler.js +53 -0
- package/dist/cjs/runtime/effect/adapter.js +26 -146
- package/dist/cjs/runtime/effect/backend-federation/entry.js +99 -0
- package/dist/cjs/runtime/effect/backend-federation/identity.js +82 -0
- package/dist/cjs/runtime/effect/backend-federation/load.js +66 -0
- package/dist/cjs/runtime/effect/backend-federation/plugin.js +53 -0
- package/dist/cjs/runtime/effect/backend-federation/remotes.js +50 -0
- package/dist/cjs/runtime/effect/backend-federation/runtime.js +64 -0
- package/dist/cjs/runtime/effect/backend-federation/types.js +18 -0
- package/dist/cjs/runtime/effect/backend-federation/utils.js +48 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/errors.js +83 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/index.js +55 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/load.js +94 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/metadata.js +101 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/reference.js +120 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/remote.js +68 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/types.js +18 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/validation.js +109 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest.js +62 -0
- package/dist/cjs/runtime/effect/backend-federation.js +65 -0
- package/dist/cjs/runtime/effect/dispatch.js +101 -0
- package/dist/cjs/runtime/effect/edge.js +64 -71
- package/dist/cjs/runtime/effect/endpoint-contracts.js +13 -22
- package/dist/cjs/runtime/effect/entry-shape.js +84 -0
- package/dist/cjs/runtime/effect/handler/batch-handler.js +161 -0
- package/dist/cjs/runtime/effect/handler/batch.js +195 -0
- package/dist/cjs/runtime/effect/handler/definition.js +101 -0
- package/dist/cjs/runtime/effect/handler/envelope.js +104 -0
- package/dist/cjs/runtime/effect/handler/http.js +96 -0
- package/dist/cjs/runtime/effect/handler/openapi.js +57 -0
- package/dist/cjs/runtime/effect/handler/routing.js +100 -0
- package/dist/cjs/runtime/effect/handler/rpc.js +63 -0
- package/dist/cjs/runtime/effect/handler/types.js +43 -0
- package/dist/cjs/runtime/effect/handler.js +37 -529
- package/dist/cjs/runtime/effect/index.js +91 -15
- package/dist/cjs/runtime/effect/module.js +23 -80
- package/dist/cjs/runtime/effect/rpcSerialization.js +54 -0
- package/dist/cjs/runtime/effect-client/batch.js +73 -0
- package/dist/cjs/runtime/effect-client/envelope.js +145 -0
- package/dist/cjs/runtime/effect-client/guards.js +44 -0
- package/dist/cjs/runtime/effect-client/index.js +6 -16
- package/dist/cjs/runtime/effect-client/request-context.js +64 -0
- package/dist/cjs/runtime/effect-client/request.js +66 -0
- package/dist/cjs/runtime/effect-client/runtime.js +12 -178
- package/dist/cjs/runtime/effect-client/types.js +18 -0
- package/dist/cjs/runtime/hono/adapter.js +32 -79
- package/dist/cjs/runtime/safe-failure.js +2 -1
- package/dist/cjs/server.js +19 -30
- package/dist/cjs/utils/client-generator/files.js +152 -0
- package/dist/cjs/utils/client-generator/generate.js +138 -0
- package/dist/cjs/utils/client-generator/index.js +83 -0
- package/dist/cjs/utils/client-generator/package-json.js +132 -0
- package/dist/cjs/utils/client-generator/write-package.js +125 -0
- package/dist/cjs/utils/clientGenerator.js +26 -303
- package/dist/cjs/utils/effect-client-generator/generator.js +68 -0
- package/dist/cjs/utils/effect-client-generator/index.js +51 -0
- package/dist/cjs/utils/effect-client-generator/paths.js +73 -0
- package/dist/cjs/utils/effect-client-generator/rendering.js +231 -0
- package/dist/cjs/utils/effect-client-generator/runtime.js +85 -0
- package/dist/cjs/utils/effect-client-generator/types.js +18 -0
- package/dist/cjs/utils/effectClientGenerator.js +5 -262
- package/dist/cjs/utils/effectSourceLoader.js +252 -0
- package/dist/esm/cli/compress.mjs +14 -0
- package/dist/esm/cli/generator.mjs +133 -0
- package/dist/esm/cli/prefix.mjs +9 -0
- package/dist/esm/cli/serverGlobalVars.mjs +76 -0
- package/dist/esm/cli/watch.mjs +13 -0
- package/dist/esm/cli.mjs +7 -121
- package/dist/esm/loader.mjs +19 -2
- package/dist/esm/runtime/data-platform/batch/queue.mjs +246 -0
- package/dist/esm/runtime/data-platform/batch/request.mjs +45 -0
- package/dist/esm/runtime/data-platform/batch/response.mjs +23 -0
- package/dist/esm/runtime/data-platform/batch/telemetry.mjs +23 -0
- package/dist/esm/runtime/data-platform/batch/url.mjs +25 -0
- package/dist/esm/runtime/data-platform/batch-transport.mjs +12 -0
- package/dist/esm/runtime/data-platform/codec.mjs +90 -0
- package/dist/esm/runtime/data-platform/index.mjs +6 -610
- package/dist/esm/runtime/data-platform/invalidation.mjs +20 -0
- package/dist/esm/runtime/data-platform/trace.mjs +29 -0
- package/dist/esm/runtime/data-platform/types.mjs +4 -0
- package/dist/esm/runtime/data-platform/validation.mjs +128 -0
- package/dist/esm/runtime/effect/adapter/constants.mjs +6 -0
- package/dist/esm/runtime/effect/adapter/cross-project-policy.mjs +23 -0
- package/dist/esm/runtime/effect/adapter/entry.mjs +44 -0
- package/dist/esm/runtime/effect/adapter/error-response.mjs +41 -0
- package/dist/esm/runtime/effect/adapter/handler.mjs +15 -0
- package/dist/esm/runtime/effect/adapter.mjs +27 -147
- package/dist/esm/runtime/effect/backend-federation/entry.mjs +61 -0
- package/dist/esm/runtime/effect/backend-federation/identity.mjs +41 -0
- package/dist/esm/runtime/effect/backend-federation/load.mjs +28 -0
- package/dist/esm/runtime/effect/backend-federation/plugin.mjs +15 -0
- package/dist/esm/runtime/effect/backend-federation/remotes.mjs +12 -0
- package/dist/esm/runtime/effect/backend-federation/runtime.mjs +26 -0
- package/dist/esm/runtime/effect/backend-federation/types.mjs +0 -0
- package/dist/esm/runtime/effect/backend-federation/utils.mjs +7 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/errors.mjs +32 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/index.mjs +4 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/load.mjs +56 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/metadata.mjs +42 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/reference.mjs +76 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/remote.mjs +30 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/types.mjs +0 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/validation.mjs +65 -0
- package/dist/esm/runtime/effect/backend-federation-manifest.mjs +1 -0
- package/dist/esm/runtime/effect/backend-federation.mjs +5 -0
- package/dist/esm/runtime/effect/dispatch.mjs +63 -0
- package/dist/esm/runtime/effect/edge.mjs +17 -63
- package/dist/esm/runtime/effect/endpoint-contracts.mjs +14 -14
- package/dist/esm/runtime/effect/entry-shape.mjs +36 -0
- package/dist/esm/runtime/effect/handler/batch-handler.mjs +123 -0
- package/dist/esm/runtime/effect/handler/batch.mjs +124 -0
- package/dist/esm/runtime/effect/handler/definition.mjs +60 -0
- package/dist/esm/runtime/effect/handler/envelope.mjs +63 -0
- package/dist/esm/runtime/effect/handler/http.mjs +58 -0
- package/dist/esm/runtime/effect/handler/openapi.mjs +19 -0
- package/dist/esm/runtime/effect/handler/routing.mjs +50 -0
- package/dist/esm/runtime/effect/handler/rpc.mjs +22 -0
- package/dist/esm/runtime/effect/handler/types.mjs +5 -0
- package/dist/esm/runtime/effect/handler.mjs +11 -506
- package/dist/esm/runtime/effect/index.mjs +5 -2
- package/dist/esm/runtime/effect/module.mjs +25 -82
- package/dist/esm/runtime/effect/rpcSerialization.mjs +16 -0
- package/dist/esm/runtime/effect-client/batch.mjs +35 -0
- package/dist/esm/runtime/effect-client/envelope.mjs +104 -0
- package/dist/esm/runtime/effect-client/guards.mjs +3 -0
- package/dist/esm/runtime/effect-client/index.mjs +27 -37
- package/dist/esm/runtime/effect-client/request-context.mjs +23 -0
- package/dist/esm/runtime/effect-client/request.mjs +28 -0
- package/dist/esm/runtime/effect-client/runtime.mjs +12 -178
- package/dist/esm/runtime/effect-client/types.mjs +0 -0
- package/dist/esm/runtime/hono/adapter.mjs +33 -80
- package/dist/esm/runtime/safe-failure.mjs +2 -1
- package/dist/esm/server.mjs +18 -29
- package/dist/esm/utils/client-generator/files.mjs +68 -0
- package/dist/esm/utils/client-generator/generate.mjs +88 -0
- package/dist/esm/utils/client-generator/index.mjs +4 -0
- package/dist/esm/utils/client-generator/package-json.mjs +78 -0
- package/dist/esm/utils/client-generator/write-package.mjs +74 -0
- package/dist/esm/utils/clientGenerator.mjs +2 -293
- package/dist/esm/utils/effect-client-generator/generator.mjs +27 -0
- package/dist/esm/utils/effect-client-generator/index.mjs +3 -0
- package/dist/esm/utils/effect-client-generator/paths.mjs +25 -0
- package/dist/esm/utils/effect-client-generator/rendering.mjs +180 -0
- package/dist/esm/utils/effect-client-generator/runtime.mjs +34 -0
- package/dist/esm/utils/effect-client-generator/types.mjs +0 -0
- package/dist/esm/utils/effectClientGenerator.mjs +1 -249
- package/dist/esm/utils/effectSourceLoader.mjs +199 -0
- package/dist/esm-node/cli/compress.mjs +15 -0
- package/dist/esm-node/cli/generator.mjs +134 -0
- package/dist/esm-node/cli/prefix.mjs +10 -0
- package/dist/esm-node/cli/serverGlobalVars.mjs +77 -0
- package/dist/esm-node/cli/watch.mjs +14 -0
- package/dist/esm-node/cli.mjs +7 -121
- package/dist/esm-node/loader.mjs +19 -2
- package/dist/esm-node/runtime/data-platform/batch/queue.mjs +247 -0
- package/dist/esm-node/runtime/data-platform/batch/request.mjs +46 -0
- package/dist/esm-node/runtime/data-platform/batch/response.mjs +24 -0
- package/dist/esm-node/runtime/data-platform/batch/telemetry.mjs +24 -0
- package/dist/esm-node/runtime/data-platform/batch/url.mjs +26 -0
- package/dist/esm-node/runtime/data-platform/batch-transport.mjs +13 -0
- package/dist/esm-node/runtime/data-platform/codec.mjs +91 -0
- package/dist/esm-node/runtime/data-platform/index.mjs +6 -610
- package/dist/esm-node/runtime/data-platform/invalidation.mjs +21 -0
- package/dist/esm-node/runtime/data-platform/trace.mjs +30 -0
- package/dist/esm-node/runtime/data-platform/types.mjs +5 -0
- package/dist/esm-node/runtime/data-platform/validation.mjs +129 -0
- package/dist/esm-node/runtime/effect/adapter/constants.mjs +7 -0
- package/dist/esm-node/runtime/effect/adapter/cross-project-policy.mjs +24 -0
- package/dist/esm-node/runtime/effect/adapter/entry.mjs +45 -0
- package/dist/esm-node/runtime/effect/adapter/error-response.mjs +42 -0
- package/dist/esm-node/runtime/effect/adapter/handler.mjs +16 -0
- package/dist/esm-node/runtime/effect/adapter.mjs +28 -149
- package/dist/esm-node/runtime/effect/backend-federation/entry.mjs +62 -0
- package/dist/esm-node/runtime/effect/backend-federation/identity.mjs +42 -0
- package/dist/esm-node/runtime/effect/backend-federation/load.mjs +29 -0
- package/dist/esm-node/runtime/effect/backend-federation/plugin.mjs +16 -0
- package/dist/esm-node/runtime/effect/backend-federation/remotes.mjs +13 -0
- package/dist/esm-node/runtime/effect/backend-federation/runtime.mjs +27 -0
- package/dist/esm-node/runtime/effect/backend-federation/types.mjs +1 -0
- package/dist/esm-node/runtime/effect/backend-federation/utils.mjs +8 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/errors.mjs +33 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/index.mjs +5 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/load.mjs +57 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/metadata.mjs +43 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/reference.mjs +77 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/remote.mjs +31 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/types.mjs +1 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/validation.mjs +66 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest.mjs +2 -0
- package/dist/esm-node/runtime/effect/backend-federation.mjs +6 -0
- package/dist/esm-node/runtime/effect/dispatch.mjs +64 -0
- package/dist/esm-node/runtime/effect/edge.mjs +17 -63
- package/dist/esm-node/runtime/effect/endpoint-contracts.mjs +14 -14
- package/dist/esm-node/runtime/effect/entry-shape.mjs +37 -0
- package/dist/esm-node/runtime/effect/handler/batch-handler.mjs +124 -0
- package/dist/esm-node/runtime/effect/handler/batch.mjs +125 -0
- package/dist/esm-node/runtime/effect/handler/definition.mjs +61 -0
- package/dist/esm-node/runtime/effect/handler/envelope.mjs +64 -0
- package/dist/esm-node/runtime/effect/handler/http.mjs +59 -0
- package/dist/esm-node/runtime/effect/handler/openapi.mjs +20 -0
- package/dist/esm-node/runtime/effect/handler/routing.mjs +51 -0
- package/dist/esm-node/runtime/effect/handler/rpc.mjs +23 -0
- package/dist/esm-node/runtime/effect/handler/types.mjs +6 -0
- package/dist/esm-node/runtime/effect/handler.mjs +11 -506
- package/dist/esm-node/runtime/effect/index.mjs +5 -2
- package/dist/esm-node/runtime/effect/module.mjs +25 -82
- package/dist/esm-node/runtime/effect/rpcSerialization.mjs +17 -0
- package/dist/esm-node/runtime/effect-client/batch.mjs +36 -0
- package/dist/esm-node/runtime/effect-client/envelope.mjs +105 -0
- package/dist/esm-node/runtime/effect-client/guards.mjs +4 -0
- package/dist/esm-node/runtime/effect-client/index.mjs +27 -37
- package/dist/esm-node/runtime/effect-client/request-context.mjs +24 -0
- package/dist/esm-node/runtime/effect-client/request.mjs +29 -0
- package/dist/esm-node/runtime/effect-client/runtime.mjs +12 -178
- package/dist/esm-node/runtime/effect-client/types.mjs +1 -0
- package/dist/esm-node/runtime/hono/adapter.mjs +33 -80
- package/dist/esm-node/runtime/safe-failure.mjs +2 -1
- package/dist/esm-node/server.mjs +18 -29
- package/dist/esm-node/utils/client-generator/files.mjs +69 -0
- package/dist/esm-node/utils/client-generator/generate.mjs +89 -0
- package/dist/esm-node/utils/client-generator/index.mjs +5 -0
- package/dist/esm-node/utils/client-generator/package-json.mjs +79 -0
- package/dist/esm-node/utils/client-generator/write-package.mjs +75 -0
- package/dist/esm-node/utils/clientGenerator.mjs +2 -293
- package/dist/esm-node/utils/effect-client-generator/generator.mjs +28 -0
- package/dist/esm-node/utils/effect-client-generator/index.mjs +4 -0
- package/dist/esm-node/utils/effect-client-generator/paths.mjs +26 -0
- package/dist/esm-node/utils/effect-client-generator/rendering.mjs +181 -0
- package/dist/esm-node/utils/effect-client-generator/runtime.mjs +36 -0
- package/dist/esm-node/utils/effect-client-generator/types.mjs +1 -0
- package/dist/esm-node/utils/effectClientGenerator.mjs +2 -251
- package/dist/esm-node/utils/effectSourceLoader.mjs +200 -0
- package/dist/types/cli/compress.d.ts +2 -0
- package/dist/types/cli/generator.d.ts +7 -0
- package/dist/types/cli/prefix.d.ts +2 -0
- package/dist/types/cli/serverGlobalVars.d.ts +4 -0
- package/dist/types/cli/watch.d.ts +1 -0
- package/dist/types/cli.d.ts +0 -1
- package/dist/types/runtime/data-platform/batch/queue.d.ts +8 -0
- package/dist/types/runtime/data-platform/batch/request.d.ts +13 -0
- package/dist/types/runtime/data-platform/batch/response.d.ts +3 -0
- package/dist/types/runtime/data-platform/batch/telemetry.d.ts +4 -0
- package/dist/types/runtime/data-platform/batch/url.d.ts +4 -0
- package/dist/types/runtime/data-platform/batch-transport.d.ts +3 -0
- package/dist/types/runtime/data-platform/codec.d.ts +17 -0
- package/dist/types/runtime/data-platform/index.d.ts +7 -191
- package/dist/types/runtime/data-platform/invalidation.d.ts +8 -0
- package/dist/types/runtime/data-platform/trace.d.ts +4 -0
- package/dist/types/runtime/data-platform/types.d.ts +146 -0
- package/dist/types/runtime/data-platform/validation.d.ts +29 -0
- package/dist/types/runtime/effect/adapter/constants.d.ts +1 -0
- package/dist/types/runtime/effect/adapter/cross-project-policy.d.ts +4 -0
- package/dist/types/runtime/effect/adapter/entry.d.ts +2 -0
- package/dist/types/runtime/effect/adapter/error-response.d.ts +2 -0
- package/dist/types/runtime/effect/adapter/handler.d.ts +7 -0
- package/dist/types/runtime/effect/adapter.d.ts +4 -13
- package/dist/types/runtime/effect/backend-federation/entry.d.ts +2 -0
- package/dist/types/runtime/effect/backend-federation/identity.d.ts +30 -0
- package/dist/types/runtime/effect/backend-federation/load.d.ts +13 -0
- package/dist/types/runtime/effect/backend-federation/plugin.d.ts +3 -0
- package/dist/types/runtime/effect/backend-federation/remotes.d.ts +2 -0
- package/dist/types/runtime/effect/backend-federation/runtime.d.ts +3 -0
- package/dist/types/runtime/effect/backend-federation/types.d.ts +73 -0
- package/dist/types/runtime/effect/backend-federation/utils.d.ts +2 -0
- package/dist/types/runtime/effect/backend-federation-manifest/errors.d.ts +11 -0
- package/dist/types/runtime/effect/backend-federation-manifest/index.d.ts +6 -0
- package/dist/types/runtime/effect/backend-federation-manifest/load.d.ts +3 -0
- package/dist/types/runtime/effect/backend-federation-manifest/metadata.d.ts +18 -0
- package/dist/types/runtime/effect/backend-federation-manifest/reference.d.ts +4 -0
- package/dist/types/runtime/effect/backend-federation-manifest/remote.d.ts +3 -0
- package/dist/types/runtime/effect/backend-federation-manifest/types.d.ts +51 -0
- package/dist/types/runtime/effect/backend-federation-manifest/validation.d.ts +5 -0
- package/dist/types/runtime/effect/backend-federation-manifest.d.ts +1 -0
- package/dist/types/runtime/effect/backend-federation.d.ts +7 -0
- package/dist/types/runtime/effect/dispatch.d.ts +13 -0
- package/dist/types/runtime/effect/edge.d.ts +8 -8
- package/dist/types/runtime/effect/endpoint-contracts.d.ts +11 -7
- package/dist/types/runtime/effect/entry-shape.d.ts +31 -0
- package/dist/types/runtime/effect/handler/batch-handler.d.ts +11 -0
- package/dist/types/runtime/effect/handler/batch.d.ts +17 -0
- package/dist/types/runtime/effect/handler/definition.d.ts +17 -0
- package/dist/types/runtime/effect/handler/envelope.d.ts +13 -0
- package/dist/types/runtime/effect/handler/http.d.ts +14 -0
- package/dist/types/runtime/effect/handler/openapi.d.ts +4 -0
- package/dist/types/runtime/effect/handler/routing.d.ts +5 -0
- package/dist/types/runtime/effect/handler/rpc.d.ts +7 -0
- package/dist/types/runtime/effect/handler/types.d.ts +148 -0
- package/dist/types/runtime/effect/handler.d.ts +4 -190
- package/dist/types/runtime/effect/index.d.ts +3 -0
- package/dist/types/runtime/effect/module.d.ts +3 -2
- package/dist/types/runtime/effect/rpcSerialization.d.ts +3 -0
- package/dist/types/runtime/effect-client/batch.d.ts +2 -0
- package/dist/types/runtime/effect-client/envelope.d.ts +15 -0
- package/dist/types/runtime/effect-client/guards.d.ts +2 -0
- package/dist/types/runtime/effect-client/index.d.ts +1 -1
- package/dist/types/runtime/effect-client/request-context.d.ts +3 -0
- package/dist/types/runtime/effect-client/request.d.ts +1 -0
- package/dist/types/runtime/effect-client/runtime.d.ts +2 -68
- package/dist/types/runtime/effect-client/types.d.ts +68 -0
- package/dist/types/runtime/hono/adapter.d.ts +14 -8
- package/dist/types/utils/client-generator/files.d.ts +28 -0
- package/dist/types/utils/client-generator/generate.d.ts +26 -0
- package/dist/types/utils/client-generator/index.d.ts +7 -0
- package/dist/types/utils/client-generator/package-json.d.ts +16 -0
- package/dist/types/utils/client-generator/write-package.d.ts +6 -0
- package/dist/types/utils/clientGenerator.d.ts +2 -37
- package/dist/types/utils/crossProjectServerPolicy.d.ts +3 -2
- package/dist/types/utils/effect-client-generator/generator.d.ts +10 -0
- package/dist/types/utils/effect-client-generator/index.d.ts +4 -0
- package/dist/types/utils/effect-client-generator/paths.d.ts +5 -0
- package/dist/types/utils/effect-client-generator/rendering.d.ts +4 -0
- package/dist/types/utils/effect-client-generator/runtime.d.ts +12 -0
- package/dist/types/utils/effect-client-generator/types.d.ts +27 -0
- package/dist/types/utils/effectClientGenerator.d.ts +2 -41
- package/dist/types/utils/effectSourceLoader.d.ts +15 -0
- package/package.json +57 -33
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export * as OpenTelemetry from '@effect/opentelemetry';
|
|
2
|
+
export * from './backend-federation';
|
|
3
|
+
export { BACKEND_FEDERATION_CONTRACT_VERSION, BACKEND_FEDERATION_EFFECT_EXPOSE, BACKEND_FEDERATION_MANIFEST_FILE, BACKEND_FEDERATION_NODE_ADAPTER_VERSION, type BackendFederatedEffectApiModule, type BackendFederationEntryExports, type BackendFederationLoadEntryPluginOptions, type BackendFederationRemote, type BackendFederationRuntimeOptions, createBackendFederationLoadEntryPlugin, createBackendFederationRuntime, loadBackendFederatedEffectApi, } from './backend-federation';
|
|
4
|
+
export { type BackendFederationManifest, BackendFederationManifestAdapterError, type BackendFederationManifestAdapterErrorCode, type BackendFederationManifestAdapterFallback, type BackendFederationManifestAdapterOptions, type BackendFederationManifestFetchResponse, type BackendFederationVersionBoundaryExpectation, loadBackendFederatedEffectApiFromManifest, loadBackendFederationManifest, resolveBackendFederationRemoteFromManifest, } from './backend-federation-manifest';
|
|
2
5
|
export { type CreateEffectOperationContextOptions, createEffectOperationContext, type EffectContext, runWithEffectContext, useEffectContext, useOperationContext, } from './context';
|
|
3
6
|
export { createEffectBffEdgeHandler, createEffectBffTestHandler, dispatchEffectBffRequest, } from './edge';
|
|
4
7
|
export * from './handler';
|
|
@@ -17,11 +17,11 @@ export type EffectApiModule = {
|
|
|
17
17
|
createHandler?: EffectBffHandlerFactory;
|
|
18
18
|
default?: unknown;
|
|
19
19
|
};
|
|
20
|
-
|
|
20
|
+
type LoadedEffectBffHandler = {
|
|
21
21
|
handler: EffectBffRequestHandler;
|
|
22
22
|
dispose?: () => Promise<void>;
|
|
23
23
|
};
|
|
24
|
-
|
|
24
|
+
type ResolveEffectBffModuleHandlerOptions = {
|
|
25
25
|
openapi?: EffectBffOpenApiConfig;
|
|
26
26
|
dataPlatform?: EffectDataPlatformValidationOptions;
|
|
27
27
|
/**
|
|
@@ -33,3 +33,4 @@ export type ResolveEffectBffModuleHandlerOptions = {
|
|
|
33
33
|
onWarning?: (message: string) => void;
|
|
34
34
|
};
|
|
35
35
|
export declare function resolveEffectBffModuleHandler(mod: EffectApiModule, options?: ResolveEffectBffModuleHandlerOptions): Promise<LoadedEffectBffHandler | null>;
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { RpcSerialization } from 'effect/unstable/rpc';
|
|
2
|
+
import type { EffectRpcSerialization } from './handler/types';
|
|
3
|
+
export declare function getRpcSerializationLayer(serialization: EffectRpcSerialization | undefined): import("effect/Layer").Layer<RpcSerialization.RpcSerialization, never, never>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { EffectOperationDescriptor, EffectRequestContext, EffectRequestContextInput, GeneratedEffectClientConfig, GeneratedEffectEndpoint } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Resolves the current page origin with a configurable fallback. Single
|
|
4
|
+
* implementation shared by the configure() bootstrap and the data envelope
|
|
5
|
+
* (the generated template previously duplicated data-platform's
|
|
6
|
+
* `resolveRuntimeOrigin` with a different fallback).
|
|
7
|
+
*/
|
|
8
|
+
export declare const resolveOrigin: (defaultOrigin: string) => string;
|
|
9
|
+
export declare const prepareEffectRequest: (options: {
|
|
10
|
+
endpoint: GeneratedEffectEndpoint;
|
|
11
|
+
operation: EffectOperationDescriptor;
|
|
12
|
+
request: unknown;
|
|
13
|
+
config: GeneratedEffectClientConfig;
|
|
14
|
+
createEffectRequestContext: (requestContext: EffectRequestContextInput) => EffectRequestContext;
|
|
15
|
+
}) => Record<string, unknown>;
|
|
@@ -53,6 +53,6 @@ export type EffectRpcClientHandle<Rpcs extends Rpc.Any, Flatten extends boolean
|
|
|
53
53
|
export declare function view<T>(): <const Selection extends EffectViewSelection<T>>(selection: Selection) => Selection;
|
|
54
54
|
export declare function mask<T, const Selection extends EffectViewSelection<T>>(value: T, selection: Selection): EffectViewData<T, Selection>;
|
|
55
55
|
export declare function runEffectView<T, const Selection extends EffectViewSelection<T>>(request: PromiseLike<T>, selection: Selection): Promise<EffectViewData<T, Selection>>;
|
|
56
|
-
export declare function makeEffectHttpApiClient<ApiId extends string, Groups extends HttpApiGroup.
|
|
56
|
+
export declare function makeEffectHttpApiClient<ApiId extends string, Groups extends HttpApiGroup.Constraint>(api: HttpApi.HttpApi<ApiId, Groups>, options?: EffectHttpApiClientOptions): Effect.Effect<HttpApiClient.Client<Groups, never, never>, never, HttpApiGroup.MiddlewareClient<Groups>>;
|
|
57
57
|
export declare function makeEffectRpcClient<Rpcs extends Rpc.Any, const Flatten extends boolean = false>(group: RpcGroup.RpcGroup<Rpcs>, options: EffectRpcClientOptions<Rpcs, Flatten>): Effect.Effect<EffectRpcClientHandle<Rpcs, Flatten>, EffectRpcClientError, never>;
|
|
58
58
|
export declare const runEffectRequest: <A, E>(effect: Effect.Effect<A, E>, options?: Effect.RunOptions | undefined) => Promise<A>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { EffectRequestContext, EffectRequestContextInput, EffectRequestRuntime } from './types';
|
|
2
|
+
export declare const createEffectRequestContext: (createRequestContextHeaders: EffectRequestRuntime['createRequestContextHeaders'], requestContext: EffectRequestContextInput) => EffectRequestContext;
|
|
3
|
+
export declare const applyRequestContext: (normalizedRequest: Record<string, unknown>, request: unknown, createRequestContext: (requestContext: EffectRequestContextInput) => EffectRequestContext) => Record<string, unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const normalizeRequest: (method: string, request: unknown) => Record<string, unknown>;
|
|
@@ -1,71 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
group: string;
|
|
4
|
-
endpoint: string;
|
|
5
|
-
method: string;
|
|
6
|
-
routePath: string;
|
|
7
|
-
/** Per-endpoint operation contract hash (bff-core hash). */
|
|
8
|
-
schemaHash: string;
|
|
9
|
-
operationVersion: number;
|
|
10
|
-
};
|
|
11
|
-
export type GeneratedEffectBatchConfig = {
|
|
12
|
-
enabled: boolean;
|
|
13
|
-
endpoint: string;
|
|
14
|
-
flushIntervalMs: number;
|
|
15
|
-
maxBatchSize: number;
|
|
16
|
-
maxBatchBytes: number;
|
|
17
|
-
requestTimeoutMs: number;
|
|
18
|
-
allowedMethods: string[];
|
|
19
|
-
};
|
|
20
|
-
export type GeneratedEffectClientConfig = {
|
|
21
|
-
appNamespace: string;
|
|
22
|
-
/** Cross-project producer id; absent for same-project clients. */
|
|
23
|
-
requestId?: string;
|
|
24
|
-
port: number;
|
|
25
|
-
/** Resolve the port from process.env.PORT first (server bundles). */
|
|
26
|
-
useEnvPort?: boolean;
|
|
27
|
-
defaultOrigin: string;
|
|
28
|
-
httpMethodDecider?: string;
|
|
29
|
-
batch: GeneratedEffectBatchConfig;
|
|
30
|
-
};
|
|
31
|
-
export type EffectOperationDescriptor = {
|
|
32
|
-
appNamespace: string;
|
|
33
|
-
apiId: string;
|
|
34
|
-
group: string;
|
|
35
|
-
endpoint: string;
|
|
36
|
-
operationId: string;
|
|
37
|
-
routePath: string;
|
|
38
|
-
method: string;
|
|
39
|
-
operationVersion: number;
|
|
40
|
-
schemaHash: string;
|
|
41
|
-
version: number;
|
|
42
|
-
};
|
|
43
|
-
export type EffectClientOperation = (request?: unknown) => Promise<unknown>;
|
|
44
|
-
export type EffectClientGroup = Record<string, EffectClientOperation>;
|
|
45
|
-
export type EffectClient = Record<string, EffectClientGroup>;
|
|
46
|
-
export type EffectOperationManifest = Record<string, Record<string, EffectOperationDescriptor>>;
|
|
47
|
-
export type EffectRequestContextInput = Record<string, unknown>;
|
|
48
|
-
export type EffectRequestContext = {
|
|
49
|
-
headers: Record<string, string>;
|
|
50
|
-
} & Record<string, unknown>;
|
|
51
|
-
/** Structural slice of `@modern-js/create-request` the runtime relies on. */
|
|
52
|
-
export type EffectRequestRuntime = {
|
|
53
|
-
createRequest: (options: {
|
|
54
|
-
path: string;
|
|
55
|
-
method: string;
|
|
56
|
-
port: number | string;
|
|
57
|
-
operationContext: Record<string, unknown>;
|
|
58
|
-
httpMethodDecider: string;
|
|
59
|
-
requestId?: string;
|
|
60
|
-
}) => (...args: unknown[]) => Promise<unknown>;
|
|
61
|
-
configure?: (options: Record<string, unknown>) => void;
|
|
62
|
-
createRequestContextHeaders?: (input: EffectRequestContextInput) => Record<string, string>;
|
|
63
|
-
};
|
|
64
|
-
export type GeneratedEffectClientModule = {
|
|
65
|
-
client: EffectClient;
|
|
66
|
-
operationManifest: EffectOperationManifest;
|
|
67
|
-
createEffectRequestContext: (requestContext: EffectRequestContextInput) => EffectRequestContext;
|
|
68
|
-
};
|
|
1
|
+
import type { EffectRequestRuntime, GeneratedEffectClientConfig, GeneratedEffectClientModule, GeneratedEffectEndpoint } from './types';
|
|
2
|
+
export type { EffectClient, EffectClientGroup, EffectClientOperation, EffectOperationDescriptor, EffectOperationManifest, EffectRequestContext, EffectRequestContextInput, EffectRequestRuntime, GeneratedEffectBatchConfig, GeneratedEffectClientConfig, GeneratedEffectClientModule, GeneratedEffectEndpoint, } from './types';
|
|
69
3
|
export declare const createGeneratedEffectClient: (manifest: {
|
|
70
4
|
endpoints: GeneratedEffectEndpoint[];
|
|
71
5
|
}, config: GeneratedEffectClientConfig, requestRuntime: EffectRequestRuntime) => GeneratedEffectClientModule;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export type GeneratedEffectEndpoint = {
|
|
2
|
+
apiId: string;
|
|
3
|
+
group: string;
|
|
4
|
+
endpoint: string;
|
|
5
|
+
method: string;
|
|
6
|
+
routePath: string;
|
|
7
|
+
/** Per-endpoint operation contract hash (bff-core hash). */
|
|
8
|
+
schemaHash: string;
|
|
9
|
+
operationVersion: number;
|
|
10
|
+
};
|
|
11
|
+
export type GeneratedEffectBatchConfig = {
|
|
12
|
+
enabled: boolean;
|
|
13
|
+
endpoint: string;
|
|
14
|
+
flushIntervalMs: number;
|
|
15
|
+
maxBatchSize: number;
|
|
16
|
+
maxBatchBytes: number;
|
|
17
|
+
requestTimeoutMs: number;
|
|
18
|
+
allowedMethods: string[];
|
|
19
|
+
};
|
|
20
|
+
export type GeneratedEffectClientConfig = {
|
|
21
|
+
appNamespace: string;
|
|
22
|
+
/** Cross-project producer id; absent for same-project clients. */
|
|
23
|
+
requestId?: string;
|
|
24
|
+
port: number;
|
|
25
|
+
/** Resolve the port from process.env.PORT first (server bundles). */
|
|
26
|
+
useEnvPort?: boolean;
|
|
27
|
+
defaultOrigin: string;
|
|
28
|
+
httpMethodDecider?: string;
|
|
29
|
+
batch: GeneratedEffectBatchConfig;
|
|
30
|
+
};
|
|
31
|
+
export type EffectOperationDescriptor = {
|
|
32
|
+
appNamespace: string;
|
|
33
|
+
apiId: string;
|
|
34
|
+
group: string;
|
|
35
|
+
endpoint: string;
|
|
36
|
+
operationId: string;
|
|
37
|
+
routePath: string;
|
|
38
|
+
method: string;
|
|
39
|
+
operationVersion: number;
|
|
40
|
+
schemaHash: string;
|
|
41
|
+
version: number;
|
|
42
|
+
};
|
|
43
|
+
export type EffectClientOperation = (request?: unknown) => Promise<unknown>;
|
|
44
|
+
export type EffectClientGroup = Record<string, EffectClientOperation>;
|
|
45
|
+
export type EffectClient = Record<string, EffectClientGroup>;
|
|
46
|
+
export type EffectOperationManifest = Record<string, Record<string, EffectOperationDescriptor>>;
|
|
47
|
+
export type EffectRequestContextInput = Record<string, unknown>;
|
|
48
|
+
export type EffectRequestContext = {
|
|
49
|
+
headers: Record<string, string>;
|
|
50
|
+
} & Record<string, unknown>;
|
|
51
|
+
/** Structural slice of `@modern-js/create-request` the runtime relies on. */
|
|
52
|
+
export type EffectRequestRuntime = {
|
|
53
|
+
createRequest: (options: {
|
|
54
|
+
path: string;
|
|
55
|
+
method: string;
|
|
56
|
+
port: number | string;
|
|
57
|
+
operationContext: Record<string, unknown>;
|
|
58
|
+
httpMethodDecider: string;
|
|
59
|
+
requestId?: string;
|
|
60
|
+
}) => (...args: unknown[]) => Promise<unknown>;
|
|
61
|
+
configure?: (options: Record<string, unknown>) => void;
|
|
62
|
+
createRequestContextHeaders?: (input: EffectRequestContextInput) => Record<string, string>;
|
|
63
|
+
};
|
|
64
|
+
export type GeneratedEffectClientModule = {
|
|
65
|
+
client: EffectClient;
|
|
66
|
+
operationManifest: EffectOperationManifest;
|
|
67
|
+
createEffectRequestContext: (requestContext: EffectRequestContextInput) => EffectRequestContext;
|
|
68
|
+
};
|
|
@@ -1,22 +1,28 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { Hono } from '@modern-js/server-core';
|
|
1
|
+
import type { ServerMiddleware, ServerPluginAPI } from '@modern-js/server-core';
|
|
3
2
|
import { type ResolvedCrossProjectPolicy } from '../../utils/crossProjectServerPolicy';
|
|
4
3
|
interface MiddlewareOptions {
|
|
5
|
-
prefix
|
|
4
|
+
prefix?: string;
|
|
6
5
|
enableHandleWeb?: boolean;
|
|
7
6
|
}
|
|
8
7
|
export declare class HonoAdapter {
|
|
9
8
|
apiMiddleware: ServerMiddleware[];
|
|
10
|
-
apiServer: Hono | null;
|
|
11
9
|
api: ServerPluginAPI;
|
|
12
10
|
isHono: boolean;
|
|
13
11
|
prefix: string;
|
|
14
12
|
crossProjectPolicy: ResolvedCrossProjectPolicy | undefined;
|
|
15
13
|
constructor(api: ServerPluginAPI);
|
|
16
14
|
setHandlers: () => Promise<void>;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Register the BFF API routes as ordinary server middlewares.
|
|
17
|
+
*
|
|
18
|
+
* Dev and prod now share this single path: the routes are pushed straight
|
|
19
|
+
* into the server's middleware list. In dev, hot updates are handled by the
|
|
20
|
+
* unified `@modern-js/server` runtime reload (which rebuilds the whole
|
|
21
|
+
* runtime — including this plugin — from scratch), so BFF no longer needs its
|
|
22
|
+
* own swappable Hono sub-app / dynamic dispatch middleware.
|
|
23
|
+
*/
|
|
24
|
+
registerMiddleware: (options?: MiddlewareOptions) => Promise<void>;
|
|
25
|
+
private handleRouteError;
|
|
26
|
+
private withErrorBoundary;
|
|
21
27
|
}
|
|
22
28
|
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface FileDetails {
|
|
2
|
+
resourcePath: string;
|
|
3
|
+
source: string;
|
|
4
|
+
targetDir: string;
|
|
5
|
+
name: string;
|
|
6
|
+
absTargetDir: string;
|
|
7
|
+
relativeTargetDistDir: string;
|
|
8
|
+
exportKey: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const API_DIR = "api";
|
|
11
|
+
export declare const PLUGIN_DIR = "plugin";
|
|
12
|
+
export declare const RUNTIME_DIR = "runtime";
|
|
13
|
+
export declare const CLIENT_DIR = "client";
|
|
14
|
+
export declare const EXPORT_PREFIX = "./api/";
|
|
15
|
+
export declare const TYPE_PREFIX = "api/";
|
|
16
|
+
export declare const GENERATED_RUNTIME_DIRS: string[];
|
|
17
|
+
export declare const toPosixPath: (p: string) => string;
|
|
18
|
+
export declare const posixJoin: (...args: string[]) => string;
|
|
19
|
+
export declare function createFileDetails(options: {
|
|
20
|
+
appDirectory: string;
|
|
21
|
+
baseDirectory: string;
|
|
22
|
+
resourcePath: string;
|
|
23
|
+
source: string;
|
|
24
|
+
relativeDistPath: string;
|
|
25
|
+
}): FileDetails;
|
|
26
|
+
export declare function readDirectoryFiles(appDirectory: string, directory: string, relativeDistPath: string): Promise<FileDetails[]>;
|
|
27
|
+
export declare function writeTargetFile(absTargetDir: string, content: string): Promise<void>;
|
|
28
|
+
export declare function copyFiles(from: string, to: string): Promise<void>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { HttpMethodDecider } from '@modern-js/types';
|
|
2
|
+
export type APILoaderOptions = {
|
|
3
|
+
prefix: string;
|
|
4
|
+
appDir: string;
|
|
5
|
+
apiDir: string;
|
|
6
|
+
lambdaDir: string;
|
|
7
|
+
existLambda: boolean;
|
|
8
|
+
port?: number;
|
|
9
|
+
requestCreator?: string;
|
|
10
|
+
httpMethodDecider?: HttpMethodDecider;
|
|
11
|
+
relativeDistPath: string;
|
|
12
|
+
relativeApiPath: string;
|
|
13
|
+
bffRuntimeFramework?: 'hono' | 'effect';
|
|
14
|
+
effectEntry?: string;
|
|
15
|
+
effectDataPlatformBatch?: {
|
|
16
|
+
enabled?: boolean;
|
|
17
|
+
endpoint?: string;
|
|
18
|
+
flushIntervalMs?: number;
|
|
19
|
+
maxBatchSize?: number;
|
|
20
|
+
maxBatchBytes?: number;
|
|
21
|
+
requestTimeoutMs?: number;
|
|
22
|
+
allowedMethods?: string[];
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export declare function clientGenerator(draftOptions: APILoaderOptions): Promise<void>;
|
|
26
|
+
export default clientGenerator;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type { FileDetails } from './files';
|
|
2
|
+
export { copyFiles, createFileDetails, readDirectoryFiles, writeTargetFile, } from './files';
|
|
3
|
+
export type { APILoaderOptions } from './generate';
|
|
4
|
+
export { clientGenerator, default } from './generate';
|
|
5
|
+
export type { PackageJsonLike } from './package-json';
|
|
6
|
+
export { getClientPackageName, getPackageName, mergePackageJson, } from './package-json';
|
|
7
|
+
export { setPackage, writeClientModuleBoundary } from './write-package';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type PackageJsonLike = {
|
|
2
|
+
files?: string[];
|
|
3
|
+
typesVersions?: Record<string, Record<string, string[]>>;
|
|
4
|
+
exports?: Record<string, {
|
|
5
|
+
import?: string;
|
|
6
|
+
require?: string;
|
|
7
|
+
types?: string;
|
|
8
|
+
}>;
|
|
9
|
+
};
|
|
10
|
+
export declare function getPackageName(appDirectory: string): string | undefined;
|
|
11
|
+
export declare function mergePackageJson(packageJson: PackageJsonLike, files: string[], typesVersion: Record<string, Record<string, string[]>>, exports: Record<string, {
|
|
12
|
+
import?: string;
|
|
13
|
+
require?: string;
|
|
14
|
+
types?: string;
|
|
15
|
+
}>, relativeDistPath: string): void;
|
|
16
|
+
export declare function getClientPackageName(appDirectory: string): string;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function writeClientModuleBoundary(appDirectory: string, relativeDistPath: string): Promise<void>;
|
|
2
|
+
export declare function setPackage(files: {
|
|
3
|
+
exportKey: string;
|
|
4
|
+
targetDir: string;
|
|
5
|
+
relativeTargetDistDir: string;
|
|
6
|
+
}[], appDirectory: string, relativeDistPath: string): Promise<void>;
|
|
@@ -1,37 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
prefix: string;
|
|
4
|
-
appDir: string;
|
|
5
|
-
apiDir: string;
|
|
6
|
-
lambdaDir: string;
|
|
7
|
-
existLambda: boolean;
|
|
8
|
-
port?: number;
|
|
9
|
-
requestCreator?: string;
|
|
10
|
-
httpMethodDecider?: HttpMethodDecider;
|
|
11
|
-
relativeDistPath: string;
|
|
12
|
-
relativeApiPath: string;
|
|
13
|
-
bffRuntimeFramework?: 'hono' | 'effect';
|
|
14
|
-
effectEntry?: string;
|
|
15
|
-
effectDataPlatformBatch?: {
|
|
16
|
-
enabled?: boolean;
|
|
17
|
-
endpoint?: string;
|
|
18
|
-
flushIntervalMs?: number;
|
|
19
|
-
maxBatchSize?: number;
|
|
20
|
-
maxBatchBytes?: number;
|
|
21
|
-
requestTimeoutMs?: number;
|
|
22
|
-
allowedMethods?: string[];
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
interface FileDetails {
|
|
26
|
-
resourcePath: string;
|
|
27
|
-
source: string;
|
|
28
|
-
targetDir: string;
|
|
29
|
-
name: string;
|
|
30
|
-
absTargetDir: string;
|
|
31
|
-
relativeTargetDistDir: string;
|
|
32
|
-
exportKey: string;
|
|
33
|
-
}
|
|
34
|
-
export declare function readDirectoryFiles(appDirectory: string, directory: string, relativeDistPath: string): Promise<FileDetails[]>;
|
|
35
|
-
export declare function copyFiles(from: string, to: string): Promise<void>;
|
|
36
|
-
declare function clientGenerator(draftOptions: APILoaderOptions): Promise<void>;
|
|
37
|
-
export default clientGenerator;
|
|
1
|
+
export * from './client-generator';
|
|
2
|
+
export { default } from './client-generator';
|
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
*
|
|
12
12
|
* The envelope/operation-context headers are client-asserted; see the threat
|
|
13
13
|
* model in `@modern-js/bff-core` `security/crossProjectPolicy.ts`. Operators
|
|
14
|
-
*
|
|
15
|
-
*
|
|
14
|
+
* Production namespace allowlists require `verifyProducerIdentity` to bind
|
|
15
|
+
* the namespace to a verified channel; without it, only non-production keeps
|
|
16
|
+
* the advisory client-asserted allowlist path.
|
|
16
17
|
*/
|
|
17
18
|
import { type OperationContractSource, type ResolvedCrossProjectPolicy } from '@modern-js/bff-core';
|
|
18
19
|
import type { ServerPluginAPI } from '@modern-js/server-core';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { EffectClientCodegenOptions, GeneratedEffectClientArtifacts } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Generates the Effect client module plus its type declaration. The module
|
|
4
|
+
* body is a thin manifest + one call into
|
|
5
|
+
* `@modern-js/plugin-bff/effect-client-runtime`; the declaration preserves
|
|
6
|
+
* the group/endpoint structure of the HttpApi instead of erasing it to
|
|
7
|
+
* `Record<string, ...>`.
|
|
8
|
+
*/
|
|
9
|
+
export declare function generateEffectClient(options: EffectClientCodegenOptions): Promise<GeneratedEffectClientArtifacts | null>;
|
|
10
|
+
export declare function generateEffectClientCode(options: EffectClientCodegenOptions): Promise<string | null>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { generateEffectClient, generateEffectClientCode } from './generator';
|
|
2
|
+
export { resolveEffectEntryFile } from './paths';
|
|
3
|
+
export { renderEffectClientDeclaration } from './rendering';
|
|
4
|
+
export type { EffectClientCodegenOptions, GeneratedEffectClientArtifacts, } from './types';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type EffectEndpointMeta } from '../../runtime/effect/endpoint-contracts';
|
|
2
|
+
import type { EffectClientCodegenOptions } from './types';
|
|
3
|
+
export declare function renderEffectClientCode(endpoints: EffectEndpointMeta[], options: EffectClientCodegenOptions): string;
|
|
4
|
+
export declare function renderEffectClientDeclaration(endpoints?: EffectEndpointMeta[]): string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type HttpApiLike, type HttpApiReflect } from '../../runtime/effect/endpoint-contracts';
|
|
2
|
+
type HttpApiRuntime = {
|
|
3
|
+
isHttpApi: (value: unknown) => boolean;
|
|
4
|
+
reflect: HttpApiReflect;
|
|
5
|
+
};
|
|
6
|
+
export declare function getHttpApiRuntime(): Promise<HttpApiRuntime>;
|
|
7
|
+
export declare function loadEffectApi(options: {
|
|
8
|
+
appDir: string;
|
|
9
|
+
resourcePath: string;
|
|
10
|
+
onDependency?: (dependency: string) => void;
|
|
11
|
+
}): Promise<HttpApiLike | null>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { HttpMethodDecider } from '@modern-js/types';
|
|
2
|
+
import type { EffectEndpointMeta } from '../../runtime/effect/endpoint-contracts';
|
|
3
|
+
export type EffectClientCodegenOptions = {
|
|
4
|
+
appDir: string;
|
|
5
|
+
apiDir: string;
|
|
6
|
+
resourcePath: string;
|
|
7
|
+
prefix: string;
|
|
8
|
+
port: number;
|
|
9
|
+
target?: string;
|
|
10
|
+
requestCreator?: string;
|
|
11
|
+
httpMethodDecider?: HttpMethodDecider;
|
|
12
|
+
onDependency?: (dependency: string) => void;
|
|
13
|
+
dataPlatformBatch?: {
|
|
14
|
+
enabled?: boolean;
|
|
15
|
+
endpoint?: string;
|
|
16
|
+
flushIntervalMs?: number;
|
|
17
|
+
maxBatchSize?: number;
|
|
18
|
+
maxBatchBytes?: number;
|
|
19
|
+
requestTimeoutMs?: number;
|
|
20
|
+
allowedMethods?: string[];
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
export type GeneratedEffectClientArtifacts = {
|
|
24
|
+
code: string;
|
|
25
|
+
declaration: string;
|
|
26
|
+
endpoints: EffectEndpointMeta[];
|
|
27
|
+
};
|
|
@@ -1,41 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export type EffectClientCodegenOptions = {
|
|
4
|
-
appDir: string;
|
|
5
|
-
apiDir: string;
|
|
6
|
-
resourcePath: string;
|
|
7
|
-
prefix: string;
|
|
8
|
-
port: number;
|
|
9
|
-
target?: string;
|
|
10
|
-
requestCreator?: string;
|
|
11
|
-
httpMethodDecider?: HttpMethodDecider;
|
|
12
|
-
dataPlatformBatch?: {
|
|
13
|
-
enabled?: boolean;
|
|
14
|
-
endpoint?: string;
|
|
15
|
-
flushIntervalMs?: number;
|
|
16
|
-
maxBatchSize?: number;
|
|
17
|
-
maxBatchBytes?: number;
|
|
18
|
-
requestTimeoutMs?: number;
|
|
19
|
-
allowedMethods?: string[];
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
export type GeneratedEffectClientArtifacts = {
|
|
23
|
-
code: string;
|
|
24
|
-
declaration: string;
|
|
25
|
-
endpoints: EffectEndpointMeta[];
|
|
26
|
-
};
|
|
27
|
-
export declare function renderEffectClientDeclaration(endpoints?: EffectEndpointMeta[]): string;
|
|
28
|
-
/**
|
|
29
|
-
* Generates the Effect client module plus its type declaration. The module
|
|
30
|
-
* body is a thin manifest + one call into
|
|
31
|
-
* `@modern-js/plugin-bff/effect-client-runtime`; the declaration preserves
|
|
32
|
-
* the group/endpoint structure of the HttpApi instead of erasing it to
|
|
33
|
-
* `Record<string, ...>`.
|
|
34
|
-
*/
|
|
35
|
-
export declare function generateEffectClient(options: EffectClientCodegenOptions): Promise<GeneratedEffectClientArtifacts | null>;
|
|
36
|
-
export declare function generateEffectClientCode(options: EffectClientCodegenOptions): Promise<string | null>;
|
|
37
|
-
export declare function resolveEffectEntryFile(options: {
|
|
38
|
-
appDir: string;
|
|
39
|
-
apiDir: string;
|
|
40
|
-
effectEntry?: string;
|
|
41
|
-
}): string | false | undefined;
|
|
1
|
+
export type { EffectClientCodegenOptions, GeneratedEffectClientArtifacts, } from './effect-client-generator';
|
|
2
|
+
export { generateEffectClient, generateEffectClientCode, renderEffectClientDeclaration, resolveEffectEntryFile, } from './effect-client-generator';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type EffectSourceLoaderOptions = {
|
|
2
|
+
resourcePath: string;
|
|
3
|
+
appDir?: string;
|
|
4
|
+
onDependency?: (dependency: string) => void;
|
|
5
|
+
};
|
|
6
|
+
export declare function bundleEffectEntryForNode(options: {
|
|
7
|
+
appDir: string;
|
|
8
|
+
entryPath: string;
|
|
9
|
+
format: 'cjs' | 'esm';
|
|
10
|
+
}): Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* Loads an Effect source entry as native ESM while keeping its complete local
|
|
13
|
+
* source graph observable by the framework watcher.
|
|
14
|
+
*/
|
|
15
|
+
export declare function loadEffectSourceModule(options: EffectSourceLoaderOptions): Promise<unknown>;
|