@lark-apaas/coding-preset-vite-react 1.0.21-alpha.20260902122148 → 1.0.21-beta.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.map +1 -1
- package/lib/index.js +63 -2
- package/lib/index.js.map +1 -1
- package/lib/plugins/banner.d.ts +3 -0
- package/lib/plugins/banner.d.ts.map +1 -0
- package/lib/plugins/banner.js +26 -0
- package/lib/plugins/banner.js.map +1 -0
- package/lib/plugins/dev-proxy.d.ts.map +1 -1
- package/lib/plugins/dev-proxy.js +28 -9
- package/lib/plugins/dev-proxy.js.map +1 -1
- package/lib/plugins/fonts-mirror.d.ts.map +1 -1
- package/lib/plugins/fonts-mirror.js +12 -19
- package/lib/plugins/fonts-mirror.js.map +1 -1
- package/lib/plugins/preconnect.d.ts +31 -0
- package/lib/plugins/preconnect.d.ts.map +1 -0
- package/lib/plugins/preconnect.js +65 -0
- package/lib/plugins/preconnect.js.map +1 -0
- package/lib/plugins/server-log.d.ts +2 -2
- package/lib/plugins/server-log.d.ts.map +1 -1
- package/lib/plugins/server-log.js +5 -4
- package/lib/plugins/server-log.js.map +1 -1
- package/lib/plugins/source-map-upload.d.ts +7 -0
- package/lib/plugins/source-map-upload.d.ts.map +1 -0
- package/lib/plugins/source-map-upload.js +104 -0
- package/lib/plugins/source-map-upload.js.map +1 -0
- package/lib/server-log/openapi/controller.d.ts +4 -0
- package/lib/server-log/openapi/controller.d.ts.map +1 -0
- package/lib/server-log/openapi/controller.js +60 -0
- package/lib/server-log/openapi/controller.js.map +1 -0
- package/lib/server-log/openapi/index.d.ts +2 -5
- package/lib/server-log/openapi/index.d.ts.map +1 -1
- package/lib/server-log/openapi/index.js +19 -10
- package/lib/server-log/openapi/index.js.map +1 -1
- package/lib/server-log/openapi/router.d.ts +2 -14
- package/lib/server-log/openapi/router.d.ts.map +1 -1
- package/lib/server-log/openapi/router.js +10 -9
- package/lib/server-log/openapi/router.js.map +1 -1
- package/lib/server-log/openapi/services.d.ts +7 -0
- package/lib/server-log/openapi/services.d.ts.map +1 -0
- package/lib/server-log/openapi/services.js +252 -0
- package/lib/server-log/openapi/services.js.map +1 -0
- package/lib/server-log/openapi/types.d.ts +42 -1
- package/lib/server-log/openapi/types.d.ts.map +1 -1
- package/lib/server-log/openapi/utils.d.ts +6 -0
- package/lib/server-log/openapi/utils.d.ts.map +1 -0
- package/lib/server-log/openapi/utils.js +97 -0
- package/lib/server-log/openapi/utils.js.map +1 -0
- package/lib/server-log/register.d.ts +1 -0
- package/lib/server-log/register.d.ts.map +1 -1
- package/lib/server-log/register.js +3 -2
- package/lib/server-log/register.js.map +1 -1
- package/package.json +3 -1
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,MAAM,CAAC;AAgFd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;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,CA0gBZ;AAGD,eAAe,YAAY,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,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,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,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
|
@@ -68,6 +68,12 @@ const dev_proxy_1 = require("./plugins/dev-proxy");
|
|
|
68
68
|
const html_output_1 = require("./plugins/html-output");
|
|
69
69
|
const basename_1 = require("./plugins/basename");
|
|
70
70
|
const server_log_1 = require("./plugins/server-log");
|
|
71
|
+
// 从 v1 fullstack-vite-preset 平移过来的 fullstack-only plugin
|
|
72
|
+
// 收敛复用方案: 让新全栈应用不再走独立 v1, 统一在这个 preset 里, isFullstack 分支挂上。
|
|
73
|
+
// jsPage 侧目前不启用, 未来若发现有 jsPage 收益(如 sourceMapUpload / preconnect)再解 gate。
|
|
74
|
+
const banner_1 = require("./plugins/banner");
|
|
75
|
+
const source_map_upload_1 = require("./plugins/source-map-upload");
|
|
76
|
+
const preconnect_1 = require("./plugins/preconnect");
|
|
71
77
|
const normalize_base_path_1 = require("./utils/normalize-base-path");
|
|
72
78
|
const snapdom_proxy_1 = require("./utils/snapdom-proxy");
|
|
73
79
|
/**
|
|
@@ -106,6 +112,16 @@ function tryLoadInspector(enabled) {
|
|
|
106
112
|
function defineConfig(overrides = {}, options = {}) {
|
|
107
113
|
const isDev = process.env.NODE_ENV !== 'production';
|
|
108
114
|
const rootDir = process.cwd();
|
|
115
|
+
// 平移自 v1 fullstack-vite-preset:从 .env.local / .env 加载 SUDA_WEBUSER 等环境变量。
|
|
116
|
+
// 沙箱 env-pull 下发到 .env.local;Vite 自身的 .env 加载仅处理 VITE_ 前缀且不写入 process.env。
|
|
117
|
+
try {
|
|
118
|
+
const dotenv = require('dotenv');
|
|
119
|
+
dotenv.config({ path: path.resolve(rootDir, '.env.local') });
|
|
120
|
+
dotenv.config({ path: path.resolve(rootDir, '.env') });
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
// dotenv not installed
|
|
124
|
+
}
|
|
109
125
|
const clientBasePath = (0, normalize_base_path_1.normalizeBasePath)(process.env.CLIENT_BASE_PATH);
|
|
110
126
|
// fullstack 模式判断:MIAODA_APP_TYPE === '3'(妙搭 fullstack stack 的 archType)。
|
|
111
127
|
// 沙箱 / dev.sh 入口注入此 env;jsPage 形态(APP_TYPE === '2')自动不启用 4 件套。
|
|
@@ -116,7 +132,11 @@ function defineConfig(overrides = {}, options = {}) {
|
|
|
116
132
|
// 与 isFullstack 同形态——单个 derived const,不在各处读 env。
|
|
117
133
|
// 严格相等:拼错值按平台模式走,不猜测意图。
|
|
118
134
|
const isStandalone = process.env.MIAODA_BUILD_TARGET === 'standalone';
|
|
119
|
-
const fullstackServerPort = options.serverPort ?? 3000;
|
|
135
|
+
const fullstackServerPort = options.serverPort ?? (Number(process.env.SERVER_PORT) || 3000);
|
|
136
|
+
// 平移自 v1 fullstack-vite-preset:
|
|
137
|
+
// - releaseId: 挂到 window.__RELEASE_COMMIT_ID__ 供运行时反查版本 (env RELEASE_ID 优先, 兜底时间戳)
|
|
138
|
+
// - assetOriginsForPreconnect: 部署带 CDN (publicPath 是绝对 URL) 才需要 preconnect
|
|
139
|
+
const releaseId = process.env.RELEASE_ID || new Date().toISOString();
|
|
120
140
|
// ASSETS_CDN_PATH 来自 miaoda-cli 注入的 MIAODA_RESOURCE_CDN_PREFIX,通常是完整 URL
|
|
121
141
|
// (`https://cdn.bytetos.com/...`)。必须用 URL-safe 的 normalize,不能强加 `/` 前缀
|
|
122
142
|
// —— 否则会变成 `/https://cdn.bytetos.com/...` 直接破掉 Vite 的 base 替换。
|
|
@@ -124,6 +144,11 @@ function defineConfig(overrides = {}, options = {}) {
|
|
|
124
144
|
// dev / prod base 来源不同:dev 完全用 clientBasePath,prod 优先 CDN
|
|
125
145
|
const publicPath = isDev ? clientBasePath : assetsCdnPath || clientBasePath;
|
|
126
146
|
const base = publicPath ? `${publicPath}/` : '/';
|
|
147
|
+
// 部署带 CDN (publicPath 是绝对 URL) 时给浏览器提前 preconnect, dev 不需要
|
|
148
|
+
const assetOriginsForPreconnect = [];
|
|
149
|
+
if (!isDev && typeof publicPath === 'string' && /^https?:\/\//.test(publicPath)) {
|
|
150
|
+
assetOriginsForPreconnect.push(publicPath);
|
|
151
|
+
}
|
|
127
152
|
// 从 clientBasePath 提取 appId 给 viewContext 用
|
|
128
153
|
const isNewPathFormat = /^\/app\/[^/]/.test(clientBasePath);
|
|
129
154
|
const appId = isNewPathFormat
|
|
@@ -176,6 +201,28 @@ function defineConfig(overrides = {}, options = {}) {
|
|
|
176
201
|
.FORCE_FRAMEWORK_ENVIRONMENT
|
|
177
202
|
? JSON.stringify(process.env.FORCE_FRAMEWORK_ENVIRONMENT)
|
|
178
203
|
: 'undefined',
|
|
204
|
+
...(() => {
|
|
205
|
+
if (!isFullstack)
|
|
206
|
+
return {};
|
|
207
|
+
let pageRouteDefinitions = [];
|
|
208
|
+
let apiRouteDefinitions = [];
|
|
209
|
+
try {
|
|
210
|
+
const p = path.resolve(rootDir, 'dist/page-routes.json');
|
|
211
|
+
if (fs.existsSync(p))
|
|
212
|
+
pageRouteDefinitions = JSON.parse(fs.readFileSync(p, 'utf-8'));
|
|
213
|
+
}
|
|
214
|
+
catch { /* ignore */ }
|
|
215
|
+
try {
|
|
216
|
+
const p = path.resolve(rootDir, 'dist/api-routes.json');
|
|
217
|
+
if (fs.existsSync(p))
|
|
218
|
+
apiRouteDefinitions = JSON.parse(fs.readFileSync(p, 'utf-8'));
|
|
219
|
+
}
|
|
220
|
+
catch { /* ignore */ }
|
|
221
|
+
return {
|
|
222
|
+
'process.env.__PAGE_ROUTE_DEFINITIONS__': JSON.stringify(JSON.stringify(pageRouteDefinitions)),
|
|
223
|
+
'process.env.__API_ROUTE_DEFINITIONS__': JSON.stringify(JSON.stringify(apiRouteDefinitions)),
|
|
224
|
+
};
|
|
225
|
+
})(),
|
|
179
226
|
};
|
|
180
227
|
// optimizeDeps.include 列举模板(template-vite-react)已知会用的稳定依赖,启动期一次性
|
|
181
228
|
// 预打包。价值在「会话中途」:AI 边写边改新增一行 import 时,若该依赖此前没预打包,
|
|
@@ -347,7 +394,8 @@ function defineConfig(overrides = {}, options = {}) {
|
|
|
347
394
|
appId,
|
|
348
395
|
}),
|
|
349
396
|
// dev 写出 dist/client/index.html 让 NestJS HBS 渲染;prod 修正 outDir + minify
|
|
350
|
-
|
|
397
|
+
// standalone 不走 NestJS HBS,跳过
|
|
398
|
+
isFullstack && !isStandalone &&
|
|
351
399
|
(0, html_output_1.htmlOutputPlugin)({
|
|
352
400
|
isDev,
|
|
353
401
|
outDir: path.resolve(rootDir, 'dist/client'),
|
|
@@ -357,6 +405,19 @@ function defineConfig(overrides = {}, options = {}) {
|
|
|
357
405
|
// 挂 devtool-kits 的 dev-logs middleware:提供 /server-logs SSE 等 endpoints
|
|
358
406
|
// 给妙搭外壳实时读 NestJS server.log;require() 加载,包未装时自动跳过
|
|
359
407
|
isFullstack && (0, server_log_1.serverLogPlugin)({ basePath: clientBasePath, rootDir }),
|
|
408
|
+
// ── 从 v1 fullstack-vite-preset 平移的 fullstack-only plugin (2026-08-19 收敛) ──
|
|
409
|
+
// standalone 离线产物无平台消费方,跳过 banner 和 runtime 注入
|
|
410
|
+
isFullstack && !isStandalone &&
|
|
411
|
+
(0, banner_1.bannerPlugin)(`window.__RELEASE_COMMIT_ID__ = '${releaseId}';`),
|
|
412
|
+
// 部署带 CDN 时才有 origin 可 preconnect, 数组空自动跳过
|
|
413
|
+
isFullstack &&
|
|
414
|
+
assetOriginsForPreconnect.length > 0 &&
|
|
415
|
+
(0, preconnect_1.preconnectPlugin)({ origins: assetOriginsForPreconnect }),
|
|
416
|
+
// 仅 prod build: standalone 已关 sourcemap,跳过上传
|
|
417
|
+
isFullstack && !isDev && !isStandalone &&
|
|
418
|
+
(0, source_map_upload_1.sourceMapUploadPlugin)({
|
|
419
|
+
outputDir: path.resolve(rootDir, 'dist/sourcemaps'),
|
|
420
|
+
}),
|
|
360
421
|
].filter(Boolean),
|
|
361
422
|
resolve: {
|
|
362
423
|
// 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 @@
|
|
|
1
|
+
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/plugins/banner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAiBnD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
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.bannerPlugin = bannerPlugin;
|
|
7
|
+
const magic_string_1 = __importDefault(require("magic-string"));
|
|
8
|
+
function bannerPlugin(banner) {
|
|
9
|
+
return {
|
|
10
|
+
name: 'vite-plugin-banner',
|
|
11
|
+
enforce: 'post',
|
|
12
|
+
renderChunk(code, chunk) {
|
|
13
|
+
// Only add banner to entry chunks
|
|
14
|
+
if (chunk.isEntry) {
|
|
15
|
+
const magicString = new magic_string_1.default(code);
|
|
16
|
+
magicString.prepend(`${banner}\n`);
|
|
17
|
+
return {
|
|
18
|
+
code: magicString.toString(),
|
|
19
|
+
map: magicString.generateMap({ hires: true }),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
return null;
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=banner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/plugins/banner.ts"],"names":[],"mappings":";;;;;AAGA,oCAiBC;AAnBD,gEAAuC;AAEvC,SAAgB,YAAY,CAAC,MAAc;IACzC,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,MAAM;QACf,WAAW,CAAC,IAAI,EAAE,KAAK;YACrB,kCAAkC;YAClC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,WAAW,GAAG,IAAI,sBAAW,CAAC,IAAI,CAAC,CAAC;gBAC1C,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;gBACnC,OAAO;oBACL,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;oBAC5B,GAAG,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;iBAC9C,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AASD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,MAAM,CA8L1E;AAED,eAAe,cAAc,CAAC"}
|
package/lib/plugins/dev-proxy.js
CHANGED
|
@@ -62,6 +62,13 @@ exports.devProxyPlugin = devProxyPlugin;
|
|
|
62
62
|
const http = __importStar(require("node:http"));
|
|
63
63
|
const local_dev_1 = require("../utils/local-dev");
|
|
64
64
|
const proxy_error_1 = require("../utils/proxy-error");
|
|
65
|
+
function extractCsrfFromCookie(req) {
|
|
66
|
+
const cookie = req.headers.cookie;
|
|
67
|
+
if (!cookie)
|
|
68
|
+
return undefined;
|
|
69
|
+
const m = /(?:^|;\s*)suda-csrf-token=([^;]+)/.exec(cookie);
|
|
70
|
+
return m ? m[1] : undefined;
|
|
71
|
+
}
|
|
65
72
|
/**
|
|
66
73
|
* Vite plugin: 注入 dev server proxy 配置(仅 dev,build 时不挂)。
|
|
67
74
|
* 通过 `config()` hook 返回 `server.proxy` 让 vite mergeConfig 自动合并。
|
|
@@ -70,15 +77,17 @@ function devProxyPlugin(options = {}) {
|
|
|
70
77
|
const serverPort = options.serverPort ?? 3000;
|
|
71
78
|
const clientBasePath = options.clientBasePath ?? '';
|
|
72
79
|
const appId = options.appId;
|
|
80
|
+
// config() 计算后存入闭包,configureServer() 直接复用
|
|
81
|
+
let localDev = false;
|
|
82
|
+
let localDevWebUserHeader = '';
|
|
73
83
|
return {
|
|
74
84
|
name: 'nestjs-vite-react-dev-proxy',
|
|
75
85
|
apply: 'serve',
|
|
76
86
|
config() {
|
|
77
|
-
|
|
87
|
+
localDev = (0, local_dev_1.isLocalDev)();
|
|
78
88
|
const sandboxBase = (0, local_dev_1.resolveSandboxOrigin)();
|
|
79
89
|
const { cookie: outboundCookie, csrfToken: outboundCsrfToken } = (0, local_dev_1.composeSandboxOutboundAuth)();
|
|
80
90
|
// 解析 SUDA_WEBUSER(沙箱注入到 .env.local,dotenv@17 转义边界容错)
|
|
81
|
-
let localDevWebUserHeader = '';
|
|
82
91
|
const parsedSudaWebUser = (0, local_dev_1.parseSudaWebUserEnv)(process.env.SUDA_WEBUSER);
|
|
83
92
|
if (parsedSudaWebUser) {
|
|
84
93
|
try {
|
|
@@ -96,6 +105,10 @@ function devProxyPlugin(options = {}) {
|
|
|
96
105
|
changeOrigin: true,
|
|
97
106
|
headers: {
|
|
98
107
|
...(outboundCookie ? { cookie: outboundCookie } : {}),
|
|
108
|
+
'accept-encoding': 'identity',
|
|
109
|
+
...(localDevWebUserHeader
|
|
110
|
+
? { 'x-larkgw-suda-webuser': localDevWebUserHeader }
|
|
111
|
+
: {}),
|
|
99
112
|
...(outboundCsrfToken ? { 'x-suda-csrf-token': outboundCsrfToken } : {}),
|
|
100
113
|
},
|
|
101
114
|
};
|
|
@@ -120,12 +133,9 @@ function devProxyPlugin(options = {}) {
|
|
|
120
133
|
proxyServer.on('proxyReq', (proxyReq, req) => {
|
|
121
134
|
if (proxyReq.getHeader('x-suda-csrf-token'))
|
|
122
135
|
return;
|
|
123
|
-
const
|
|
124
|
-
if (
|
|
125
|
-
|
|
126
|
-
const m = /(?:^|;\s*)suda-csrf-token=([^;]+)/.exec(cookie);
|
|
127
|
-
if (m)
|
|
128
|
-
proxyReq.setHeader('x-suda-csrf-token', m[1]);
|
|
136
|
+
const csrf = extractCsrfFromCookie(req);
|
|
137
|
+
if (csrf)
|
|
138
|
+
proxyReq.setHeader('x-suda-csrf-token', csrf);
|
|
129
139
|
});
|
|
130
140
|
}
|
|
131
141
|
},
|
|
@@ -205,12 +215,21 @@ function devProxyPlugin(options = {}) {
|
|
|
205
215
|
if (!isHtmlRequest || isDevServerPath || isStaticAsset) {
|
|
206
216
|
return next();
|
|
207
217
|
}
|
|
218
|
+
const extraHeaders = {};
|
|
219
|
+
if (localDev) {
|
|
220
|
+
if (localDevWebUserHeader) {
|
|
221
|
+
extraHeaders['x-larkgw-suda-webuser'] = localDevWebUserHeader;
|
|
222
|
+
}
|
|
223
|
+
const csrf = extractCsrfFromCookie(req);
|
|
224
|
+
if (csrf)
|
|
225
|
+
extraHeaders['x-suda-csrf-token'] = csrf;
|
|
226
|
+
}
|
|
208
227
|
const proxyReq = http.request({
|
|
209
228
|
hostname: 'localhost',
|
|
210
229
|
port: serverPort,
|
|
211
230
|
path: req.url,
|
|
212
231
|
method: req.method,
|
|
213
|
-
headers: req.headers,
|
|
232
|
+
headers: { ...req.headers, ...extraHeaders },
|
|
214
233
|
}, (proxyRes) => {
|
|
215
234
|
res.writeHead(proxyRes.statusCode || 200, proxyRes.headers);
|
|
216
235
|
proxyRes.pipe(res);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-proxy.js","sourceRoot":"","sources":["../../src/plugins/dev-proxy.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"dev-proxy.js","sourceRoot":"","sources":["../../src/plugins/dev-proxy.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCH,wCA8LC;AA9ND,gDAAkC;AAIlC,kDAK4B;AAC5B,sDAA2D;AAW3D,SAAS,qBAAqB,CAAC,GAAoB;IACjD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;IAClC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,CAAC,GAAG,mCAAmC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,UAAiC,EAAE;IAChE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;IAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAE5B,0CAA0C;IAC1C,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,qBAAqB,GAAG,EAAE,CAAC;IAE/B,OAAO;QACL,IAAI,EAAE,6BAA6B;QACnC,KAAK,EAAE,OAAO;QACd,MAAM;YACJ,QAAQ,GAAG,IAAA,sBAAU,GAAE,CAAC;YACxB,MAAM,WAAW,GAAG,IAAA,gCAAoB,GAAE,CAAC;YAC3C,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAC5D,IAAA,sCAA0B,GAAE,CAAC;YAE/B,qDAAqD;YACrD,MAAM,iBAAiB,GAAG,IAAA,+BAAmB,EAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACxE,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,qBAAqB,GAAG,kBAAkB,CACxC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAClC,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY;gBACd,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAiC,EAAE,CAAC;YAE/C,6BAA6B;YAC7B,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;gBAC5B,KAAK,CAAC,GAAG,cAAc,cAAc,CAAC,GAAG;oBACvC,MAAM,EAAE,WAAW;oBACnB,YAAY,EAAE,IAAI;oBAClB,OAAO,EAAE;wBACP,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrD,iBAAiB,EAAE,UAAU;wBAC7B,GAAG,CAAC,qBAAqB;4BACvB,CAAC,CAAC,EAAE,uBAAuB,EAAE,qBAAqB,EAAE;4BACpD,CAAC,CAAC,EAAE,CAAC;wBACP,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACzE;iBACF,CAAC;YACJ,CAAC;YAED,iEAAiE;YACjE,mEAAmE;YACnE,0EAA0E;YAC1E,iCAAiC;YACjC,KAAK,CAAC,GAAG,cAAc,MAAM,CAAC,GAAG;gBAC/B,MAAM,EAAE,oBAAoB,UAAU,EAAE;gBACxC,YAAY,EAAE,IAAI;gBAClB,GAAG,CAAC,QAAQ,IAAI,qBAAqB;oBACnC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,EAAE;oBACjE,CAAC,CAAC,EAAE,CAAC;gBACP,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE;oBACzB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;wBACxC,IAAA,iCAAmB,EAAC,GAAG,EAAE,GAAG,EAAE,GAAqB,EAAE;4BACnD,MAAM,EAAE,oBAAoB,UAAU,EAAE;yBACzC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBACH,IAAI,QAAQ,EAAE,CAAC;wBACb,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;4BAC3C,IAAI,QAAQ,CAAC,SAAS,CAAC,mBAAmB,CAAC;gCAAE,OAAO;4BACpD,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;4BACxC,IAAI,IAAI;gCAAE,QAAQ,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;wBAC1D,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;aACF,CAAC;YAEF,gBAAgB;YAChB,KAAK,CAAC,GAAG,cAAc,UAAU,CAAC,GAAG;gBACnC,MAAM,EAAE,oBAAoB,UAAU,EAAE;gBACxC,YAAY,EAAE,IAAI;gBAClB,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE;oBACzB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;wBACxC,IAAA,iCAAmB,EAAC,GAAG,EAAE,GAAG,EAAE,GAAqB,EAAE;4BACnD,MAAM,EAAE,oBAAoB,UAAU,EAAE;yBACzC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC;aACF,CAAC;YAEF,kBAAkB;YAClB,KAAK,CAAC,GAAG,cAAc,eAAe,CAAC,GAAG;gBACxC,MAAM,EAAE,oBAAoB,UAAU,EAAE;gBACxC,YAAY,EAAE,IAAI;gBAClB,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE;oBACzB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;wBACxC,IAAA,iCAAmB,EAAC,GAAG,EAAE,GAAG,EAAE,GAAqB,EAAE;4BACnD,MAAM,EAAE,oBAAoB,UAAU,EAAE;yBACzC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC;aACF,CAAC;YAEF,uCAAuC;YACvC,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,GAAG;oBAC5B,MAAM,EAAE,oBAAoB,UAAU,EAAE;oBACxC,YAAY,EAAE,IAAI;oBAClB,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE;wBACzB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;4BACxC,IAAA,iCAAmB,EAAC,GAAG,EAAE,GAAG,EAAE,GAAqB,EAAE;gCACrD,MAAM,EAAE,oBAAoB,UAAU,EAAE;6BACzC,CAAC,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;iBACF,CAAC;gBACF,KAAK,CAAC,SAAS,KAAK,eAAe,CAAC,GAAG;oBACrC,MAAM,EAAE,oBAAoB,UAAU,EAAE;oBACxC,YAAY,EAAE,IAAI;oBAClB,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE;wBACzB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;4BACxC,IAAA,iCAAmB,EAAC,GAAG,EAAE,GAAG,EAAE,GAAqB,EAAE;gCACrD,MAAM,EAAE,oBAAoB,UAAU,EAAE;6BACzC,CAAC,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;iBACF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,MAAM,EAAE,EAAE,KAAK,EAAE;aAClB,CAAC;QACJ,CAAC;QACD,eAAe,CAAC,MAAM;YACpB,+DAA+D;YAC/D,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;gBACxC,MAAM,kBAAkB,GAAG;oBACzB,QAAQ;oBACR,MAAM;oBACN,SAAS;oBACT,MAAM;oBACN,eAAe;oBACf,OAAO;oBACP,aAAa;oBACb,iBAAiB;oBACjB,eAAe;oBACf,iBAAiB;iBAClB,CAAC;gBACF,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAChE,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9C,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnF,MAAM,aAAa,GACjB,2EAA2E,CAAC,IAAI,CAC9E,QAAQ,CACT,CAAC;gBAEJ,IAAI,CAAC,aAAa,IAAI,eAAe,IAAI,aAAa,EAAE,CAAC;oBACvD,OAAO,IAAI,EAAE,CAAC;gBAChB,CAAC;gBAED,MAAM,YAAY,GAA2B,EAAE,CAAC;gBAChD,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,qBAAqB,EAAE,CAAC;wBAC1B,YAAY,CAAC,uBAAuB,CAAC,GAAG,qBAAqB,CAAC;oBAChE,CAAC;oBACD,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;oBACxC,IAAI,IAAI;wBAAE,YAAY,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;gBACrD,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAC3B;oBACE,QAAQ,EAAE,WAAW;oBACrB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,GAAG,CAAC,GAAG;oBACb,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,OAAO,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,YAAY,EAAE;iBAC7C,EACD,CAAC,QAAQ,EAAE,EAAE;oBACX,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC5D,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC,CACF,CAAC;gBAEF,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC3B,IAAA,iCAAmB,EAAC,GAAG,EAAE,GAAG,EAAE,GAAqB,EAAE;wBACnD,MAAM,EAAE,oBAAoB,UAAU,EAAE;qBACzC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,kBAAe,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fonts-mirror.d.ts","sourceRoot":"","sources":["../../src/plugins/fonts-mirror.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"fonts-mirror.d.ts","sourceRoot":"","sources":["../../src/plugins/fonts-mirror.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAgCnC,MAAM,WAAW,wBAAwB;IACvC,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gCAAgC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB;IAClB,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC/B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG,MAAM,GAAG,KAAK,CA8ExF;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -5,9 +5,19 @@ exports.fontsMirrorPlugin = fontsMirrorPlugin;
|
|
|
5
5
|
* 编译时把 `fonts.googleapis.com` / `fonts.gstatic.com` 全量改写到妙搭字体代理,
|
|
6
6
|
* 屏蔽 Google Fonts 在内网 / 部分客户端不可达导致的白屏。
|
|
7
7
|
*
|
|
8
|
+
* 历史背景(章小川 @ 2026-04-17 妙搭 CR 群):
|
|
9
|
+
* - 原方案(miaoda-skills MR 311)在 skill PE 里教模型使用 miaoda.feishu.cn/fonts
|
|
10
|
+
* - 问题:占 token + 增加模型学习成本;存量应用无法追溯修复
|
|
11
|
+
* - 现方案:在 preset 层做编译时字符串替换
|
|
12
|
+
* · pathname 与 Google Fonts 完全一致(`/css` / `/css2?family=...&wght=...&display=swap`)
|
|
13
|
+
* · 只换域名,任何模型输出都能被正确代理
|
|
14
|
+
* · 存量应用只需重新编译发布即可修复
|
|
15
|
+
* · 单点收敛,所有用 preset 的应用一致受益
|
|
16
|
+
*
|
|
8
17
|
* - 命中文件类型:html / css / scss / less / styl / js / ts / tsx / vue / svelte 等
|
|
9
18
|
* - URL pathname 保持与 Google Fonts 一致(`/css`、`/css2?family=...&wght=...`),
|
|
10
19
|
* 任意模型输出形式都能被代理;只换域名
|
|
20
|
+
* - 覆盖 fonts.googleapis.com(CSS 加载 API)和 fonts.gstatic.com(字体文件 CDN)
|
|
11
21
|
* - 关闭:`{ disabled: true }` 或环境变量 `MIAODA_FONTS_MIRROR_OFF=1`
|
|
12
22
|
*
|
|
13
23
|
* 兜底策略(generateBundle):
|
|
@@ -20,16 +30,6 @@ const DEFAULT_MIRROR = 'https://miaoda.feishu.cn/fonts';
|
|
|
20
30
|
const GOOGLE_FONTS_RE = /https?:\/\/fonts\.(googleapis|gstatic)\.com/g;
|
|
21
31
|
const HAS_GOOGLE_FONTS = /fonts\.(googleapis|gstatic)\.com/;
|
|
22
32
|
const TRANSFORM_EXT = /\.(html|css|scss|sass|less|styl|js|jsx|ts|tsx|mjs|cjs|vue|svelte)(\?|$)/;
|
|
23
|
-
const UNRESOLVED_FONTSOURCE_FILE_RE = /url\((['"]?)(\.\/files\/[^)'"]+\.(?:woff2?|ttf|otf|eot))\1\)/gi;
|
|
24
|
-
function findUnresolvedFontsourceFileUrls(css) {
|
|
25
|
-
const urls = new Set();
|
|
26
|
-
UNRESOLVED_FONTSOURCE_FILE_RE.lastIndex = 0;
|
|
27
|
-
let match;
|
|
28
|
-
while ((match = UNRESOLVED_FONTSOURCE_FILE_RE.exec(css))) {
|
|
29
|
-
urls.add(match[2]);
|
|
30
|
-
}
|
|
31
|
-
return [...urls];
|
|
32
|
-
}
|
|
33
33
|
function fontsMirrorPlugin(options = {}) {
|
|
34
34
|
const envDisabled = process.env.MIAODA_FONTS_MIRROR_OFF === '1';
|
|
35
35
|
if (options.disabled || envDisabled)
|
|
@@ -37,15 +37,14 @@ function fontsMirrorPlugin(options = {}) {
|
|
|
37
37
|
const mirror = options.mirror ?? DEFAULT_MIRROR;
|
|
38
38
|
const warn = options.warnOnMatch ?? false;
|
|
39
39
|
const exclude = options.exclude ?? [];
|
|
40
|
-
const shouldExclude = (id) => exclude.some(p => (typeof p === 'string' ? id.includes(p) : p.test(id)));
|
|
41
|
-
const stats = { files: 0, occurrences: 0
|
|
40
|
+
const shouldExclude = (id) => exclude.some((p) => (typeof p === 'string' ? id.includes(p) : p.test(id)));
|
|
41
|
+
const stats = { files: 0, occurrences: 0 };
|
|
42
42
|
return {
|
|
43
43
|
name: 'miaoda-fonts-mirror',
|
|
44
44
|
enforce: 'pre',
|
|
45
45
|
buildStart() {
|
|
46
46
|
stats.files = 0;
|
|
47
47
|
stats.occurrences = 0;
|
|
48
|
-
stats.unresolvedFontUrls = 0;
|
|
49
48
|
},
|
|
50
49
|
transformIndexHtml(html) {
|
|
51
50
|
if (!HAS_GOOGLE_FONTS.test(html))
|
|
@@ -85,12 +84,6 @@ function fontsMirrorPlugin(options = {}) {
|
|
|
85
84
|
const src = typeof file.source === 'string'
|
|
86
85
|
? file.source
|
|
87
86
|
: Buffer.from(file.source).toString('utf-8');
|
|
88
|
-
const unresolvedFontUrls = findUnresolvedFontsourceFileUrls(src);
|
|
89
|
-
if (unresolvedFontUrls.length > 0) {
|
|
90
|
-
stats.unresolvedFontUrls += unresolvedFontUrls.length;
|
|
91
|
-
console.warn(`[miaoda-fonts-mirror] detected unresolved font file URL(s) in ${file.fileName}: ${unresolvedFontUrls.join(', ')}. ` +
|
|
92
|
-
`Import webfont packages such as @fontsource-variable/inter from a JS/TS module entry or serve an explicit accessible font URL; do not rely on CSS @import output that leaves ./files/*.woff2 without emitted assets.`);
|
|
93
|
-
}
|
|
94
87
|
if (!HAS_GOOGLE_FONTS.test(src))
|
|
95
88
|
continue;
|
|
96
89
|
const matches = src.match(GOOGLE_FONTS_RE);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fonts-mirror.js","sourceRoot":"","sources":["../../src/plugins/fonts-mirror.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"fonts-mirror.js","sourceRoot":"","sources":["../../src/plugins/fonts-mirror.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Plugin } from 'vite';
|
|
2
|
+
export interface PreconnectPluginOptions {
|
|
3
|
+
/**
|
|
4
|
+
* 需要 preconnect 的 origin 列表。允许传完整 URL,内部会解析为 origin 并去重。
|
|
5
|
+
* 非 http(s) 协议或解析失败的项会被忽略。
|
|
6
|
+
*/
|
|
7
|
+
origins: string[];
|
|
8
|
+
/**
|
|
9
|
+
* preconnect link 的 crossorigin 属性。
|
|
10
|
+
* - `true` 或 `'anonymous'`:`crossorigin="anonymous"`(匹配 `<script crossorigin>` / `<link modulepreload>` 等 CORS 请求)
|
|
11
|
+
* - `'use-credentials'`:`crossorigin="use-credentials"`
|
|
12
|
+
* - `false`:不设置 crossorigin 属性(匹配普通 `<script src>` 等非 CORS 请求)
|
|
13
|
+
*
|
|
14
|
+
* 默认 `'anonymous'`,匹配 Vite 打包输出的 ESM chunks(默认带 crossorigin)。
|
|
15
|
+
*/
|
|
16
|
+
crossOrigin?: boolean | 'anonymous' | 'use-credentials';
|
|
17
|
+
/**
|
|
18
|
+
* 是否同时添加 `dns-prefetch` 作为兜底(对不支持 preconnect 的旧浏览器有效)。默认 false。
|
|
19
|
+
*/
|
|
20
|
+
dnsPrefetchFallback?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 注入 `<link rel="preconnect">`(可选附加 `<link rel="dns-prefetch">`)到 HTML head 最前面,
|
|
24
|
+
* 让浏览器提前建立到关键资源域名的 TCP + TLS 连接,减少首屏资源的等待时间。
|
|
25
|
+
*
|
|
26
|
+
* 插件本身不关心域名来源,域名完全由调用方通过 `origins` 传入——上层可以基于 `publicPath`、
|
|
27
|
+
* 环境变量或业务配置动态派生,未来更换 CDN 只需改上层即可。
|
|
28
|
+
*/
|
|
29
|
+
export declare function preconnectPlugin(options: PreconnectPluginOptions): Plugin;
|
|
30
|
+
export default preconnectPlugin;
|
|
31
|
+
//# sourceMappingURL=preconnect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preconnect.d.ts","sourceRoot":"","sources":["../../src/plugins/preconnect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,iBAAiB,CAAC;IACxD;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AA0BD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAgCzE;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.preconnectPlugin = preconnectPlugin;
|
|
4
|
+
function normalizeOrigins(input) {
|
|
5
|
+
const set = new Set();
|
|
6
|
+
for (const item of input) {
|
|
7
|
+
if (!item)
|
|
8
|
+
continue;
|
|
9
|
+
try {
|
|
10
|
+
const url = new URL(item);
|
|
11
|
+
if (url.protocol !== 'http:' && url.protocol !== 'https:')
|
|
12
|
+
continue;
|
|
13
|
+
set.add(url.origin);
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
// 忽略非法 URL
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return Array.from(set);
|
|
20
|
+
}
|
|
21
|
+
function resolveCrossOriginAttr(value) {
|
|
22
|
+
if (value === false)
|
|
23
|
+
return undefined;
|
|
24
|
+
if (value === 'use-credentials')
|
|
25
|
+
return 'use-credentials';
|
|
26
|
+
// true / 'anonymous' / undefined
|
|
27
|
+
return 'anonymous';
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* 注入 `<link rel="preconnect">`(可选附加 `<link rel="dns-prefetch">`)到 HTML head 最前面,
|
|
31
|
+
* 让浏览器提前建立到关键资源域名的 TCP + TLS 连接,减少首屏资源的等待时间。
|
|
32
|
+
*
|
|
33
|
+
* 插件本身不关心域名来源,域名完全由调用方通过 `origins` 传入——上层可以基于 `publicPath`、
|
|
34
|
+
* 环境变量或业务配置动态派生,未来更换 CDN 只需改上层即可。
|
|
35
|
+
*/
|
|
36
|
+
function preconnectPlugin(options) {
|
|
37
|
+
const origins = normalizeOrigins(options.origins);
|
|
38
|
+
const crossOriginAttr = resolveCrossOriginAttr(options.crossOrigin);
|
|
39
|
+
const withDnsPrefetch = options.dnsPrefetchFallback === true;
|
|
40
|
+
return {
|
|
41
|
+
name: 'fullstack-preconnect',
|
|
42
|
+
// 使用 enforce: 'post' 保证在所有其他 HTML 插件(如 vite:build-html)之后执行
|
|
43
|
+
// 再通过 order: 'pre' 将标签排在数组最前面,或者手动操作 HTML 字符串
|
|
44
|
+
transformIndexHtml: {
|
|
45
|
+
order: 'post',
|
|
46
|
+
handler(html) {
|
|
47
|
+
if (origins.length === 0)
|
|
48
|
+
return html;
|
|
49
|
+
let injectedTags = '';
|
|
50
|
+
for (const href of origins) {
|
|
51
|
+
const crossOriginStr = crossOriginAttr ? ` crossorigin="${crossOriginAttr}"` : '';
|
|
52
|
+
injectedTags += `\n <link rel="preconnect" href="${href}"${crossOriginStr}>`;
|
|
53
|
+
if (withDnsPrefetch) {
|
|
54
|
+
injectedTags += `\n <link rel="dns-prefetch" href="${href}">`;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// 强行用正则替换,在 <head> 标签之后的最前面插入 preconnect
|
|
58
|
+
// 这样可以越过 Vite 自动注入的 modulepreload 和 stylesheet 标签
|
|
59
|
+
return html.replace(/<head([^>]*)>/i, (match) => `${match}${injectedTags}`);
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
exports.default = preconnectPlugin;
|
|
65
|
+
//# sourceMappingURL=preconnect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preconnect.js","sourceRoot":"","sources":["../../src/plugins/preconnect.ts"],"names":[],"mappings":";;AAsDA,4CAgCC;AA/DD,SAAS,gBAAgB,CAAC,KAAe;IACvC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;gBAAE,SAAS;YACpE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAA6C;IAE7C,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACtC,IAAI,KAAK,KAAK,iBAAiB;QAAE,OAAO,iBAAiB,CAAC;IAC1D,iCAAiC;IACjC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,OAAgC;IAC/D,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACpE,MAAM,eAAe,GAAG,OAAO,CAAC,mBAAmB,KAAK,IAAI,CAAC;IAE7D,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,4DAA4D;QAC5D,8CAA8C;QAC9C,kBAAkB,EAAE;YAClB,KAAK,EAAE,MAAM;YACb,OAAO,CAAC,IAAI;gBACV,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAEtC,IAAI,YAAY,GAAG,EAAE,CAAC;gBACtB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;oBAC3B,MAAM,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,iBAAiB,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClF,YAAY,IAAI,sCAAsC,IAAI,IAAI,cAAc,GAAG,CAAC;oBAChF,IAAI,eAAe,EAAE,CAAC;wBACpB,YAAY,IAAI,wCAAwC,IAAI,IAAI,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAED,yCAAyC;gBACzC,kDAAkD;gBAClD,OAAO,IAAI,CAAC,OAAO,CACjB,gBAAgB,EAChB,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,EAAE,CACrC,CAAC;YACJ,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
* - GET /api-list 所有 API 路由
|
|
20
20
|
*
|
|
21
21
|
* openapi 提供的 endpoints(挂在 `<basePath>/dev` 下):
|
|
22
|
-
* - GET /openapi.json 运行时 openapi.json(
|
|
23
|
-
* - GET /openapi/spec docs/openapi.json 过滤后的 spec
|
|
22
|
+
* - GET /openapi.json 运行时 openapi.json(x-source 增强,API 调试面板消费)
|
|
23
|
+
* - GET /openapi/spec docs/openapi.json 过滤后的 spec(「开放 API」面板消费)
|
|
24
24
|
*
|
|
25
25
|
* 跟 `coding-preset-vite-react/plugins/dev-logs.ts`(jsPage 的浏览器端 batch logger
|
|
26
26
|
* 收集 `/dev/logs/collect-batch` → `browser.log`)互不冲突——前者读 server 端日志
|
|
@@ -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,
|
|
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,CA8B5E;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
* - GET /api-list 所有 API 路由
|
|
21
21
|
*
|
|
22
22
|
* openapi 提供的 endpoints(挂在 `<basePath>/dev` 下):
|
|
23
|
-
* - GET /openapi.json 运行时 openapi.json(
|
|
24
|
-
* - GET /openapi/spec docs/openapi.json 过滤后的 spec
|
|
23
|
+
* - GET /openapi.json 运行时 openapi.json(x-source 增强,API 调试面板消费)
|
|
24
|
+
* - GET /openapi/spec docs/openapi.json 过滤后的 spec(「开放 API」面板消费)
|
|
25
25
|
*
|
|
26
26
|
* 跟 `coding-preset-vite-react/plugins/dev-logs.ts`(jsPage 的浏览器端 batch logger
|
|
27
27
|
* 收集 `/dev/logs/collect-batch` → `browser.log`)互不冲突——前者读 server 端日志
|
|
@@ -60,10 +60,11 @@ function serverLogPlugin(options = {}) {
|
|
|
60
60
|
(0, dev_logs_1.createDevLogsMiddleware)({
|
|
61
61
|
logDir,
|
|
62
62
|
}),
|
|
63
|
-
// 注册 openapi middleware —— 提供 /dev/openapi/spec,妙搭「开放 API」面板消费
|
|
64
|
-
// (commit e66dd8d8 引入 openapiSpecFilePath 时遗漏了本包)
|
|
65
63
|
(0, openapi_1.createOpenapiMiddleware)({
|
|
64
|
+
openapiFilePath: node_path_1.default.resolve(rootDir, './client/src/api/gen/openapi.json'),
|
|
66
65
|
openapiSpecFilePath: node_path_1.default.resolve(rootDir, './docs/openapi.json'),
|
|
66
|
+
serverDir: node_path_1.default.resolve(rootDir, './server'),
|
|
67
|
+
enableEnhancement: true,
|
|
67
68
|
}),
|
|
68
69
|
], {
|
|
69
70
|
basePath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-log.js","sourceRoot":"","sources":["../../src/plugins/server-log.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;;;;;AAqBH,
|
|
1
|
+
{"version":3,"file":"server-log.js","sourceRoot":"","sources":["../../src/plugins/server-log.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;;;;;AAqBH,0CA8BC;AAjDD,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,IAAA,iCAAuB,EAAC;oBACtB,eAAe,EAAE,mBAAI,CAAC,OAAO,CAAC,OAAO,EAAE,mCAAmC,CAAC;oBAC3E,mBAAmB,EAAE,mBAAI,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC;oBACjE,SAAS,EAAE,mBAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;oBAC5C,iBAAiB,EAAE,IAAI;iBACxB,CAAC;aACH,EACD;gBACE,QAAQ;gBACR,KAAK,EAAE,IAAI;gBACX,OAAO;aACR,CACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,kBAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-map-upload.d.ts","sourceRoot":"","sources":["../../src/plugins/source-map-upload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,MAAM,CAAC;AAInD,UAAU,4BAA4B;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,4BAA4B,GACpC,MAAM,CAqFR"}
|