@modern-js/plugin-bff 3.0.2 → 3.0.4

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.
@@ -44,6 +44,7 @@ const before = [
44
44
  'custom-server-middleware',
45
45
  'render'
46
46
  ];
47
+ const kParentHonoVars = Symbol.for('modernjs.hono.parentVars');
47
48
  class HonoAdapter {
48
49
  wrapInArray(handler) {
49
50
  if (Array.isArray(handler)) return handler;
@@ -72,6 +73,15 @@ class HonoAdapter {
72
73
  if (!this.isHono) return;
73
74
  this.apiServer = new server_core_namespaceObject.Hono();
74
75
  this.apiServer.use('*', server_core_namespaceObject.run);
76
+ this.apiServer.use('*', async (c, next)=>{
77
+ const nodeReq = c.env?.node?.req;
78
+ const parentVars = nodeReq?.[kParentHonoVars];
79
+ if (parentVars && 'object' == typeof parentVars) {
80
+ delete nodeReq[kParentHonoVars];
81
+ for (const [key, value] of Object.entries(parentVars))if (void 0 === c.get(key)) c.set(key, value);
82
+ }
83
+ await next();
84
+ });
75
85
  this.apiMiddleware.forEach(({ path = '*', method = 'all', handler })=>{
76
86
  const handlers = this.wrapInArray(handler);
77
87
  if (0 === handlers.length) return;
@@ -119,6 +129,13 @@ class HonoAdapter {
119
129
  before,
120
130
  handler: async (c, next)=>{
121
131
  if (this.apiServer) {
132
+ const nodeReq = c.env?.node?.req;
133
+ if (nodeReq) {
134
+ const parentVars = c?.var;
135
+ nodeReq[kParentHonoVars] = parentVars && 'object' == typeof parentVars ? {
136
+ ...parentVars
137
+ } : parentVars;
138
+ }
122
139
  const response = await this.apiServer.fetch(c.req.raw, c.env);
123
140
  if (404 !== response.status) return new Response(response.body, response);
124
141
  }
@@ -6,6 +6,7 @@ const before = [
6
6
  'custom-server-middleware',
7
7
  'render'
8
8
  ];
9
+ const kParentHonoVars = Symbol.for('modernjs.hono.parentVars');
9
10
  class HonoAdapter {
10
11
  wrapInArray(handler) {
11
12
  if (Array.isArray(handler)) return handler;
@@ -34,6 +35,15 @@ class HonoAdapter {
34
35
  if (!this.isHono) return;
35
36
  this.apiServer = new Hono();
36
37
  this.apiServer.use('*', run);
38
+ this.apiServer.use('*', async (c, next)=>{
39
+ const nodeReq = c.env?.node?.req;
40
+ const parentVars = nodeReq?.[kParentHonoVars];
41
+ if (parentVars && 'object' == typeof parentVars) {
42
+ delete nodeReq[kParentHonoVars];
43
+ for (const [key, value] of Object.entries(parentVars))if (void 0 === c.get(key)) c.set(key, value);
44
+ }
45
+ await next();
46
+ });
37
47
  this.apiMiddleware.forEach(({ path = '*', method = 'all', handler })=>{
38
48
  const handlers = this.wrapInArray(handler);
39
49
  if (0 === handlers.length) return;
@@ -81,6 +91,13 @@ class HonoAdapter {
81
91
  before,
82
92
  handler: async (c, next)=>{
83
93
  if (this.apiServer) {
94
+ const nodeReq = c.env?.node?.req;
95
+ if (nodeReq) {
96
+ const parentVars = c?.var;
97
+ nodeReq[kParentHonoVars] = parentVars && 'object' == typeof parentVars ? {
98
+ ...parentVars
99
+ } : parentVars;
100
+ }
84
101
  const response = await this.apiServer.fetch(c.req.raw, c.env);
85
102
  if (404 !== response.status) return new Response(response.body, response);
86
103
  }
@@ -7,6 +7,7 @@ const before = [
7
7
  'custom-server-middleware',
8
8
  'render'
9
9
  ];
10
+ const kParentHonoVars = Symbol.for('modernjs.hono.parentVars');
10
11
  class HonoAdapter {
11
12
  wrapInArray(handler) {
12
13
  if (Array.isArray(handler)) return handler;
@@ -35,6 +36,15 @@ class HonoAdapter {
35
36
  if (!this.isHono) return;
36
37
  this.apiServer = new Hono();
37
38
  this.apiServer.use('*', run);
39
+ this.apiServer.use('*', async (c, next)=>{
40
+ const nodeReq = c.env?.node?.req;
41
+ const parentVars = nodeReq?.[kParentHonoVars];
42
+ if (parentVars && 'object' == typeof parentVars) {
43
+ delete nodeReq[kParentHonoVars];
44
+ for (const [key, value] of Object.entries(parentVars))if (void 0 === c.get(key)) c.set(key, value);
45
+ }
46
+ await next();
47
+ });
38
48
  this.apiMiddleware.forEach(({ path = '*', method = 'all', handler })=>{
39
49
  const handlers = this.wrapInArray(handler);
40
50
  if (0 === handlers.length) return;
@@ -82,6 +92,13 @@ class HonoAdapter {
82
92
  before,
83
93
  handler: async (c, next)=>{
84
94
  if (this.apiServer) {
95
+ const nodeReq = c.env?.node?.req;
96
+ if (nodeReq) {
97
+ const parentVars = c?.var;
98
+ nodeReq[kParentHonoVars] = parentVars && 'object' == typeof parentVars ? {
99
+ ...parentVars
100
+ } : parentVars;
101
+ }
85
102
  const response = await this.apiServer.fetch(c.req.raw, c.env);
86
103
  if (404 !== response.status) return new Response(response.body, response);
87
104
  }
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "3.0.2",
18
+ "version": "3.0.4",
19
19
  "types": "./dist/types/cli.d.ts",
20
20
  "main": "./dist/cjs/cli.js",
21
21
  "exports": {
@@ -77,30 +77,30 @@
77
77
  },
78
78
  "dependencies": {
79
79
  "@swc/helpers": "^0.5.17",
80
- "qs": "^6.14.1",
80
+ "qs": "^6.15.0",
81
81
  "type-is": "^1.6.18",
82
- "@modern-js/bff-core": "3.0.2",
83
- "@modern-js/builder": "3.0.2",
84
- "@modern-js/create-request": "3.0.2",
85
- "@modern-js/server-core": "3.0.2",
86
- "@modern-js/server-utils": "3.0.2",
87
- "@modern-js/utils": "3.0.2"
82
+ "@modern-js/bff-core": "3.0.4",
83
+ "@modern-js/builder": "3.0.4",
84
+ "@modern-js/create-request": "3.0.4",
85
+ "@modern-js/server-core": "3.0.4",
86
+ "@modern-js/server-utils": "3.0.4",
87
+ "@modern-js/utils": "3.0.4"
88
88
  },
89
89
  "devDependencies": {
90
90
  "@rsbuild/core": "2.0.0-beta.4",
91
- "@rslib/core": "0.19.5",
91
+ "@rslib/core": "0.19.6",
92
92
  "@types/node": "^20",
93
93
  "@types/qs": "^6.14.0",
94
94
  "@types/type-is": "^1.6.7",
95
95
  "memfs": "^3.5.3",
96
96
  "typescript": "^5",
97
97
  "zod": "^3.25.76",
98
- "@modern-js/bff-runtime": "3.0.2",
99
- "@modern-js/app-tools": "3.0.2",
98
+ "@modern-js/app-tools": "3.0.4",
99
+ "@modern-js/bff-runtime": "3.0.4",
100
+ "@modern-js/plugin": "3.0.4",
100
101
  "@modern-js/rslib": "2.68.10",
101
- "@modern-js/plugin": "3.0.2",
102
- "@modern-js/runtime": "3.0.2",
103
- "@modern-js/types": "3.0.2",
102
+ "@modern-js/runtime": "3.0.4",
103
+ "@modern-js/types": "3.0.4",
104
104
  "@scripts/rstest-config": "2.66.0"
105
105
  },
106
106
  "sideEffects": false,