@lark-apaas/coding-preset-vite-react 1.0.13-alpha.0 → 1.0.13-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts +9 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +152 -109
- package/lib/index.js.map +1 -1
- package/lib/plugins/basename.d.ts +29 -0
- package/lib/plugins/basename.d.ts.map +1 -0
- package/lib/plugins/basename.js +106 -0
- package/lib/plugins/basename.js.map +1 -0
- package/lib/plugins/capabilities.d.ts +9 -6
- package/lib/plugins/capabilities.d.ts.map +1 -1
- package/lib/plugins/capabilities.js +27 -29
- package/lib/plugins/capabilities.js.map +1 -1
- package/lib/plugins/dev-proxy.d.ts +41 -0
- package/lib/plugins/dev-proxy.d.ts.map +1 -0
- package/lib/plugins/dev-proxy.js +229 -0
- package/lib/plugins/dev-proxy.js.map +1 -0
- package/lib/plugins/fonts-mirror.d.ts.map +1 -1
- package/lib/plugins/fonts-mirror.js +28 -0
- package/lib/plugins/fonts-mirror.js.map +1 -1
- package/lib/plugins/html-output.d.ts +21 -0
- package/lib/plugins/html-output.d.ts.map +1 -0
- package/lib/plugins/html-output.js +171 -0
- package/lib/plugins/html-output.js.map +1 -0
- package/lib/plugins/server-log.d.ts +45 -0
- package/lib/plugins/server-log.d.ts.map +1 -0
- package/lib/plugins/server-log.js +60 -0
- package/lib/plugins/server-log.js.map +1 -0
- package/lib/server-log/compat.d.ts +36 -0
- package/lib/server-log/compat.d.ts.map +1 -0
- package/lib/server-log/compat.js +73 -0
- package/lib/server-log/compat.js.map +1 -0
- package/lib/server-log/dev-logs/api-list-handler.d.ts +6 -0
- package/lib/server-log/dev-logs/api-list-handler.d.ts.map +1 -0
- package/lib/server-log/dev-logs/api-list-handler.js +132 -0
- package/lib/server-log/dev-logs/api-list-handler.js.map +1 -0
- package/lib/server-log/dev-logs/controller.d.ts +45 -0
- package/lib/server-log/dev-logs/controller.d.ts.map +1 -0
- package/lib/server-log/dev-logs/controller.js +239 -0
- package/lib/server-log/dev-logs/controller.js.map +1 -0
- package/lib/server-log/dev-logs/health.controller.d.ts +15 -0
- package/lib/server-log/dev-logs/health.controller.d.ts.map +1 -0
- package/lib/server-log/dev-logs/health.controller.js +79 -0
- package/lib/server-log/dev-logs/health.controller.js.map +1 -0
- package/lib/server-log/dev-logs/helper/path-matcher.d.ts +117 -0
- package/lib/server-log/dev-logs/helper/path-matcher.d.ts.map +1 -0
- package/lib/server-log/dev-logs/helper/path-matcher.js +214 -0
- package/lib/server-log/dev-logs/helper/path-matcher.js.map +1 -0
- package/lib/server-log/dev-logs/index.d.ts +12 -0
- package/lib/server-log/dev-logs/index.d.ts.map +1 -0
- package/lib/server-log/dev-logs/index.js +61 -0
- package/lib/server-log/dev-logs/index.js.map +1 -0
- package/lib/server-log/dev-logs/router.d.ts +7 -0
- package/lib/server-log/dev-logs/router.d.ts.map +1 -0
- package/lib/server-log/dev-logs/router.js +40 -0
- package/lib/server-log/dev-logs/router.js.map +1 -0
- package/lib/server-log/dev-logs/services/capability.service.d.ts +33 -0
- package/lib/server-log/dev-logs/services/capability.service.d.ts.map +1 -0
- package/lib/server-log/dev-logs/services/capability.service.js +127 -0
- package/lib/server-log/dev-logs/services/capability.service.js.map +1 -0
- package/lib/server-log/dev-logs/services/file-reader.d.ts +10 -0
- package/lib/server-log/dev-logs/services/file-reader.d.ts.map +1 -0
- package/lib/server-log/dev-logs/services/file-reader.js +67 -0
- package/lib/server-log/dev-logs/services/file-reader.js.map +1 -0
- package/lib/server-log/dev-logs/services/index.d.ts +8 -0
- package/lib/server-log/dev-logs/services/index.d.ts.map +1 -0
- package/lib/server-log/dev-logs/services/index.js +30 -0
- package/lib/server-log/dev-logs/services/index.js.map +1 -0
- package/lib/server-log/dev-logs/services/parsers.d.ts +23 -0
- package/lib/server-log/dev-logs/services/parsers.d.ts.map +1 -0
- package/lib/server-log/dev-logs/services/parsers.js +157 -0
- package/lib/server-log/dev-logs/services/parsers.js.map +1 -0
- package/lib/server-log/dev-logs/services/server-log.service.d.ts +17 -0
- package/lib/server-log/dev-logs/services/server-log.service.d.ts.map +1 -0
- package/lib/server-log/dev-logs/services/server-log.service.js +119 -0
- package/lib/server-log/dev-logs/services/server-log.service.js.map +1 -0
- package/lib/server-log/dev-logs/services/trace.service.d.ts +14 -0
- package/lib/server-log/dev-logs/services/trace.service.d.ts.map +1 -0
- package/lib/server-log/dev-logs/services/trace.service.js +162 -0
- package/lib/server-log/dev-logs/services/trace.service.js.map +1 -0
- package/lib/server-log/dev-logs/services/trigger.service.d.ts +14 -0
- package/lib/server-log/dev-logs/services/trigger.service.d.ts.map +1 -0
- package/lib/server-log/dev-logs/services/trigger.service.js +153 -0
- package/lib/server-log/dev-logs/services/trigger.service.js.map +1 -0
- package/lib/server-log/dev-logs/services.d.ts +7 -0
- package/lib/server-log/dev-logs/services.d.ts.map +1 -0
- package/lib/server-log/dev-logs/services.js +20 -0
- package/lib/server-log/dev-logs/services.js.map +1 -0
- package/lib/server-log/dev-logs/sse/client-manager.d.ts +61 -0
- package/lib/server-log/dev-logs/sse/client-manager.d.ts.map +1 -0
- package/lib/server-log/dev-logs/sse/client-manager.js +140 -0
- package/lib/server-log/dev-logs/sse/client-manager.js.map +1 -0
- package/lib/server-log/dev-logs/sse/index.d.ts +5 -0
- package/lib/server-log/dev-logs/sse/index.d.ts.map +1 -0
- package/lib/server-log/dev-logs/sse/index.js +11 -0
- package/lib/server-log/dev-logs/sse/index.js.map +1 -0
- package/lib/server-log/dev-logs/sse/log-watcher.d.ts +51 -0
- package/lib/server-log/dev-logs/sse/log-watcher.d.ts.map +1 -0
- package/lib/server-log/dev-logs/sse/log-watcher.js +381 -0
- package/lib/server-log/dev-logs/sse/log-watcher.js.map +1 -0
- package/lib/server-log/dev-logs/sse/sse.controller.d.ts +25 -0
- package/lib/server-log/dev-logs/sse/sse.controller.d.ts.map +1 -0
- package/lib/server-log/dev-logs/sse/sse.controller.js +95 -0
- package/lib/server-log/dev-logs/sse/sse.controller.js.map +1 -0
- package/lib/server-log/dev-logs/types.d.ts +104 -0
- package/lib/server-log/dev-logs/types.d.ts.map +1 -0
- package/lib/server-log/dev-logs/types.js +3 -0
- package/lib/server-log/dev-logs/types.js.map +1 -0
- package/lib/server-log/dev-logs/utils.d.ts +68 -0
- package/lib/server-log/dev-logs/utils.d.ts.map +1 -0
- package/lib/server-log/dev-logs/utils.js +151 -0
- package/lib/server-log/dev-logs/utils.js.map +1 -0
- package/lib/server-log/register.d.ts +34 -0
- package/lib/server-log/register.d.ts.map +1 -0
- package/lib/server-log/register.js +196 -0
- package/lib/server-log/register.js.map +1 -0
- package/lib/server-log/types.d.ts +99 -0
- package/lib/server-log/types.d.ts.map +1 -0
- package/lib/server-log/types.js +3 -0
- package/lib/server-log/types.js.map +1 -0
- package/lib/utils/local-dev.d.ts +46 -0
- package/lib/utils/local-dev.d.ts.map +1 -0
- package/lib/utils/local-dev.js +96 -0
- package/lib/utils/local-dev.js.map +1 -0
- package/lib/utils/proxy-error.d.ts +29 -0
- package/lib/utils/proxy-error.d.ts.map +1 -0
- package/lib/utils/proxy-error.js +158 -0
- package/lib/utils/proxy-error.js.map +1 -0
- package/package.json +3 -1
package/lib/index.d.ts
CHANGED
|
@@ -30,7 +30,11 @@ import { type UserConfig } from 'vite';
|
|
|
30
30
|
* - MIAODA_APP_TYPE 妙搭应用类型(数字字符串,供 lite Safety 徽标判断)
|
|
31
31
|
* - MIAODA_APP_ARCH_TYPE 妙搭应用架构类型(数字字符串)
|
|
32
32
|
*/
|
|
33
|
-
export
|
|
33
|
+
export interface PresetOptions {
|
|
34
|
+
/** fullstack 模式下 NestJS server 端口,默认 3000;dev-proxy 反代目标 */
|
|
35
|
+
serverPort?: number;
|
|
36
|
+
}
|
|
37
|
+
export declare function defineConfig(overrides?: UserConfig, options?: PresetOptions): UserConfig;
|
|
34
38
|
export default defineConfig;
|
|
35
39
|
export { routesPlugin, parseRoutes } from './plugins/routes';
|
|
36
40
|
export { htmlMinifyPlugin, minifyHtmlWithHbsProtection } from './plugins/html-minify';
|
|
@@ -48,6 +52,10 @@ export { polyfillPlugin } from './plugins/polyfill';
|
|
|
48
52
|
export { viteClientPatchPlugin } from './plugins/vite-client-patch';
|
|
49
53
|
export { slardarPlugin } from './plugins/slardar';
|
|
50
54
|
export { devLogsPlugin } from './plugins/dev-logs';
|
|
55
|
+
export { devProxyPlugin } from './plugins/dev-proxy';
|
|
56
|
+
export { htmlOutputPlugin } from './plugins/html-output';
|
|
57
|
+
export { basenamePlugin } from './plugins/basename';
|
|
58
|
+
export { serverLogPlugin } from './plugins/server-log';
|
|
51
59
|
export { normalizeBasePath, normalizeBasePathWithoutTrailingSlash, } from './utils/normalize-base-path';
|
|
52
60
|
export { registerSnapDomProxyMiddleware } from './utils/snapdom-proxy';
|
|
53
61
|
//# sourceMappingURL=index.d.ts.map
|
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,EAA4B,KAAK,UAAU,EAAsB,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAA4B,KAAK,UAAU,EAAsB,MAAM,MAAM,CAAC;AAmErF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,YAAY,CAC1B,SAAS,GAAE,UAAe,EAC1B,OAAO,GAAE,aAAkB,GAC1B,UAAU,CA6XZ;AAGD,eAAe,YAAY,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,iBAAiB,EACjB,qCAAqC,GACtC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.registerSnapDomProxyMiddleware = exports.normalizeBasePathWithoutTrailingSlash = exports.normalizeBasePath = exports.devLogsPlugin = exports.slardarPlugin = exports.viteClientPatchPlugin = exports.polyfillPlugin = exports.fontsMirrorPlugin = exports.ogMetaPlugin = exports.moduleAliasPlugin = exports.viewContextPlugin = exports.healthMiddlewarePlugin = exports.wsWatchdogPlugin = exports.hmrTimingPlugin = exports.errorOverlayPlugin = exports.capabilitiesBundlePlugin = exports.staticAssetsPlugin = exports.minifyHtmlWithHbsProtection = exports.htmlMinifyPlugin = exports.parseRoutes = exports.routesPlugin = void 0;
|
|
39
|
+
exports.registerSnapDomProxyMiddleware = exports.normalizeBasePathWithoutTrailingSlash = exports.normalizeBasePath = exports.serverLogPlugin = exports.basenamePlugin = exports.htmlOutputPlugin = exports.devProxyPlugin = exports.devLogsPlugin = exports.slardarPlugin = exports.viteClientPatchPlugin = exports.polyfillPlugin = exports.fontsMirrorPlugin = exports.ogMetaPlugin = exports.moduleAliasPlugin = exports.viewContextPlugin = exports.healthMiddlewarePlugin = exports.wsWatchdogPlugin = exports.hmrTimingPlugin = exports.errorOverlayPlugin = exports.capabilitiesBundlePlugin = exports.staticAssetsPlugin = exports.minifyHtmlWithHbsProtection = exports.htmlMinifyPlugin = exports.parseRoutes = exports.routesPlugin = void 0;
|
|
40
40
|
exports.defineConfig = defineConfig;
|
|
41
41
|
const fs = __importStar(require("node:fs"));
|
|
42
42
|
const path = __importStar(require("node:path"));
|
|
@@ -60,6 +60,11 @@ const polyfill_1 = require("./plugins/polyfill");
|
|
|
60
60
|
const vite_client_patch_1 = require("./plugins/vite-client-patch");
|
|
61
61
|
const slardar_1 = require("./plugins/slardar");
|
|
62
62
|
const dev_logs_1 = require("./plugins/dev-logs");
|
|
63
|
+
// fullstack-only 4 件套(MIAODA_APP_TYPE === '3' 时启用)
|
|
64
|
+
const dev_proxy_1 = require("./plugins/dev-proxy");
|
|
65
|
+
const html_output_1 = require("./plugins/html-output");
|
|
66
|
+
const basename_1 = require("./plugins/basename");
|
|
67
|
+
const server_log_1 = require("./plugins/server-log");
|
|
63
68
|
const normalize_base_path_1 = require("./utils/normalize-base-path");
|
|
64
69
|
const snapdom_proxy_1 = require("./utils/snapdom-proxy");
|
|
65
70
|
/**
|
|
@@ -82,31 +87,6 @@ function readAppFlags(rootDir) {
|
|
|
82
87
|
return {};
|
|
83
88
|
}
|
|
84
89
|
}
|
|
85
|
-
/**
|
|
86
|
-
* 读 dist/{page,api}-routes.json(build.sh 在 vite build 前生成,jsPage 不产)。
|
|
87
|
-
* 即使文件不存在也安全注入空数组 define,避免业务代码引用时报 undefined。
|
|
88
|
-
*/
|
|
89
|
-
function readRouteDefinitions(rootDir) {
|
|
90
|
-
let pageRoutes = [];
|
|
91
|
-
let apiRoutes = [];
|
|
92
|
-
try {
|
|
93
|
-
const p = path.resolve(rootDir, 'dist/page-routes.json');
|
|
94
|
-
if (fs.existsSync(p))
|
|
95
|
-
pageRoutes = JSON.parse(fs.readFileSync(p, 'utf-8'));
|
|
96
|
-
}
|
|
97
|
-
catch {
|
|
98
|
-
/* ignore */
|
|
99
|
-
}
|
|
100
|
-
try {
|
|
101
|
-
const p = path.resolve(rootDir, 'dist/api-routes.json');
|
|
102
|
-
if (fs.existsSync(p))
|
|
103
|
-
apiRoutes = JSON.parse(fs.readFileSync(p, 'utf-8'));
|
|
104
|
-
}
|
|
105
|
-
catch {
|
|
106
|
-
/* ignore */
|
|
107
|
-
}
|
|
108
|
-
return { pageRoutes, apiRoutes };
|
|
109
|
-
}
|
|
110
90
|
/**
|
|
111
91
|
* 动态加载 inspector(dev 默认开,`DISABLE_INSPECTOR=true` 可关)。
|
|
112
92
|
*/
|
|
@@ -121,41 +101,16 @@ function tryLoadInspector(enabled) {
|
|
|
121
101
|
return [];
|
|
122
102
|
}
|
|
123
103
|
}
|
|
124
|
-
|
|
125
|
-
* miaoda-coding vite-react (jsPage) 默认 Vite 配置。
|
|
126
|
-
*
|
|
127
|
-
* 通过环境变量自动读取部署相关参数,用户只需提供项目特有的覆盖:
|
|
128
|
-
*
|
|
129
|
-
* ```ts
|
|
130
|
-
* import { defineConfig } from '@lark-apaas/coding-preset-vite-react';
|
|
131
|
-
* import path from 'node:path';
|
|
132
|
-
*
|
|
133
|
-
* export default defineConfig({
|
|
134
|
-
* resolve: {
|
|
135
|
-
* alias: {
|
|
136
|
-
* '@': path.resolve(__dirname, 'src'),
|
|
137
|
-
* '@shared': path.resolve(__dirname, 'shared'),
|
|
138
|
-
* },
|
|
139
|
-
* },
|
|
140
|
-
* });
|
|
141
|
-
* ```
|
|
142
|
-
*
|
|
143
|
-
* 支持环境变量:
|
|
144
|
-
* - NODE_ENV development | production(默认 development)
|
|
145
|
-
* - CLIENT_BASE_PATH 部署侧 client base path(如 `/app/<id>`)
|
|
146
|
-
* - ASSETS_CDN_PATH 生产 JS/CSS CDN 前缀(可选)
|
|
147
|
-
* - CLIENT_DEV_PORT dev server 端口(默认 8080)
|
|
148
|
-
* - CLIENT_DEV_HOST dev server host(默认 localhost)
|
|
149
|
-
* - FORCE_FRAMEWORK_DOMAIN_MAIN 反向代理域名(启用 wss HMR + 设置 ACAO)
|
|
150
|
-
* - DISABLE_INSPECTOR `true` 关 inspector
|
|
151
|
-
* - MIAODA_FONTS_MIRROR_OFF `1` 关 Google Fonts 代理替换
|
|
152
|
-
* - MIAODA_APP_TYPE 妙搭应用类型(数字字符串,供 lite Safety 徽标判断)
|
|
153
|
-
* - MIAODA_APP_ARCH_TYPE 妙搭应用架构类型(数字字符串)
|
|
154
|
-
*/
|
|
155
|
-
function defineConfig(overrides = {}) {
|
|
104
|
+
function defineConfig(overrides = {}, options = {}) {
|
|
156
105
|
const isDev = process.env.NODE_ENV !== 'production';
|
|
157
106
|
const rootDir = process.cwd();
|
|
158
107
|
const clientBasePath = (0, normalize_base_path_1.normalizeBasePath)(process.env.CLIENT_BASE_PATH);
|
|
108
|
+
// fullstack 模式判断:MIAODA_APP_TYPE === '3'(妙搭 fullstack stack 的 archType)。
|
|
109
|
+
// 沙箱 / dev.sh 入口注入此 env;jsPage 形态(APP_TYPE === '2')自动不启用 4 件套。
|
|
110
|
+
// 通过 env 而非 vite.config 第二参,让同一份 preset 同时给 jsPage 和 fullstack 用,
|
|
111
|
+
// user vite.config 不用感知。
|
|
112
|
+
const isFullstack = process.env.MIAODA_APP_TYPE === '3';
|
|
113
|
+
const fullstackServerPort = options.serverPort ?? 3000;
|
|
159
114
|
// ASSETS_CDN_PATH 来自 miaoda-cli 注入的 MIAODA_RESOURCE_CDN_PREFIX,通常是完整 URL
|
|
160
115
|
// (`https://cdn.bytetos.com/...`)。必须用 URL-safe 的 normalize,不能强加 `/` 前缀
|
|
161
116
|
// —— 否则会变成 `/https://cdn.bytetos.com/...` 直接破掉 Vite 的 base 替换。
|
|
@@ -169,49 +124,132 @@ function defineConfig(overrides = {}) {
|
|
|
169
124
|
? clientBasePath.replace(/\/+$/, '').split('/').pop()
|
|
170
125
|
: undefined;
|
|
171
126
|
const appFlags = readAppFlags(rootDir);
|
|
172
|
-
const { pageRoutes, apiRoutes } = readRouteDefinitions(rootDir);
|
|
173
127
|
const enableInspector = isDev && process.env.DISABLE_INSPECTOR !== 'true';
|
|
174
128
|
// 兼容两种 layout:老 fullstack 模板 `client/src`,新 jsPage 模板 `src`
|
|
175
129
|
const clientSrcRel = fs.existsSync(path.resolve(rootDir, 'client/src'))
|
|
176
130
|
? 'client/src'
|
|
177
131
|
: 'src';
|
|
178
|
-
//
|
|
179
|
-
//
|
|
180
|
-
//
|
|
181
|
-
//
|
|
132
|
+
// 编译期 define 替换表。同一份同时喂给「顶层 define」与「optimizeDeps 预打包」:
|
|
133
|
+
// Vite 8 顶层 define 不覆盖 optimizeDeps 预打包的依赖(client-toolkit-lite 等),
|
|
134
|
+
// 预打包是优化器独立一趟 bundling,必须在 rolldownOptions.transform.define 再喂一份,
|
|
135
|
+
// 否则 lite 读的 process.env.*(CLIENT_BASE_PATH / MIAODA_APP_* / 豆包水印 MIAODA_APP_SOURCE 等)
|
|
136
|
+
// 在 dev 预打包产物里不被替换。共享同一 const 保证两处永不漂移。
|
|
137
|
+
const defineEnv = {
|
|
138
|
+
// Node global polyfill(sockjs-client 等老库要)
|
|
139
|
+
global: 'globalThis',
|
|
140
|
+
'process.env.NODE_ENV': JSON.stringify(isDev ? 'development' : 'production'),
|
|
141
|
+
'process.env.runtimeMode': JSON.stringify('fullstack'),
|
|
142
|
+
'process.env.CLIENT_BASE_PATH': JSON.stringify(clientBasePath),
|
|
143
|
+
__APP_BASE_PATH__: JSON.stringify(clientBasePath),
|
|
144
|
+
// 未设置时替换为字面量 `undefined`,让 `??` fallback 正确触发(`""`/`undefined` 行为不同)
|
|
145
|
+
'process.env.FORCE_FRAMEWORK_DOMAIN_MAIN': process.env.FORCE_FRAMEWORK_DOMAIN_MAIN
|
|
146
|
+
? JSON.stringify(process.env.FORCE_FRAMEWORK_DOMAIN_MAIN)
|
|
147
|
+
: 'undefined',
|
|
148
|
+
'process.env.CWD': JSON.stringify(''),
|
|
149
|
+
'process.env.__RUNTIME_INJECTED__': JSON.stringify('true'),
|
|
150
|
+
'process.env.BUILD_TOOL': JSON.stringify('vite'),
|
|
151
|
+
'process.env.APP_FLAGS': JSON.stringify(appFlags),
|
|
152
|
+
'process.env.MIAODA_APP_TYPE': process.env.MIAODA_APP_TYPE
|
|
153
|
+
? JSON.stringify(process.env.MIAODA_APP_TYPE)
|
|
154
|
+
: 'undefined',
|
|
155
|
+
'process.env.MIAODA_APP_ARCH_TYPE': process.env.MIAODA_APP_ARCH_TYPE
|
|
156
|
+
? JSON.stringify(process.env.MIAODA_APP_ARCH_TYPE)
|
|
157
|
+
: 'undefined',
|
|
158
|
+
// 沙箱/编译注入的应用来源 enum(数字字符串),豆包水印据此决定显隐
|
|
159
|
+
// (source=5 是豆包来源,见 app_meta.source / AppSource_Doubao)
|
|
160
|
+
'process.env.MIAODA_APP_SOURCE': process.env.MIAODA_APP_SOURCE
|
|
161
|
+
? JSON.stringify(process.env.MIAODA_APP_SOURCE)
|
|
162
|
+
: 'undefined',
|
|
163
|
+
// 部署环境(boe/pre/online),豆包水印「投诉与举报」域名据此选
|
|
164
|
+
'process.env.FORCE_FRAMEWORK_ENVIRONMENT': process.env.FORCE_FRAMEWORK_ENVIRONMENT
|
|
165
|
+
? JSON.stringify(process.env.FORCE_FRAMEWORK_ENVIRONMENT)
|
|
166
|
+
: 'undefined',
|
|
167
|
+
};
|
|
168
|
+
// optimizeDeps.include 列举模板(template-vite-react)已知会用的稳定依赖,启动期一次性
|
|
169
|
+
// 预打包。价值在「会话中途」:AI 边写边改新增一行 import 时,若该依赖此前没预打包,
|
|
170
|
+
// Vite 会触发 `new dependencies optimized, reloading` 整页刷新——在实时预览链路里很扎眼。
|
|
171
|
+
// 把模板高频依赖提前纳入,AI 中途新增 import 不再 re-optimize + reload。
|
|
172
|
+
// 仅影响 dev pre-bundle,production build 走 Rolldown,不读 include,产物不受影响。
|
|
182
173
|
const optimizeDeps = {
|
|
183
174
|
include: [
|
|
175
|
+
// React 运行时
|
|
184
176
|
'react',
|
|
185
177
|
'react-dom',
|
|
186
178
|
'react/jsx-runtime',
|
|
187
179
|
'react/jsx-dev-runtime',
|
|
188
|
-
|
|
180
|
+
// 几乎必用 + 预打包代价大(lucide-react 上千 icon 子模块;recharts 携 d3 一堆模块)
|
|
181
|
+
'react-router-dom',
|
|
182
|
+
'lucide-react',
|
|
183
|
+
'recharts',
|
|
184
|
+
'framer-motion',
|
|
189
185
|
'echarts',
|
|
190
186
|
'echarts-for-react',
|
|
187
|
+
// 高频小散库
|
|
188
|
+
'clsx',
|
|
189
|
+
'class-variance-authority',
|
|
190
|
+
'tailwind-merge',
|
|
191
|
+
'date-fns',
|
|
192
|
+
'zod',
|
|
193
|
+
'react-hook-form',
|
|
194
|
+
'@hookform/resolvers',
|
|
195
|
+
// shadcn 的 @radix-ui 全家——按需 lazy import 的最大 re-optimize 来源,全量纳入
|
|
196
|
+
'@radix-ui/react-accordion',
|
|
197
|
+
'@radix-ui/react-alert-dialog',
|
|
198
|
+
'@radix-ui/react-aspect-ratio',
|
|
199
|
+
'@radix-ui/react-avatar',
|
|
200
|
+
'@radix-ui/react-checkbox',
|
|
201
|
+
'@radix-ui/react-collapsible',
|
|
202
|
+
'@radix-ui/react-context-menu',
|
|
203
|
+
'@radix-ui/react-dialog',
|
|
204
|
+
'@radix-ui/react-dropdown-menu',
|
|
205
|
+
'@radix-ui/react-hover-card',
|
|
206
|
+
'@radix-ui/react-label',
|
|
207
|
+
'@radix-ui/react-menubar',
|
|
208
|
+
'@radix-ui/react-navigation-menu',
|
|
209
|
+
'@radix-ui/react-popover',
|
|
210
|
+
'@radix-ui/react-progress',
|
|
211
|
+
'@radix-ui/react-radio-group',
|
|
212
|
+
'@radix-ui/react-scroll-area',
|
|
213
|
+
'@radix-ui/react-select',
|
|
214
|
+
'@radix-ui/react-separator',
|
|
215
|
+
'@radix-ui/react-slider',
|
|
216
|
+
'@radix-ui/react-slot',
|
|
217
|
+
'@radix-ui/react-switch',
|
|
218
|
+
'@radix-ui/react-tabs',
|
|
219
|
+
'@radix-ui/react-toggle',
|
|
220
|
+
'@radix-ui/react-toggle-group',
|
|
221
|
+
'@radix-ui/react-tooltip',
|
|
191
222
|
...(enableInspector ? ['@lark-apaas/miaoda-inspector'] : []),
|
|
192
223
|
],
|
|
193
|
-
//
|
|
194
|
-
//
|
|
195
|
-
//
|
|
196
|
-
//
|
|
224
|
+
// 顶层 define 够不到 optimizeDeps 预打包的依赖(client-toolkit-lite 等),
|
|
225
|
+
// 这里把同一份 defineEnv 再喂给优化器的 bundling,详见上方 defineEnv 注释。
|
|
226
|
+
// define 必须放在 rolldownOptions.transform.define —— Rolldown 的 InputOptions
|
|
227
|
+
// 顶层没有 define(它在 TransformOptions 下)。放顶层会被严格校验拒绝
|
|
228
|
+
// ("Invalid input options ... define: Expected never")并整份丢弃,预打包依赖里
|
|
229
|
+
// process.env.* 全程不替换。位置与 Vite 内置 define 插件写入 transform.define 一致。
|
|
197
230
|
rolldownOptions: {
|
|
198
|
-
|
|
199
|
-
codeSplitting: {
|
|
200
|
-
groups: [
|
|
201
|
-
{
|
|
202
|
-
name(id) {
|
|
203
|
-
if (!/[\\/]node_modules[\\/]/.test(id))
|
|
204
|
-
return null;
|
|
205
|
-
if (/[\\/](react|react-dom|scheduler|client-toolkit-lite|echarts|recharts|framer-motion|lucide-react|gsap)[\\/]/.test(id)) {
|
|
206
|
-
return null; // 保持独立 chunk,不并入 vendor
|
|
207
|
-
}
|
|
208
|
-
return 'vendor';
|
|
209
|
-
},
|
|
210
|
-
},
|
|
211
|
-
],
|
|
212
|
-
},
|
|
213
|
-
},
|
|
231
|
+
transform: { define: defineEnv },
|
|
214
232
|
},
|
|
233
|
+
// 升级链路(cli migrate / sync / npm install @latest)改 lockfile 后,
|
|
234
|
+
// vite 启动检测到 "Re-optimizing dependencies because lockfile has changed",
|
|
235
|
+
// re-bundle 把部分 dep 的 browserHash 升级。但 vite 8.x incremental
|
|
236
|
+
// optimization 漏掉了 ModuleGraph 的 transform cache invalidate —— vite
|
|
237
|
+
// 给浏览器的 transformed main.tsx 仍引用老 hash, vite 自己的 deps load
|
|
238
|
+
// 钩子又因 hash mismatch throw `ERR_OUTDATED_OPTIMIZED_DEP` (映射成 504
|
|
239
|
+
// "Outdated Optimize Dep")。浏览器整页刷新拿到的 main.tsx 仍是同一份
|
|
240
|
+
// transformed cache → 永久 504 死锁。沙箱场景下 user 看到的"白屏怎么刷
|
|
241
|
+
// 都不好" 就是这条路径。
|
|
242
|
+
//
|
|
243
|
+
// ignoreOutdatedRequests 是 vite 官方 experimental escape hatch:
|
|
244
|
+
// vite/dist/node/chunks/node.js:4471
|
|
245
|
+
// if (browserHash && info.browserHash !== browserHash
|
|
246
|
+
// && !env.config.optimizeDeps.ignoreOutdatedRequests)
|
|
247
|
+
// throwOutdatedRequest(id);
|
|
248
|
+
// 设 true 后 hash mismatch 不再 throw, 直接 `fsp.readFile(file)` 把当前
|
|
249
|
+
// 磁盘上的 dep 文件返回。代价: 浏览器拿到的 URL hash 跟实际内容不"一致"
|
|
250
|
+
// (URL 老, 内容新), 但 ES module 按 URL identity import, 同一 URL 永远
|
|
251
|
+
// 拿到相同内容, 浏览器层不出问题。
|
|
252
|
+
ignoreOutdatedRequests: true,
|
|
215
253
|
};
|
|
216
254
|
const baseConfig = {
|
|
217
255
|
root: rootDir,
|
|
@@ -266,6 +304,25 @@ function defineConfig(overrides = {}) {
|
|
|
266
304
|
isDev && (0, dev_logs_1.devLogsPlugin)({ basePath: clientBasePath }),
|
|
267
305
|
// Google Fonts → 妙搭字体代理(编译时字符串 replace;dev / build 都有用)
|
|
268
306
|
(0, fonts_mirror_1.fontsMirrorPlugin)(),
|
|
307
|
+
// ── fullstack-only 4 件套(option fullstack:true 启用,jsPage 默认不挂) ──
|
|
308
|
+
// 模拟沙箱网关注入 csrf + suda-webuser,反代 /api 等到 NestJS server;
|
|
309
|
+
// 同时把 accept:text/html 请求反代到 NestJS(让 vite 8080 也能作为入口)。
|
|
310
|
+
isFullstack &&
|
|
311
|
+
(0, dev_proxy_1.devProxyPlugin)({
|
|
312
|
+
serverPort: fullstackServerPort,
|
|
313
|
+
clientBasePath,
|
|
314
|
+
appId,
|
|
315
|
+
}),
|
|
316
|
+
// dev 写出 dist/client/index.html 让 NestJS HBS 渲染;prod 修正 outDir + minify
|
|
317
|
+
isFullstack && (0, html_output_1.htmlOutputPlugin)({
|
|
318
|
+
isDev,
|
|
319
|
+
outDir: path.resolve(rootDir, 'dist/client'),
|
|
320
|
+
}),
|
|
321
|
+
// CLIENT_BASE_PATH 占位符替换为运行时 window.__BASENAME__
|
|
322
|
+
isFullstack && (0, basename_1.basenamePlugin)({ envBasePath: clientBasePath }),
|
|
323
|
+
// 挂 devtool-kits 的 dev-logs middleware:提供 /server-logs SSE 等 endpoints
|
|
324
|
+
// 给妙搭外壳实时读 NestJS server.log;require() 加载,包未装时自动跳过
|
|
325
|
+
isFullstack && (0, server_log_1.serverLogPlugin)({ basePath: clientBasePath }),
|
|
269
326
|
].filter(Boolean),
|
|
270
327
|
resolve: {
|
|
271
328
|
// Vite 8 原生 tsconfig paths 解析
|
|
@@ -288,31 +345,8 @@ function defineConfig(overrides = {}) {
|
|
|
288
345
|
: {}),
|
|
289
346
|
},
|
|
290
347
|
},
|
|
291
|
-
define
|
|
292
|
-
|
|
293
|
-
global: 'globalThis',
|
|
294
|
-
'process.env.NODE_ENV': JSON.stringify(isDev ? 'development' : 'production'),
|
|
295
|
-
'process.env.runtimeMode': JSON.stringify('fullstack'),
|
|
296
|
-
'process.env.CLIENT_BASE_PATH': JSON.stringify(clientBasePath),
|
|
297
|
-
__APP_BASE_PATH__: JSON.stringify(clientBasePath),
|
|
298
|
-
// 未设置时替换为字面量 `undefined`,让 `??` fallback 正确触发(`""`/`undefined` 行为不同)
|
|
299
|
-
'process.env.FORCE_FRAMEWORK_DOMAIN_MAIN': process.env.FORCE_FRAMEWORK_DOMAIN_MAIN
|
|
300
|
-
? JSON.stringify(process.env.FORCE_FRAMEWORK_DOMAIN_MAIN)
|
|
301
|
-
: 'undefined',
|
|
302
|
-
'process.env.CWD': JSON.stringify(''),
|
|
303
|
-
'process.env.__RUNTIME_INJECTED__': JSON.stringify('true'),
|
|
304
|
-
'process.env.BUILD_TOOL': JSON.stringify('vite'),
|
|
305
|
-
'process.env.APP_FLAGS': JSON.stringify(appFlags),
|
|
306
|
-
// 路由定义(jsPage 用空数组,业务代码引用时不至于 undefined)
|
|
307
|
-
'process.env.__PAGE_ROUTE_DEFINITIONS__': JSON.stringify(JSON.stringify(pageRoutes)),
|
|
308
|
-
'process.env.__API_ROUTE_DEFINITIONS__': JSON.stringify(JSON.stringify(apiRoutes)),
|
|
309
|
-
'process.env.MIAODA_APP_TYPE': process.env.MIAODA_APP_TYPE
|
|
310
|
-
? JSON.stringify(process.env.MIAODA_APP_TYPE)
|
|
311
|
-
: 'undefined',
|
|
312
|
-
'process.env.MIAODA_APP_ARCH_TYPE': process.env.MIAODA_APP_ARCH_TYPE
|
|
313
|
-
? JSON.stringify(process.env.MIAODA_APP_ARCH_TYPE)
|
|
314
|
-
: 'undefined',
|
|
315
|
-
},
|
|
348
|
+
// 与 optimizeDeps.rolldownOptions.transform.define 共享同一份(见上方 defineEnv 注释)
|
|
349
|
+
define: defineEnv,
|
|
316
350
|
server: {
|
|
317
351
|
port: Number(process.env.CLIENT_DEV_PORT) || 8080,
|
|
318
352
|
host: process.env.CLIENT_DEV_HOST || 'localhost',
|
|
@@ -450,6 +484,15 @@ var slardar_2 = require("./plugins/slardar");
|
|
|
450
484
|
Object.defineProperty(exports, "slardarPlugin", { enumerable: true, get: function () { return slardar_2.slardarPlugin; } });
|
|
451
485
|
var dev_logs_2 = require("./plugins/dev-logs");
|
|
452
486
|
Object.defineProperty(exports, "devLogsPlugin", { enumerable: true, get: function () { return dev_logs_2.devLogsPlugin; } });
|
|
487
|
+
// fullstack-only 4 件套(option fullstack:true 启用,也可单独引入)
|
|
488
|
+
var dev_proxy_2 = require("./plugins/dev-proxy");
|
|
489
|
+
Object.defineProperty(exports, "devProxyPlugin", { enumerable: true, get: function () { return dev_proxy_2.devProxyPlugin; } });
|
|
490
|
+
var html_output_2 = require("./plugins/html-output");
|
|
491
|
+
Object.defineProperty(exports, "htmlOutputPlugin", { enumerable: true, get: function () { return html_output_2.htmlOutputPlugin; } });
|
|
492
|
+
var basename_2 = require("./plugins/basename");
|
|
493
|
+
Object.defineProperty(exports, "basenamePlugin", { enumerable: true, get: function () { return basename_2.basenamePlugin; } });
|
|
494
|
+
var server_log_2 = require("./plugins/server-log");
|
|
495
|
+
Object.defineProperty(exports, "serverLogPlugin", { enumerable: true, get: function () { return server_log_2.serverLogPlugin; } });
|
|
453
496
|
var normalize_base_path_2 = require("./utils/normalize-base-path");
|
|
454
497
|
Object.defineProperty(exports, "normalizeBasePath", { enumerable: true, get: function () { return normalize_base_path_2.normalizeBasePath; } });
|
|
455
498
|
Object.defineProperty(exports, "normalizeBasePathWithoutTrailingSlash", { enumerable: true, get: function () { return normalize_base_path_2.normalizeBasePathWithoutTrailingSlash; } });
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Basename Injection Plugin for Vite
|
|
3
|
+
*
|
|
4
|
+
* 仅对应用入口文件做字符串替换:
|
|
5
|
+
* process.env.CLIENT_BASE_PATH
|
|
6
|
+
* → ((typeof window !== "undefined" && window.__BASENAME__) || "<envBasePath>")
|
|
7
|
+
*
|
|
8
|
+
* 让 BrowserRouter basename 运行时从 server 注入的 window.__BASENAME__ 读取,
|
|
9
|
+
* 实现"同一份 bundle 跑在不同 basename 下"(默认域名 `/app/<appId>`、自定义域名 `/` 或 `/<alias>`)。
|
|
10
|
+
*
|
|
11
|
+
* 入口文件识别(AST 预扫描法):
|
|
12
|
+
* configResolved 阶段从 vite 解析好的 rollupOptions.input 拿到 HTML 入口,
|
|
13
|
+
* 读取 HTML 内容提取所有 <script type="module" src="..."> 的 src 属性,
|
|
14
|
+
* resolve 为绝对路径存入入口白名单。transform 阶段直接用 id 匹配白名单,
|
|
15
|
+
* 不依赖 moduleGraph / getModuleInfo(enforce:'pre' 阶段不可靠)。
|
|
16
|
+
*
|
|
17
|
+
* 关键约束:
|
|
18
|
+
* - 只匹配入口文件,不影响 SDK 内部代码(如 client-toolkit-lite 内部读 process.env.CLIENT_BASE_PATH 的逻辑保持编译期常量)
|
|
19
|
+
* - enforce: 'pre' 确保在 vite 内置 define 替换之前执行
|
|
20
|
+
* - 兜底常量来自构建时 process.env.CLIENT_BASE_PATH,保证 SSR 渲染失败 / 静态导出场景下仍可降级运行
|
|
21
|
+
*/
|
|
22
|
+
import type { Plugin } from 'vite';
|
|
23
|
+
export interface BasenamePluginOptions {
|
|
24
|
+
/** 编译时兜底 basename,通常等于 process.env.CLIENT_BASE_PATH */
|
|
25
|
+
envBasePath?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare function basenamePlugin(options?: BasenamePluginOptions): Plugin;
|
|
28
|
+
export default basenamePlugin;
|
|
29
|
+
//# sourceMappingURL=basename.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basename.d.ts","sourceRoot":"","sources":["../../src/plugins/basename.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,MAAM,CAAC;AAMnD,MAAM,WAAW,qBAAqB;IACpC,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAsCD,wBAAgB,cAAc,CAC5B,OAAO,GAAE,qBAA0B,GAClC,MAAM,CAwCR;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -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.basenamePlugin = basenamePlugin;
|
|
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 basenamePlugin(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: 'nestjs-vite-react-basename',
|
|
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 = basenamePlugin;
|
|
106
|
+
//# sourceMappingURL=basename.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basename.js","sourceRoot":"","sources":["../../src/plugins/basename.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,14 +9,17 @@ export interface CapabilitiesBundlePluginOptions {
|
|
|
9
9
|
* `@lark-apaas/client-capability` SDK(被 client-toolkit-lite 内联使用)会
|
|
10
10
|
* `import map from 'virtual:capabilities'` 取这个 map。SDK 在 dev 预览 / 沙箱
|
|
11
11
|
* 加载流程中依赖这个模块存在,所以即使 capabilities 目录为空,也必须把模块
|
|
12
|
-
* 注册成解析成功(空 map),否则
|
|
12
|
+
* 注册成解析成功(空 map),否则 build 时直接 fail。
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
14
|
+
* 解析挂两处:
|
|
15
|
+
* 1. Vite 主 pipeline `resolveId` / `load` —— dev 运行时 + production build 都走它。
|
|
16
|
+
* 2. depOptimizer 里把 `virtual:capabilities` 标记为 external(`optimizeDeps.exclude`),
|
|
17
|
+
* 让被预打包的 client-toolkit-lite(内联了 client-capability)保留运行时
|
|
18
|
+
* `import 'virtual:capabilities'`,交给主 pipeline 动态解析。详见下方 config() 注释。
|
|
17
19
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
+
* 这样 dev 期新增 / 修改 capability JSON 后,configureServer 的
|
|
21
|
+
* invalidateModule + full-reload 能即时刷新(旧实现把 map 内联进预打包快照,
|
|
22
|
+
* watch 刷不到,需重启 dev server —— 现已修复)。
|
|
20
23
|
*/
|
|
21
24
|
export declare function capabilitiesBundlePlugin(options?: CapabilitiesBundlePluginOptions): Plugin;
|
|
22
25
|
export default capabilitiesBundlePlugin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/plugins/capabilities.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAQnC,MAAM,WAAW,+BAA+B;IAC9C,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/plugins/capabilities.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAQnC,MAAM,WAAW,+BAA+B;IAC9C,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,+BAAoC,GAAG,MAAM,CAuF9F;AAED,eAAe,wBAAwB,CAAC"}
|