@lark-apaas/coding-preset-vite-react 1.0.13-alpha.11 → 1.0.13-alpha.13

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 (32) hide show
  1. package/lib/index.d.ts.map +1 -1
  2. package/lib/index.js +6 -2
  3. package/lib/index.js.map +1 -1
  4. package/lib/plugins/basename-injection.d.ts +29 -0
  5. package/lib/plugins/basename-injection.d.ts.map +1 -0
  6. package/lib/plugins/basename-injection.js +114 -0
  7. package/lib/plugins/basename-injection.js.map +1 -0
  8. package/lib/plugins/server-log.d.ts +7 -14
  9. package/lib/plugins/server-log.d.ts.map +1 -1
  10. package/lib/plugins/server-log.js +7 -24
  11. package/lib/plugins/server-log.js.map +1 -1
  12. package/lib/plugins/view-context.d.ts +5 -0
  13. package/lib/plugins/view-context.d.ts.map +1 -1
  14. package/lib/plugins/view-context.js +3 -0
  15. package/lib/plugins/view-context.js.map +1 -1
  16. package/package.json +1 -1
  17. package/lib/server-log/openapi/index.d.ts +0 -9
  18. package/lib/server-log/openapi/index.d.ts.map +0 -1
  19. package/lib/server-log/openapi/index.js +0 -31
  20. package/lib/server-log/openapi/index.js.map +0 -1
  21. package/lib/server-log/openapi/router.d.ts +0 -17
  22. package/lib/server-log/openapi/router.d.ts.map +0 -1
  23. package/lib/server-log/openapi/router.js +0 -22
  24. package/lib/server-log/openapi/router.js.map +0 -1
  25. package/lib/server-log/openapi/spec-controller.d.ts +0 -4
  26. package/lib/server-log/openapi/spec-controller.d.ts.map +0 -1
  27. package/lib/server-log/openapi/spec-controller.js +0 -136
  28. package/lib/server-log/openapi/spec-controller.js.map +0 -1
  29. package/lib/server-log/openapi/types.d.ts +0 -15
  30. package/lib/server-log/openapi/types.d.ts.map +0 -1
  31. package/lib/server-log/openapi/types.js +0 -3
  32. package/lib/server-log/openapi/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAA4B,KAAK,UAAU,EAAsB,MAAM,MAAM,CAAC;AAkErF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,YAAY,CAC1B,SAAS,GAAE,UAAe,EAC1B,OAAO,GAAE,aAAkB,GAC1B,UAAU,CAyXZ;AAGD,eAAe,YAAY,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,iBAAiB,EACjB,qCAAqC,GACtC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAA4B,KAAK,UAAU,EAAsB,MAAM,MAAM,CAAC;AAmErF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,YAAY,CAC1B,SAAS,GAAE,UAAe,EAC1B,OAAO,GAAE,aAAkB,GAC1B,UAAU,CA6XZ;AAGD,eAAe,YAAY,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,iBAAiB,EACjB,qCAAqC,GACtC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC"}
package/lib/index.js CHANGED
@@ -52,6 +52,7 @@ const hmr_timing_1 = require("./plugins/hmr-timing");
52
52
  const ws_watchdog_1 = require("./plugins/ws-watchdog");
53
53
  const health_1 = require("./plugins/health");
54
54
  const view_context_1 = require("./plugins/view-context");
55
+ const basename_injection_1 = require("./plugins/basename-injection");
55
56
  const module_alias_1 = require("./plugins/module-alias");
56
57
  const og_meta_1 = require("./plugins/og-meta");
57
58
  const fonts_mirror_1 = require("./plugins/fonts-mirror");
@@ -287,7 +288,10 @@ function defineConfig(overrides = {}, options = {}) {
287
288
  // Vite 同 bucket(head-prepend)是"后执行者插更前"。
288
289
  // 数组里 slardar 在前 → HTML 里 viewContext 在 slardar 之上 → onload 时拿得到 window.tenantId
289
290
  (0, slardar_1.slardarPlugin)({ bid: 'apaas_miaoda' }),
290
- (0, view_context_1.viewContextPlugin)({ appId: isDev ? appId : undefined }),
291
+ (0, view_context_1.viewContextPlugin)({ appId: isDev ? appId : undefined, clientBasePath }),
292
+ // basename 运行时注入:改写入口文件的 process.env.CLIENT_BASE_PATH 为运行时读 window.__BASENAME__
293
+ // enforce:'pre' 确保在 vite define 替换之前执行,只影响入口文件,SDK 内部代码保持编译期常量
294
+ (0, basename_injection_1.basenameInjectionPlugin)({ envBasePath: clientBasePath }),
291
295
  // prod only: 老浏览器 polyfill(按需加载)
292
296
  !isDev && (0, polyfill_1.polyfillPlugin)(),
293
297
  // build-time HTML minify(HBS 占位符保护)
@@ -318,7 +322,7 @@ function defineConfig(overrides = {}, options = {}) {
318
322
  isFullstack && (0, basename_1.basenamePlugin)({ envBasePath: clientBasePath }),
319
323
  // 挂 devtool-kits 的 dev-logs middleware:提供 /server-logs SSE 等 endpoints
320
324
  // 给妙搭外壳实时读 NestJS server.log;require() 加载,包未装时自动跳过
321
- isFullstack && (0, server_log_1.serverLogPlugin)({ basePath: clientBasePath, rootDir }),
325
+ isFullstack && (0, server_log_1.serverLogPlugin)({ basePath: clientBasePath }),
322
326
  ].filter(Boolean),
323
327
  resolve: {
324
328
  // Vite 8 原生 tsconfig paths 解析
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Basename Injection Plugin for Vite
3
+ *
4
+ * 仅对应用入口文件做字符串替换:
5
+ * process.env.CLIENT_BASE_PATH
6
+ * → ((typeof window !== "undefined" && window.__BASENAME__) || "<envBasePath>")
7
+ *
8
+ * 让 BrowserRouter basename 运行时从 server 注入的 window.__BASENAME__ 读取,
9
+ * 实现"同一份 bundle 跑在不同 basename 下"(默认域名 `/app/<appId>`、自定义域名 `/` 或 `/<alias>`)。
10
+ *
11
+ * 入口文件识别(AST 预扫描法):
12
+ * configResolved 阶段从 vite 解析好的 rollupOptions.input 拿到 HTML 入口,
13
+ * 读取 HTML 内容提取所有 <script type="module" src="..."> 的 src 属性,
14
+ * resolve 为绝对路径存入入口白名单。transform 阶段直接用 id 匹配白名单,
15
+ * 不依赖 moduleGraph / getModuleInfo(enforce:'pre' 阶段不可靠)。
16
+ *
17
+ * 关键约束:
18
+ * - 只匹配入口文件,不影响 SDK 内部代码(如 client-toolkit-lite 内部读 process.env.CLIENT_BASE_PATH 的逻辑保持编译期常量)
19
+ * - enforce: 'pre' 确保在 vite 内置 define 替换之前执行
20
+ * - 兜底常量来自构建时 process.env.CLIENT_BASE_PATH,保证 SSR 渲染失败 / 静态导出场景下仍可降级运行
21
+ */
22
+ import type { Plugin } from 'vite';
23
+ export interface BasenameInjectionPluginOptions {
24
+ /** 编译时兜底 basename,通常等于 process.env.CLIENT_BASE_PATH */
25
+ envBasePath?: string;
26
+ }
27
+ export declare function basenameInjectionPlugin(options?: BasenameInjectionPluginOptions): Plugin;
28
+ export default basenameInjectionPlugin;
29
+ //# sourceMappingURL=basename-injection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basename-injection.d.ts","sourceRoot":"","sources":["../../src/plugins/basename-injection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,MAAM,CAAC;AAMnD,MAAM,WAAW,8BAA8B;IAC7C,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAsCD,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,8BAAmC,GAC3C,MAAM,CAgDR;AAED,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ /**
3
+ * Basename Injection Plugin for Vite
4
+ *
5
+ * 仅对应用入口文件做字符串替换:
6
+ * process.env.CLIENT_BASE_PATH
7
+ * → ((typeof window !== "undefined" && window.__BASENAME__) || "<envBasePath>")
8
+ *
9
+ * 让 BrowserRouter basename 运行时从 server 注入的 window.__BASENAME__ 读取,
10
+ * 实现"同一份 bundle 跑在不同 basename 下"(默认域名 `/app/<appId>`、自定义域名 `/` 或 `/<alias>`)。
11
+ *
12
+ * 入口文件识别(AST 预扫描法):
13
+ * configResolved 阶段从 vite 解析好的 rollupOptions.input 拿到 HTML 入口,
14
+ * 读取 HTML 内容提取所有 <script type="module" src="..."> 的 src 属性,
15
+ * resolve 为绝对路径存入入口白名单。transform 阶段直接用 id 匹配白名单,
16
+ * 不依赖 moduleGraph / getModuleInfo(enforce:'pre' 阶段不可靠)。
17
+ *
18
+ * 关键约束:
19
+ * - 只匹配入口文件,不影响 SDK 内部代码(如 client-toolkit-lite 内部读 process.env.CLIENT_BASE_PATH 的逻辑保持编译期常量)
20
+ * - enforce: 'pre' 确保在 vite 内置 define 替换之前执行
21
+ * - 兜底常量来自构建时 process.env.CLIENT_BASE_PATH,保证 SSR 渲染失败 / 静态导出场景下仍可降级运行
22
+ */
23
+ var __importDefault = (this && this.__importDefault) || function (mod) {
24
+ return (mod && mod.__esModule) ? mod : { "default": mod };
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.basenameInjectionPlugin = basenameInjectionPlugin;
28
+ const fs_1 = __importDefault(require("fs"));
29
+ const path_1 = __importDefault(require("path"));
30
+ const TARGET_PATTERN = /\bprocess\.env\.CLIENT_BASE_PATH\b/g;
31
+ // 兜底正则:HTML 解析失败时使用(匹配 index 和 app,用户模板可能把 BrowserRouter 写在 app.tsx)
32
+ const FALLBACK_ENTRY_REGEX = /[/\\](client[/\\])?src[/\\](index|app)\.(tsx?|jsx?)$/;
33
+ /**
34
+ * 从 HTML 文件中提取所有 <script type="module" src="..."> 的 src,
35
+ * 相对于 vite root 解析为绝对路径返回。
36
+ *
37
+ * 注意 src 的两种写法:
38
+ * - "/client/src/index.tsx" → vite root-relative(以 / 开头,相对于 vite root)
39
+ * - "./src/index.tsx" → 相对于 HTML 文件所在目录
40
+ */
41
+ function extractEntryScripts(htmlPath, viteRoot) {
42
+ const entries = new Set();
43
+ try {
44
+ const html = fs_1.default.readFileSync(htmlPath, 'utf-8');
45
+ const htmlDir = path_1.default.dirname(htmlPath);
46
+ // 每次调用都新建 regex,避免 g flag 的 lastIndex 状态残留
47
+ const regex = /<script\b[^>]*type=["']module["'][^>]*src=["']([^"']+)["']|<script\b[^>]*src=["']([^"']+)["'][^>]*type=["']module["']/g;
48
+ let match;
49
+ while ((match = regex.exec(html)) !== null) {
50
+ const src = match[1] || match[2];
51
+ if (!src)
52
+ continue;
53
+ // vite root-relative 路径(如 /client/src/index.tsx)需要相对于 vite root 解析
54
+ // 相对路径(如 ./src/index.tsx)则相对于 HTML 文件目录解析
55
+ const resolved = src.startsWith('/')
56
+ ? path_1.default.resolve(viteRoot, src.slice(1))
57
+ : path_1.default.resolve(htmlDir, src);
58
+ entries.add(path_1.default.normalize(resolved));
59
+ }
60
+ }
61
+ catch {
62
+ // HTML 读取失败,fallback 到默认正则
63
+ }
64
+ return entries;
65
+ }
66
+ function basenameInjectionPlugin(options = {}) {
67
+ const envBasePath = options.envBasePath ?? process.env.CLIENT_BASE_PATH ?? '';
68
+ const fallback = JSON.stringify(envBasePath);
69
+ const runtimeExpr = `((typeof window !== "undefined" && window.__BASENAME__) || ${fallback})`;
70
+ // 入口文件白名单(绝对路径),configResolved 阶段填充
71
+ let entryFiles;
72
+ return {
73
+ name: 'fullstack-basename-injection',
74
+ enforce: 'pre',
75
+ configResolved(config) {
76
+ const input = config.build?.rollupOptions?.input;
77
+ if (typeof input === 'string' && input.endsWith('.html')) {
78
+ entryFiles = extractEntryScripts(input, config.root);
79
+ // 用户模板可能把 BrowserRouter 写在 app.tsx 而非 index.tsx,
80
+ // 把入口文件同目录的 app.{tsx,ts,jsx,js} 也加入白名单
81
+ for (const entry of [...entryFiles]) {
82
+ const dir = path_1.default.dirname(entry);
83
+ for (const name of ['app.tsx', 'app.ts', 'app.jsx', 'app.js']) {
84
+ entryFiles.add(path_1.default.join(dir, name));
85
+ }
86
+ }
87
+ }
88
+ },
89
+ transform(code, id) {
90
+ // 1. 排除虚拟模块和 node_modules
91
+ if (id.startsWith('\0') || id.includes('node_modules'))
92
+ return null;
93
+ // 2. 内容快速过滤
94
+ if (!code.includes('process.env.CLIENT_BASE_PATH'))
95
+ return null;
96
+ // 3. 入口文件匹配
97
+ const cleanId = path_1.default.normalize(id.split('?')[0].split('#')[0]);
98
+ if (entryFiles && entryFiles.size > 0) {
99
+ if (!entryFiles.has(cleanId))
100
+ return null;
101
+ }
102
+ else {
103
+ if (!FALLBACK_ENTRY_REGEX.test(cleanId))
104
+ return null;
105
+ }
106
+ return {
107
+ code: code.replace(TARGET_PATTERN, runtimeExpr),
108
+ map: null,
109
+ };
110
+ },
111
+ };
112
+ }
113
+ exports.default = basenameInjectionPlugin;
114
+ //# sourceMappingURL=basename-injection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basename-injection.js","sourceRoot":"","sources":["../../src/plugins/basename-injection.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
1
  /**
2
2
  * Server-Log Middleware Plugin(dev only)for nestjs-vite-react fullstack 形态。
3
3
  *
4
- * 在 vite dev server 上挂内联的 dev-logs + openapi middleware,让妙搭外壳(编辑器
5
- * 侧)能够:
6
- * - 实时拿到 Nest server 写的日志(server.log / trace.log / *.std.log
7
- * - 拉取 OpenAPI spec 渲染「开放 API」面板
4
+ * 在 vite dev server 上挂内联的 dev-logs middleware(含 server-log SSE / 合并读 /
5
+ * 单文件分页等 endpoints),让妙搭外壳(编辑器侧)能够实时拿到 Nest server 写的
6
+ * 日志(server.log / trace.log / *.std.log)。
8
7
  *
9
- * dev-logs 提供的 endpoints(挂在 `<basePath>/dev/logs` 下):
8
+ * 提供的 endpoints(挂在 `<basePath>/dev/logs` 下):
10
9
  * - GET /server-logs/stream SSE 实时流
11
10
  * - GET /server-logs 合并读所有日志文件(分页 / 过滤)
12
11
  * - GET /files/:fileName 单文件分页读
@@ -18,18 +17,14 @@
18
17
  * - GET /health 健康检查
19
18
  * - GET /api-list 所有 API 路由
20
19
  *
21
- * openapi 提供的 endpoints(挂在 `<basePath>/dev` 下):
22
- * - GET /openapi.json 运行时 openapi.json(enhanceOpenApiWithSourceInfo 追加 x-source)
23
- * - GET /openapi/spec docs/openapi.json 过滤后的 spec(前端「开放 API」面板消费)
24
- *
25
20
  * 跟 `coding-preset-vite-react/plugins/dev-logs.ts`(jsPage 的浏览器端 batch logger
26
21
  * 收集 `/dev/logs/collect-batch` → `browser.log`)互不冲突——前者读 server 端日志
27
22
  * 文件提供给外壳;后者收浏览器端 batch 上报写 `browser.log`。
28
23
  *
29
24
  * 实现原本来自 `@lark-apaas/devtool-kits`(`packages/tools/fullstack-toolkits/`
30
25
  * 的发布名),按产品要求 user app node_modules 不能出现 devtool-kits 包名,整段
31
- * source 内联到 `../server-log/`(包含 dev-logs/ + openapi/ + registerMiddlewares
32
- * 入口)。行为跟 `fullstack-vite-preset` 通过 devtool-kits 间接挂载的版本完全一致。
26
+ * source 内联到 `../server-log/`(包含 dev-logs/ + registerMiddlewares 入口)。
27
+ * 行为跟老 `fullstack-vite-preset` 通过 devtool-kits 间接挂载的版本完全一致。
33
28
  *
34
29
  * 调用方在 `src/index.ts` 已经做了 `isFullstack && serverLogPlugin(...)` gating,
35
30
  * jsPage 形态根本不会挂这个 plugin —— 此处不再重复判断。
@@ -40,11 +35,9 @@ export interface ServerLogPluginOptions {
40
35
  logDir?: string;
41
36
  /** 挂载基路径(沙箱 base path),内部把 routes 挂到 `<basePath>/dev/logs/...` */
42
37
  basePath?: string;
43
- /** 项目根目录,用来定位 `./docs/openapi.json`。默认 `process.cwd()` */
44
- rootDir?: string;
45
38
  }
46
39
  /**
47
- * Vite plugin: 挂载内联的 dev-logs + openapi middleware。
40
+ * Vite plugin: 挂载内联的 dev-logs middleware(server-log SSE 等)。
48
41
  * 仅 dev 模式启用;build 时不影响。
49
42
  */
50
43
  export declare function serverLogPlugin(options?: ServerLogPluginOptions): Plugin;
@@ -1 +1 @@
1
- {"version":3,"file":"server-log.d.ts","sourceRoot":"","sources":["../../src/plugins/server-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAKlD,MAAM,WAAW,sBAAsB;IACrC,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,MAAM,CA6B5E;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"server-log.d.ts","sourceRoot":"","sources":["../../src/plugins/server-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAIlD,MAAM,WAAW,sBAAsB;IACrC,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,MAAM,CAsB5E;AAED,eAAe,eAAe,CAAC"}
@@ -2,12 +2,11 @@
2
2
  /**
3
3
  * Server-Log Middleware Plugin(dev only)for nestjs-vite-react fullstack 形态。
4
4
  *
5
- * 在 vite dev server 上挂内联的 dev-logs + openapi middleware,让妙搭外壳(编辑器
6
- * 侧)能够:
7
- * - 实时拿到 Nest server 写的日志(server.log / trace.log / *.std.log
8
- * - 拉取 OpenAPI spec 渲染「开放 API」面板
5
+ * 在 vite dev server 上挂内联的 dev-logs middleware(含 server-log SSE / 合并读 /
6
+ * 单文件分页等 endpoints),让妙搭外壳(编辑器侧)能够实时拿到 Nest server 写的
7
+ * 日志(server.log / trace.log / *.std.log)。
9
8
  *
10
- * dev-logs 提供的 endpoints(挂在 `<basePath>/dev/logs` 下):
9
+ * 提供的 endpoints(挂在 `<basePath>/dev/logs` 下):
11
10
  * - GET /server-logs/stream SSE 实时流
12
11
  * - GET /server-logs 合并读所有日志文件(分页 / 过滤)
13
12
  * - GET /files/:fileName 单文件分页读
@@ -19,39 +18,29 @@
19
18
  * - GET /health 健康检查
20
19
  * - GET /api-list 所有 API 路由
21
20
  *
22
- * openapi 提供的 endpoints(挂在 `<basePath>/dev` 下):
23
- * - GET /openapi.json 运行时 openapi.json(enhanceOpenApiWithSourceInfo 追加 x-source)
24
- * - GET /openapi/spec docs/openapi.json 过滤后的 spec(前端「开放 API」面板消费)
25
- *
26
21
  * 跟 `coding-preset-vite-react/plugins/dev-logs.ts`(jsPage 的浏览器端 batch logger
27
22
  * 收集 `/dev/logs/collect-batch` → `browser.log`)互不冲突——前者读 server 端日志
28
23
  * 文件提供给外壳;后者收浏览器端 batch 上报写 `browser.log`。
29
24
  *
30
25
  * 实现原本来自 `@lark-apaas/devtool-kits`(`packages/tools/fullstack-toolkits/`
31
26
  * 的发布名),按产品要求 user app node_modules 不能出现 devtool-kits 包名,整段
32
- * source 内联到 `../server-log/`(包含 dev-logs/ + openapi/ + registerMiddlewares
33
- * 入口)。行为跟 `fullstack-vite-preset` 通过 devtool-kits 间接挂载的版本完全一致。
27
+ * source 内联到 `../server-log/`(包含 dev-logs/ + registerMiddlewares 入口)。
28
+ * 行为跟老 `fullstack-vite-preset` 通过 devtool-kits 间接挂载的版本完全一致。
34
29
  *
35
30
  * 调用方在 `src/index.ts` 已经做了 `isFullstack && serverLogPlugin(...)` gating,
36
31
  * jsPage 形态根本不会挂这个 plugin —— 此处不再重复判断。
37
32
  */
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
33
  Object.defineProperty(exports, "__esModule", { value: true });
42
34
  exports.serverLogPlugin = serverLogPlugin;
43
- const node_path_1 = __importDefault(require("node:path"));
44
35
  const register_1 = require("../server-log/register");
45
36
  const dev_logs_1 = require("../server-log/dev-logs");
46
- const openapi_1 = require("../server-log/openapi");
47
37
  /**
48
- * Vite plugin: 挂载内联的 dev-logs + openapi middleware。
38
+ * Vite plugin: 挂载内联的 dev-logs middleware(server-log SSE 等)。
49
39
  * 仅 dev 模式启用;build 时不影响。
50
40
  */
51
41
  function serverLogPlugin(options = {}) {
52
42
  const logDir = options.logDir ?? process.env.LOG_DIR ?? './logs';
53
43
  const basePath = options.basePath ?? '';
54
- const rootDir = options.rootDir ?? process.cwd();
55
44
  return {
56
45
  name: 'nestjs-vite-react-server-log',
57
46
  apply: 'serve',
@@ -60,15 +49,9 @@ function serverLogPlugin(options = {}) {
60
49
  (0, dev_logs_1.createDevLogsMiddleware)({
61
50
  logDir,
62
51
  }),
63
- // 注册 openapi middleware —— 提供 /dev/openapi/spec,妙搭「开放 API」面板消费
64
- // (commit e66dd8d8 引入 openapiSpecFilePath 时遗漏了本包)
65
- (0, openapi_1.createOpenapiMiddleware)({
66
- openapiSpecFilePath: node_path_1.default.resolve(rootDir, './docs/openapi.json'),
67
- }),
68
52
  ], {
69
53
  basePath,
70
54
  isDev: true,
71
- rootDir,
72
55
  });
73
56
  },
74
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"server-log.js","sourceRoot":"","sources":["../../src/plugins/server-log.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;;;;;AAqBH,0CA6BC;AAhDD,0DAA6B;AAE7B,qDAA6D;AAC7D,qDAAiE;AACjE,mDAAgE;AAWhE;;;GAGG;AACH,SAAgB,eAAe,CAAC,UAAkC,EAAE;IAClE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,QAAQ,CAAC;IACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEjD,OAAO;QACL,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,OAAO;QACd,eAAe,CAAC,MAAqB;YACnC,IAAA,8BAAmB,EACjB,MAAM,CAAC,WAAW,EAClB;gBACE,IAAA,kCAAuB,EAAC;oBACtB,MAAM;iBACP,CAAC;gBACF,+DAA+D;gBAC/D,kDAAkD;gBAClD,IAAA,iCAAuB,EAAC;oBACtB,mBAAmB,EAAE,mBAAI,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC;iBAClE,CAAC;aACH,EACD;gBACE,QAAQ;gBACR,KAAK,EAAE,IAAI;gBACX,OAAO;aACR,CACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,kBAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"server-log.js","sourceRoot":"","sources":["../../src/plugins/server-log.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;AAiBH,0CAsBC;AApCD,qDAA6D;AAC7D,qDAAiE;AASjE;;;GAGG;AACH,SAAgB,eAAe,CAAC,UAAkC,EAAE;IAClE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,QAAQ,CAAC;IACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAExC,OAAO;QACL,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,OAAO;QACd,eAAe,CAAC,MAAqB;YACnC,IAAA,8BAAmB,EACjB,MAAM,CAAC,WAAW,EAClB;gBACE,IAAA,kCAAuB,EAAC;oBACtB,MAAM;iBACP,CAAC;aACH,EACD;gBACE,QAAQ;gBACR,KAAK,EAAE,IAAI;aACZ,CACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,kBAAe,eAAe,CAAC"}
@@ -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;CAChB;AAkED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG,MAAM,CAyChF;AAED,eAAe,iBAAiB,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":"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"}
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.13-alpha.11",
3
+ "version": "1.0.13-alpha.13",
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",
@@ -1,9 +0,0 @@
1
- import type { RouteMiddleware } from '../types';
2
- import type { OpenapiMiddlewareOptions } from './types';
3
- /**
4
- * Creates OpenAPI middleware that serves /dev/openapi/spec —— 妙搭「开放 API」
5
- * 面板消费的端点,直接读 docs/openapi.json 并过滤成 /openapi/* 子集。
6
- */
7
- export declare function createOpenapiMiddleware(options: OpenapiMiddlewareOptions): RouteMiddleware;
8
- export type { OpenapiMiddlewareOptions } from './types';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server-log/openapi/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,UAAU,CAAC;AAC9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAcxD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,eAAe,CAc1F;AAGD,YAAY,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createOpenapiMiddleware = createOpenapiMiddleware;
4
- const router_1 = require("./router");
5
- /**
6
- * Routes provided by OpenAPI middleware
7
- */
8
- const OPENAPI_ROUTES = [
9
- {
10
- method: 'GET',
11
- path: '/openapi/spec',
12
- description: 'Serve OpenAPI specification for /openapi/*',
13
- },
14
- ];
15
- /**
16
- * Creates OpenAPI middleware that serves /dev/openapi/spec —— 妙搭「开放 API」
17
- * 面板消费的端点,直接读 docs/openapi.json 并过滤成 /openapi/* 子集。
18
- */
19
- function createOpenapiMiddleware(options) {
20
- const { openapiSpecFilePath } = options;
21
- return {
22
- name: 'openapi',
23
- mountPath: '/dev',
24
- routes: OPENAPI_ROUTES,
25
- enabled: (context) => context.isDev,
26
- createRouter: (context) => {
27
- return (0, router_1.createOpenapiRouter)({ openapiSpecFilePath }, context);
28
- },
29
- };
30
- }
31
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server-log/openapi/index.ts"],"names":[],"mappings":";;AAmBA,0DAcC;AA/BD,qCAA+C;AAE/C;;GAEG;AACH,MAAM,cAAc,GAAgB;IAClC;QACE,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,4CAA4C;KAC1D;CACF,CAAC;AAEF;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,OAAiC;IACvE,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;IAExC,OAAO;QACL,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,MAAM;QACjB,MAAM,EAAE,cAAc;QAEtB,OAAO,EAAE,CAAC,OAA0B,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK;QAEtD,YAAY,EAAE,CAAC,OAA0B,EAAE,EAAE;YAC3C,OAAO,IAAA,4BAAmB,EAAC,EAAE,mBAAmB,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,17 +0,0 @@
1
- import { Router } from 'express';
2
- import type { MiddlewareContext } from '../types';
3
- /**
4
- * Options for creating OpenAPI router
5
- */
6
- export interface OpenapiRouterOptions {
7
- /** Path to the OpenAPI spec source file for /openapi/spec */
8
- openapiSpecFilePath: string;
9
- }
10
- /**
11
- * Create OpenAPI router
12
- *
13
- * 仅提供 GET /openapi/spec —— 妙搭「开放 API」面板消费的端点,
14
- * 直接读 docs/openapi.json 并过滤成 /openapi/* 的子集($refs 展平)。
15
- */
16
- export declare function createOpenapiRouter(options: OpenapiRouterOptions, context: MiddlewareContext): Router;
17
- //# sourceMappingURL=router.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/server-log/openapi/router.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,iBAAiB,GACzB,MAAM,CAQR"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createOpenapiRouter = createOpenapiRouter;
7
- const express_1 = __importDefault(require("express"));
8
- const spec_controller_1 = require("./spec-controller");
9
- /**
10
- * Create OpenAPI router
11
- *
12
- * 仅提供 GET /openapi/spec —— 妙搭「开放 API」面板消费的端点,
13
- * 直接读 docs/openapi.json 并过滤成 /openapi/* 的子集($refs 展平)。
14
- */
15
- function createOpenapiRouter(options, context) {
16
- const { openapiSpecFilePath } = options;
17
- const router = express_1.default.Router();
18
- const specHandler = (0, spec_controller_1.createOpenapiSpecHandler)(openapiSpecFilePath);
19
- router.get('/openapi/spec', (req, res) => specHandler(req, res, context));
20
- return router;
21
- }
22
- //# sourceMappingURL=router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/server-log/openapi/router.ts"],"names":[],"mappings":";;;;;AAkBA,kDAWC;AA7BD,sDAA0C;AAE1C,uDAA6D;AAU7D;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,OAA6B,EAC7B,OAA0B;IAE1B,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;IACxC,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;IAEhC,MAAM,WAAW,GAAG,IAAA,0CAAwB,EAAC,mBAAmB,CAAC,CAAC;IAClE,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1E,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { Request, Response } from 'express';
2
- import type { MiddlewareContext } from '../types';
3
- export declare function createOpenapiSpecHandler(openapiSpecFilePath: string): (_req: Request, res: Response, context: MiddlewareContext) => Promise<Response<any, Record<string, any>> | undefined>;
4
- //# sourceMappingURL=spec-controller.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spec-controller.d.ts","sourceRoot":"","sources":["../../../src/server-log/openapi/spec-controller.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAclD,wBAAgB,wBAAwB,CAAC,mBAAmB,EAAE,MAAM,IAGpD,MAAM,OAAO,EAAE,KAAK,QAAQ,EAAE,SAAS,iBAAiB,6DAqDvE"}
@@ -1,136 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createOpenapiSpecHandler = createOpenapiSpecHandler;
7
- const promises_1 = __importDefault(require("node:fs/promises"));
8
- const node_crypto_1 = __importDefault(require("node:crypto"));
9
- const MAX_REF_DEPTH = 5;
10
- const EMPTY_OPENAPI_SPEC = {
11
- openapi: '3.0.0',
12
- info: { title: '开放 API', version: '0.0.0' },
13
- paths: {},
14
- components: { schemas: {} },
15
- };
16
- function createOpenapiSpecHandler(openapiSpecFilePath) {
17
- let cache = null;
18
- return async (_req, res, context) => {
19
- try {
20
- let fileBuffer;
21
- try {
22
- fileBuffer = await promises_1.default.readFile(openapiSpecFilePath, 'utf-8');
23
- }
24
- catch (err) {
25
- if (err?.code === 'ENOENT') {
26
- return res.json(EMPTY_OPENAPI_SPEC);
27
- }
28
- throw err;
29
- }
30
- const currentHash = node_crypto_1.default.createHash('md5').update(fileBuffer).digest('hex');
31
- if (cache && cache.fileHash === currentHash) {
32
- return res.json(cache.data);
33
- }
34
- let parsed;
35
- try {
36
- parsed = JSON.parse(fileBuffer);
37
- }
38
- catch (err) {
39
- const message = err instanceof Error ? err.message : 'Invalid JSON';
40
- return res.status(500).json({
41
- error: 'Failed to load OpenAPI spec',
42
- message: `${openapiSpecFilePath} invalid: ${message}`,
43
- });
44
- }
45
- if (!parsed || typeof parsed !== 'object' || !parsed.paths || typeof parsed.paths !== 'object') {
46
- return res.status(500).json({
47
- error: 'Failed to load OpenAPI spec',
48
- message: `${openapiSpecFilePath} missing "paths"`,
49
- });
50
- }
51
- const result = buildFilteredSpec(parsed, context.basePath ?? '');
52
- cache = {
53
- data: result,
54
- fileHash: currentHash,
55
- };
56
- res.json(result);
57
- return;
58
- }
59
- catch (error) {
60
- const message = error instanceof Error ? error.message : 'Unknown error';
61
- res.status(500).json({
62
- error: 'Failed to load OpenAPI spec',
63
- message,
64
- });
65
- return;
66
- }
67
- };
68
- }
69
- function buildFilteredSpec(spec, globalPrefix) {
70
- const schemas = (spec.components?.schemas ?? {});
71
- const paths = (spec.paths ?? {});
72
- const filteredPaths = {};
73
- const cleanPrefix = globalPrefix.replace(/\/+$/, '');
74
- for (const [pathKey, methods] of Object.entries(paths)) {
75
- const cleanPath = stripPrefix(pathKey, cleanPrefix);
76
- if (!cleanPath.startsWith('/openapi'))
77
- continue;
78
- filteredPaths[cleanPath] = {};
79
- for (const [method, operation] of Object.entries(methods)) {
80
- if (['parameters', 'summary', 'description', 'servers'].includes(method))
81
- continue;
82
- filteredPaths[cleanPath][method] = resolveRefsDeep(structuredClone(operation), schemas);
83
- }
84
- }
85
- return {
86
- openapi: spec.openapi ?? '3.0.0',
87
- paths: filteredPaths,
88
- components: {
89
- schemas: resolveAllSchemaRefs(structuredClone(schemas)),
90
- },
91
- };
92
- }
93
- function stripPrefix(pathStr, prefix) {
94
- if (prefix && pathStr.startsWith(prefix)) {
95
- return pathStr.slice(prefix.length);
96
- }
97
- return pathStr;
98
- }
99
- function resolveRefsDeep(obj, schemas, depth = 0) {
100
- if (depth > MAX_REF_DEPTH || obj === null || obj === undefined)
101
- return obj;
102
- if (typeof obj !== 'object')
103
- return obj;
104
- if (Array.isArray(obj)) {
105
- return obj.map((item) => resolveRefsDeep(item, schemas, depth));
106
- }
107
- const record = obj;
108
- if (typeof record['$ref'] === 'string') {
109
- const resolved = resolveRef(record['$ref'], schemas);
110
- if (resolved !== undefined) {
111
- return resolveRefsDeep(structuredClone(resolved), schemas, depth + 1);
112
- }
113
- return record;
114
- }
115
- const result = {};
116
- for (const [key, value] of Object.entries(record)) {
117
- result[key] = resolveRefsDeep(value, schemas, depth);
118
- }
119
- return result;
120
- }
121
- function resolveRef(ref, schemas) {
122
- const prefix = '#/components/schemas/';
123
- if (ref.startsWith(prefix)) {
124
- const name = ref.slice(prefix.length);
125
- return schemas[name];
126
- }
127
- return undefined;
128
- }
129
- function resolveAllSchemaRefs(schemas) {
130
- const result = {};
131
- for (const [name, schema] of Object.entries(schemas)) {
132
- result[name] = resolveRefsDeep(schema, schemas);
133
- }
134
- return result;
135
- }
136
- //# sourceMappingURL=spec-controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spec-controller.js","sourceRoot":"","sources":["../../../src/server-log/openapi/spec-controller.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Options for OpenAPI middleware
3
- */
4
- export interface OpenapiMiddlewareOptions {
5
- /** Path to the OpenAPI spec source file. Serves /openapi/spec with /openapi/* filtered and $refs resolved. */
6
- openapiSpecFilePath: string;
7
- }
8
- /**
9
- * OpenAPI cache entry
10
- */
11
- export interface OpenapiCache {
12
- data: any;
13
- fileHash: string;
14
- }
15
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server-log/openapi/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,8GAA8G;IAC9G,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/server-log/openapi/types.ts"],"names":[],"mappings":""}