@lark-apaas/fullstack-vite-preset 1.0.1-beta.2 → 1.0.1-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/lib/module-alias/echarts-for-react.d.ts +1 -8
  2. package/lib/module-alias/echarts-for-react.d.ts.map +1 -1
  3. package/lib/module-alias/echarts-for-react.js +45 -11
  4. package/lib/module-alias/echarts-for-react.js.map +1 -1
  5. package/lib/module-alias/echarts.d.ts +4 -0
  6. package/lib/module-alias/echarts.d.ts.map +1 -1
  7. package/lib/module-alias/echarts.js +17 -2
  8. package/lib/module-alias/echarts.js.map +1 -1
  9. package/lib/module-alias/registry_echarts_theme.d.ts +2 -6
  10. package/lib/module-alias/registry_echarts_theme.d.ts.map +1 -1
  11. package/lib/module-alias/registry_echarts_theme.js +1 -1
  12. package/lib/module-alias/registry_echarts_theme.js.map +1 -1
  13. package/lib/polyfills/index.d.ts +15 -0
  14. package/lib/polyfills/index.d.ts.map +1 -0
  15. package/lib/polyfills/index.js +36 -0
  16. package/lib/polyfills/index.js.map +1 -0
  17. package/lib/preset.d.ts.map +1 -1
  18. package/lib/preset.js +44 -12
  19. package/lib/preset.js.map +1 -1
  20. package/lib/vite-plugins/css-legacy-plugin.d.ts +12 -0
  21. package/lib/vite-plugins/css-legacy-plugin.d.ts.map +1 -0
  22. package/lib/vite-plugins/css-legacy-plugin.js +205 -0
  23. package/lib/vite-plugins/css-legacy-plugin.js.map +1 -0
  24. package/lib/vite-plugins/html-output-plugin.d.ts +7 -0
  25. package/lib/vite-plugins/html-output-plugin.d.ts.map +1 -1
  26. package/lib/vite-plugins/html-output-plugin.js +49 -7
  27. package/lib/vite-plugins/html-output-plugin.js.map +1 -1
  28. package/lib/vite-plugins/module-alias-plugin.d.ts.map +1 -1
  29. package/lib/vite-plugins/module-alias-plugin.js +4 -0
  30. package/lib/vite-plugins/module-alias-plugin.js.map +1 -1
  31. package/lib/vite-plugins/polyfill-plugin.d.ts +12 -0
  32. package/lib/vite-plugins/polyfill-plugin.d.ts.map +1 -0
  33. package/lib/vite-plugins/polyfill-plugin.js +120 -0
  34. package/lib/vite-plugins/polyfill-plugin.js.map +1 -0
  35. package/lib/vite-plugins/route-parser-plugin.d.ts +3 -1
  36. package/lib/vite-plugins/route-parser-plugin.d.ts.map +1 -1
  37. package/lib/vite-plugins/route-parser-plugin.js +47 -18
  38. package/lib/vite-plugins/route-parser-plugin.js.map +1 -1
  39. package/lib/vite-plugins/static-assets-plugin.d.ts +27 -0
  40. package/lib/vite-plugins/static-assets-plugin.d.ts.map +1 -0
  41. package/lib/vite-plugins/static-assets-plugin.js +393 -0
  42. package/lib/vite-plugins/static-assets-plugin.js.map +1 -0
  43. package/lib/vite-plugins/vite-client-patch-plugin.d.ts +23 -0
  44. package/lib/vite-plugins/vite-client-patch-plugin.d.ts.map +1 -0
  45. package/lib/vite-plugins/vite-client-patch-plugin.js +53 -0
  46. package/lib/vite-plugins/vite-client-patch-plugin.js.map +1 -0
  47. package/package.json +10 -4
  48. package/src/module-alias/echarts-for-react.mjs +129 -0
  49. package/src/module-alias/echarts.mjs +14 -0
  50. package/src/module-alias/registry_echarts_theme.mjs +1 -1
  51. package/lib/vite-plugins/inspector-css-plugin.d.ts +0 -19
  52. package/lib/vite-plugins/inspector-css-plugin.d.ts.map +0 -1
  53. package/lib/vite-plugins/inspector-css-plugin.js +0 -70
  54. package/lib/vite-plugins/inspector-css-plugin.js.map +0 -1
@@ -43,6 +43,22 @@ const crypto = __importStar(require("crypto"));
43
43
  const parser_1 = require("@babel/parser");
44
44
  const traverse_1 = __importDefault(require("@babel/traverse"));
45
45
  const t = __importStar(require("@babel/types"));
46
+ /**
47
+ * Normalize basePath: ensure it starts with '/' and does not end with '/'
48
+ * (Align with rspack behavior)
49
+ */
50
+ function normalizeBasePath(basePath) {
51
+ if (!basePath || basePath === '/') {
52
+ return '';
53
+ }
54
+ // Ensure starts with /
55
+ let normalized = basePath.startsWith('/') ? basePath : `/${basePath}`;
56
+ // Ensure does not end with /
57
+ if (normalized.endsWith('/')) {
58
+ normalized = normalized.slice(0, -1);
59
+ }
60
+ return normalized;
61
+ }
46
62
  function log(level, message, ...args) {
47
63
  const prefix = '[route-parser]';
48
64
  const logMessage = `${prefix} ${message}`;
@@ -151,7 +167,7 @@ function buildFullPath(routeStack, currentRoute) {
151
167
  }
152
168
  return null;
153
169
  }
154
- function parseRoutes(appPath) {
170
+ function parseRoutes(appPath, basePath) {
155
171
  try {
156
172
  const appFilePath = path.resolve(process.cwd(), appPath);
157
173
  if (!fs.existsSync(appFilePath)) {
@@ -202,21 +218,26 @@ function parseRoutes(appPath) {
202
218
  },
203
219
  },
204
220
  });
221
+ // Apply basePath to all routes (align with rspack behavior)
205
222
  const routes = Array.from(routeSet).map((routePath) => ({
206
- path: routePath,
223
+ path: basePath ? `${basePath}${routePath}` : routePath,
207
224
  }));
208
- return routes.length > 0 ? routes : [{ path: '/' }];
225
+ // Default route also needs basePath
226
+ const defaultPath = basePath ? `${basePath}/` : '/';
227
+ return routes.length > 0 ? routes : [{ path: defaultPath }];
209
228
  }
210
229
  catch (error) {
211
230
  log('warn', 'Route parsing failed, using default routes:', error.message);
212
- return [{ path: '/' }];
231
+ const defaultPath = basePath ? `${basePath}/` : '/';
232
+ return [{ path: defaultPath }];
213
233
  }
214
234
  }
215
- function generateRoutes(appPath, outputPath, lastHash, cachedRoutes) {
235
+ function generateRoutes(appPath, outputPath, basePath, lastHash, cachedRoutes) {
216
236
  const appFilePath = path.resolve(process.cwd(), appPath);
237
+ const defaultPath = basePath ? `${basePath}/` : '/';
217
238
  if (!fs.existsSync(appFilePath)) {
218
239
  log('warn', `App.tsx file does not exist: ${appFilePath}`);
219
- return cachedRoutes.value || [{ path: '/' }];
240
+ return cachedRoutes.value || [{ path: defaultPath }];
220
241
  }
221
242
  const currentHash = calculateFileHash(appFilePath);
222
243
  // Check if we need to regenerate
@@ -224,7 +245,7 @@ function generateRoutes(appPath, outputPath, lastHash, cachedRoutes) {
224
245
  return cachedRoutes.value;
225
246
  }
226
247
  lastHash.value = currentHash;
227
- const routes = parseRoutes(appPath);
248
+ const routes = parseRoutes(appPath, basePath);
228
249
  cachedRoutes.value = routes;
229
250
  // Ensure output directory exists
230
251
  const outputDir = path.dirname(outputPath);
@@ -237,28 +258,36 @@ function generateRoutes(appPath, outputPath, lastHash, cachedRoutes) {
237
258
  return routes;
238
259
  }
239
260
  function routeParserPlugin(options = {}) {
240
- const { appPath = './client/src/app.tsx', outputPath = './dist/client/routes.json', basePath = '', } = options;
261
+ const { appPath = './client/src/app.tsx', outputPath = './dist/client/routes.json', } = options;
262
+ // Get basePath from options or env variable, normalize it (align with rspack behavior)
263
+ // Use ?? so that explicit empty string '' from options is respected (for dev mode)
264
+ // Only undefined falls back to env variable (for prod mode)
265
+ const envBasePath = process.env.CLIENT_BASE_PATH || '';
266
+ const configuredBasePath = normalizeBasePath(options.basePath ?? envBasePath);
267
+ // serveBasePath is used for the middleware path (where routes.json is served)
268
+ // This should always be the clientBasePath, not affected by dev/prod basePath logic
269
+ const serveBasePath = normalizeBasePath(options.serveBasePath ?? envBasePath);
270
+ // Single cache (basePath is controlled by caller, like rspack)
241
271
  const lastHash = { value: null };
242
- const cachedRoutes = {
243
- value: null,
244
- };
272
+ const cachedRoutes = { value: null };
245
273
  return {
246
274
  name: 'fullstack-route-parser',
247
275
  configureServer(server) {
248
- // Development mode: watch file changes
276
+ // Development mode: use configuredBasePath (should be '' when isDev, set by preset)
249
277
  const appFullPath = path.resolve(process.cwd(), appPath);
250
278
  const fullOutputPath = path.resolve(process.cwd(), outputPath);
251
279
  // Initial generation
252
- generateRoutes(appPath, fullOutputPath, lastHash, cachedRoutes);
280
+ generateRoutes(appPath, fullOutputPath, configuredBasePath, lastHash, cachedRoutes);
253
281
  // Watch for changes
254
282
  server.watcher.add(appFullPath);
255
283
  server.watcher.on('change', (file) => {
256
284
  if (file === appFullPath) {
257
- generateRoutes(appPath, fullOutputPath, lastHash, cachedRoutes);
285
+ generateRoutes(appPath, fullOutputPath, configuredBasePath, lastHash, cachedRoutes);
258
286
  }
259
287
  });
260
- // Middleware to serve routes.json at ${basePath}/routes.json
261
- const routesJsonPath = `${basePath}/routes.json`;
288
+ // Middleware to serve routes.json at ${serveBasePath}/routes.json
289
+ // serveBasePath is based on clientBasePath (not affected by dev/prod basePath logic)
290
+ const routesJsonPath = serveBasePath ? `${serveBasePath}/routes.json` : '/routes.json';
262
291
  server.middlewares.use((req, res, next) => {
263
292
  const urlPath = req.url?.split('?')[0];
264
293
  if (urlPath === routesJsonPath) {
@@ -276,9 +305,9 @@ function routeParserPlugin(options = {}) {
276
305
  });
277
306
  },
278
307
  buildStart() {
279
- // Build mode: generate routes
308
+ // Build mode: generate routes with configuredBasePath
280
309
  const fullOutputPath = path.resolve(process.cwd(), outputPath);
281
- generateRoutes(appPath, fullOutputPath, lastHash, cachedRoutes);
310
+ generateRoutes(appPath, fullOutputPath, configuredBasePath, lastHash, cachedRoutes);
282
311
  },
283
312
  generateBundle() {
284
313
  // Add routes.json to build output
@@ -1 +1 @@
1
- {"version":3,"file":"route-parser-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/route-parser-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-parser-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/route-parser-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Static Assets Plugin for Vite
3
+ *
4
+ * Supports importing static files from shared/static directory:
5
+ * - JSON files → bundled into HTML, injected as window.__STATIC_JSON__
6
+ * - Other files → converted to URL {clientBasePath}/static/path
7
+ *
8
+ * Usage:
9
+ * import config from '@shared/static/config.json';
10
+ * import logoUrl from '@shared/static/images/logo.png';
11
+ */
12
+ import type { Plugin } from 'vite';
13
+ export interface StaticAssetsPluginOptions {
14
+ /**
15
+ * Client base path prefix for routes
16
+ * @default ''
17
+ */
18
+ clientBasePath?: string;
19
+ /**
20
+ * Root directory for the project
21
+ * @default process.cwd()
22
+ */
23
+ rootDir?: string;
24
+ }
25
+ export declare function staticAssetsPlugin(options?: StaticAssetsPluginOptions): Plugin;
26
+ export default staticAssetsPlugin;
27
+ //# sourceMappingURL=static-assets-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-assets-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/static-assets-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAoD,MAAM,MAAM,CAAC;AA4CrF,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,yBAA8B,GACtC,MAAM,CAyVR;AAED,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,393 @@
1
+ "use strict";
2
+ /**
3
+ * Static Assets Plugin for Vite
4
+ *
5
+ * Supports importing static files from shared/static directory:
6
+ * - JSON files → bundled into HTML, injected as window.__STATIC_JSON__
7
+ * - Other files → converted to URL {clientBasePath}/static/path
8
+ *
9
+ * Usage:
10
+ * import config from '@shared/static/config.json';
11
+ * import logoUrl from '@shared/static/images/logo.png';
12
+ */
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || (function () {
30
+ var ownKeys = function(o) {
31
+ ownKeys = Object.getOwnPropertyNames || function (o) {
32
+ var ar = [];
33
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
34
+ return ar;
35
+ };
36
+ return ownKeys(o);
37
+ };
38
+ return function (mod) {
39
+ if (mod && mod.__esModule) return mod;
40
+ var result = {};
41
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
42
+ __setModuleDefault(result, mod);
43
+ return result;
44
+ };
45
+ })();
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ exports.staticAssetsPlugin = staticAssetsPlugin;
48
+ const fs = __importStar(require("fs"));
49
+ const path = __importStar(require("path"));
50
+ const glob_1 = require("glob");
51
+ const SHARED_STATIC_PREFIX = '@shared/static/';
52
+ const VIRTUAL_MODULE_PREFIX = '\0@shared/static/';
53
+ /** File extensions that should be resolved as normal modules instead of static asset URLs */
54
+ const SCRIPT_EXTENSIONS = ['.ts', '.tsx', '.js', '.jsx', '.mts', '.cts', '.mjs', '.cjs'];
55
+ /**
56
+ * Split a relative path into the clean path and optional query string.
57
+ * e.g. "file.md?raw" → ["file.md", "?raw"]
58
+ */
59
+ function splitQuery(relativePath) {
60
+ const qIndex = relativePath.indexOf('?');
61
+ if (qIndex === -1)
62
+ return [relativePath, ''];
63
+ return [relativePath.slice(0, qIndex), relativePath.slice(qIndex)];
64
+ }
65
+ /**
66
+ * Try to resolve a relative path to a real script file on disk.
67
+ * Handles both explicit extensions (utils.ts) and extensionless imports (utils).
68
+ * Returns the absolute path if found, null otherwise.
69
+ */
70
+ function resolveScriptFile(staticDir, cleanPath) {
71
+ const ext = path.extname(cleanPath).toLowerCase();
72
+ // Has explicit script extension → resolve directly
73
+ if (ext && SCRIPT_EXTENSIONS.includes(ext)) {
74
+ return path.join(staticDir, cleanPath);
75
+ }
76
+ // No extension → probe for matching script file on disk
77
+ if (!ext) {
78
+ for (const scriptExt of SCRIPT_EXTENSIONS) {
79
+ const fullPath = path.join(staticDir, cleanPath + scriptExt);
80
+ if (fs.existsSync(fullPath)) {
81
+ return fullPath;
82
+ }
83
+ }
84
+ }
85
+ return null;
86
+ }
87
+ function staticAssetsPlugin(options = {}) {
88
+ const { clientBasePath = '', rootDir = process.cwd() } = options;
89
+ const staticDir = path.resolve(rootDir, 'shared/static');
90
+ let isDev = true;
91
+ let resolvedConfig = null;
92
+ // Cache for JSON data (used in build mode)
93
+ let jsonDataCache = null;
94
+ /**
95
+ * Get the key for a static file path (used for __STATIC_JSON__)
96
+ */
97
+ function getJsonKey(filePath) {
98
+ // Remove .json extension and use relative path as key
99
+ return filePath.replace(/\.json$/, '');
100
+ }
101
+ /**
102
+ * Scan and read all JSON files from shared/static directory
103
+ */
104
+ function scanJsonFiles() {
105
+ const jsonData = {};
106
+ if (!fs.existsSync(staticDir)) {
107
+ return jsonData;
108
+ }
109
+ const jsonFiles = glob_1.glob.sync('**/*.json', {
110
+ cwd: staticDir,
111
+ nodir: true,
112
+ });
113
+ for (const file of jsonFiles) {
114
+ const fullPath = path.join(staticDir, file);
115
+ try {
116
+ const content = fs.readFileSync(fullPath, 'utf-8');
117
+ const key = getJsonKey(file);
118
+ jsonData[key] = JSON.parse(content);
119
+ }
120
+ catch (e) {
121
+ console.warn(`[static-assets] Failed to parse JSON file: ${file}`, e);
122
+ }
123
+ }
124
+ return jsonData;
125
+ }
126
+ /**
127
+ * Get JSON data (with caching for build mode)
128
+ */
129
+ function getJsonData() {
130
+ if (!isDev && jsonDataCache) {
131
+ return jsonDataCache;
132
+ }
133
+ const data = scanJsonFiles();
134
+ if (!isDev) {
135
+ jsonDataCache = data;
136
+ }
137
+ return data;
138
+ }
139
+ return {
140
+ name: 'fullstack-static-assets',
141
+ enforce: 'pre',
142
+ config(_config, { command }) {
143
+ isDev = command === 'serve';
144
+ },
145
+ configResolved(config) {
146
+ resolvedConfig = config;
147
+ },
148
+ /**
149
+ * Intercept @shared/static/* imports and return virtual module ID
150
+ *
151
+ * For JSON files, the virtual ID is suffixed with .js to prevent
152
+ * vite:json's transform hook from trying to parse it as JSON.
153
+ */
154
+ resolveId(id) {
155
+ if (id.startsWith(SHARED_STATIC_PREFIX)) {
156
+ const relativePath = id.slice(SHARED_STATIC_PREFIX.length);
157
+ const [cleanPath, query] = splitQuery(relativePath);
158
+ // Imports with query params (e.g. ?raw, ?url) should resolve to real
159
+ // paths and let Vite's native handling process them
160
+ if (query) {
161
+ return path.join(staticDir, cleanPath) + query;
162
+ }
163
+ // JS/TS files should be resolved to their real paths and bundled normally
164
+ const scriptPath = resolveScriptFile(staticDir, cleanPath);
165
+ if (scriptPath) {
166
+ return scriptPath;
167
+ }
168
+ const virtualId = VIRTUAL_MODULE_PREFIX + cleanPath;
169
+ // Prevent vite:json from processing JSON virtual modules
170
+ return cleanPath.endsWith('.json') ? virtualId + '.js' : virtualId;
171
+ }
172
+ return null;
173
+ },
174
+ /**
175
+ * Load virtual module content
176
+ * - JSON (dev) → export default { ... } (inline data, read from disk)
177
+ * - JSON (prod) → export default window.__STATIC_JSON__['key']
178
+ * - Other → export default '{clientBasePath}/static/path'
179
+ */
180
+ load(id) {
181
+ if (!id.startsWith(VIRTUAL_MODULE_PREFIX)) {
182
+ return null;
183
+ }
184
+ let relativePath = id.slice(VIRTUAL_MODULE_PREFIX.length);
185
+ // Strip .js suffix added in resolveId for JSON files
186
+ if (relativePath.endsWith('.json.js')) {
187
+ relativePath = relativePath.slice(0, -3);
188
+ }
189
+ const isJson = relativePath.endsWith('.json');
190
+ if (isJson) {
191
+ if (isDev) {
192
+ // Dev: inline the JSON data directly so we don't depend on
193
+ // window.__STATIC_JSON__ in the HTML (avoids HTML regeneration issues)
194
+ const fullPath = path.join(staticDir, relativePath);
195
+ try {
196
+ const content = fs.readFileSync(fullPath, 'utf-8');
197
+ return `export default ${content};`;
198
+ }
199
+ catch (e) {
200
+ console.warn(`[static-assets] Failed to read JSON: ${relativePath}`, e);
201
+ return `export default undefined;`;
202
+ }
203
+ }
204
+ // Prod: read from window.__STATIC_JSON__ injected into HTML
205
+ const key = getJsonKey(relativePath);
206
+ return `export default window.__STATIC_JSON__['${key}'];`;
207
+ }
208
+ else {
209
+ const envBaseUrl = typeof process !== 'undefined' ? process.env?.STATIC_ASSETS_BASE_URL : undefined;
210
+ // envBaseUrl (downloadURLPrefix) 已指向 static 目录,无需再拼 /static/
211
+ const staticUrl = envBaseUrl
212
+ ? `${envBaseUrl.replace(/\/+$/, '')}/${relativePath}`
213
+ : `${clientBasePath}/static/${relativePath}`;
214
+ return `export default ${JSON.stringify(staticUrl)};`;
215
+ }
216
+ },
217
+ /**
218
+ * Inject __STATIC_JSON__ script into HTML
219
+ */
220
+ transformIndexHtml() {
221
+ // In dev mode, JSON data is inlined directly in virtual modules,
222
+ // so we don't need __STATIC_JSON__ in the HTML.
223
+ if (isDev)
224
+ return;
225
+ const jsonData = getJsonData();
226
+ if (Object.keys(jsonData).length === 0) {
227
+ return;
228
+ }
229
+ const scriptContent = `window.__STATIC_JSON__ = ${JSON.stringify(jsonData)};`;
230
+ const tags = [
231
+ {
232
+ tag: 'script',
233
+ children: scriptContent,
234
+ injectTo: 'head-prepend',
235
+ },
236
+ ];
237
+ return { html: '', tags };
238
+ },
239
+ /**
240
+ * Configure dev server for HMR support
241
+ */
242
+ configureServer(server) {
243
+ // Watch shared/static directory for changes
244
+ if (!fs.existsSync(staticDir)) {
245
+ return;
246
+ }
247
+ const watcher = server.watcher;
248
+ // Add static directory to watch list
249
+ watcher.add(staticDir);
250
+ // Handle file changes in static directory
251
+ const handleStaticFileChange = (changedPath) => {
252
+ if (!changedPath.startsWith(staticDir)) {
253
+ return;
254
+ }
255
+ const relativePath = path.relative(staticDir, changedPath);
256
+ const isJson = relativePath.endsWith('.json');
257
+ if (isJson) {
258
+ // JSON file changed: invalidate the virtual module so Vite
259
+ // re-runs the load hook with fresh data on next request
260
+ const moduleId = VIRTUAL_MODULE_PREFIX + relativePath;
261
+ const mod = server.moduleGraph.getModuleById(moduleId);
262
+ if (mod) {
263
+ server.moduleGraph.invalidateModule(mod);
264
+ }
265
+ // Send custom HMR event for JSON update
266
+ server.ws.send({
267
+ type: 'custom',
268
+ event: 'static-json-update',
269
+ data: { path: relativePath },
270
+ });
271
+ // Trigger full reload so the virtual module is re-requested with fresh data
272
+ server.ws.send({
273
+ type: 'full-reload',
274
+ path: '*',
275
+ });
276
+ }
277
+ else {
278
+ // Non-JSON file changed: just send HMR update event
279
+ // The URL doesn't change, but we notify for potential cache invalidation
280
+ server.ws.send({
281
+ type: 'custom',
282
+ event: 'static-asset-update',
283
+ data: { path: relativePath },
284
+ });
285
+ }
286
+ };
287
+ watcher.on('change', handleStaticFileChange);
288
+ watcher.on('add', handleStaticFileChange);
289
+ watcher.on('unlink', (changedPath) => {
290
+ if (changedPath.startsWith(staticDir)) {
291
+ if (changedPath.endsWith('.json')) {
292
+ const relativePath = path.relative(staticDir, changedPath);
293
+ const moduleId = VIRTUAL_MODULE_PREFIX + relativePath;
294
+ const mod = server.moduleGraph.getModuleById(moduleId);
295
+ if (mod) {
296
+ server.moduleGraph.invalidateModule(mod);
297
+ }
298
+ }
299
+ // File deleted: trigger full reload
300
+ server.ws.send({
301
+ type: 'full-reload',
302
+ path: '*',
303
+ });
304
+ }
305
+ });
306
+ // Serve static files in dev mode
307
+ server.middlewares.use((req, res, next) => {
308
+ const staticPrefix = `${clientBasePath}/static/`;
309
+ const url = req.url || '';
310
+ if (!url.startsWith(staticPrefix)) {
311
+ return next();
312
+ }
313
+ const rawRelativePath = url.slice(staticPrefix.length).split('?')[0];
314
+ let relativePath;
315
+ try {
316
+ relativePath = decodeURIComponent(rawRelativePath);
317
+ }
318
+ catch {
319
+ res.statusCode = 400;
320
+ res.end('Bad Request');
321
+ return;
322
+ }
323
+ const filePath = path.join(staticDir, relativePath);
324
+ // Security: prevent path traversal
325
+ const normalizedPath = path.normalize(filePath);
326
+ if (!normalizedPath.startsWith(staticDir)) {
327
+ res.statusCode = 403;
328
+ res.end('Forbidden');
329
+ return;
330
+ }
331
+ if (!fs.existsSync(filePath)) {
332
+ res.statusCode = 404;
333
+ res.end('Not Found');
334
+ return;
335
+ }
336
+ const stat = fs.statSync(filePath);
337
+ if (stat.isDirectory()) {
338
+ res.statusCode = 403;
339
+ res.end('Forbidden');
340
+ return;
341
+ }
342
+ // Get MIME type
343
+ const ext = path.extname(filePath).toLowerCase();
344
+ const mimeTypes = {
345
+ '.json': 'application/json',
346
+ '.png': 'image/png',
347
+ '.jpg': 'image/jpeg',
348
+ '.jpeg': 'image/jpeg',
349
+ '.gif': 'image/gif',
350
+ '.svg': 'image/svg+xml',
351
+ '.webp': 'image/webp',
352
+ '.ico': 'image/x-icon',
353
+ '.woff': 'font/woff',
354
+ '.woff2': 'font/woff2',
355
+ '.ttf': 'font/ttf',
356
+ '.eot': 'application/vnd.ms-fontobject',
357
+ '.otf': 'font/otf',
358
+ '.css': 'text/css',
359
+ '.js': 'application/javascript',
360
+ '.txt': 'text/plain',
361
+ '.html': 'text/html',
362
+ '.xml': 'application/xml',
363
+ '.pdf': 'application/pdf',
364
+ '.mp3': 'audio/mpeg',
365
+ '.mp4': 'video/mp4',
366
+ '.webm': 'video/webm',
367
+ };
368
+ const contentType = mimeTypes[ext] || 'application/octet-stream';
369
+ res.setHeader('Content-Type', contentType);
370
+ res.setHeader('Cache-Control', 'no-cache');
371
+ // Stream the file
372
+ const stream = fs.createReadStream(filePath);
373
+ stream.pipe(res);
374
+ });
375
+ },
376
+ /**
377
+ * Copy shared/static to dist/shared/static for production serving
378
+ */
379
+ closeBundle() {
380
+ if (isDev || !resolvedConfig || !fs.existsSync(staticDir)) {
381
+ return;
382
+ }
383
+ const outDir = resolvedConfig.build.outDir;
384
+ // outDir is typically dist/client, target is dist/shared/static
385
+ const distRoot = path.resolve(outDir, '..');
386
+ const destDir = path.join(distRoot, 'shared', 'static');
387
+ fs.cpSync(staticDir, destDir, { recursive: true });
388
+ console.log(`[static-assets] Copied shared/static → ${path.relative(rootDir, destDir)}`);
389
+ },
390
+ };
391
+ }
392
+ exports.default = staticAssetsPlugin;
393
+ //# sourceMappingURL=static-assets-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-assets-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/static-assets-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Vite Client Patch Plugin
3
+ *
4
+ * 问题背景:
5
+ * 在云端开发环境(如通过反向代理 aiforce.run 访问)中,电脑休眠后唤醒,
6
+ * Vite HMR WebSocket 断连重连时会触发 location.reload()。
7
+ * 此时浏览器 HTTP/2 连接池中持有休眠前的死连接,reload 请求复用该死连接,
8
+ * 导致页面 blocked ~18s 后超时白屏(ERR_CONNECTION_TIMED_OUT)。
9
+ *
10
+ * 根本原因:
11
+ * Vite 的 @vite/client 在 vite:ws:disconnect 后调用 waitForSuccessfulPing(),
12
+ * WS ping 成功(新 TCP)后立即 location.reload(),
13
+ * 但 reload 走的是旧的死 HTTP/2 连接,不是新 TCP。
14
+ *
15
+ * 解决方案:
16
+ * 通过 Vite transform hook 拦截 @vite/client,直接移除 WS 重连后的 location.reload()。
17
+ * 用户若需要获取最新代码,手动刷新即可(符合云端 IDE 使用预期)。
18
+ *
19
+ * 适用范围:仅 dev server (apply: 'serve')
20
+ */
21
+ import type { Plugin } from 'vite';
22
+ export declare function viteClientPatchPlugin(): Plugin;
23
+ //# sourceMappingURL=vite-client-patch-plugin.d.ts.map
@@ -0,0 +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,CA+B9C"}