@lark-apaas/coding-preset-vite-react 1.0.12 → 1.0.13-alpha.0
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/fonts-mirror.d.ts.map +1 -1
- package/lib/plugins/fonts-mirror.js +0 -28
- package/lib/plugins/fonts-mirror.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
|
@@ -1,171 +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.minifyHtmlWithHbsProtection = minifyHtmlWithHbsProtection;
|
|
7
|
-
exports.htmlOutputPlugin = htmlOutputPlugin;
|
|
8
|
-
const fs_1 = __importDefault(require("fs"));
|
|
9
|
-
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const html_minifier_terser_1 = require("html-minifier-terser");
|
|
11
|
-
/**
|
|
12
|
-
* Minify HTML while preserving HBS (Handlebars) template expressions.
|
|
13
|
-
*
|
|
14
|
-
* HBS expressions like {{csrfToken}} and {{{appAvatar}}} are temporarily
|
|
15
|
-
* replaced with safe placeholders before minification, then restored after.
|
|
16
|
-
*/
|
|
17
|
-
async function minifyHtmlWithHbsProtection(html) {
|
|
18
|
-
// Replace HBS expressions with placeholders before minification
|
|
19
|
-
// to prevent html-minifier-terser from corrupting them
|
|
20
|
-
const hbsPlaceholders = [];
|
|
21
|
-
let processed = html.replace(/\{\{\{?.+?\}\}\}?/g, (match) => {
|
|
22
|
-
const index = hbsPlaceholders.length;
|
|
23
|
-
hbsPlaceholders.push(match);
|
|
24
|
-
return `__HBS_${index}__`;
|
|
25
|
-
});
|
|
26
|
-
processed = await (0, html_minifier_terser_1.minify)(processed, {
|
|
27
|
-
collapseWhitespace: true,
|
|
28
|
-
removeComments: true,
|
|
29
|
-
removeRedundantAttributes: true,
|
|
30
|
-
removeEmptyAttributes: true,
|
|
31
|
-
minifyCSS: true,
|
|
32
|
-
// Do NOT minifyJS — inline scripts may reference HBS placeholders
|
|
33
|
-
minifyJS: false,
|
|
34
|
-
});
|
|
35
|
-
// Restore HBS expressions
|
|
36
|
-
processed = processed.replace(/__HBS_(\d+)__/g, (_, index) => {
|
|
37
|
-
return hbsPlaceholders[Number(index)];
|
|
38
|
-
});
|
|
39
|
-
return processed;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Vite plugin to handle HTML output:
|
|
43
|
-
* 1. In production: fixes HTML output path (removes extra 'client' directory)
|
|
44
|
-
* 2. In development: writes transformed HTML to disk for backend to serve
|
|
45
|
-
*/
|
|
46
|
-
function htmlOutputPlugin(options) {
|
|
47
|
-
const { isDev, outDir } = options;
|
|
48
|
-
let config;
|
|
49
|
-
let server = null;
|
|
50
|
-
/**
|
|
51
|
-
* Transform and write HTML to disk for backend to serve
|
|
52
|
-
*/
|
|
53
|
-
async function writeHtmlToDisk() {
|
|
54
|
-
if (!server || !config)
|
|
55
|
-
return;
|
|
56
|
-
try {
|
|
57
|
-
// Find the input HTML file from rollup options
|
|
58
|
-
const rollupInput = config.build.rollupOptions?.input;
|
|
59
|
-
let htmlPath;
|
|
60
|
-
if (typeof rollupInput === 'string') {
|
|
61
|
-
htmlPath = rollupInput;
|
|
62
|
-
}
|
|
63
|
-
else if (Array.isArray(rollupInput)) {
|
|
64
|
-
htmlPath = rollupInput.find((f) => f.endsWith('.html')) || '';
|
|
65
|
-
}
|
|
66
|
-
else if (rollupInput && typeof rollupInput === 'object') {
|
|
67
|
-
htmlPath =
|
|
68
|
-
Object.values(rollupInput).find((f) => f.endsWith('.html')) || '';
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
htmlPath = path_1.default.resolve(config.root, 'index.html');
|
|
72
|
-
}
|
|
73
|
-
if (!htmlPath || !fs_1.default.existsSync(htmlPath)) {
|
|
74
|
-
console.warn(`[html-output] HTML file not found: ${htmlPath}`);
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
// Read the source HTML
|
|
78
|
-
let html = fs_1.default.readFileSync(htmlPath, 'utf-8');
|
|
79
|
-
// Apply Vite's HTML transformations (this calls all plugin's transformIndexHtml hooks)
|
|
80
|
-
const url = '/' + path_1.default.relative(config.root, htmlPath);
|
|
81
|
-
html = await server.transformIndexHtml(url, html);
|
|
82
|
-
// Write to output directory
|
|
83
|
-
const outputPath = path_1.default.resolve(outDir, 'index.html');
|
|
84
|
-
// Ensure output directory exists
|
|
85
|
-
const dir = path_1.default.dirname(outputPath);
|
|
86
|
-
if (!fs_1.default.existsSync(dir)) {
|
|
87
|
-
fs_1.default.mkdirSync(dir, { recursive: true });
|
|
88
|
-
}
|
|
89
|
-
fs_1.default.writeFileSync(outputPath, html);
|
|
90
|
-
console.log(`[html-output] Written to: ${outputPath}`);
|
|
91
|
-
}
|
|
92
|
-
catch (e) {
|
|
93
|
-
console.error(`[html-output] Failed to write HTML:`, e);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
return {
|
|
97
|
-
name: 'vite-html-output',
|
|
98
|
-
configResolved(resolvedConfig) {
|
|
99
|
-
config = resolvedConfig;
|
|
100
|
-
},
|
|
101
|
-
configureServer(devServer) {
|
|
102
|
-
if (!isDev)
|
|
103
|
-
return;
|
|
104
|
-
server = devServer;
|
|
105
|
-
// Return a post hook to run after all plugins' configureServer and
|
|
106
|
-
// Vite's internal middlewares are set up
|
|
107
|
-
return () => {
|
|
108
|
-
writeHtmlToDisk();
|
|
109
|
-
// Watch for HTML file changes
|
|
110
|
-
const rollupInput = config.build.rollupOptions?.input;
|
|
111
|
-
let htmlPath;
|
|
112
|
-
if (typeof rollupInput === 'string' && rollupInput.endsWith('.html')) {
|
|
113
|
-
htmlPath = rollupInput;
|
|
114
|
-
}
|
|
115
|
-
else if (rollupInput && typeof rollupInput === 'object') {
|
|
116
|
-
const inputs = Array.isArray(rollupInput)
|
|
117
|
-
? rollupInput
|
|
118
|
-
: Object.values(rollupInput);
|
|
119
|
-
htmlPath = inputs.find((f) => f.endsWith('.html'));
|
|
120
|
-
}
|
|
121
|
-
if (htmlPath) {
|
|
122
|
-
devServer.watcher.add(htmlPath);
|
|
123
|
-
devServer.watcher.on('change', (file) => {
|
|
124
|
-
if (file === htmlPath) {
|
|
125
|
-
console.log(`[html-output] HTML changed, regenerating...`);
|
|
126
|
-
writeHtmlToDisk();
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
},
|
|
132
|
-
// In production, fix the HTML output path and minify after build
|
|
133
|
-
async closeBundle() {
|
|
134
|
-
if (!isDev && config) {
|
|
135
|
-
const outDir = config.build.outDir;
|
|
136
|
-
const wrongPath = path_1.default.resolve(outDir, 'client/index.html');
|
|
137
|
-
const correctPath = path_1.default.resolve(outDir, 'index.html');
|
|
138
|
-
// Check if HTML was output to wrong location
|
|
139
|
-
if (fs_1.default.existsSync(wrongPath)) {
|
|
140
|
-
// Move HTML to correct location
|
|
141
|
-
fs_1.default.renameSync(wrongPath, correctPath);
|
|
142
|
-
console.log(`[html-output] Moved: ${wrongPath} -> ${correctPath}`);
|
|
143
|
-
// Remove empty client directory if it exists
|
|
144
|
-
const clientDir = path_1.default.resolve(outDir, 'client');
|
|
145
|
-
try {
|
|
146
|
-
const files = fs_1.default.readdirSync(clientDir);
|
|
147
|
-
if (files.length === 0) {
|
|
148
|
-
fs_1.default.rmdirSync(clientDir);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
catch {
|
|
152
|
-
// Directory doesn't exist or not empty, ignore
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
// Minify HTML (protect HBS templates like {{csrfToken}}, {{{appAvatar}}})
|
|
156
|
-
if (fs_1.default.existsSync(correctPath)) {
|
|
157
|
-
try {
|
|
158
|
-
const html = fs_1.default.readFileSync(correctPath, 'utf-8');
|
|
159
|
-
const minified = await minifyHtmlWithHbsProtection(html);
|
|
160
|
-
fs_1.default.writeFileSync(correctPath, minified);
|
|
161
|
-
console.log(`[html-output] Minified: ${correctPath}`);
|
|
162
|
-
}
|
|
163
|
-
catch (e) {
|
|
164
|
-
console.warn(`[html-output] HTML minification failed, skipping:`, e);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
},
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
//# sourceMappingURL=html-output.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"html-output.js","sourceRoot":"","sources":["../../src/plugins/html-output.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Server-Log Middleware Plugin(dev only)for nestjs-vite-react fullstack 形态。
|
|
3
|
-
*
|
|
4
|
-
* 在 vite dev server 上挂内联的 dev-logs middleware(含 server-log SSE / 合并读 /
|
|
5
|
-
* 单文件分页等 endpoints),让妙搭外壳(编辑器侧)能够实时拿到 Nest server 写的
|
|
6
|
-
* 日志(server.log / trace.log / *.std.log)。
|
|
7
|
-
*
|
|
8
|
-
* 提供的 endpoints(挂在 `<basePath>/dev/logs` 下):
|
|
9
|
-
* - GET /server-logs/stream SSE 实时流
|
|
10
|
-
* - GET /server-logs 合并读所有日志文件(分页 / 过滤)
|
|
11
|
-
* - GET /files/:fileName 单文件分页读
|
|
12
|
-
* - GET /trace/recent 最近 trace 列表(含分页 / 过滤)
|
|
13
|
-
* - GET /trace/:traceId 按 traceId 查 log entries
|
|
14
|
-
* - GET /trace/trigger/list 自动化 trigger 列表
|
|
15
|
-
* - GET /trace/trigger/:id trigger 详情
|
|
16
|
-
* - GET /trace/capability/list capability trace 列表
|
|
17
|
-
* - GET /health 健康检查
|
|
18
|
-
* - GET /api-list 所有 API 路由
|
|
19
|
-
*
|
|
20
|
-
* 跟 `coding-preset-vite-react/plugins/dev-logs.ts`(jsPage 的浏览器端 batch logger
|
|
21
|
-
* 收集 `/dev/logs/collect-batch` → `browser.log`)互不冲突——前者读 server 端日志
|
|
22
|
-
* 文件提供给外壳;后者收浏览器端 batch 上报写 `browser.log`。
|
|
23
|
-
*
|
|
24
|
-
* 实现原本来自 `@lark-apaas/devtool-kits`(`packages/tools/fullstack-toolkits/`
|
|
25
|
-
* 的发布名),按产品要求 user app node_modules 不能出现 devtool-kits 包名,整段
|
|
26
|
-
* source 内联到 `../server-log/`(包含 dev-logs/ + registerMiddlewares 入口)。
|
|
27
|
-
* 行为跟老 `fullstack-vite-preset` 通过 devtool-kits 间接挂载的版本完全一致。
|
|
28
|
-
*
|
|
29
|
-
* 调用方在 `src/index.ts` 已经做了 `isFullstack && serverLogPlugin(...)` gating,
|
|
30
|
-
* jsPage 形态根本不会挂这个 plugin —— 此处不再重复判断。
|
|
31
|
-
*/
|
|
32
|
-
import type { Plugin } from 'vite';
|
|
33
|
-
export interface ServerLogPluginOptions {
|
|
34
|
-
/** 日志读取目录。默认 `process.env.LOG_DIR || './logs'`,跟 Nest server 写日志的目录一致 */
|
|
35
|
-
logDir?: string;
|
|
36
|
-
/** 挂载基路径(沙箱 base path),内部把 routes 挂到 `<basePath>/dev/logs/...` */
|
|
37
|
-
basePath?: string;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Vite plugin: 挂载内联的 dev-logs middleware(server-log SSE 等)。
|
|
41
|
-
* 仅 dev 模式启用;build 时不影响。
|
|
42
|
-
*/
|
|
43
|
-
export declare function serverLogPlugin(options?: ServerLogPluginOptions): Plugin;
|
|
44
|
-
export default serverLogPlugin;
|
|
45
|
-
//# sourceMappingURL=server-log.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Server-Log Middleware Plugin(dev only)for nestjs-vite-react fullstack 形态。
|
|
4
|
-
*
|
|
5
|
-
* 在 vite dev server 上挂内联的 dev-logs middleware(含 server-log SSE / 合并读 /
|
|
6
|
-
* 单文件分页等 endpoints),让妙搭外壳(编辑器侧)能够实时拿到 Nest server 写的
|
|
7
|
-
* 日志(server.log / trace.log / *.std.log)。
|
|
8
|
-
*
|
|
9
|
-
* 提供的 endpoints(挂在 `<basePath>/dev/logs` 下):
|
|
10
|
-
* - GET /server-logs/stream SSE 实时流
|
|
11
|
-
* - GET /server-logs 合并读所有日志文件(分页 / 过滤)
|
|
12
|
-
* - GET /files/:fileName 单文件分页读
|
|
13
|
-
* - GET /trace/recent 最近 trace 列表(含分页 / 过滤)
|
|
14
|
-
* - GET /trace/:traceId 按 traceId 查 log entries
|
|
15
|
-
* - GET /trace/trigger/list 自动化 trigger 列表
|
|
16
|
-
* - GET /trace/trigger/:id trigger 详情
|
|
17
|
-
* - GET /trace/capability/list capability trace 列表
|
|
18
|
-
* - GET /health 健康检查
|
|
19
|
-
* - GET /api-list 所有 API 路由
|
|
20
|
-
*
|
|
21
|
-
* 跟 `coding-preset-vite-react/plugins/dev-logs.ts`(jsPage 的浏览器端 batch logger
|
|
22
|
-
* 收集 `/dev/logs/collect-batch` → `browser.log`)互不冲突——前者读 server 端日志
|
|
23
|
-
* 文件提供给外壳;后者收浏览器端 batch 上报写 `browser.log`。
|
|
24
|
-
*
|
|
25
|
-
* 实现原本来自 `@lark-apaas/devtool-kits`(`packages/tools/fullstack-toolkits/`
|
|
26
|
-
* 的发布名),按产品要求 user app node_modules 不能出现 devtool-kits 包名,整段
|
|
27
|
-
* source 内联到 `../server-log/`(包含 dev-logs/ + registerMiddlewares 入口)。
|
|
28
|
-
* 行为跟老 `fullstack-vite-preset` 通过 devtool-kits 间接挂载的版本完全一致。
|
|
29
|
-
*
|
|
30
|
-
* 调用方在 `src/index.ts` 已经做了 `isFullstack && serverLogPlugin(...)` gating,
|
|
31
|
-
* jsPage 形态根本不会挂这个 plugin —— 此处不再重复判断。
|
|
32
|
-
*/
|
|
33
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
-
exports.serverLogPlugin = serverLogPlugin;
|
|
35
|
-
const register_1 = require("../server-log/register");
|
|
36
|
-
const dev_logs_1 = require("../server-log/dev-logs");
|
|
37
|
-
/**
|
|
38
|
-
* Vite plugin: 挂载内联的 dev-logs middleware(server-log SSE 等)。
|
|
39
|
-
* 仅 dev 模式启用;build 时不影响。
|
|
40
|
-
*/
|
|
41
|
-
function serverLogPlugin(options = {}) {
|
|
42
|
-
const logDir = options.logDir ?? process.env.LOG_DIR ?? './logs';
|
|
43
|
-
const basePath = options.basePath ?? '';
|
|
44
|
-
return {
|
|
45
|
-
name: 'nestjs-vite-react-server-log',
|
|
46
|
-
apply: 'serve',
|
|
47
|
-
configureServer(server) {
|
|
48
|
-
(0, register_1.registerMiddlewares)(server.middlewares, [
|
|
49
|
-
(0, dev_logs_1.createDevLogsMiddleware)({
|
|
50
|
-
logDir,
|
|
51
|
-
}),
|
|
52
|
-
], {
|
|
53
|
-
basePath,
|
|
54
|
-
isDev: true,
|
|
55
|
-
});
|
|
56
|
-
},
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
exports.default = serverLogPlugin;
|
|
60
|
-
//# sourceMappingURL=server-log.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Express/Connect 兼容层
|
|
3
|
-
* 让 middleware 同时支持 Express 和 Vite/Connect
|
|
4
|
-
*/
|
|
5
|
-
import type { ServerResponse, IncomingMessage } from 'http';
|
|
6
|
-
type AnyResponse = ServerResponse & {
|
|
7
|
-
status?: (code: number) => AnyResponse;
|
|
8
|
-
json?: (data: unknown) => void;
|
|
9
|
-
send?: (data: unknown) => void;
|
|
10
|
-
};
|
|
11
|
-
type AnyRequest = IncomingMessage & {
|
|
12
|
-
query?: Record<string, string>;
|
|
13
|
-
params?: Record<string, string>;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* 发送 JSON 响应,兼容 Express 和 Connect
|
|
17
|
-
*/
|
|
18
|
-
export declare function sendJson(res: AnyResponse, data: unknown, statusCode?: number): void;
|
|
19
|
-
/**
|
|
20
|
-
* 发送错误响应
|
|
21
|
-
*/
|
|
22
|
-
export declare function sendError(res: AnyResponse, message: string, error?: unknown, statusCode?: number): void;
|
|
23
|
-
/**
|
|
24
|
-
* 发送成功响应
|
|
25
|
-
*/
|
|
26
|
-
export declare function sendSuccess(res: AnyResponse, data?: Record<string, unknown>): void;
|
|
27
|
-
/**
|
|
28
|
-
* 获取 query 参数,兼容 Express 和 Connect
|
|
29
|
-
*/
|
|
30
|
-
export declare function getQuery(req: AnyRequest): Record<string, string>;
|
|
31
|
-
/**
|
|
32
|
-
* 获取单个 query 参数
|
|
33
|
-
*/
|
|
34
|
-
export declare function getQueryParam(req: AnyRequest, key: string): string | undefined;
|
|
35
|
-
export {};
|
|
36
|
-
//# sourceMappingURL=compat.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../src/server-log/compat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAE5D,KAAK,WAAW,GAAG,cAAc,GAAG;IAClC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,CAAC;IACvC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAChC,CAAC;AAEF,KAAK,UAAU,GAAG,eAAe,GAAG;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,SAAM,GAAG,IAAI,CAahF;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,UAAU,SAAM,GACf,IAAI,CAMN;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAElF;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG9E"}
|
package/lib/server-log/compat.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sendJson = sendJson;
|
|
4
|
-
exports.sendError = sendError;
|
|
5
|
-
exports.sendSuccess = sendSuccess;
|
|
6
|
-
exports.getQuery = getQuery;
|
|
7
|
-
exports.getQueryParam = getQueryParam;
|
|
8
|
-
/**
|
|
9
|
-
* 发送 JSON 响应,兼容 Express 和 Connect
|
|
10
|
-
*/
|
|
11
|
-
function sendJson(res, data, statusCode = 200) {
|
|
12
|
-
const statusFn = res.status;
|
|
13
|
-
const jsonFn = res.json;
|
|
14
|
-
if (typeof statusFn === 'function' && typeof jsonFn === 'function') {
|
|
15
|
-
// Express style
|
|
16
|
-
statusFn.call(res, statusCode);
|
|
17
|
-
jsonFn.call(res, data);
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
// Connect/Node style
|
|
21
|
-
res.statusCode = statusCode;
|
|
22
|
-
res.setHeader('Content-Type', 'application/json');
|
|
23
|
-
res.end(JSON.stringify(data));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* 发送错误响应
|
|
28
|
-
*/
|
|
29
|
-
function sendError(res, message, error, statusCode = 500) {
|
|
30
|
-
const errorData = {
|
|
31
|
-
message,
|
|
32
|
-
...(error ? { error: serializeError(error) } : {}),
|
|
33
|
-
};
|
|
34
|
-
sendJson(res, errorData, statusCode);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* 发送成功响应
|
|
38
|
-
*/
|
|
39
|
-
function sendSuccess(res, data) {
|
|
40
|
-
sendJson(res, { success: true, ...data }, 200);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* 获取 query 参数,兼容 Express 和 Connect
|
|
44
|
-
*/
|
|
45
|
-
function getQuery(req) {
|
|
46
|
-
if (req.query) {
|
|
47
|
-
return req.query;
|
|
48
|
-
}
|
|
49
|
-
// Connect/Node style - parse from URL
|
|
50
|
-
const url = new URL(req.url || '', `http://${req.headers.host}`);
|
|
51
|
-
return Object.fromEntries(url.searchParams.entries());
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* 获取单个 query 参数
|
|
55
|
-
*/
|
|
56
|
-
function getQueryParam(req, key) {
|
|
57
|
-
const query = getQuery(req);
|
|
58
|
-
return query[key];
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* 序列化错误对象
|
|
62
|
-
*/
|
|
63
|
-
function serializeError(error) {
|
|
64
|
-
if (error instanceof Error) {
|
|
65
|
-
return {
|
|
66
|
-
name: error.name,
|
|
67
|
-
message: error.message,
|
|
68
|
-
stack: error.stack,
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
return { message: String(error) };
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=compat.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compat.js","sourceRoot":"","sources":["../../src/server-log/compat.ts"],"names":[],"mappings":";;AAoBA,4BAaC;AAKD,8BAWC;AAKD,kCAEC;AAKD,4BAOC;AAKD,sCAGC;AA3DD;;GAEG;AACH,SAAgB,QAAQ,CAAC,GAAgB,EAAE,IAAa,EAAE,UAAU,GAAG,GAAG;IACxE,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC;IAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;IACxB,IAAI,OAAO,QAAQ,KAAK,UAAU,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACnE,gBAAgB;QAChB,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,qBAAqB;QACrB,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;QAC5B,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAClD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CACvB,GAAgB,EAChB,OAAe,EACf,KAAe,EACf,UAAU,GAAG,GAAG;IAEhB,MAAM,SAAS,GAAG;QAChB,OAAO;QACP,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnD,CAAC;IACF,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,GAAgB,EAAE,IAA8B;IAC1E,QAAQ,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,GAAe;IACtC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,GAAG,CAAC,KAA+B,CAAC;IAC7C,CAAC;IACD,sCAAsC;IACtC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,GAAe,EAAE,GAAW;IACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACpC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api-list-handler.d.ts","sourceRoot":"","sources":["../../../src/server-log/dev-logs/api-list-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,cAAc,EAAE,MAAM,SAAS,CAAC;AAwK5D;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAsBrD"}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createApiListHandler = createApiListHandler;
|
|
4
|
-
const SERVER_PORT = process.env.SERVER_PORT || '3000';
|
|
5
|
-
/**
|
|
6
|
-
* 从路径中提取模块名
|
|
7
|
-
*/
|
|
8
|
-
function extractModuleFromPath(path) {
|
|
9
|
-
const segments = path.split('/').filter(Boolean);
|
|
10
|
-
// 跳过 'api' 前缀
|
|
11
|
-
let startIndex = 0;
|
|
12
|
-
if (segments[0] === 'api') {
|
|
13
|
-
startIndex = 1;
|
|
14
|
-
}
|
|
15
|
-
// 跳过版本号 (v1, v2, etc.)
|
|
16
|
-
if (segments[startIndex]?.match(/^v\d+$/)) {
|
|
17
|
-
startIndex++;
|
|
18
|
-
}
|
|
19
|
-
const moduleName = segments[startIndex];
|
|
20
|
-
if (!moduleName || moduleName.startsWith(':')) {
|
|
21
|
-
return 'default';
|
|
22
|
-
}
|
|
23
|
-
return moduleName;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* 生成路由唯一标识
|
|
27
|
-
*/
|
|
28
|
-
function generateRouteId(method, path) {
|
|
29
|
-
const cleanPath = path.replace(/[/:]/g, '_').replace(/^_+|_+$/g, '');
|
|
30
|
-
return `${method.toLowerCase()}_${cleanPath}`;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* 首字母大写
|
|
34
|
-
*/
|
|
35
|
-
function capitalize(str) {
|
|
36
|
-
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* 按模块分组路由
|
|
40
|
-
*/
|
|
41
|
-
function groupRoutesByModule(routes) {
|
|
42
|
-
const groupMap = new Map();
|
|
43
|
-
routes.forEach((route) => {
|
|
44
|
-
const existing = groupMap.get(route.module) || [];
|
|
45
|
-
existing.push(route);
|
|
46
|
-
groupMap.set(route.module, existing);
|
|
47
|
-
});
|
|
48
|
-
const groups = [];
|
|
49
|
-
groupMap.forEach((apis, moduleName) => {
|
|
50
|
-
groups.push({
|
|
51
|
-
id: moduleName,
|
|
52
|
-
name: capitalize(moduleName),
|
|
53
|
-
apis: apis.sort((a, b) => a.path.localeCompare(b.path)),
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
return groups.sort((a, b) => a.name.localeCompare(b.name));
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* 从后端 debug 接口获取路由列表
|
|
60
|
-
*/
|
|
61
|
-
async function fetchRoutesFromBackend(basePath) {
|
|
62
|
-
// basePath 例如 /af/p/app_xxx,需要拼接完整路径
|
|
63
|
-
const normalizedBasePath = basePath.replace(/\/+$/, '');
|
|
64
|
-
const url = `http://localhost:${SERVER_PORT}${normalizedBasePath}/api/__framework__/debug`;
|
|
65
|
-
const response = await fetch(url, {
|
|
66
|
-
method: 'GET',
|
|
67
|
-
headers: {
|
|
68
|
-
'Accept': 'application/json',
|
|
69
|
-
},
|
|
70
|
-
});
|
|
71
|
-
if (!response.ok) {
|
|
72
|
-
throw new Error(`Failed to fetch routes: ${response.status}`);
|
|
73
|
-
}
|
|
74
|
-
const data = (await response.json());
|
|
75
|
-
// 从 debug 接口响应中提取路由信息
|
|
76
|
-
const routeConfig = data['路由配置'];
|
|
77
|
-
if (!routeConfig || !routeConfig.routes || !Array.isArray(routeConfig.routes)) {
|
|
78
|
-
console.warn('[api-list] Invalid routes data:', routeConfig);
|
|
79
|
-
return [];
|
|
80
|
-
}
|
|
81
|
-
const debugRoutes = routeConfig.routes;
|
|
82
|
-
return debugRoutes
|
|
83
|
-
.filter((route) => {
|
|
84
|
-
// 只保留包含 /api/ 的路由,排除内部路由和 capability 路由
|
|
85
|
-
return route.path.includes('/api/') &&
|
|
86
|
-
!route.path.includes('__framework__') &&
|
|
87
|
-
!route.path.includes('__innerapi__') &&
|
|
88
|
-
!route.path.includes('__platform__') &&
|
|
89
|
-
!route.path.includes('/api/capability') &&
|
|
90
|
-
!route.path.includes('/api/authnpaas') &&
|
|
91
|
-
!route.path.includes('/api/sdk_innerapi');
|
|
92
|
-
})
|
|
93
|
-
.map((route) => {
|
|
94
|
-
// 从完整路径中提取 /api/... 部分
|
|
95
|
-
const apiPathMatch = route.path.match(/\/api\/.*/);
|
|
96
|
-
const apiPath = apiPathMatch ? apiPathMatch[0] : route.path;
|
|
97
|
-
const method = route.method || 'ALL';
|
|
98
|
-
return {
|
|
99
|
-
id: generateRouteId(method, apiPath),
|
|
100
|
-
path: apiPath,
|
|
101
|
-
method,
|
|
102
|
-
module: extractModuleFromPath(apiPath),
|
|
103
|
-
};
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Create handler for /api-list route
|
|
108
|
-
*/
|
|
109
|
-
function createApiListHandler() {
|
|
110
|
-
return async (_req, res) => {
|
|
111
|
-
try {
|
|
112
|
-
// 从环境变量或请求中获取 basePath
|
|
113
|
-
// req.baseUrl 是当前 router 的挂载路径,如 /af/p/app_xxx/dev/logs
|
|
114
|
-
// 我们需要提取 /af/p/app_xxx 部分
|
|
115
|
-
const basePath = process.env.CLIENT_BASE_PATH || '';
|
|
116
|
-
const routes = await fetchRoutesFromBackend(basePath);
|
|
117
|
-
const groups = groupRoutesByModule(routes);
|
|
118
|
-
res.json({
|
|
119
|
-
groups,
|
|
120
|
-
total: routes.length,
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
catch (error) {
|
|
124
|
-
console.error('[api-list] Failed to fetch routes:', error);
|
|
125
|
-
res.status(500).json({
|
|
126
|
-
error: 'Failed to fetch routes',
|
|
127
|
-
message: error instanceof Error ? error.message : 'Unknown error',
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
//# sourceMappingURL=api-list-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api-list-handler.js","sourceRoot":"","sources":["../../../src/server-log/dev-logs/api-list-handler.ts"],"names":[],"mappings":";;AA2KA,oDAsBC;AA/LD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,MAAM,CAAC;AA4CtD;;GAEG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjD,cAAc;IACd,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QAC1B,UAAU,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,uBAAuB;IACvB,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,UAAU,EAAE,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,MAAc,EAAE,IAAY;IACnD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACrE,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,SAAS,EAAE,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAAsB;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEnD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACxD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,sBAAsB,CAAC,QAAgB;IACpD,qCAAqC;IACrC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,oBAAoB,WAAW,GAAG,kBAAkB,0BAA0B,CAAC;IAE3F,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,QAAQ,EAAE,kBAAkB;SAC7B;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAC;IAEtD,sBAAsB;IACtB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,WAAW,CAAC,CAAC;QAC7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;IAEvC,OAAO,WAAW;SACf,MAAM,CAAC,CAAC,KAAqB,EAAE,EAAE;QAChC,wCAAwC;QACxC,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACjC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YACrC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;YACpC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;YACpC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACvC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACtC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC9C,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,KAAqB,EAAE,EAAE;QAC7B,uBAAuB;QACvB,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAE5D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC;QAErC,OAAO;YACL,EAAE,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC;YACpC,IAAI,EAAE,OAAO;YACb,MAAM;YACN,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC;SACvC,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB;IAClC,OAAO,KAAK,EAAE,IAAa,EAAE,GAAa,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,uBAAuB;YACvB,wDAAwD;YACxD,0BAA0B;YAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAE3C,GAAG,CAAC,IAAI,CAAC;gBACP,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,MAAM;aACrB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC3D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,wBAAwB;gBAC/B,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAClE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import type { Request, Response } from 'express';
|
|
2
|
-
/**
|
|
3
|
-
* Create handler for getting log entries by trace ID
|
|
4
|
-
*/
|
|
5
|
-
export declare function createGetTraceEntriesHandler(logDir: string): (req: Request, res: Response) => Promise<void | Response<any, Record<string, any>>>;
|
|
6
|
-
/**
|
|
7
|
-
* Create handler for getting recent trace calls
|
|
8
|
-
*/
|
|
9
|
-
export declare function createGetRecentTracesHandler(logDir: string): (req: Request, res: Response) => Promise<void>;
|
|
10
|
-
/**
|
|
11
|
-
* Create handler for getting log file by name
|
|
12
|
-
*/
|
|
13
|
-
export declare function createGetLogFileHandler(logDir: string): (req: Request, res: Response) => Promise<void | Response<any, Record<string, any>>>;
|
|
14
|
-
/**
|
|
15
|
-
* Create handler for getting server logs
|
|
16
|
-
*
|
|
17
|
-
* Reads from 4 log sources:
|
|
18
|
-
* - server.log (Pino JSON)
|
|
19
|
-
* - trace.log (Pino JSON)
|
|
20
|
-
* - server.std.log (plain text)
|
|
21
|
-
* - client.std.log (plain text)
|
|
22
|
-
*
|
|
23
|
-
* Query parameters:
|
|
24
|
-
* - limit: number of logs to return (default: 100, max: 1000)
|
|
25
|
-
* - offset: offset for pagination (default: 0)
|
|
26
|
-
* - levels: comma-separated log levels (e.g., "error,warn")
|
|
27
|
-
* - sources: comma-separated sources (e.g., "server,trace")
|
|
28
|
-
*/
|
|
29
|
-
export declare function createGetServerLogsHandler(logDir: string): (req: Request, res: Response) => Promise<void | Response<any, Record<string, any>>>;
|
|
30
|
-
/**
|
|
31
|
-
* Create handler for getting all automation trigger list in trace.log
|
|
32
|
-
* filter by request_body.trigger & limit & path=/__innerapi__/automation/invoke
|
|
33
|
-
*/
|
|
34
|
-
export declare function createGetTriggerListHandler(logDir: string): (req: Request, res: Response) => Promise<void | Response<any, Record<string, any>>>;
|
|
35
|
-
export declare function createGetTriggerDetailHandler(logDir: string): (req: Request, res: Response) => Promise<void | Response<any, Record<string, any>>>;
|
|
36
|
-
/**
|
|
37
|
-
* Create handler for getting capability trace list
|
|
38
|
-
* Filter by capability_id in server.log
|
|
39
|
-
*
|
|
40
|
-
* Query parameters:
|
|
41
|
-
* - capability_id: required, the capability ID to filter
|
|
42
|
-
* - limit: number of traces to return (default: 10, max: 200)
|
|
43
|
-
*/
|
|
44
|
-
export declare function createGetCapabilityTraceListHandler(logDir: string): (req: Request, res: Response) => Promise<void | Response<any, Record<string, any>>>;
|
|
45
|
-
//# sourceMappingURL=controller.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/server-log/dev-logs/controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAyBjD;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,IAG3C,KAAK,OAAO,EAAE,KAAK,QAAQ,wDAuB1C;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,IAG3C,KAAK,OAAO,EAAE,KAAK,QAAQ,mBAsB1C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,IACtC,KAAK,OAAO,EAAE,KAAK,QAAQ,wDAwB1C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,IACzC,KAAK,OAAO,EAAE,KAAK,QAAQ,wDAkC1C;AACD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,IAG1C,KAAK,OAAO,EAAE,KAAK,QAAQ,wDAwB1C;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,IAG5C,KAAK,OAAO,EAAE,KAAK,QAAQ,wDAqB1C;AAED;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,MAAM,IAGlD,KAAK,OAAO,EAAE,KAAK,QAAQ,wDAqB1C"}
|