@lark-apaas/fullstack-vite-preset 1.0.24-alpha.1 → 1.0.24-alpha.10
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 +1 -6
- package/lib/index.js.map +1 -1
- package/lib/preset.d.ts.map +1 -1
- package/lib/preset.js +26 -47
- package/lib/preset.js.map +1 -1
- package/lib/vite-plugins/basename-injection-plugin.d.ts +29 -0
- package/lib/vite-plugins/basename-injection-plugin.d.ts.map +1 -0
- package/lib/vite-plugins/basename-injection-plugin.js +106 -0
- package/lib/vite-plugins/basename-injection-plugin.js.map +1 -0
- package/lib/vite-plugins/capabilities-plugin.d.ts +45 -0
- package/lib/vite-plugins/capabilities-plugin.d.ts.map +1 -0
- package/lib/vite-plugins/capabilities-plugin.js +197 -0
- package/lib/vite-plugins/capabilities-plugin.js.map +1 -0
- package/lib/vite-plugins/slardar-plugin.js +1 -1
- package/lib/vite-plugins/source-map-upload-plugin.d.ts.map +1 -1
- package/lib/vite-plugins/source-map-upload-plugin.js +21 -2
- package/lib/vite-plugins/source-map-upload-plugin.js.map +1 -1
- package/lib/vite-plugins/view-context-plugin.d.ts.map +1 -1
- package/lib/vite-plugins/view-context-plugin.js +1 -0
- package/lib/vite-plugins/view-context-plugin.js.map +1 -1
- package/lib/vite-plugins/vite-client-patch-plugin.d.ts.map +1 -1
- package/lib/vite-plugins/vite-client-patch-plugin.js +20 -7
- package/lib/vite-plugins/vite-client-patch-plugin.js.map +1 -1
- package/package.json +1 -1
- package/lib/utils/local-dev.d.ts +0 -24
- package/lib/utils/local-dev.d.ts.map +0 -1
- package/lib/utils/local-dev.js +0 -46
- package/lib/utils/local-dev.js.map +0 -1
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAMpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,GAAE,UAAe,GACzB,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAMpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,GAAE,UAAe,GACzB,UAAU,CAiCZ;AAGD,OAAO,EAAE,yBAAyB,IAAI,YAAY,EAAE,CAAC;AAGrD,YAAY,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAGrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,YAAY,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,YAAY,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -40,14 +40,9 @@ const normalize_base_path_1 = require("./utils/normalize-base-path");
|
|
|
40
40
|
*/
|
|
41
41
|
function createFullstackViteConfig(overrides = {}) {
|
|
42
42
|
// 1. Auto-load .env file (synchronous load to ensure env vars are immediately available)
|
|
43
|
-
// 优先级 shell > .env.local > .env,对齐 Vite/Next.js 约定。
|
|
44
|
-
// dotenv.config 默认 override:false(先到先得),先 .env.local 让它优先,
|
|
45
|
-
// 再 .env 兜底;shell env 已在 process.env 中,两次 config 都不会覆盖。
|
|
46
43
|
try {
|
|
47
44
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
48
|
-
|
|
49
|
-
dotenv.config({ path: '.env.local' });
|
|
50
|
-
dotenv.config({ path: '.env' });
|
|
45
|
+
require('dotenv').config();
|
|
51
46
|
}
|
|
52
47
|
catch (e) {
|
|
53
48
|
// dotenv is an optional dependency, if not installed it won't affect usage
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAqCA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAqCA,8DAmCC;AAGqC,iDAAY;AA3ElD,+BAAoD;AACpD,2DAA6D;AAE7D,qCAAqD;AACrD,qEAAoF;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAgB,yBAAyB,CACvC,YAAwB,EAAE;IAE1B,yFAAyF;IACzF,IAAI,CAAC;QACH,8DAA8D;QAC9D,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,2EAA2E;IAC7E,CAAC;IAED,mDAAmD;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;IACpD,MAAM,kBAAkB,GAAG,KAAK,CAAC;IACjC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,eAAe;IAEvE,+BAA+B;IAC/B,MAAM,cAAc,GAAG,IAAA,gCAAiB,EAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,IAAA,2DAAqC,EACtD,KAAK;QACH,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG;QACrC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,GAAG,CACvC,CAAC;IAEF,yDAAyD;IACzD,MAAM,UAAU,GAAG,IAAA,kCAAyB,EAAC;QAC3C,KAAK;QACL,kBAAkB;QAClB,UAAU;QACV,cAAc;QACd,UAAU;KACX,CAAC,CAAC;IAEH,mCAAmC;IACnC,OAAO,IAAA,kBAAW,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAOD,mCAAqD;AAA5C,mHAAA,yBAAyB,OAAA;AAElC,wCAAwC;AACxC,oFAAiF;AAAxE,kIAAA,sBAAsB,OAAA;AAE/B,sEAAoE;AAA3D,qHAAA,gBAAgB,OAAA"}
|
package/lib/preset.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAyB,MAAM,MAAM,CAAC;AAoD9D,MAAM,WAAW,gCAAgC;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uBAAuB;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAaD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC,UAAU,CAyfZ"}
|
package/lib/preset.js
CHANGED
|
@@ -19,17 +19,18 @@ const og_meta_plugin_1 = require("./vite-plugins/og-meta-plugin");
|
|
|
19
19
|
const module_alias_plugin_1 = require("./vite-plugins/module-alias-plugin");
|
|
20
20
|
const html_output_plugin_1 = require("./vite-plugins/html-output-plugin");
|
|
21
21
|
const runtime_injection_plugin_1 = require("./vite-plugins/runtime-injection-plugin");
|
|
22
|
+
const basename_injection_plugin_1 = require("./vite-plugins/basename-injection-plugin");
|
|
22
23
|
const error_overlay_plugin_1 = require("./vite-plugins/error-overlay-plugin");
|
|
23
24
|
const static_assets_plugin_1 = require("./vite-plugins/static-assets-plugin");
|
|
24
25
|
const css_legacy_plugin_1 = require("./vite-plugins/css-legacy-plugin");
|
|
25
26
|
const polyfill_plugin_1 = require("./vite-plugins/polyfill-plugin");
|
|
26
27
|
const source_map_upload_plugin_1 = require("./vite-plugins/source-map-upload-plugin");
|
|
27
28
|
const snapdom_proxy_1 = require("./utils/snapdom-proxy");
|
|
28
|
-
const local_dev_1 = require("./utils/local-dev");
|
|
29
29
|
const hmr_timing_1 = require("./utils/hmr-timing");
|
|
30
30
|
const ws_watchdog_plugin_1 = require("./vite-plugins/ws-watchdog-plugin");
|
|
31
31
|
const banner_plugin_1 = require("./vite-plugins/banner-plugin");
|
|
32
32
|
const miaoda_fonts_mirror_plugin_1 = require("./vite-plugins/miaoda-fonts-mirror-plugin");
|
|
33
|
+
const capabilities_plugin_1 = require("./vite-plugins/capabilities-plugin");
|
|
33
34
|
function sendBackendUnavailable502(_err, _req, res) {
|
|
34
35
|
if (res.headersSent)
|
|
35
36
|
return;
|
|
@@ -67,43 +68,6 @@ function createRecommendViteConfig(options) {
|
|
|
67
68
|
const appId = isNewPathFormat
|
|
68
69
|
? clientBasePath.replace(/\/+$/, '').split('/').pop()
|
|
69
70
|
: '';
|
|
70
|
-
// 本地开发(MIAODA_LOCAL_DEV)反代:平台 runtime API(/__runtime__/*)本地没有,反代到
|
|
71
|
-
// 沙箱公网入口(SANDBOX_PUBLIC_URL),由 SDK 帮你拼好认证 cookie + webuser header 过 larkgw 鉴权。
|
|
72
|
-
// 注意:只反代 /__runtime__,不碰 /dev —— /dev/* 是 preset 自己的本地 devtool middleware
|
|
73
|
-
// (日志收集 / openapi),反代到沙箱会抢掉本地处理。沙箱端会主动关连接,本地默认 agent 复用
|
|
74
|
-
// 已关 socket 报 socket hang up,但 vite proxy(http-proxy)默认每请求新建,无需特殊处理。
|
|
75
|
-
const localDev = (0, local_dev_1.isLocalDev)();
|
|
76
|
-
const sandboxBase = process.env.SANDBOX_PUBLIC_URL;
|
|
77
|
-
const { cookie: outboundCookie, csrfToken: outboundCsrfToken } = (0, local_dev_1.composeSandboxOutboundAuth)();
|
|
78
|
-
let localDevWebUserHeader = '';
|
|
79
|
-
if (process.env.SUDA_WEBUSER) {
|
|
80
|
-
try {
|
|
81
|
-
localDevWebUserHeader = encodeURIComponent(JSON.stringify(JSON.parse(process.env.SUDA_WEBUSER)));
|
|
82
|
-
}
|
|
83
|
-
catch {
|
|
84
|
-
// SUDA_WEBUSER 非法 JSON,忽略
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
// 沙箱(SANDBOX_PUBLIC_URL)上 /__runtime__/* 的路由本身就期望带 /app/<appId> 前缀
|
|
88
|
-
// (跟生产网关 miaoda.feishu-boe.cn 的行为一致),所以直接透传完整路径,不做 rewrite。
|
|
89
|
-
const localDevRuntimeProxy = localDev && sandboxBase
|
|
90
|
-
? {
|
|
91
|
-
[`${clientBasePath}/__runtime__`]: {
|
|
92
|
-
target: sandboxBase,
|
|
93
|
-
changeOrigin: true,
|
|
94
|
-
secure: true,
|
|
95
|
-
headers: {
|
|
96
|
-
...(outboundCookie ? { cookie: outboundCookie } : {}),
|
|
97
|
-
// 沙箱 gzip 字节若 strip 了 content-encoding 浏览器会按 JSON parse 失败,强制 identity
|
|
98
|
-
'accept-encoding': 'identity',
|
|
99
|
-
...(localDevWebUserHeader
|
|
100
|
-
? { 'x-larkgw-suda-webuser': localDevWebUserHeader }
|
|
101
|
-
: {}),
|
|
102
|
-
...(outboundCsrfToken ? { 'x-suda-csrf-token': outboundCsrfToken } : {}),
|
|
103
|
-
},
|
|
104
|
-
},
|
|
105
|
-
}
|
|
106
|
-
: {};
|
|
107
71
|
// 当 publicPath 是绝对 URL(即静态资源走跨域 CDN,典型的 miaoda 线上部署场景)时,
|
|
108
72
|
// 从中派生出 CDN origin 用于 preconnect,让浏览器提前建连,减少关键资源等待时间。
|
|
109
73
|
// Dev 模式下 publicPath 是同域路径(如 /app/xxx),不需要 preconnect。
|
|
@@ -132,6 +96,12 @@ function createRecommendViteConfig(options) {
|
|
|
132
96
|
catch { /* ignore */ }
|
|
133
97
|
// Build the plugins array
|
|
134
98
|
const plugins = [
|
|
99
|
+
// virtual:capabilities —— client-toolkit 经 client-capability 强依赖的虚拟模块。
|
|
100
|
+
// 即便业务工程没有 capability JSON 也必须把模块注册成空 map,否则下游
|
|
101
|
+
// node_modules/@lark-apaas/client-capability/dist/index.js 的 `import
|
|
102
|
+
// 'virtual:capabilities'` 在 Vite 主 pipeline / depOptimizer 都解不掉,
|
|
103
|
+
// 直接 fail。挂在 plugins 数组最前以确保覆盖所有 resolveId/load 路径。
|
|
104
|
+
(0, capabilities_plugin_1.capabilitiesPlugin)(),
|
|
135
105
|
// Cloud env patch: suppress auto page-reload on HMR WebSocket reconnect (dev only)
|
|
136
106
|
isDev && (0, vite_client_patch_plugin_1.viteClientPatchPlugin)(),
|
|
137
107
|
// aily-cli: add releaseId to window
|
|
@@ -155,6 +125,11 @@ function createRecommendViteConfig(options) {
|
|
|
155
125
|
// Runtime injection plugin - injects @lark-apaas/client-toolkit/runtime
|
|
156
126
|
// Must be early to ensure runtime is loaded before app code
|
|
157
127
|
(0, runtime_injection_plugin_1.runtimeInjectionPlugin)({ clientBasePath }),
|
|
128
|
+
// Basename injection plugin - rewrites process.env.CLIENT_BASE_PATH in entry file
|
|
129
|
+
// to runtime expression reading window.__BASENAME__
|
|
130
|
+
// enforce:'pre' runs before vite's define replacement
|
|
131
|
+
// 通过 rollup ModuleInfo.isEntry 精确匹配入口文件,不影响 SDK 内部代码
|
|
132
|
+
(0, basename_injection_plugin_1.basenameInjectionPlugin)({ envBasePath: clientBasePath }),
|
|
158
133
|
// Inspector plugin for dev mode (injects data attributes for debugging)
|
|
159
134
|
// Only enabled in development when DISABLE_INSPECTOR is not set
|
|
160
135
|
// Must be BEFORE react() — both use enforce:'pre' and Vite runs them in array order.
|
|
@@ -296,20 +271,24 @@ function createRecommendViteConfig(options) {
|
|
|
296
271
|
ignored: ['**/node_modules/**', '**/dist/**'],
|
|
297
272
|
},
|
|
298
273
|
// HMR WebSocket configuration
|
|
299
|
-
//
|
|
300
|
-
//
|
|
301
|
-
|
|
302
|
-
hmr: process.env.FORCE_FRAMEWORK_DOMAIN_MAIN
|
|
274
|
+
// 优先级:独立 WS 域名(MIAODA_WS_HOST) > 反代 wss(FORCE_FRAMEWORK_DOMAIN_MAIN) > 本地 ws
|
|
275
|
+
// 切独立域名时端口不能再隐式取页面端口,固定 443(wss)。
|
|
276
|
+
hmr: process.env.MIAODA_WS_HOST
|
|
303
277
|
? {
|
|
304
278
|
protocol: 'wss',
|
|
279
|
+
host: process.env.MIAODA_WS_HOST,
|
|
280
|
+
clientPort: 443,
|
|
305
281
|
path: `/ws`,
|
|
306
282
|
}
|
|
307
|
-
:
|
|
308
|
-
|
|
309
|
-
|
|
283
|
+
: process.env.FORCE_FRAMEWORK_DOMAIN_MAIN
|
|
284
|
+
? {
|
|
285
|
+
protocol: 'wss',
|
|
286
|
+
path: `/ws`,
|
|
287
|
+
}
|
|
288
|
+
: {
|
|
289
|
+
path: `/ws`,
|
|
290
|
+
},
|
|
310
291
|
proxy: {
|
|
311
|
-
// 本地开发:平台 runtime API 反代沙箱(仅 MIAODA_LOCAL_DEV + SANDBOX_PUBLIC_URL 存在时)
|
|
312
|
-
...localDevRuntimeProxy,
|
|
313
292
|
// API proxy
|
|
314
293
|
[`${clientBasePath}/api`]: {
|
|
315
294
|
target: `http://localhost:${serverPort}`,
|
package/lib/preset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset.js","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"preset.js","sourceRoot":"","sources":["../src/preset.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-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basename-injection-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/basename-injection-plugin.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,CAwCR;AAED,eAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
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 解析失败时使用
|
|
32
|
+
const FALLBACK_ENTRY_REGEX = /[/\\]client[/\\]src[/\\]index\.(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
|
+
}
|
|
80
|
+
},
|
|
81
|
+
transform(code, id) {
|
|
82
|
+
// 1. 排除虚拟模块和 node_modules
|
|
83
|
+
if (id.startsWith('\0') || id.includes('node_modules'))
|
|
84
|
+
return null;
|
|
85
|
+
// 2. 内容快速过滤
|
|
86
|
+
if (!code.includes('process.env.CLIENT_BASE_PATH'))
|
|
87
|
+
return null;
|
|
88
|
+
// 3. 入口文件匹配
|
|
89
|
+
const cleanId = path_1.default.normalize(id.split('?')[0].split('#')[0]);
|
|
90
|
+
if (entryFiles && entryFiles.size > 0) {
|
|
91
|
+
if (!entryFiles.has(cleanId))
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
if (!FALLBACK_ENTRY_REGEX.test(cleanId))
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
code: code.replace(TARGET_PATTERN, runtimeExpr),
|
|
100
|
+
map: null,
|
|
101
|
+
};
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
exports.default = basenameInjectionPlugin;
|
|
106
|
+
//# sourceMappingURL=basename-injection-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basename-injection-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/basename-injection-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Plugin } from 'vite';
|
|
2
|
+
export interface CapabilitiesPluginOptions {
|
|
3
|
+
/** 覆盖扫描目录(相对项目根)。不传按 DEFAULT_DIRS 依次扫描。 */
|
|
4
|
+
dir?: string;
|
|
5
|
+
/**
|
|
6
|
+
* 注入下游 Vite 主版本号,跳过自动探测。仅供单测覆盖 Vite < 8 / Vite 8+
|
|
7
|
+
* 两条 depOptimizer 分支用,**生产代码不应该传**。
|
|
8
|
+
*/
|
|
9
|
+
_viteMajorOverride?: number | null;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* 检测当前下游 Vite 是不是 8+。Vite 8 在 `optimizeDeps.esbuildOptions` 非空时
|
|
13
|
+
* 会打 deprecation warn,且把 plugins 自动合到 rolldown.plugins 末尾;既然
|
|
14
|
+
* rolldown 路径已经独立挂了,Vite 8+ 上跳过 esbuild 路径避免污染输出。
|
|
15
|
+
*
|
|
16
|
+
* package 用 CommonJS 模块(tsc emit),直接 require vite/package.json;读不到
|
|
17
|
+
* 时保守按 < 8 处理(多挂 esbuild 不影响低版本正确性)。
|
|
18
|
+
*/
|
|
19
|
+
export declare function detectViteMajor(): number | null;
|
|
20
|
+
/**
|
|
21
|
+
* 把业务工程 `<dir>/*.json` 的 capability 配置打成 `virtual:capabilities`
|
|
22
|
+
* 虚拟模块。
|
|
23
|
+
*
|
|
24
|
+
* `@lark-apaas/client-capability` SDK(被 client-toolkit 内联使用)会
|
|
25
|
+
* `import map from 'virtual:capabilities'` 取这个 map。SDK 在 dev 预览 / 沙箱
|
|
26
|
+
* 加载流程中依赖这个模块存在,所以即使 capability 目录为空,也必须把模块
|
|
27
|
+
* 注册成解析成功(空 map),否则 Vite build / depOptimizer 直接 fail:
|
|
28
|
+
*
|
|
29
|
+
* ✘ [ERROR] Could not resolve "virtual:capabilities"
|
|
30
|
+
* node_modules/@lark-apaas/client-capability/dist/index.js:285:35
|
|
31
|
+
* Error during dependency optimization
|
|
32
|
+
*
|
|
33
|
+
* 必须同时挂三条路径:
|
|
34
|
+
* 1. Vite 主 pipeline `resolveId` / `load`
|
|
35
|
+
* 2. Vite 8+ Rolldown depOptimizer `optimizeDeps.rolldownOptions.plugins`
|
|
36
|
+
* 3. Vite < 8 默认 esbuild depOptimizer `optimizeDeps.esbuildOptions.plugins`
|
|
37
|
+
* (Vite 8+ 跳过避免 deprecation warn,见 detectViteMajor 注释)
|
|
38
|
+
*
|
|
39
|
+
* V1 限制:dev 期更改 capability JSON 后,pre-bundle 产物的刷新取决于
|
|
40
|
+
* depOptimizer 缓存是否失效;新增 / 修改 capability 建议直接重启 dev server
|
|
41
|
+
* 以确保拿到新值。
|
|
42
|
+
*/
|
|
43
|
+
export declare function capabilitiesPlugin(options?: CapabilitiesPluginOptions): Plugin;
|
|
44
|
+
export default capabilitiesPlugin;
|
|
45
|
+
//# sourceMappingURL=capabilities-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/capabilities-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAuBnC,MAAM,WAAW,yBAAyB;IACxC,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAS/C;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,GAAG,MAAM,CAmHlF;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.detectViteMajor = detectViteMajor;
|
|
37
|
+
exports.capabilitiesPlugin = capabilitiesPlugin;
|
|
38
|
+
const fs = __importStar(require("node:fs"));
|
|
39
|
+
const path = __importStar(require("node:path"));
|
|
40
|
+
const VIRTUAL_ID = 'virtual:capabilities';
|
|
41
|
+
const RESOLVED = '\0' + VIRTUAL_ID;
|
|
42
|
+
const ESBUILD_NAMESPACE = 'miaoda-virtual-capabilities';
|
|
43
|
+
// fullstack 模板把 capability JSON 放在 `server/capabilities`。
|
|
44
|
+
// 同时兼容老 jsPage 风格 `shared/capabilities`,两个目录都扫;
|
|
45
|
+
// 都不存在就注册空 map(必须存在,否则下游 client-capability dist 里的
|
|
46
|
+
// `import 'virtual:capabilities'` 解不掉,Vite 直接 fail)。
|
|
47
|
+
const DEFAULT_DIRS = ['server/capabilities', 'shared/capabilities'];
|
|
48
|
+
/**
|
|
49
|
+
* 检测当前下游 Vite 是不是 8+。Vite 8 在 `optimizeDeps.esbuildOptions` 非空时
|
|
50
|
+
* 会打 deprecation warn,且把 plugins 自动合到 rolldown.plugins 末尾;既然
|
|
51
|
+
* rolldown 路径已经独立挂了,Vite 8+ 上跳过 esbuild 路径避免污染输出。
|
|
52
|
+
*
|
|
53
|
+
* package 用 CommonJS 模块(tsc emit),直接 require vite/package.json;读不到
|
|
54
|
+
* 时保守按 < 8 处理(多挂 esbuild 不影响低版本正确性)。
|
|
55
|
+
*/
|
|
56
|
+
function detectViteMajor() {
|
|
57
|
+
try {
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
59
|
+
const pkg = require('vite/package.json');
|
|
60
|
+
const major = parseInt(String(pkg.version ?? '').split('.')[0] ?? '', 10);
|
|
61
|
+
return Number.isFinite(major) ? major : null;
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* 把业务工程 `<dir>/*.json` 的 capability 配置打成 `virtual:capabilities`
|
|
69
|
+
* 虚拟模块。
|
|
70
|
+
*
|
|
71
|
+
* `@lark-apaas/client-capability` SDK(被 client-toolkit 内联使用)会
|
|
72
|
+
* `import map from 'virtual:capabilities'` 取这个 map。SDK 在 dev 预览 / 沙箱
|
|
73
|
+
* 加载流程中依赖这个模块存在,所以即使 capability 目录为空,也必须把模块
|
|
74
|
+
* 注册成解析成功(空 map),否则 Vite build / depOptimizer 直接 fail:
|
|
75
|
+
*
|
|
76
|
+
* ✘ [ERROR] Could not resolve "virtual:capabilities"
|
|
77
|
+
* node_modules/@lark-apaas/client-capability/dist/index.js:285:35
|
|
78
|
+
* Error during dependency optimization
|
|
79
|
+
*
|
|
80
|
+
* 必须同时挂三条路径:
|
|
81
|
+
* 1. Vite 主 pipeline `resolveId` / `load`
|
|
82
|
+
* 2. Vite 8+ Rolldown depOptimizer `optimizeDeps.rolldownOptions.plugins`
|
|
83
|
+
* 3. Vite < 8 默认 esbuild depOptimizer `optimizeDeps.esbuildOptions.plugins`
|
|
84
|
+
* (Vite 8+ 跳过避免 deprecation warn,见 detectViteMajor 注释)
|
|
85
|
+
*
|
|
86
|
+
* V1 限制:dev 期更改 capability JSON 后,pre-bundle 产物的刷新取决于
|
|
87
|
+
* depOptimizer 缓存是否失效;新增 / 修改 capability 建议直接重启 dev server
|
|
88
|
+
* 以确保拿到新值。
|
|
89
|
+
*/
|
|
90
|
+
function capabilitiesPlugin(options = {}) {
|
|
91
|
+
let rootDir = process.cwd();
|
|
92
|
+
function listDirs() {
|
|
93
|
+
if (options.dir)
|
|
94
|
+
return [path.resolve(rootDir, options.dir)];
|
|
95
|
+
return DEFAULT_DIRS.map((d) => path.resolve(rootDir, d));
|
|
96
|
+
}
|
|
97
|
+
function loadMap() {
|
|
98
|
+
const map = {};
|
|
99
|
+
for (const abs of listDirs()) {
|
|
100
|
+
if (!fs.existsSync(abs))
|
|
101
|
+
continue;
|
|
102
|
+
for (const f of fs.readdirSync(abs)) {
|
|
103
|
+
if (!f.endsWith('.json'))
|
|
104
|
+
continue;
|
|
105
|
+
try {
|
|
106
|
+
const cfg = JSON.parse(fs.readFileSync(path.join(abs, f), 'utf-8'));
|
|
107
|
+
if (cfg?.id)
|
|
108
|
+
map[cfg.id] = cfg;
|
|
109
|
+
}
|
|
110
|
+
catch (e) {
|
|
111
|
+
console.warn(`[miaoda-capabilities] skip invalid json: ${path.join(abs, f)}: ${e instanceof Error ? e.message : String(e)}`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return map;
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
name: 'miaoda-capabilities-bundle',
|
|
119
|
+
configResolved(config) {
|
|
120
|
+
rootDir = config.root;
|
|
121
|
+
},
|
|
122
|
+
config(_userConfig, _env) {
|
|
123
|
+
// 两条 depOptimizer 路径共用同一份生成函数,确保字节级一致。
|
|
124
|
+
const renderMap = () => `export default ${JSON.stringify(loadMap())};`;
|
|
125
|
+
const rolldownPlugin = {
|
|
126
|
+
name: 'miaoda-capabilities-rolldown',
|
|
127
|
+
resolveId(source) {
|
|
128
|
+
if (source === VIRTUAL_ID)
|
|
129
|
+
return RESOLVED;
|
|
130
|
+
return null;
|
|
131
|
+
},
|
|
132
|
+
load(id) {
|
|
133
|
+
if (id !== RESOLVED)
|
|
134
|
+
return null;
|
|
135
|
+
return renderMap();
|
|
136
|
+
},
|
|
137
|
+
};
|
|
138
|
+
const optimizeDeps = {
|
|
139
|
+
// Vite 8 Rolldown depOptimizer:API 跟 rollup/rolldown 一致。
|
|
140
|
+
// 当前 Vite 类型还没覆盖,as any 绕过。
|
|
141
|
+
rolldownOptions: { plugins: [rolldownPlugin] },
|
|
142
|
+
};
|
|
143
|
+
const viteMajor = options._viteMajorOverride !== undefined
|
|
144
|
+
? options._viteMajorOverride
|
|
145
|
+
: detectViteMajor();
|
|
146
|
+
const isVite8Plus = viteMajor !== null && viteMajor >= 8;
|
|
147
|
+
if (!isVite8Plus) {
|
|
148
|
+
// Vite < 8:默认 esbuild depOptimizer,plugin API 用 setup + onResolve/onLoad
|
|
149
|
+
// + namespace,跟 rollup 的 resolveId/load 不同。
|
|
150
|
+
optimizeDeps.esbuildOptions = {
|
|
151
|
+
plugins: [
|
|
152
|
+
{
|
|
153
|
+
name: 'miaoda-capabilities-esbuild',
|
|
154
|
+
setup(build) {
|
|
155
|
+
build.onResolve({ filter: /^virtual:capabilities$/ }, () => ({ path: VIRTUAL_ID, namespace: ESBUILD_NAMESPACE }));
|
|
156
|
+
build.onLoad({ filter: /.*/, namespace: ESBUILD_NAMESPACE }, () => ({ contents: renderMap(), loader: 'js' }));
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
],
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
return { optimizeDeps };
|
|
163
|
+
},
|
|
164
|
+
resolveId(id) {
|
|
165
|
+
if (id === VIRTUAL_ID)
|
|
166
|
+
return RESOLVED;
|
|
167
|
+
return null;
|
|
168
|
+
},
|
|
169
|
+
load(id) {
|
|
170
|
+
if (id !== RESOLVED)
|
|
171
|
+
return null;
|
|
172
|
+
return `export default ${JSON.stringify(loadMap())};`;
|
|
173
|
+
},
|
|
174
|
+
configureServer(server) {
|
|
175
|
+
for (const abs of listDirs()) {
|
|
176
|
+
if (fs.existsSync(abs))
|
|
177
|
+
server.watcher.add(abs);
|
|
178
|
+
}
|
|
179
|
+
const watching = listDirs();
|
|
180
|
+
const handle = (file) => {
|
|
181
|
+
if (!file.endsWith('.json'))
|
|
182
|
+
return;
|
|
183
|
+
if (!watching.some((d) => file.startsWith(d)))
|
|
184
|
+
return;
|
|
185
|
+
const mod = server.moduleGraph.getModuleById(RESOLVED);
|
|
186
|
+
if (mod)
|
|
187
|
+
server.moduleGraph.invalidateModule(mod);
|
|
188
|
+
server.ws.send({ type: 'full-reload', path: '*' });
|
|
189
|
+
};
|
|
190
|
+
server.watcher.on('add', handle);
|
|
191
|
+
server.watcher.on('change', handle);
|
|
192
|
+
server.watcher.on('unlink', handle);
|
|
193
|
+
},
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
exports.default = capabilitiesPlugin;
|
|
197
|
+
//# sourceMappingURL=capabilities-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/capabilities-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ function getEarlyResourceErrorScript(globalName) {
|
|
|
31
31
|
if(e.error!=null){
|
|
32
32
|
var err=e.error;
|
|
33
33
|
if(e.filename&&typeof err.stack==='string'&&err.stack.indexOf(e.filename)<0){
|
|
34
|
-
try{err.stack+='
|
|
34
|
+
try{err.stack+='\\n at '+e.filename+':'+(e.lineno||0)+':'+(e.colno||0);}catch(ex){}
|
|
35
35
|
}
|
|
36
36
|
_cap(err);
|
|
37
37
|
}else{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-map-upload-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/source-map-upload-plugin.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,
|
|
1
|
+
{"version":3,"file":"source-map-upload-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/source-map-upload-plugin.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"}
|
|
@@ -37,6 +37,9 @@ exports.sourceMapUploadPlugin = sourceMapUploadPlugin;
|
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
39
|
function sourceMapUploadPlugin(options) {
|
|
40
|
+
if (!options.outputDir) {
|
|
41
|
+
throw new Error('SourceMapUploadPlugin: outputDir is required');
|
|
42
|
+
}
|
|
40
43
|
let config;
|
|
41
44
|
return {
|
|
42
45
|
name: 'vite-plugin-source-map-upload',
|
|
@@ -70,8 +73,24 @@ function sourceMapUploadPlugin(options) {
|
|
|
70
73
|
if (!fs.existsSync(destinationDir)) {
|
|
71
74
|
fs.mkdirSync(destinationDir, { recursive: true });
|
|
72
75
|
}
|
|
73
|
-
// Move the file
|
|
74
|
-
|
|
76
|
+
// Move the file; fallback to copy+delete on cross-filesystem (EXDEV)
|
|
77
|
+
try {
|
|
78
|
+
fs.renameSync(sourceMapPath, destinationPath);
|
|
79
|
+
}
|
|
80
|
+
catch (renameError) {
|
|
81
|
+
if (renameError.code === 'EXDEV') {
|
|
82
|
+
fs.copyFileSync(sourceMapPath, destinationPath);
|
|
83
|
+
try {
|
|
84
|
+
fs.unlinkSync(sourceMapPath);
|
|
85
|
+
}
|
|
86
|
+
catch (deleteError) {
|
|
87
|
+
console.warn(`SourceMapUploadPlugin: Failed to delete original sourcemap ${sourceMapPath}.`, deleteError);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
throw renameError;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
75
94
|
console.log(`SourceMapUploadPlugin: Consolidated ${sourceMapFile} to ${destinationPath}`);
|
|
76
95
|
}
|
|
77
96
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-map-upload-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/source-map-upload-plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,
|
|
1
|
+
{"version":3,"file":"source-map-upload-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/source-map-upload-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-context-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/view-context-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"view-context-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/view-context-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,MAAM,CAAC;AAqBtD,wBAAgB,iBAAiB,IAAI,MAAM,CAmB1C;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-context-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/view-context-plugin.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"view-context-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/view-context-plugin.ts"],"names":[],"mappings":";;AAqBA,8CAmBC;AAtCD,SAAS,oBAAoB;IAC3B,OAAO;;;;;;;;;;;;;;;KAeJ,CAAC;AACN,CAAC;AAED,SAAgB,iBAAiB;IAC/B,OAAO;QACL,IAAI,EAAE,wBAAwB;QAE9B,kBAAkB,CAAC,IAAI;YACrB,MAAM,IAAI,GAAwB;gBAChC;oBACE,GAAG,EAAE,QAAQ;oBACb,QAAQ,EAAE,oBAAoB,EAAE;oBAChC,QAAQ,EAAE,cAAc;iBACzB;aACF,CAAC;YAEF,OAAO;gBACL,IAAI;gBACJ,IAAI;aACL,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-client-patch-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/vite-client-patch-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAUnC,wBAAgB,qBAAqB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"vite-client-patch-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/vite-client-patch-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAUnC,wBAAgB,qBAAqB,IAAI,MAAM,CAgD9C"}
|
|
@@ -36,17 +36,30 @@ function viteClientPatchPlugin() {
|
|
|
36
36
|
if (!id.includes('vite/dist/client/client.mjs')) {
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
|
-
|
|
39
|
+
let patched = code;
|
|
40
|
+
// patch 1: 移除 WS 重连后的 location.reload()(云端死连接导致 ~18s 白屏)
|
|
41
|
+
if (RECONNECT_RELOAD_PATTERN.test(patched)) {
|
|
42
|
+
patched = patched.replace(RECONNECT_RELOAD_PATTERN, (_, pingLine) => pingLine);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
40
45
|
console.warn('[fullstack-vite-client-patch] Warning: Could not find the reconnect-reload pattern ' +
|
|
41
46
|
'in @vite/client. The patch has NOT been applied. ' +
|
|
42
47
|
'Check if this Vite version changed the vite:ws:disconnect handler.');
|
|
43
|
-
return;
|
|
44
48
|
}
|
|
45
|
-
//
|
|
46
|
-
//
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
// patch 2: HMR 长链追加沙箱鉴权 token(gated on MIAODA_HMR_WS_TOKEN)
|
|
50
|
+
// 把 `?token=${wsToken}` 追加 `&sandbox_token=<jwt>`,不改写 Vite 自身 token。
|
|
51
|
+
const wsAuthToken = process.env.MIAODA_HMR_WS_TOKEN;
|
|
52
|
+
if (wsAuthToken) {
|
|
53
|
+
if (patched.includes('?token=${wsToken}')) {
|
|
54
|
+
const encoded = encodeURIComponent(wsAuthToken);
|
|
55
|
+
patched = patched.replace(/\?token=\$\{wsToken\}/g, () => `?token=\${wsToken}&sandbox_token=${encoded}`);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
console.warn('[fullstack-vite-client-patch] Warning: WS url pattern `?token=${wsToken}` not found; ' +
|
|
59
|
+
'sandbox_token NOT injected. Check if this Vite version changed the client WS URL.');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return patched === code ? undefined : { code: patched };
|
|
50
63
|
},
|
|
51
64
|
};
|
|
52
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-client-patch-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/vite-client-patch-plugin.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;AAYH,
|
|
1
|
+
{"version":3,"file":"vite-client-patch-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/vite-client-patch-plugin.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;AAYH,sDAgDC;AAxDD;;;;GAIG;AACH,MAAM,wBAAwB,GAC5B,4EAA4E,CAAC;AAE/E,SAAgB,qBAAqB;IACnC,OAAO;QACL,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,OAAO;QAEd,SAAS,CAAC,IAAI,EAAE,EAAE;YAChB,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CAAC;gBAChD,OAAO;YACT,CAAC;YAED,IAAI,OAAO,GAAG,IAAI,CAAC;YAEnB,yDAAyD;YACzD,IAAI,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3C,OAAO,GAAG,OAAO,CAAC,OAAO,CACvB,wBAAwB,EACxB,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAC1B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CACV,qFAAqF;oBACnF,mDAAmD;oBACnD,oEAAoE,CACvE,CAAC;YACJ,CAAC;YAED,4DAA4D;YAC5D,qEAAqE;YACrE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;YACpD,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBAC1C,MAAM,OAAO,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBAChD,OAAO,GAAG,OAAO,CAAC,OAAO,CACvB,wBAAwB,EACxB,GAAG,EAAE,CAAC,oCAAoC,OAAO,EAAE,CACpD,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CACV,uFAAuF;wBACrF,mFAAmF,CACtF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC1D,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
package/lib/utils/local-dev.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 本地开发总开关。
|
|
3
|
-
*
|
|
4
|
-
* 由 `dev-local.sh`(平台 CLI `miaoda app sync` 同步到项目)export `MIAODA_LOCAL_DEV=1`。
|
|
5
|
-
* 沙箱 dev / 生产都不设此 env,所以本地专属逻辑(view-context 占位填充、__runtime__ 反代沙箱)
|
|
6
|
-
* 只在用户本机 `npm run dev:local` 时启用,沙箱 / 生产行为完全不受影响。
|
|
7
|
-
*/
|
|
8
|
-
export declare function isLocalDev(): boolean;
|
|
9
|
-
/**
|
|
10
|
-
* 反代沙箱时的认证组装。两条入口:
|
|
11
|
-
* - 新流(推荐):env `FORCE_AUTHN_PREVIEW_SESSION_ID` —— 后端下发的单值 session(实际是
|
|
12
|
-
* X-Force-Runtime-Session 的值)。SDK 自动拼 cookie,suda-csrf-token 用本地常量。
|
|
13
|
-
* - 老流(兼容):env `SANDBOX_COOKIE` —— 用户从浏览器手抠的完整 cookie 字符串(包含
|
|
14
|
-
* X-Force-Runtime-Session / suda-csrf-token / suda_web_did 等)。原样透传,suda-csrf-token
|
|
15
|
-
* 从其中正则提取作为出向 x-suda-csrf-token header。
|
|
16
|
-
*
|
|
17
|
-
* 两个都给的话 `SANDBOX_COOKIE` 优先("已显式拼好"信号更强)。两个都缺的话返回空字符串
|
|
18
|
-
* (local dev 跑不通,但不抛错——交给上层 `localDev && sandboxBase` 条件兜底)。
|
|
19
|
-
*/
|
|
20
|
-
export declare function composeSandboxOutboundAuth(): {
|
|
21
|
-
cookie: string;
|
|
22
|
-
csrfToken: string;
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=local-dev.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-dev.d.ts","sourceRoot":"","sources":["../../src/utils/local-dev.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAIpC;AAKD;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,IAAI;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAclF"}
|
package/lib/utils/local-dev.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isLocalDev = isLocalDev;
|
|
4
|
-
exports.composeSandboxOutboundAuth = composeSandboxOutboundAuth;
|
|
5
|
-
/**
|
|
6
|
-
* 本地开发总开关。
|
|
7
|
-
*
|
|
8
|
-
* 由 `dev-local.sh`(平台 CLI `miaoda app sync` 同步到项目)export `MIAODA_LOCAL_DEV=1`。
|
|
9
|
-
* 沙箱 dev / 生产都不设此 env,所以本地专属逻辑(view-context 占位填充、__runtime__ 反代沙箱)
|
|
10
|
-
* 只在用户本机 `npm run dev:local` 时启用,沙箱 / 生产行为完全不受影响。
|
|
11
|
-
*/
|
|
12
|
-
function isLocalDev() {
|
|
13
|
-
if (process.env.NODE_ENV === 'production')
|
|
14
|
-
return false;
|
|
15
|
-
const flag = process.env.MIAODA_LOCAL_DEV;
|
|
16
|
-
return flag === '1' || flag === 'true';
|
|
17
|
-
}
|
|
18
|
-
/** 本地常量 csrf token —— sandbox 是 double-submit 模式(cookie===header 即放行),本地随便定一个一致值即可。 */
|
|
19
|
-
const LOCAL_CSRF_TOKEN = 'local-dev-csrf';
|
|
20
|
-
/**
|
|
21
|
-
* 反代沙箱时的认证组装。两条入口:
|
|
22
|
-
* - 新流(推荐):env `FORCE_AUTHN_PREVIEW_SESSION_ID` —— 后端下发的单值 session(实际是
|
|
23
|
-
* X-Force-Runtime-Session 的值)。SDK 自动拼 cookie,suda-csrf-token 用本地常量。
|
|
24
|
-
* - 老流(兼容):env `SANDBOX_COOKIE` —— 用户从浏览器手抠的完整 cookie 字符串(包含
|
|
25
|
-
* X-Force-Runtime-Session / suda-csrf-token / suda_web_did 等)。原样透传,suda-csrf-token
|
|
26
|
-
* 从其中正则提取作为出向 x-suda-csrf-token header。
|
|
27
|
-
*
|
|
28
|
-
* 两个都给的话 `SANDBOX_COOKIE` 优先("已显式拼好"信号更强)。两个都缺的话返回空字符串
|
|
29
|
-
* (local dev 跑不通,但不抛错——交给上层 `localDev && sandboxBase` 条件兜底)。
|
|
30
|
-
*/
|
|
31
|
-
function composeSandboxOutboundAuth() {
|
|
32
|
-
const legacyCookie = process.env.SANDBOX_COOKIE;
|
|
33
|
-
if (legacyCookie) {
|
|
34
|
-
const m = legacyCookie.match(/(?:^|;\s*)suda-csrf-token=([^;]+)/i);
|
|
35
|
-
return { cookie: legacyCookie, csrfToken: m ? m[1] : '' };
|
|
36
|
-
}
|
|
37
|
-
const sessionId = process.env.FORCE_AUTHN_PREVIEW_SESSION_ID;
|
|
38
|
-
if (sessionId) {
|
|
39
|
-
return {
|
|
40
|
-
cookie: `X-Force-Runtime-Session=${sessionId}; suda-csrf-token=${LOCAL_CSRF_TOKEN}`,
|
|
41
|
-
csrfToken: LOCAL_CSRF_TOKEN,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
return { cookie: '', csrfToken: '' };
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=local-dev.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-dev.js","sourceRoot":"","sources":["../../src/utils/local-dev.ts"],"names":[],"mappings":";;AAOA,gCAIC;AAgBD,gEAcC;AAzCD;;;;;;GAMG;AACH,SAAgB,UAAU;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC1C,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,MAAM,CAAC;AACzC,CAAC;AAED,uFAAuF;AACvF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,SAAgB,0BAA0B;IACxC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAChD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACnE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC5D,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;IAC7D,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;YACL,MAAM,EAAE,2BAA2B,SAAS,qBAAqB,gBAAgB,EAAE;YACnF,SAAS,EAAE,gBAAgB;SAC5B,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AACvC,CAAC"}
|