@lark-apaas/coding-preset-vite-react 1.0.11 → 1.0.12-alpha.1
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/lib/index.d.ts +1 -9
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +114 -153
- package/lib/index.js.map +1 -1
- package/lib/plugins/{basename.d.ts → basename-injection.d.ts} +4 -4
- package/lib/plugins/basename-injection.d.ts.map +1 -0
- package/lib/plugins/{basename.js → basename-injection.js} +15 -7
- package/lib/plugins/basename-injection.js.map +1 -0
- package/lib/plugins/capabilities.d.ts +6 -9
- package/lib/plugins/capabilities.d.ts.map +1 -1
- package/lib/plugins/capabilities.js +29 -27
- package/lib/plugins/capabilities.js.map +1 -1
- package/lib/plugins/view-context.d.ts +5 -0
- package/lib/plugins/view-context.d.ts.map +1 -1
- package/lib/plugins/view-context.js +3 -0
- package/lib/plugins/view-context.js.map +1 -1
- package/package.json +1 -3
- package/lib/plugins/basename.d.ts.map +0 -1
- package/lib/plugins/basename.js.map +0 -1
- package/lib/plugins/dev-proxy.d.ts +0 -41
- package/lib/plugins/dev-proxy.d.ts.map +0 -1
- package/lib/plugins/dev-proxy.js +0 -229
- package/lib/plugins/dev-proxy.js.map +0 -1
- package/lib/plugins/html-output.d.ts +0 -21
- package/lib/plugins/html-output.d.ts.map +0 -1
- package/lib/plugins/html-output.js +0 -171
- package/lib/plugins/html-output.js.map +0 -1
- package/lib/plugins/server-log.d.ts +0 -45
- package/lib/plugins/server-log.d.ts.map +0 -1
- package/lib/plugins/server-log.js +0 -60
- package/lib/plugins/server-log.js.map +0 -1
- package/lib/server-log/compat.d.ts +0 -36
- package/lib/server-log/compat.d.ts.map +0 -1
- package/lib/server-log/compat.js +0 -73
- package/lib/server-log/compat.js.map +0 -1
- package/lib/server-log/dev-logs/api-list-handler.d.ts +0 -6
- package/lib/server-log/dev-logs/api-list-handler.d.ts.map +0 -1
- package/lib/server-log/dev-logs/api-list-handler.js +0 -132
- package/lib/server-log/dev-logs/api-list-handler.js.map +0 -1
- package/lib/server-log/dev-logs/controller.d.ts +0 -45
- package/lib/server-log/dev-logs/controller.d.ts.map +0 -1
- package/lib/server-log/dev-logs/controller.js +0 -239
- package/lib/server-log/dev-logs/controller.js.map +0 -1
- package/lib/server-log/dev-logs/health.controller.d.ts +0 -15
- package/lib/server-log/dev-logs/health.controller.d.ts.map +0 -1
- package/lib/server-log/dev-logs/health.controller.js +0 -79
- package/lib/server-log/dev-logs/health.controller.js.map +0 -1
- package/lib/server-log/dev-logs/helper/path-matcher.d.ts +0 -117
- package/lib/server-log/dev-logs/helper/path-matcher.d.ts.map +0 -1
- package/lib/server-log/dev-logs/helper/path-matcher.js +0 -214
- package/lib/server-log/dev-logs/helper/path-matcher.js.map +0 -1
- package/lib/server-log/dev-logs/index.d.ts +0 -12
- package/lib/server-log/dev-logs/index.d.ts.map +0 -1
- package/lib/server-log/dev-logs/index.js +0 -61
- package/lib/server-log/dev-logs/index.js.map +0 -1
- package/lib/server-log/dev-logs/router.d.ts +0 -7
- package/lib/server-log/dev-logs/router.d.ts.map +0 -1
- package/lib/server-log/dev-logs/router.js +0 -40
- package/lib/server-log/dev-logs/router.js.map +0 -1
- package/lib/server-log/dev-logs/services/capability.service.d.ts +0 -33
- package/lib/server-log/dev-logs/services/capability.service.d.ts.map +0 -1
- package/lib/server-log/dev-logs/services/capability.service.js +0 -127
- package/lib/server-log/dev-logs/services/capability.service.js.map +0 -1
- package/lib/server-log/dev-logs/services/file-reader.d.ts +0 -10
- package/lib/server-log/dev-logs/services/file-reader.d.ts.map +0 -1
- package/lib/server-log/dev-logs/services/file-reader.js +0 -67
- package/lib/server-log/dev-logs/services/file-reader.js.map +0 -1
- package/lib/server-log/dev-logs/services/index.d.ts +0 -8
- package/lib/server-log/dev-logs/services/index.d.ts.map +0 -1
- package/lib/server-log/dev-logs/services/index.js +0 -30
- package/lib/server-log/dev-logs/services/index.js.map +0 -1
- package/lib/server-log/dev-logs/services/parsers.d.ts +0 -23
- package/lib/server-log/dev-logs/services/parsers.d.ts.map +0 -1
- package/lib/server-log/dev-logs/services/parsers.js +0 -157
- package/lib/server-log/dev-logs/services/parsers.js.map +0 -1
- package/lib/server-log/dev-logs/services/server-log.service.d.ts +0 -17
- package/lib/server-log/dev-logs/services/server-log.service.d.ts.map +0 -1
- package/lib/server-log/dev-logs/services/server-log.service.js +0 -119
- package/lib/server-log/dev-logs/services/server-log.service.js.map +0 -1
- package/lib/server-log/dev-logs/services/trace.service.d.ts +0 -14
- package/lib/server-log/dev-logs/services/trace.service.d.ts.map +0 -1
- package/lib/server-log/dev-logs/services/trace.service.js +0 -162
- package/lib/server-log/dev-logs/services/trace.service.js.map +0 -1
- package/lib/server-log/dev-logs/services/trigger.service.d.ts +0 -14
- package/lib/server-log/dev-logs/services/trigger.service.d.ts.map +0 -1
- package/lib/server-log/dev-logs/services/trigger.service.js +0 -153
- package/lib/server-log/dev-logs/services/trigger.service.js.map +0 -1
- package/lib/server-log/dev-logs/services.d.ts +0 -7
- package/lib/server-log/dev-logs/services.d.ts.map +0 -1
- package/lib/server-log/dev-logs/services.js +0 -20
- package/lib/server-log/dev-logs/services.js.map +0 -1
- package/lib/server-log/dev-logs/sse/client-manager.d.ts +0 -61
- package/lib/server-log/dev-logs/sse/client-manager.d.ts.map +0 -1
- package/lib/server-log/dev-logs/sse/client-manager.js +0 -140
- package/lib/server-log/dev-logs/sse/client-manager.js.map +0 -1
- package/lib/server-log/dev-logs/sse/index.d.ts +0 -5
- package/lib/server-log/dev-logs/sse/index.d.ts.map +0 -1
- package/lib/server-log/dev-logs/sse/index.js +0 -11
- package/lib/server-log/dev-logs/sse/index.js.map +0 -1
- package/lib/server-log/dev-logs/sse/log-watcher.d.ts +0 -51
- package/lib/server-log/dev-logs/sse/log-watcher.d.ts.map +0 -1
- package/lib/server-log/dev-logs/sse/log-watcher.js +0 -381
- package/lib/server-log/dev-logs/sse/log-watcher.js.map +0 -1
- package/lib/server-log/dev-logs/sse/sse.controller.d.ts +0 -25
- package/lib/server-log/dev-logs/sse/sse.controller.d.ts.map +0 -1
- package/lib/server-log/dev-logs/sse/sse.controller.js +0 -95
- package/lib/server-log/dev-logs/sse/sse.controller.js.map +0 -1
- package/lib/server-log/dev-logs/types.d.ts +0 -104
- package/lib/server-log/dev-logs/types.d.ts.map +0 -1
- package/lib/server-log/dev-logs/types.js +0 -3
- package/lib/server-log/dev-logs/types.js.map +0 -1
- package/lib/server-log/dev-logs/utils.d.ts +0 -68
- package/lib/server-log/dev-logs/utils.d.ts.map +0 -1
- package/lib/server-log/dev-logs/utils.js +0 -151
- package/lib/server-log/dev-logs/utils.js.map +0 -1
- package/lib/server-log/register.d.ts +0 -34
- package/lib/server-log/register.d.ts.map +0 -1
- package/lib/server-log/register.js +0 -196
- package/lib/server-log/register.js.map +0 -1
- package/lib/server-log/types.d.ts +0 -99
- package/lib/server-log/types.d.ts.map +0 -1
- package/lib/server-log/types.js +0 -3
- package/lib/server-log/types.js.map +0 -1
- package/lib/utils/local-dev.d.ts +0 -46
- package/lib/utils/local-dev.d.ts.map +0 -1
- package/lib/utils/local-dev.js +0 -96
- package/lib/utils/local-dev.js.map +0 -1
- package/lib/utils/proxy-error.d.ts +0 -29
- package/lib/utils/proxy-error.d.ts.map +0 -1
- package/lib/utils/proxy-error.js +0 -158
- package/lib/utils/proxy-error.js.map +0 -1
|
@@ -46,17 +46,14 @@ const DEFAULT_DIRS = ['shared/capabilities'];
|
|
|
46
46
|
* `@lark-apaas/client-capability` SDK(被 client-toolkit-lite 内联使用)会
|
|
47
47
|
* `import map from 'virtual:capabilities'` 取这个 map。SDK 在 dev 预览 / 沙箱
|
|
48
48
|
* 加载流程中依赖这个模块存在,所以即使 capabilities 目录为空,也必须把模块
|
|
49
|
-
* 注册成解析成功(空 map),否则 build 时直接 fail。
|
|
49
|
+
* 注册成解析成功(空 map),否则 rolldown 在 build 时直接 fail。
|
|
50
50
|
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* 让被预打包的 client-toolkit-lite(内联了 client-capability)保留运行时
|
|
55
|
-
* `import 'virtual:capabilities'`,交给主 pipeline 动态解析。详见下方 config() 注释。
|
|
51
|
+
* 同时通过 `optimizeDeps.esbuildOptions.plugins` 在 depOptimizer 那条路径上
|
|
52
|
+
* 也提供解析——因为 client-toolkit-lite 是 pre-bundle 进来的,pre-bundle 的
|
|
53
|
+
* esbuild 不会经过 Vite 主 pipeline 的 plugin 链。
|
|
56
54
|
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* watch 刷不到,需重启 dev server —— 现已修复)。
|
|
55
|
+
* V1 限制:dev 期更改 capability JSON 后,pre-bundle 产物里的 map 是启动时快照,
|
|
56
|
+
* 不会自动刷新;新增 / 修改 capability 后需要重启 dev server。
|
|
60
57
|
*/
|
|
61
58
|
function capabilitiesBundlePlugin(options = {}) {
|
|
62
59
|
let rootDir = process.cwd();
|
|
@@ -90,26 +87,31 @@ function capabilitiesBundlePlugin(options = {}) {
|
|
|
90
87
|
configResolved(config) {
|
|
91
88
|
rootDir = config.root;
|
|
92
89
|
},
|
|
93
|
-
// depOptimizer
|
|
94
|
-
//
|
|
95
|
-
//
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
// capability JSON 后,configureServer 的 invalidateModule + full-reload 作用在
|
|
100
|
-
// 主 pipeline 的虚拟模块上,而预打包消费者读的是 chunk 里那份内联快照 —— 两者
|
|
101
|
-
// 不是同一个模块,watch 永远刷不到(实测:inline 模式 getModuleById(RESOLVED)
|
|
102
|
-
// 返回 null,invalidate 是 no-op;首屏 optimize 时目录还空 → map 一直空,只有
|
|
103
|
-
// 重启 / re-optimize 才更新)。external 后虚拟模块进入运行时模块图,
|
|
104
|
-
// configureServer 的 invalidate + full-reload 才真正命中被读的模块、即时刷新。
|
|
105
|
-
//
|
|
106
|
-
// external 也顺带替代了"必须在 optimizer 里解析否则 build/optimize fail"的诉求:
|
|
107
|
-
// 标记 external 后 optimizer 不再尝试解析它(不会 fail);build 不经 depOptimizer,
|
|
108
|
-
// 由主 pipeline 解析内联,产物不受影响。
|
|
109
|
-
config() {
|
|
90
|
+
// 同时通过 depOptimizer 的 Rolldown 注入解析,让 client-toolkit-lite 这种
|
|
91
|
+
// pre-bundle 进来的依赖也能把 `import 'virtual:capabilities'` 解掉。
|
|
92
|
+
// Vite 8 用 Rolldown 替换了 esbuild 做 depOptimize,所以走 rolldownOptions.plugins。
|
|
93
|
+
config(_userConfig, _env) {
|
|
94
|
+
// `rolldownOptions` 是 Vite 8 引入的 depOptimizer 新 API,
|
|
95
|
+
// 当前 Vite 类型还没覆盖,需要 as any 绕过
|
|
110
96
|
return {
|
|
111
97
|
optimizeDeps: {
|
|
112
|
-
|
|
98
|
+
rolldownOptions: {
|
|
99
|
+
plugins: [
|
|
100
|
+
{
|
|
101
|
+
name: 'miaoda-capabilities-rolldown',
|
|
102
|
+
resolveId(source) {
|
|
103
|
+
if (source === VIRTUAL_ID)
|
|
104
|
+
return RESOLVED;
|
|
105
|
+
return null;
|
|
106
|
+
},
|
|
107
|
+
load(id) {
|
|
108
|
+
if (id !== RESOLVED)
|
|
109
|
+
return null;
|
|
110
|
+
return `export default ${JSON.stringify(loadMap())};`;
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
],
|
|
114
|
+
},
|
|
113
115
|
},
|
|
114
116
|
};
|
|
115
117
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/plugins/capabilities.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/plugins/capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,11 @@ export interface ViewContextPluginOptions {
|
|
|
16
16
|
* 解析(prod / 部分本地 dev URL 没 base path 时用)。
|
|
17
17
|
*/
|
|
18
18
|
appId?: string;
|
|
19
|
+
/**
|
|
20
|
+
* 客户端基础路径(如 `/app/<appId>`),用于 dev 模式注入 window.__BASENAME__。
|
|
21
|
+
* build 模式走 HBS 占位符 `{{basename}}`,由 miaoda_page_server 填充。
|
|
22
|
+
*/
|
|
23
|
+
clientBasePath?: string;
|
|
19
24
|
}
|
|
20
25
|
export declare function viewContextPlugin(options?: ViewContextPluginOptions): Plugin;
|
|
21
26
|
export default viewContextPlugin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-context.d.ts","sourceRoot":"","sources":["../../src/plugins/view-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAqB,MAAM,EAAE,MAAM,MAAM,CAAC;AAkCtD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAGlB,WAAW,EAAE,MAAM,CAAC;CACrB;AA+BD,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,GAAG,oBAAoB,CAS7E;AAID,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"view-context.d.ts","sourceRoot":"","sources":["../../src/plugins/view-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAqB,MAAM,EAAE,MAAM,MAAM,CAAC;AAkCtD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAGlB,WAAW,EAAE,MAAM,CAAC;CACrB;AA+BD,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,GAAG,oBAAoB,CAS7E;AAID,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAqED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG,MAAM,CAyChF;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -82,6 +82,7 @@ function buildScriptFromRequest(options, ctx) {
|
|
|
82
82
|
window.userName = ${JSON.stringify(ctx.userName)};
|
|
83
83
|
window.csrfToken = ${JSON.stringify(ctx.csrfToken)};
|
|
84
84
|
window.ENVIRONMENT = ${JSON.stringify(ctx.environment)};
|
|
85
|
+
window.__BASENAME__ = ${JSON.stringify(options.clientBasePath || '/')};
|
|
85
86
|
`;
|
|
86
87
|
}
|
|
87
88
|
/**
|
|
@@ -97,6 +98,7 @@ function buildScriptBuildPlaceholders() {
|
|
|
97
98
|
window.userName = "{{userName}}";
|
|
98
99
|
window.csrfToken = "{{csrfToken}}";
|
|
99
100
|
window.ENVIRONMENT = "{{environment}}";
|
|
101
|
+
window.__BASENAME__ = "{{basename}}";
|
|
100
102
|
const appInfo = {
|
|
101
103
|
name: "{{appName}}",
|
|
102
104
|
avatar: "{{{appAvatar}}}",
|
|
@@ -119,6 +121,7 @@ function buildScriptDevNoCtxFallback(options) {
|
|
|
119
121
|
return m ? decodeURIComponent(m[1]) : '';
|
|
120
122
|
})();
|
|
121
123
|
window.ENVIRONMENT = ${JSON.stringify(readDevEnvironment())};
|
|
124
|
+
window.__BASENAME__ = ${JSON.stringify(options.clientBasePath || '/')};
|
|
122
125
|
`;
|
|
123
126
|
}
|
|
124
127
|
function viewContextPlugin(options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-context.js","sourceRoot":"","sources":["../../src/plugins/view-context.ts"],"names":[],"mappings":";;AA4EA,gDASC;
|
|
1
|
+
{"version":3,"file":"view-context.js","sourceRoot":"","sources":["../../src/plugins/view-context.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lark-apaas/coding-preset-vite-react",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.12-alpha.1",
|
|
4
4
|
"description": "Vite 8 preset for miaoda-coding vite-react (jsPage) templates — pure frontend, no fullstack baggage",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -33,7 +33,6 @@
|
|
|
33
33
|
"core-js": "^3.40.0",
|
|
34
34
|
"echarts": "^6.0.0",
|
|
35
35
|
"echarts-for-react": "^3.0.2",
|
|
36
|
-
"express": "^4.18.2",
|
|
37
36
|
"html-minifier-terser": "^7.2.0",
|
|
38
37
|
"tailwind-merge": "^2.5.5"
|
|
39
38
|
},
|
|
@@ -44,7 +43,6 @@
|
|
|
44
43
|
},
|
|
45
44
|
"devDependencies": {
|
|
46
45
|
"@types/babel__traverse": "^7.20.0",
|
|
47
|
-
"@types/express": "^4.17.21",
|
|
48
46
|
"@types/html-minifier-terser": "^7.0.2",
|
|
49
47
|
"@types/node": "^22.0.0",
|
|
50
48
|
"typescript": "^5.6.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"basename.d.ts","sourceRoot":"","sources":["../../src/plugins/basename.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,MAAM,CAAC;AAMnD,MAAM,WAAW,qBAAqB;IACpC,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAsCD,wBAAgB,cAAc,CAC5B,OAAO,GAAE,qBAA0B,GAClC,MAAM,CAwCR;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"basename.js","sourceRoot":"","sources":["../../src/plugins/basename.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Dev Server Proxy(vite dev → Nest backend)for nestjs-vite-react fullstack 形态。
|
|
3
|
-
*
|
|
4
|
-
* 命名澄清:这是**构建工具层**的 vite `server.proxy` 配置(HTTP 反代),跟 client-toolkit
|
|
5
|
-
* AppContainer 内置的 `api-proxy` / `childApi`(**运行时**的 postMessage 桥,给妙搭外壳
|
|
6
|
-
* 接口测试面板用)是不同概念,请勿混淆。
|
|
7
|
-
*
|
|
8
|
-
* fullstack 应用 dev 时 Vite(8080)是**用户入口**、Nest(3000)服务后端,二者分进程。
|
|
9
|
-
* 本 plugin 同时承担两件事:
|
|
10
|
-
*
|
|
11
|
-
* A. `config()` 注入 `server.proxy`:把 `/api`、`/openapi`、`/__innerapi__` 反代到 Nest,
|
|
12
|
-
* 且模拟沙箱网关的两件事:
|
|
13
|
-
* 1. 注入 `x-larkgw-suda-webuser` header(身份)—— 本地从 SUDA_WEBUSER env 取
|
|
14
|
-
* 2. 注入 `x-suda-csrf-token` header(csrf double-submit)—— per-request 从 cookie 抠
|
|
15
|
-
* 否则 Nest 端 ViewController 拿不到 appId(→ window.appId="" → auth-sdk URL 拼错),
|
|
16
|
-
* csrf middleware 也会拦下请求。
|
|
17
|
-
*
|
|
18
|
-
* B. `configureServer()` 挂 HTML 反代 middleware:用户访问 `vite-8080/<path>` 拿页面时,
|
|
19
|
-
* vite 默认走自己的 index.html。但 fullstack 形态要 Nest 渲染 HBS(注入 appId / csrf /
|
|
20
|
-
* platform-data 等),所以拦截所有 `accept: text/html` 请求转发到 Nest 3000。
|
|
21
|
-
* 白名单避开 vite dev-only 路径(`/@vite`、`/@fs`、`/__vite`、`/@id`、`/node_modules`、
|
|
22
|
-
* `/dev/`、`.hot-update`)和静态资源(.js / .css / 图片 / 字体),这些应该走 vite 自身。
|
|
23
|
-
*
|
|
24
|
-
* 实现搬自 fullstack-vite-preset/src/preset.ts 的 server.proxy + HTML proxy 段,逻辑一致。
|
|
25
|
-
*/
|
|
26
|
-
import type { Plugin } from 'vite';
|
|
27
|
-
export interface DevProxyPluginOptions {
|
|
28
|
-
/** Nest server 监听端口。默认 3000 */
|
|
29
|
-
serverPort?: number;
|
|
30
|
-
/** client base path,跟 normalizeBasePath 处理后一致(如 `/app/<id>` 或空串) */
|
|
31
|
-
clientBasePath?: string;
|
|
32
|
-
/** 从 clientBasePath 提取的 appId,用于挂老路径兼容 proxy(`/af/p/<appId>/...`) */
|
|
33
|
-
appId?: string;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Vite plugin: 注入 dev server proxy 配置(仅 dev,build 时不挂)。
|
|
37
|
-
* 通过 `config()` hook 返回 `server.proxy` 让 vite mergeConfig 自动合并。
|
|
38
|
-
*/
|
|
39
|
-
export declare function devProxyPlugin(options?: DevProxyPluginOptions): Plugin;
|
|
40
|
-
export default devProxyPlugin;
|
|
41
|
-
//# sourceMappingURL=dev-proxy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dev-proxy.d.ts","sourceRoot":"","sources":["../../src/plugins/dev-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,MAAM,CAAC;AAUjD,MAAM,WAAW,qBAAqB;IACpC,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,MAAM,CAgL1E;AAED,eAAe,cAAc,CAAC"}
|
package/lib/plugins/dev-proxy.js
DELETED
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Dev Server Proxy(vite dev → Nest backend)for nestjs-vite-react fullstack 形态。
|
|
4
|
-
*
|
|
5
|
-
* 命名澄清:这是**构建工具层**的 vite `server.proxy` 配置(HTTP 反代),跟 client-toolkit
|
|
6
|
-
* AppContainer 内置的 `api-proxy` / `childApi`(**运行时**的 postMessage 桥,给妙搭外壳
|
|
7
|
-
* 接口测试面板用)是不同概念,请勿混淆。
|
|
8
|
-
*
|
|
9
|
-
* fullstack 应用 dev 时 Vite(8080)是**用户入口**、Nest(3000)服务后端,二者分进程。
|
|
10
|
-
* 本 plugin 同时承担两件事:
|
|
11
|
-
*
|
|
12
|
-
* A. `config()` 注入 `server.proxy`:把 `/api`、`/openapi`、`/__innerapi__` 反代到 Nest,
|
|
13
|
-
* 且模拟沙箱网关的两件事:
|
|
14
|
-
* 1. 注入 `x-larkgw-suda-webuser` header(身份)—— 本地从 SUDA_WEBUSER env 取
|
|
15
|
-
* 2. 注入 `x-suda-csrf-token` header(csrf double-submit)—— per-request 从 cookie 抠
|
|
16
|
-
* 否则 Nest 端 ViewController 拿不到 appId(→ window.appId="" → auth-sdk URL 拼错),
|
|
17
|
-
* csrf middleware 也会拦下请求。
|
|
18
|
-
*
|
|
19
|
-
* B. `configureServer()` 挂 HTML 反代 middleware:用户访问 `vite-8080/<path>` 拿页面时,
|
|
20
|
-
* vite 默认走自己的 index.html。但 fullstack 形态要 Nest 渲染 HBS(注入 appId / csrf /
|
|
21
|
-
* platform-data 等),所以拦截所有 `accept: text/html` 请求转发到 Nest 3000。
|
|
22
|
-
* 白名单避开 vite dev-only 路径(`/@vite`、`/@fs`、`/__vite`、`/@id`、`/node_modules`、
|
|
23
|
-
* `/dev/`、`.hot-update`)和静态资源(.js / .css / 图片 / 字体),这些应该走 vite 自身。
|
|
24
|
-
*
|
|
25
|
-
* 实现搬自 fullstack-vite-preset/src/preset.ts 的 server.proxy + HTML proxy 段,逻辑一致。
|
|
26
|
-
*/
|
|
27
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
28
|
-
if (k2 === undefined) k2 = k;
|
|
29
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
30
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
31
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
32
|
-
}
|
|
33
|
-
Object.defineProperty(o, k2, desc);
|
|
34
|
-
}) : (function(o, m, k, k2) {
|
|
35
|
-
if (k2 === undefined) k2 = k;
|
|
36
|
-
o[k2] = m[k];
|
|
37
|
-
}));
|
|
38
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
39
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
40
|
-
}) : function(o, v) {
|
|
41
|
-
o["default"] = v;
|
|
42
|
-
});
|
|
43
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
44
|
-
var ownKeys = function(o) {
|
|
45
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
46
|
-
var ar = [];
|
|
47
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
48
|
-
return ar;
|
|
49
|
-
};
|
|
50
|
-
return ownKeys(o);
|
|
51
|
-
};
|
|
52
|
-
return function (mod) {
|
|
53
|
-
if (mod && mod.__esModule) return mod;
|
|
54
|
-
var result = {};
|
|
55
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
56
|
-
__setModuleDefault(result, mod);
|
|
57
|
-
return result;
|
|
58
|
-
};
|
|
59
|
-
})();
|
|
60
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
61
|
-
exports.devProxyPlugin = devProxyPlugin;
|
|
62
|
-
const http = __importStar(require("node:http"));
|
|
63
|
-
const local_dev_1 = require("../utils/local-dev");
|
|
64
|
-
const proxy_error_1 = require("../utils/proxy-error");
|
|
65
|
-
/**
|
|
66
|
-
* Vite plugin: 注入 dev server proxy 配置(仅 dev,build 时不挂)。
|
|
67
|
-
* 通过 `config()` hook 返回 `server.proxy` 让 vite mergeConfig 自动合并。
|
|
68
|
-
*/
|
|
69
|
-
function devProxyPlugin(options = {}) {
|
|
70
|
-
const serverPort = options.serverPort ?? 3000;
|
|
71
|
-
const clientBasePath = options.clientBasePath ?? '';
|
|
72
|
-
const appId = options.appId;
|
|
73
|
-
return {
|
|
74
|
-
name: 'nestjs-vite-react-dev-proxy',
|
|
75
|
-
apply: 'serve',
|
|
76
|
-
config() {
|
|
77
|
-
const localDev = (0, local_dev_1.isLocalDev)();
|
|
78
|
-
const sandboxBase = (0, local_dev_1.resolveSandboxOrigin)();
|
|
79
|
-
const { cookie: outboundCookie, csrfToken: outboundCsrfToken } = (0, local_dev_1.composeSandboxOutboundAuth)();
|
|
80
|
-
// 解析 SUDA_WEBUSER(沙箱注入到 .env.local,dotenv@17 转义边界容错)
|
|
81
|
-
let localDevWebUserHeader = '';
|
|
82
|
-
const parsedSudaWebUser = (0, local_dev_1.parseSudaWebUserEnv)(process.env.SUDA_WEBUSER);
|
|
83
|
-
if (parsedSudaWebUser) {
|
|
84
|
-
try {
|
|
85
|
-
localDevWebUserHeader = encodeURIComponent(JSON.stringify(parsedSudaWebUser));
|
|
86
|
-
}
|
|
87
|
-
catch {
|
|
88
|
-
/* ignore */
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
const proxy = {};
|
|
92
|
-
// 本地反代沙箱的平台 runtime API(条件性)
|
|
93
|
-
if (localDev && sandboxBase) {
|
|
94
|
-
proxy[`${clientBasePath}/__runtime__`] = {
|
|
95
|
-
target: sandboxBase,
|
|
96
|
-
changeOrigin: true,
|
|
97
|
-
headers: {
|
|
98
|
-
...(outboundCookie ? { cookie: outboundCookie } : {}),
|
|
99
|
-
...(outboundCsrfToken ? { 'x-suda-csrf-token': outboundCsrfToken } : {}),
|
|
100
|
-
},
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
// API proxy。本地 dev 没有 larkgw 经过这条 incoming 链路,server 端 NestJS 缺:
|
|
104
|
-
// 1. x-larkgw-suda-webuser header(身份) → ViewController 拿不到 appId
|
|
105
|
-
// 2. x-suda-csrf-token header(csrf double-submit) → csrf middleware 403
|
|
106
|
-
// 在 dev server 这层模拟 larkgw 注入这两样
|
|
107
|
-
proxy[`${clientBasePath}/api`] = {
|
|
108
|
-
target: `http://localhost:${serverPort}`,
|
|
109
|
-
changeOrigin: true,
|
|
110
|
-
...(localDev && localDevWebUserHeader
|
|
111
|
-
? { headers: { 'x-larkgw-suda-webuser': localDevWebUserHeader } }
|
|
112
|
-
: {}),
|
|
113
|
-
configure: (proxyServer) => {
|
|
114
|
-
proxyServer.on('error', (err, req, res) => {
|
|
115
|
-
(0, proxy_error_1.handleDevProxyError)(err, req, res, {
|
|
116
|
-
target: `http://localhost:${serverPort}`,
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
if (localDev) {
|
|
120
|
-
proxyServer.on('proxyReq', (proxyReq, req) => {
|
|
121
|
-
if (proxyReq.getHeader('x-suda-csrf-token'))
|
|
122
|
-
return;
|
|
123
|
-
const cookie = req.headers.cookie;
|
|
124
|
-
if (!cookie)
|
|
125
|
-
return;
|
|
126
|
-
const m = /(?:^|;\s*)suda-csrf-token=([^;]+)/.exec(cookie);
|
|
127
|
-
if (m)
|
|
128
|
-
proxyReq.setHeader('x-suda-csrf-token', m[1]);
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
};
|
|
133
|
-
// OpenAPI proxy
|
|
134
|
-
proxy[`${clientBasePath}/openapi`] = {
|
|
135
|
-
target: `http://localhost:${serverPort}`,
|
|
136
|
-
changeOrigin: true,
|
|
137
|
-
configure: (proxyServer) => {
|
|
138
|
-
proxyServer.on('error', (err, req, res) => {
|
|
139
|
-
(0, proxy_error_1.handleDevProxyError)(err, req, res, {
|
|
140
|
-
target: `http://localhost:${serverPort}`,
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
},
|
|
144
|
-
};
|
|
145
|
-
// Inner API proxy
|
|
146
|
-
proxy[`${clientBasePath}/__innerapi__`] = {
|
|
147
|
-
target: `http://localhost:${serverPort}`,
|
|
148
|
-
changeOrigin: true,
|
|
149
|
-
configure: (proxyServer) => {
|
|
150
|
-
proxyServer.on('error', (err, req, res) => {
|
|
151
|
-
(0, proxy_error_1.handleDevProxyError)(err, req, res, {
|
|
152
|
-
target: `http://localhost:${serverPort}`,
|
|
153
|
-
});
|
|
154
|
-
});
|
|
155
|
-
},
|
|
156
|
-
};
|
|
157
|
-
// 旧路径(/af/p/:appId)兼容代理(仅在 appId 已知时挂)
|
|
158
|
-
if (appId) {
|
|
159
|
-
proxy[`/af/p/${appId}/api`] = {
|
|
160
|
-
target: `http://localhost:${serverPort}`,
|
|
161
|
-
changeOrigin: true,
|
|
162
|
-
configure: (proxyServer) => {
|
|
163
|
-
proxyServer.on('error', (err, req, res) => {
|
|
164
|
-
(0, proxy_error_1.handleDevProxyError)(err, req, res, {
|
|
165
|
-
target: `http://localhost:${serverPort}`,
|
|
166
|
-
});
|
|
167
|
-
});
|
|
168
|
-
},
|
|
169
|
-
};
|
|
170
|
-
proxy[`/af/p/${appId}/__innerapi__`] = {
|
|
171
|
-
target: `http://localhost:${serverPort}`,
|
|
172
|
-
changeOrigin: true,
|
|
173
|
-
configure: (proxyServer) => {
|
|
174
|
-
proxyServer.on('error', (err, req, res) => {
|
|
175
|
-
(0, proxy_error_1.handleDevProxyError)(err, req, res, {
|
|
176
|
-
target: `http://localhost:${serverPort}`,
|
|
177
|
-
});
|
|
178
|
-
});
|
|
179
|
-
},
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
return {
|
|
183
|
-
server: { proxy },
|
|
184
|
-
};
|
|
185
|
-
},
|
|
186
|
-
configureServer(server) {
|
|
187
|
-
// HTML 反代到 Nest:fullstack 入口是 vite (8080),但 HTML 由 Nest hbs 渲染
|
|
188
|
-
server.middlewares.use((req, res, next) => {
|
|
189
|
-
const devServerWhiteList = [
|
|
190
|
-
'/@vite',
|
|
191
|
-
'/@fs',
|
|
192
|
-
'/__vite',
|
|
193
|
-
'/@id',
|
|
194
|
-
'/node_modules',
|
|
195
|
-
'/dev/',
|
|
196
|
-
'.hot-update',
|
|
197
|
-
'/@react-refresh',
|
|
198
|
-
'/@ws-watchdog',
|
|
199
|
-
'/@error-overlay',
|
|
200
|
-
];
|
|
201
|
-
const isHtmlRequest = req.headers.accept?.includes('text/html');
|
|
202
|
-
const pathname = req.url?.split('?')[0] || '';
|
|
203
|
-
const isDevServerPath = devServerWhiteList.some((item) => pathname.includes(item));
|
|
204
|
-
const isStaticAsset = /\.(js|mjs|cjs|css|map|png|jpg|jpeg|gif|svg|ico|webp|woff|woff2|ttf|eot)$/i.test(pathname);
|
|
205
|
-
if (!isHtmlRequest || isDevServerPath || isStaticAsset) {
|
|
206
|
-
return next();
|
|
207
|
-
}
|
|
208
|
-
const proxyReq = http.request({
|
|
209
|
-
hostname: 'localhost',
|
|
210
|
-
port: serverPort,
|
|
211
|
-
path: req.url,
|
|
212
|
-
method: req.method,
|
|
213
|
-
headers: req.headers,
|
|
214
|
-
}, (proxyRes) => {
|
|
215
|
-
res.writeHead(proxyRes.statusCode || 200, proxyRes.headers);
|
|
216
|
-
proxyRes.pipe(res);
|
|
217
|
-
});
|
|
218
|
-
proxyReq.on('error', (err) => {
|
|
219
|
-
(0, proxy_error_1.handleDevProxyError)(err, req, res, {
|
|
220
|
-
target: `http://localhost:${serverPort}`,
|
|
221
|
-
});
|
|
222
|
-
});
|
|
223
|
-
req.pipe(proxyReq);
|
|
224
|
-
});
|
|
225
|
-
},
|
|
226
|
-
};
|
|
227
|
-
}
|
|
228
|
-
exports.default = devProxyPlugin;
|
|
229
|
-
//# sourceMappingURL=dev-proxy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dev-proxy.js","sourceRoot":"","sources":["../../src/plugins/dev-proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { Plugin } from 'vite';
|
|
2
|
-
/**
|
|
3
|
-
* Minify HTML while preserving HBS (Handlebars) template expressions.
|
|
4
|
-
*
|
|
5
|
-
* HBS expressions like {{csrfToken}} and {{{appAvatar}}} are temporarily
|
|
6
|
-
* replaced with safe placeholders before minification, then restored after.
|
|
7
|
-
*/
|
|
8
|
-
export declare function minifyHtmlWithHbsProtection(html: string): Promise<string>;
|
|
9
|
-
export interface HtmlOutputPluginOptions {
|
|
10
|
-
/** Whether running in development mode */
|
|
11
|
-
isDev: boolean;
|
|
12
|
-
/** Output directory for built files */
|
|
13
|
-
outDir: string;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Vite plugin to handle HTML output:
|
|
17
|
-
* 1. In production: fixes HTML output path (removes extra 'client' directory)
|
|
18
|
-
* 2. In development: writes transformed HTML to disk for backend to serve
|
|
19
|
-
*/
|
|
20
|
-
export declare function htmlOutputPlugin(options: HtmlOutputPluginOptions): Plugin;
|
|
21
|
-
//# sourceMappingURL=html-output.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"html-output.d.ts","sourceRoot":"","sources":["../../src/plugins/html-output.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAiC,MAAM,MAAM,CAAC;AAGlE;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0B/E;AAED,MAAM,WAAW,uBAAuB;IACtC,0CAA0C;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAwIzE"}
|