@bleedingdev/modern-js-plugin-bff-extensions 3.9.0-ultramodern.4 → 3.9.0-ultramodern.6

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.
Files changed (152) hide show
  1. package/README.md +6 -3
  2. package/dist/cjs/backend-federation/edge-runtime.js +3 -15
  3. package/dist/cjs/backend-federation/edge.js +8 -9
  4. package/dist/cjs/backend-federation/identity.js +17 -23
  5. package/dist/cjs/backend-federation/index.js +5 -5
  6. package/dist/cjs/backend-federation/load.js +3 -13
  7. package/dist/cjs/backend-federation/validate-loaded.js +2 -4
  8. package/dist/cjs/backend-federation-manifest/load.js +9 -7
  9. package/dist/cjs/backend-federation-manifest/metadata.js +3 -3
  10. package/dist/cjs/backend-federation-manifest/remote.js +2 -2
  11. package/dist/cjs/backend-federation-manifest/validation.js +7 -7
  12. package/dist/cjs/cross-project-policy/evaluation.js +3 -3
  13. package/dist/cjs/cross-project-policy/node.js +4 -3
  14. package/dist/cjs/{backend-federation/legacy-warning.js → cross-project-policy/producer-runtime.js} +23 -5
  15. package/dist/cjs/effect-adapter/entry.js +1 -0
  16. package/dist/cjs/effect-adapter/index.js +9 -2
  17. package/dist/cjs/{client-generator → effect-source-loader}/built-entry.js +1 -1
  18. package/dist/cjs/{client-generator/runtime.js → effect-source-loader/http-api-runtime.js} +12 -20
  19. package/dist/cjs/effect-source-loader/index.js +14 -6
  20. package/dist/cjs/effect-source-loader/loader.js +6 -4
  21. package/dist/cjs/effect-source-loader/operation-contracts.js +83 -0
  22. package/dist/cjs/effect-source-loader/rspack-loader.js +73 -0
  23. package/dist/cjs/effect-source-loader/worker-runtime-wrapper.js +7 -50
  24. package/dist/cjs/hono/cross-project-policy.js +2 -1
  25. package/dist/cjs/hono/node.js +51 -0
  26. package/dist/esm/backend-federation/edge-runtime.mjs +2 -11
  27. package/dist/esm/backend-federation/edge.mjs +4 -5
  28. package/dist/esm/backend-federation/identity.mjs +17 -23
  29. package/dist/esm/backend-federation/index.mjs +1 -1
  30. package/dist/esm/backend-federation/load.mjs +2 -12
  31. package/dist/esm/backend-federation/validate-loaded.mjs +2 -4
  32. package/dist/esm/backend-federation-manifest/load.mjs +9 -7
  33. package/dist/esm/backend-federation-manifest/metadata.mjs +1 -1
  34. package/dist/esm/backend-federation-manifest/remote.mjs +1 -1
  35. package/dist/esm/backend-federation-manifest/validation.mjs +5 -5
  36. package/dist/esm/cross-project-policy/evaluation.mjs +1 -1
  37. package/dist/esm/cross-project-policy/node.mjs +2 -1
  38. package/dist/esm/cross-project-policy/producer-runtime.mjs +20 -0
  39. package/dist/esm/effect-adapter/entry.mjs +1 -0
  40. package/dist/esm/effect-adapter/index.mjs +5 -1
  41. package/dist/esm/{client-generator → effect-source-loader}/built-entry.mjs +1 -1
  42. package/dist/esm/effect-source-loader/http-api-runtime.mjs +19 -0
  43. package/dist/esm/effect-source-loader/index.mjs +4 -2
  44. package/dist/esm/effect-source-loader/loader.mjs +6 -4
  45. package/dist/esm/effect-source-loader/operation-contracts.mjs +45 -0
  46. package/dist/esm/effect-source-loader/rspack-loader.mjs +35 -0
  47. package/dist/esm/effect-source-loader/worker-runtime-wrapper.mjs +5 -45
  48. package/dist/esm/hono/cross-project-policy.mjs +2 -1
  49. package/dist/esm-node/backend-federation/edge-runtime.mjs +2 -11
  50. package/dist/esm-node/backend-federation/edge.mjs +4 -5
  51. package/dist/esm-node/backend-federation/identity.mjs +17 -23
  52. package/dist/esm-node/backend-federation/index.mjs +1 -1
  53. package/dist/esm-node/backend-federation/load.mjs +2 -12
  54. package/dist/esm-node/backend-federation/validate-loaded.mjs +2 -4
  55. package/dist/esm-node/backend-federation-manifest/load.mjs +9 -7
  56. package/dist/esm-node/backend-federation-manifest/metadata.mjs +1 -1
  57. package/dist/esm-node/backend-federation-manifest/remote.mjs +1 -1
  58. package/dist/esm-node/backend-federation-manifest/validation.mjs +5 -5
  59. package/dist/esm-node/cross-project-policy/evaluation.mjs +1 -1
  60. package/dist/esm-node/cross-project-policy/node.mjs +2 -1
  61. package/dist/esm-node/cross-project-policy/producer-runtime.mjs +21 -0
  62. package/dist/esm-node/effect-adapter/entry.mjs +1 -0
  63. package/dist/esm-node/effect-adapter/index.mjs +5 -1
  64. package/dist/esm-node/{client-generator → effect-source-loader}/built-entry.mjs +1 -1
  65. package/dist/esm-node/effect-source-loader/http-api-runtime.mjs +20 -0
  66. package/dist/esm-node/effect-source-loader/index.mjs +4 -2
  67. package/dist/esm-node/effect-source-loader/loader.mjs +6 -4
  68. package/dist/esm-node/effect-source-loader/operation-contracts.mjs +46 -0
  69. package/dist/esm-node/effect-source-loader/rspack-loader.mjs +37 -0
  70. package/dist/esm-node/effect-source-loader/worker-runtime-wrapper.mjs +5 -45
  71. package/dist/esm-node/hono/cross-project-policy.mjs +2 -1
  72. package/dist/esm-node/hono/node.mjs +14 -0
  73. package/dist/types/backend-federation/edge-runtime.d.ts +0 -5
  74. package/dist/types/backend-federation/edge.d.ts +1 -3
  75. package/dist/types/backend-federation/identity.d.ts +2 -11
  76. package/dist/types/backend-federation/index.d.ts +1 -1
  77. package/dist/types/backend-federation/load.d.ts +1 -7
  78. package/dist/types/backend-federation/node.d.ts +1 -3
  79. package/dist/types/backend-federation/types.d.ts +1 -7
  80. package/dist/types/backend-federation/validate-loaded.d.ts +1 -2
  81. package/dist/types/backend-federation-manifest/metadata.d.ts +0 -6
  82. package/dist/types/cross-project-policy/evaluation.d.ts +1 -1
  83. package/dist/types/cross-project-policy/node.d.ts +2 -1
  84. package/dist/types/cross-project-policy/producer-runtime.d.ts +20 -0
  85. package/dist/types/effect-adapter/entry.d.ts +1 -0
  86. package/dist/types/effect-adapter/index.d.ts +2 -0
  87. package/dist/types/effect-source-loader/index.d.ts +4 -2
  88. package/dist/types/effect-source-loader/operation-contracts.d.ts +8 -0
  89. package/dist/types/effect-source-loader/rspack-loader.d.ts +9 -0
  90. package/dist/types/effect-source-loader/worker-runtime-wrapper.d.ts +4 -22
  91. package/dist/types/hono/node.d.ts +4 -0
  92. package/package.json +48 -20
  93. package/src/backend-federation/edge-runtime.ts +2 -13
  94. package/src/backend-federation/edge.ts +9 -17
  95. package/src/backend-federation/identity.ts +9 -27
  96. package/src/backend-federation/index.ts +1 -1
  97. package/src/backend-federation/load.ts +7 -34
  98. package/src/backend-federation/node.ts +0 -11
  99. package/src/backend-federation/types.ts +1 -7
  100. package/src/backend-federation/validate-loaded.ts +2 -7
  101. package/src/backend-federation-manifest/load.ts +20 -14
  102. package/src/backend-federation-manifest/metadata.ts +1 -7
  103. package/src/backend-federation-manifest/remote.ts +1 -1
  104. package/src/backend-federation-manifest/validation.ts +10 -13
  105. package/src/cross-project-policy/evaluation.ts +1 -1
  106. package/src/cross-project-policy/node.ts +3 -3
  107. package/src/cross-project-policy/producer-runtime.ts +43 -0
  108. package/src/effect-adapter/entry.ts +1 -0
  109. package/src/effect-adapter/index.ts +5 -0
  110. package/src/{client-generator → effect-source-loader}/built-entry.ts +1 -3
  111. package/src/effect-source-loader/http-api-runtime.ts +39 -0
  112. package/src/effect-source-loader/index.ts +7 -5
  113. package/src/effect-source-loader/loader.ts +29 -23
  114. package/src/effect-source-loader/operation-contracts.ts +72 -0
  115. package/src/effect-source-loader/rspack-loader.ts +72 -0
  116. package/src/effect-source-loader/worker-runtime-wrapper.ts +5 -75
  117. package/src/hono/cross-project-policy.ts +2 -1
  118. package/src/hono/node.ts +24 -0
  119. package/dist/cjs/client-generator/generator.js +0 -73
  120. package/dist/cjs/client-generator/index.js +0 -54
  121. package/dist/cjs/client-generator/rendering.js +0 -253
  122. package/dist/cjs/client-generator/types.js +0 -18
  123. package/dist/esm/backend-federation/legacy-warning.mjs +0 -2
  124. package/dist/esm/client-generator/generator.mjs +0 -32
  125. package/dist/esm/client-generator/index.mjs +0 -3
  126. package/dist/esm/client-generator/rendering.mjs +0 -209
  127. package/dist/esm/client-generator/runtime.mjs +0 -27
  128. package/dist/esm/client-generator/types.mjs +0 -0
  129. package/dist/esm-node/backend-federation/legacy-warning.mjs +0 -3
  130. package/dist/esm-node/client-generator/generator.mjs +0 -33
  131. package/dist/esm-node/client-generator/index.mjs +0 -4
  132. package/dist/esm-node/client-generator/rendering.mjs +0 -210
  133. package/dist/esm-node/client-generator/runtime.mjs +0 -29
  134. package/dist/esm-node/client-generator/types.mjs +0 -1
  135. package/dist/types/backend-federation/legacy-warning.d.ts +0 -1
  136. package/dist/types/client-generator/generator.d.ts +0 -3
  137. package/dist/types/client-generator/index.d.ts +0 -4
  138. package/dist/types/client-generator/rendering.d.ts +0 -24
  139. package/dist/types/client-generator/types.d.ts +0 -33
  140. package/src/backend-federation/legacy-warning.ts +0 -2
  141. package/src/client-generator/generator.ts +0 -52
  142. package/src/client-generator/index.ts +0 -10
  143. package/src/client-generator/rendering.ts +0 -307
  144. package/src/client-generator/runtime.ts +0 -69
  145. package/src/client-generator/types.ts +0 -35
  146. /package/dist/cjs/{client-generator → effect-source-loader}/paths.js +0 -0
  147. /package/dist/esm/{client-generator → effect-source-loader}/paths.mjs +0 -0
  148. /package/dist/esm-node/{client-generator → effect-source-loader}/paths.mjs +0 -0
  149. /package/dist/types/{client-generator → effect-source-loader}/built-entry.d.ts +0 -0
  150. /package/dist/types/{client-generator/runtime.d.ts → effect-source-loader/http-api-runtime.d.ts} +0 -0
  151. /package/dist/types/{client-generator → effect-source-loader}/paths.d.ts +0 -0
  152. /package/src/{client-generator → effect-source-loader}/paths.ts +0 -0
@@ -1,69 +0,0 @@
1
- import {
2
- extractHttpApiFromModule,
3
- type HttpApiLike,
4
- type HttpApiReflect,
5
- } from '@modern-js/bff-effect/effect';
6
- import { compatibleRequire, upath as path } from '@modern-js/utils';
7
- import { loadEffectSourceModule } from '../effect-source-loader/loader';
8
-
9
- type HttpApiRuntime = {
10
- isHttpApi: (value: unknown) => boolean;
11
- reflect: HttpApiReflect;
12
- };
13
-
14
- let httpApiRuntimePromise: Promise<HttpApiRuntime> | undefined;
15
-
16
- function isRecord(value: unknown): value is Record<string, unknown> {
17
- return typeof value === 'object' && value !== null;
18
- }
19
-
20
- function isHttpApiRuntime(value: unknown): value is HttpApiRuntime {
21
- return (
22
- isRecord(value) &&
23
- typeof value.isHttpApi === 'function' &&
24
- typeof value.reflect === 'function'
25
- );
26
- }
27
-
28
- export function getHttpApiRuntime(): Promise<HttpApiRuntime> {
29
- if (httpApiRuntimePromise === undefined) {
30
- httpApiRuntimePromise = compatibleRequire('effect/unstable/httpapi', false)
31
- .catch(error => {
32
- const message = error instanceof Error ? error.message : String(error);
33
- if (!message.includes("Cannot find module 'effect/unstable/httpapi'")) {
34
- throw error;
35
- }
36
- const effectPackageJson = require.resolve('effect/package.json');
37
- const effectHttpApiRuntimePath = path.join(
38
- path.dirname(effectPackageJson),
39
- 'dist',
40
- 'unstable',
41
- 'httpapi',
42
- 'index.js',
43
- );
44
- return compatibleRequire(effectHttpApiRuntimePath, false);
45
- })
46
- .then(mod => {
47
- if (isRecord(mod) && isHttpApiRuntime(mod.HttpApi)) {
48
- return mod.HttpApi;
49
- }
50
- throw new Error(
51
- '[BFF][Effect] Unable to resolve HttpApi runtime from effect/unstable/httpapi.',
52
- );
53
- });
54
- }
55
-
56
- return httpApiRuntimePromise;
57
- }
58
-
59
- export function loadEffectApi(options: {
60
- appDir: string;
61
- resourcePath: string;
62
- onDependency?: (dependency: string) => void;
63
- }): Promise<HttpApiLike | null> {
64
- return getHttpApiRuntime().then(httpApiRuntime =>
65
- loadEffectSourceModule(options).then(mod =>
66
- extractHttpApiFromModule(mod, httpApiRuntime.isHttpApi),
67
- ),
68
- );
69
- }
@@ -1,35 +0,0 @@
1
- import type { OperationContractMap } from '@modern-js/bff-core';
2
- import type { EffectEndpointMeta } from '@modern-js/bff-effect/effect';
3
- import type { HttpMethodDecider } from '@modern-js/types';
4
-
5
- export type EffectClientCodegenOptions = {
6
- appDir: string;
7
- apiDir: string;
8
- resourcePath: string;
9
- prefix: string;
10
- port: number;
11
- target?: string;
12
- /** Producer identity used by cross-project clients and server contracts. */
13
- requestId?: string;
14
- requestCreator?: string;
15
- httpMethodDecider?: HttpMethodDecider;
16
- onDependency?: (dependency: string) => void;
17
- dataPlatformBatch?: {
18
- enabled?: boolean;
19
- endpoint?: string;
20
- flushIntervalMs?: number;
21
- maxBatchSize?: number;
22
- maxBatchBytes?: number;
23
- requestTimeoutMs?: number;
24
- allowedMethods?: string[];
25
- };
26
- };
27
-
28
- export type GeneratedEffectClientArtifacts = {
29
- code: string;
30
- declaration: string;
31
- endpoints: EffectEndpointMeta[];
32
- operationContracts: OperationContractMap;
33
- operationVersion: number;
34
- requestId: string;
35
- };