@chuckcchen/vite-plugin 1.0.19 → 1.0.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 (59) hide show
  1. package/dist/bundler.d.ts +5 -18
  2. package/dist/bundler.d.ts.map +1 -1
  3. package/dist/bundler.js +43 -30
  4. package/dist/bundler.js.map +1 -1
  5. package/dist/core.d.ts +2 -18
  6. package/dist/core.d.ts.map +1 -1
  7. package/dist/core.js +125 -248
  8. package/dist/core.js.map +1 -1
  9. package/dist/factory/detectors.d.ts +5 -15
  10. package/dist/factory/detectors.d.ts.map +1 -1
  11. package/dist/factory/detectors.js +8 -22
  12. package/dist/factory/detectors.js.map +1 -1
  13. package/dist/factory/hooks.d.ts +4 -59
  14. package/dist/factory/hooks.d.ts.map +1 -1
  15. package/dist/factory/hooks.js +18 -117
  16. package/dist/factory/hooks.js.map +1 -1
  17. package/dist/factory/index.d.ts +7 -51
  18. package/dist/factory/index.d.ts.map +1 -1
  19. package/dist/factory/index.js +10 -55
  20. package/dist/factory/index.js.map +1 -1
  21. package/dist/factory/presets.d.ts +16 -121
  22. package/dist/factory/presets.d.ts.map +1 -1
  23. package/dist/factory/presets.js +143 -174
  24. package/dist/factory/presets.js.map +1 -1
  25. package/dist/index.d.ts +6 -6
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +6 -35
  28. package/dist/index.js.map +1 -1
  29. package/dist/route/index.d.ts +1 -1
  30. package/dist/route/index.d.ts.map +1 -1
  31. package/dist/route/index.js +1 -3
  32. package/dist/route/index.js.map +1 -1
  33. package/dist/route/parser.d.ts +0 -37
  34. package/dist/route/parser.d.ts.map +1 -1
  35. package/dist/route/parser.js +11 -124
  36. package/dist/route/parser.js.map +1 -1
  37. package/dist/route/regex.d.ts +15 -80
  38. package/dist/route/regex.d.ts.map +1 -1
  39. package/dist/route/regex.js +65 -169
  40. package/dist/route/regex.js.map +1 -1
  41. package/dist/route/regex.test.d.ts +7 -0
  42. package/dist/route/regex.test.d.ts.map +1 -0
  43. package/dist/route/regex.test.js +662 -0
  44. package/dist/route/regex.test.js.map +1 -0
  45. package/dist/route/types.d.ts +0 -58
  46. package/dist/route/types.d.ts.map +1 -1
  47. package/dist/types.d.ts +36 -147
  48. package/dist/types.d.ts.map +1 -1
  49. package/dist/types.js +0 -3
  50. package/dist/types.js.map +1 -1
  51. package/dist/utils.d.ts +1 -78
  52. package/dist/utils.d.ts.map +1 -1
  53. package/dist/utils.js +11 -144
  54. package/dist/utils.js.map +1 -1
  55. package/dist/vite-config-parser.d.ts +4 -141
  56. package/dist/vite-config-parser.d.ts.map +1 -1
  57. package/dist/vite-config-parser.js +25 -235
  58. package/dist/vite-config-parser.js.map +1 -1
  59. package/package.json +1 -1
package/dist/core.js CHANGED
@@ -1,12 +1,8 @@
1
1
  /**
2
2
  * EdgeOne Vite Plugin Adapter - Core Plugin Module
3
3
  *
4
- * This module is the core of the adapter system, responsible for:
5
- * - Build artifacts detection: Auto-detect client and server build outputs
6
- * - Static assets copying: Copy client build artifacts to deployment directory
7
- * - Server code bundling: Bundle server code into a single file
8
- * - Route config generation: Generate route info based on framework features
9
- * - Meta.json generation: Generate configuration file for EdgeOne deployment
4
+ * Handles build artifact detection, static asset copying, server code bundling,
5
+ * route config generation, and meta.json generation for EdgeOne deployment.
10
6
  */
11
7
  import path from "path";
12
8
  import { createLogger, pathExists, copyDirectory, ensureDirectory, writeFile, detectServerEntry, } from "./utils.js";
@@ -14,95 +10,60 @@ import { ViteConfigParser } from "./vite-config-parser.js";
14
10
  import { bundleServerCode, createServerWrapper, cleanupWrapper, } from "./bundler.js";
15
11
  import { addRegexToRoutes, convertRoutesToMetaFormat } from "./route/index.js";
16
12
  import fs from "fs/promises";
17
- /**
18
- * Create EdgeOne core adapter plugin
19
- *
20
- * This is the main entry function for creating adapters, returns a Vite plugin instance.
21
- * The plugin executes after Vite build completes, processing build artifacts and generating deployment config.
22
- *
23
- * @param options - Adapter configuration options
24
- * @returns Vite plugin instance
25
- *
26
- * @example
27
- * createCoreAdapter({ verbose: true })
28
- */
29
13
  export function createCoreAdapter(options = {}) {
30
- // Destructure config options with defaults
31
- const { verbose = false, // Enable verbose logging
32
- adapter, // Framework adapter instance
33
- hooks = {}, // Custom hook functions
34
- ssr: ssrOption, // SSR mode configuration
35
- } = options;
36
- // Fixed output directory
14
+ const { verbose = false, adapter, hooks = {}, ssr: ssrOption } = options;
37
15
  const outputDir = ".edgeone";
38
- // Create logger instance
39
16
  const logger = createLogger(verbose);
40
- // Plugin state variables
41
- let projectRoot; // Project root directory
42
- let viteConfig; // Vite resolved config
43
- let isSSR = false; // Whether in SSR mode
44
- // Track whether we've already processed (to avoid duplicate processing)
17
+ let projectRoot;
18
+ let viteConfig;
19
+ let isSSR = false;
45
20
  let hasProcessed = false;
46
21
  return {
47
- // Plugin name for debugging and logging
48
22
  name: "vite-plugin-edgeone-adapter",
49
- // Only apply this plugin during build
50
23
  apply: "build",
51
- // Execute after other plugins (post phase)
52
24
  enforce: "post",
53
- /**
54
- * Hook called after Vite config is resolved
55
- * Captures project config and detects SSR mode here
56
- */
57
25
  configResolved(config) {
58
26
  projectRoot = config.root;
59
27
  viteConfig = config;
60
- // Determine final SSR state
61
- // Prefer explicit config, otherwise auto-detect from Vite config
62
28
  if (ssrOption !== undefined) {
63
29
  logger.verbose("SSR mode configured:", ssrOption);
64
30
  isSSR = ssrOption;
65
31
  }
66
32
  else {
67
- // Auto-detect SSR mode from Vite config
68
33
  logger.verbose("Auto-detecting SSR mode from Vite config", config.build.ssr);
69
- const traditionalSSR = config.build.ssr !== false && config.build.ssr !== undefined;
70
- isSSR = traditionalSSR;
34
+ isSSR = config.build.ssr !== false && config.build.ssr !== undefined;
71
35
  }
72
- // Output debug info
73
36
  logger.verbose("Project root:", projectRoot);
74
37
  logger.verbose("SSR mode:", isSSR);
75
38
  },
76
- /**
77
- * Hook called after entire build process completes
78
- * Using closeBundle instead of writeBundle to ensure all files are generated
79
- * (including prerendered pages which may be generated in later stages)
80
- */
81
39
  async closeBundle() {
82
- // Prevent duplicate processing
40
+ const currentOutDir = viteConfig.build.outDir;
41
+ const isServerOutDir = currentOutDir.endsWith("/server") ||
42
+ currentOutDir.endsWith("\\server") ||
43
+ (typeof viteConfig.build.ssr === "string");
44
+ logger.verbose("closeBundle triggered, isSSR:", isSSR, "outDir:", currentOutDir, "isServerOutDir:", isServerOutDir);
45
+ if (isSSR && isServerOutDir) {
46
+ const serverDir = path.isAbsolute(currentOutDir)
47
+ ? currentOutDir
48
+ : path.join(projectRoot, currentOutDir);
49
+ const serverDirExists = await pathExists(serverDir);
50
+ logger.verbose("Server dir check:", serverDir, "exists:", serverDirExists);
51
+ if (!serverDirExists) {
52
+ logger.verbose("Skipping client build phase, server directory not yet created");
53
+ return;
54
+ }
55
+ }
83
56
  if (hasProcessed) {
84
57
  logger.verbose("Skipping processing (already processed)");
85
58
  return;
86
59
  }
87
60
  hasProcessed = true;
88
61
  try {
89
- // Create build context object
90
- // This object is passed to all hooks and adapter methods
91
- const context = {
92
- projectRoot,
93
- outputDir,
94
- isSSR,
95
- viteConfig,
96
- logger,
97
- };
98
- // Call beforeBuild hook
99
- if (hooks.beforeBuild) {
62
+ const context = { projectRoot, outputDir, isSSR, viteConfig, logger };
63
+ if (hooks.beforeBuild)
100
64
  await hooks.beforeBuild(context);
101
- }
102
- // Detect build artifacts
103
65
  let artifacts;
104
66
  if (adapter) {
105
- // Use framework adapter for detection
106
67
  const shouldUse = await adapter.detect(context);
107
68
  if (!shouldUse) {
108
69
  logger.warn(`Adapter ${adapter.name} detection failed, using default config`);
@@ -110,28 +71,18 @@ export function createCoreAdapter(options = {}) {
110
71
  artifacts = await adapter.getBuildArtifacts(context);
111
72
  }
112
73
  else {
113
- // Use default detection logic
114
74
  artifacts = await detectBuildArtifacts(context);
115
75
  }
116
- // Call afterBuild hook
117
- if (hooks.afterBuild) {
76
+ if (hooks.afterBuild)
118
77
  await hooks.afterBuild(context, artifacts);
119
- }
120
78
  logger.verbose("artifacts", artifacts);
121
- // Clean output directory
122
79
  await cleanOutputDir(context);
123
- // Copy static assets
124
- if (artifacts.clientDir) {
80
+ if (artifacts.clientDir)
125
81
  await copyStaticAssets(context, artifacts.clientDir);
126
- }
127
- // Bundle server code (SSR mode only)
128
- if (isSSR && artifacts.serverEntry) {
82
+ if (isSSR && artifacts.serverEntry)
129
83
  await bundleServer(context, artifacts, adapter);
130
- }
131
- // Generate meta.json config file (only for SSR mode with server entry)
132
- if (artifacts.serverEntry) {
84
+ if (artifacts.serverEntry)
133
85
  await generateMetaJson(context, adapter);
134
- }
135
86
  logger.verbose("EdgeOne adapter processing complete");
136
87
  }
137
88
  catch (error) {
@@ -141,54 +92,22 @@ export function createCoreAdapter(options = {}) {
141
92
  },
142
93
  };
143
94
  }
144
- /**
145
- * Detect build artifacts using default paths
146
- *
147
- * When no framework adapter is provided, use this function to auto-detect
148
- * common build output paths. Now uses ViteConfigParser for comprehensive
149
- * Vite configuration support.
150
- *
151
- * @param context - Build context
152
- * @returns Detected build artifacts info
153
- */
154
95
  async function detectBuildArtifacts(context) {
155
96
  const { projectRoot, logger, viteConfig, isSSR } = context;
156
97
  let clientDir = null;
157
98
  let serverDir = null;
158
99
  let serverEntry = null;
159
- // Default server entry file candidates
160
100
  const serverEntryCandidates = [
161
- "index.js",
162
- "index.mjs",
163
- "entry-server.js",
164
- "entry-server.mjs",
165
- "server.js",
166
- "server.mjs",
101
+ "index.js", "index.mjs", "entry-server.js", "entry-server.mjs", "server.js", "server.mjs",
167
102
  ];
168
- // Use ViteConfigParser if viteConfig is available
169
103
  if (viteConfig) {
170
- const configParser = new ViteConfigParser(viteConfig, projectRoot, {
171
- logger,
172
- serverEntryCandidates,
173
- });
174
- // Parse full config info
104
+ const configParser = new ViteConfigParser(viteConfig, projectRoot, { logger, serverEntryCandidates });
175
105
  const configInfo = await configParser.parse();
176
- logger.verbose("Vite config parsed:", {
177
- outDir: configInfo.outDir,
178
- isSSR: configInfo.isSSR,
179
- ssrEntry: configInfo.ssrEntry,
180
- });
181
- // Determine client directory
182
- // For SSR builds, client is typically in outDir/client or just outDir
106
+ logger.verbose("Vite config parsed:", { outDir: configInfo.outDir, isSSR: configInfo.isSSR, ssrEntry: configInfo.ssrEntry });
183
107
  if (configInfo.isSSR) {
184
- // Try common SSR client patterns first
185
- const clientCandidates = [
186
- path.join(configInfo.absoluteOutDir, "client"),
187
- configInfo.absoluteOutDir,
188
- ];
108
+ const clientCandidates = [path.join(configInfo.absoluteOutDir, "client"), configInfo.absoluteOutDir];
189
109
  for (const candidate of clientCandidates) {
190
110
  if (await pathExists(candidate)) {
191
- // Verify it's the client dir by checking for HTML or assets
192
111
  const hasHtml = await pathExists(path.join(candidate, "index.html"));
193
112
  const hasAssets = await pathExists(path.join(candidate, "assets"));
194
113
  if (hasHtml || hasAssets) {
@@ -200,33 +119,26 @@ async function detectBuildArtifacts(context) {
200
119
  }
201
120
  }
202
121
  else {
203
- // SPA mode - output dir is the client dir
204
122
  if (await pathExists(configInfo.absoluteOutDir)) {
205
123
  clientDir = configInfo.absoluteOutDir;
206
124
  logger.verbose(`Found client directory (SPA): ${clientDir}`);
207
125
  }
208
126
  }
209
- // Determine server directory and entry (SSR only)
210
127
  if (isSSR) {
211
128
  serverDir = configInfo.serverDir;
212
129
  serverEntry = configInfo.serverEntryPath;
213
- // If no server entry found from config, try detection
214
130
  if (!serverEntry && serverDir) {
215
- serverEntry = await detectServerEntry(serverDir, serverEntryCandidates, {
216
- recursive: true,
217
- logger,
218
- });
131
+ serverEntry = await detectServerEntry(serverDir, serverEntryCandidates, { recursive: true, logger });
219
132
  }
220
133
  }
221
134
  }
222
- // Fallback to hardcoded paths if ViteConfigParser didn't find anything
135
+ // Fallback detection
223
136
  if (!clientDir) {
224
- // Common client build output paths (sorted by priority)
225
137
  const clientPaths = [
226
- path.join(projectRoot, "dist"), // Vite default
227
- path.join(projectRoot, "dist/client"), // SSR pattern
228
- path.join(projectRoot, "build/client"), // React Router and other frameworks
229
- path.join(projectRoot, "build"), // Create React App, etc.
138
+ path.join(projectRoot, "dist"),
139
+ path.join(projectRoot, "dist/client"),
140
+ path.join(projectRoot, "build/client"),
141
+ path.join(projectRoot, "build"),
230
142
  ];
231
143
  for (const p of clientPaths) {
232
144
  if (await pathExists(p)) {
@@ -237,11 +149,7 @@ async function detectBuildArtifacts(context) {
237
149
  }
238
150
  }
239
151
  if (isSSR && !serverDir) {
240
- // Common server build output paths
241
- const serverPaths = [
242
- path.join(projectRoot, "dist/server"),
243
- path.join(projectRoot, "build/server"),
244
- ];
152
+ const serverPaths = [path.join(projectRoot, "dist/server"), path.join(projectRoot, "build/server")];
245
153
  for (const p of serverPaths) {
246
154
  if (await pathExists(p)) {
247
155
  serverDir = p;
@@ -251,202 +159,171 @@ async function detectBuildArtifacts(context) {
251
159
  }
252
160
  }
253
161
  if (isSSR && serverDir && !serverEntry) {
254
- // Find server entry using detection
255
- serverEntry = await detectServerEntry(serverDir, serverEntryCandidates, {
256
- recursive: true,
257
- logger,
258
- });
162
+ serverEntry = await detectServerEntry(serverDir, serverEntryCandidates, { recursive: true, logger });
259
163
  }
260
- return {
261
- clientDir,
262
- serverDir,
263
- serverEntry,
264
- assetsDir: clientDir, // Assets directory is usually same as client directory
265
- };
164
+ return { clientDir, serverDir, serverEntry, assetsDir: clientDir };
266
165
  }
267
- /**
268
- * Clean output directory
269
- *
270
- * Clean previous output before each build to ensure clean output directory.
271
- * Only cleans specific subdirectories, not the entire output directory.
272
- *
273
- * @param context - Build context
274
- */
275
166
  async function cleanOutputDir(context) {
276
167
  const { projectRoot, outputDir, logger } = context;
277
168
  const outputPath = path.join(projectRoot, outputDir);
278
- // Paths to clean
279
169
  const pathsToClean = [
280
- path.join(outputPath, "assets"), // Static assets directory
281
- path.join(outputPath, "server-handler"), // Server handler directory
282
- path.join(outputPath, "meta.json"), // Metadata config file
170
+ path.join(outputPath, "assets"),
171
+ path.join(outputPath, "server-handler"),
172
+ path.join(outputPath, "meta.json"),
283
173
  ];
284
- // Delete each path
285
174
  for (const p of pathsToClean) {
286
175
  try {
287
176
  await fs.rm(p, { recursive: true, force: true });
288
177
  }
289
178
  catch {
290
- // Ignore delete errors (e.g. path doesn't exist)
179
+ // Ignore errors
291
180
  }
292
181
  }
293
- // Ensure output directory exists
294
182
  await ensureDirectory(outputPath);
295
183
  logger.verbose("Output directory cleaned");
296
184
  }
297
- /**
298
- * Copy static assets to output directory
299
- *
300
- * Copy client build artifacts (HTML, CSS, JS, images, etc.) to deployment directory.
301
- * These assets will be served directly by EdgeOne CDN.
302
- *
303
- * @param context - Build context
304
- * @param clientDir - Client build directory path
305
- */
306
185
  async function copyStaticAssets(context, clientDir) {
307
186
  const { projectRoot, outputDir, logger } = context;
308
- // Target path: .edgeone/assets
309
187
  const targetPath = path.join(projectRoot, outputDir, "assets");
310
188
  await copyDirectory(clientDir, targetPath);
311
189
  logger.verbose(`Static assets copied to ${outputDir}/assets`);
312
190
  }
313
- /**
314
- * Bundle server code
315
- *
316
- * Bundle framework's server build artifacts into a single JavaScript file
317
- * for running in EdgeOne edge function environment.
318
- *
319
- * Processing flow:
320
- * 1. Create server wrapper (handles request conversion)
321
- * 2. Bundle with esbuild
322
- * 3. Cleanup temporary files
323
- *
324
- * @param context - Build context
325
- * @param artifacts - Build artifacts info
326
- * @param adapter - Framework adapter (optional)
327
- */
328
191
  async function bundleServer(context, artifacts, adapter) {
329
192
  const { projectRoot, outputDir, logger } = context;
330
- // Check if server entry exists
331
193
  if (!artifacts.serverEntry) {
332
194
  logger.warn("Server entry file not found, skipping server bundling");
333
195
  return;
334
196
  }
335
- // Output path configuration
336
197
  const outputPath = path.join(projectRoot, outputDir, "server-handler");
337
198
  const outputFile = path.join(outputPath, "handler.js");
338
- // Get adapter hooks
339
199
  const adapterHooks = adapter?.hooks || {};
340
- // Wrapper configuration
341
- const wrapperConfig = {
342
- serverEntryPath: artifacts.serverEntry,
343
- };
344
- // Determine the server directory for proper relative path resolution
345
- // This is crucial for dynamic imports with relative paths (e.g., "./assets/...")
200
+ const wrapperConfig = { serverEntryPath: artifacts.serverEntry };
346
201
  const serverDir = artifacts.serverDir || path.dirname(artifacts.serverEntry);
347
- // Create server wrapper
348
- // IMPORTANT: Place the wrapper file in the server directory so that
349
- // relative imports in the server build (e.g., "./assets/xxx.js") can be resolved correctly
350
202
  let wrapperPath;
351
203
  if (adapterHooks.generateServerWrapper) {
352
- // Use adapter's custom wrapper generation logic
353
204
  const wrapperContent = await adapterHooks.generateServerWrapper(context, wrapperConfig);
354
- // Place wrapper in server directory for correct relative path resolution
355
205
  wrapperPath = path.join(serverDir, "server-wrapper.temp.js");
356
206
  await writeFile(wrapperPath, wrapperContent);
357
207
  }
358
208
  else {
359
- // Use default wrapper
360
209
  wrapperPath = await createServerWrapper(context, wrapperConfig);
361
210
  }
362
- // Prepare bundle configuration
363
- // Set absWorkingDir to server directory to resolve relative imports correctly
364
211
  let bundleConfig = {
365
212
  entryPoints: [wrapperPath],
366
213
  outfile: outputFile,
367
- esbuildOptions: {
368
- absWorkingDir: serverDir,
369
- },
214
+ esbuildOptions: { absWorkingDir: serverDir },
370
215
  };
371
- // Call beforeBundle hook, allows config modification
372
216
  if (context.viteConfig && adapterHooks.beforeBundle) {
373
217
  bundleConfig = await adapterHooks.beforeBundle(context, bundleConfig);
374
218
  }
375
- // Execute bundling
376
- await bundleServerCode(context, bundleConfig);
377
- // Cleanup temporary wrapper file
219
+ const bundleResult = await bundleServerCode(context, bundleConfig);
378
220
  await cleanupWrapper(wrapperPath);
379
- // Call afterBundle hook
221
+ // Extract bundled files from metafile to avoid copying already-inlined files
222
+ const bundledFiles = getBundledFiles(bundleResult.metafile, serverDir);
223
+ // Copy only server-side files that were NOT inlined into handler.js
224
+ await copyServerAssets(serverDir, outputPath, artifacts.serverEntry, bundledFiles, logger);
380
225
  if (adapterHooks.afterBundle) {
381
226
  await adapterHooks.afterBundle(context, outputFile);
382
227
  }
383
228
  logger.verbose(`Server code bundled to ${outputDir}/server-handler/handler.js`);
384
229
  }
385
230
  /**
386
- * Generate meta.json configuration file
387
- *
388
- * meta.json is the core configuration file for EdgeOne deployment, containing:
389
- * - Route info: Tells EdgeOne which paths need SSR, which are static assets
390
- * - HTTP config: Response headers, redirects, rewrites, cache rules
391
- * - 404 handling configuration
392
- *
393
- * @param context - Build context
394
- * @param adapter - Framework adapter (optional)
231
+ * Extract the set of files that were bundled/inlined into handler.js from esbuild metafile.
232
+ * Returns a Set of absolute file paths that are already included in the bundle.
395
233
  */
234
+ function getBundledFiles(metafile, serverDir) {
235
+ const bundledFiles = new Set();
236
+ if (!metafile?.inputs) {
237
+ return bundledFiles;
238
+ }
239
+ for (const inputPath of Object.keys(metafile.inputs)) {
240
+ // esbuild metafile uses relative paths from absWorkingDir
241
+ // Convert to absolute path for comparison
242
+ const absolutePath = path.isAbsolute(inputPath)
243
+ ? inputPath
244
+ : path.resolve(serverDir, inputPath);
245
+ bundledFiles.add(absolutePath);
246
+ }
247
+ return bundledFiles;
248
+ }
249
+ /**
250
+ * Copy server build files to server-handler directory.
251
+ * Only copies files that are NOT already bundled into handler.js.
252
+ * This ensures files needed at runtime (non-JS assets, dynamic imports, etc.) are available.
253
+ */
254
+ async function copyServerAssets(serverDir, outputPath, serverEntry, bundledFiles, logger) {
255
+ const serverEntryFileName = path.basename(serverEntry);
256
+ let copiedCount = 0;
257
+ let skippedCount = 0;
258
+ async function copyRecursive(srcDir, destDir, relativePath = "") {
259
+ const entries = await fs.readdir(srcDir, { withFileTypes: true });
260
+ for (const entry of entries) {
261
+ const srcPath = path.join(srcDir, entry.name);
262
+ const destPath = path.join(destDir, entry.name);
263
+ const currentRelativePath = relativePath ? `${relativePath}/${entry.name}` : entry.name;
264
+ // Skip the main server entry file (already bundled into handler.js)
265
+ if (relativePath === "" && entry.name === serverEntryFileName)
266
+ continue;
267
+ // Skip temporary files generated during build
268
+ if (entry.name.endsWith(".temp.js") || entry.name.endsWith(".temp.mjs"))
269
+ continue;
270
+ if (entry.isDirectory()) {
271
+ // Recursively process directories
272
+ await copyRecursive(srcPath, destPath, currentRelativePath);
273
+ }
274
+ else if (entry.isFile()) {
275
+ // Check if this file was already bundled into handler.js
276
+ const absoluteSrcPath = path.resolve(srcPath);
277
+ if (bundledFiles.has(absoluteSrcPath)) {
278
+ skippedCount++;
279
+ logger.verbose(`Skipped (already bundled): ${currentRelativePath}`);
280
+ continue;
281
+ }
282
+ // Copy the file
283
+ try {
284
+ await ensureDirectory(destDir);
285
+ await fs.copyFile(srcPath, destPath);
286
+ copiedCount++;
287
+ logger.verbose(`Copied server file: ${currentRelativePath}`);
288
+ }
289
+ catch (error) {
290
+ logger.verbose(`Failed to copy ${currentRelativePath}: ${error instanceof Error ? error.message : String(error)}`);
291
+ }
292
+ }
293
+ }
294
+ }
295
+ await copyRecursive(serverDir, outputPath);
296
+ if (copiedCount > 0 || skippedCount > 0) {
297
+ logger.verbose(`Server assets: copied ${copiedCount}, skipped ${skippedCount} (already bundled)`);
298
+ }
299
+ }
396
300
  async function generateMetaJson(context, adapter) {
397
301
  const { projectRoot, outputDir, isSSR, logger } = context;
398
- // Generate route info
399
302
  let routes = [];
400
303
  const adapterHooks = adapter?.hooks || {};
401
304
  if (adapterHooks.generateRoutes) {
402
- // Use adapter's route generation logic
403
305
  routes = await adapterHooks.generateRoutes(context);
404
306
  }
405
307
  else {
406
- // Default: single root route
407
- routes = [
408
- {
409
- path: "/",
410
- isStatic: !isSSR, // Not static route in SSR mode
411
- srcRoute: "/",
412
- },
413
- ];
308
+ routes = [{ path: "/", isStatic: !isSSR, srcRoute: "/" }];
414
309
  }
415
- // Convert routes to simplified meta format (regexPath + isStatic only)
416
310
  const metaRoutes = convertRoutesToMetaFormat(routes);
417
- // Generate metadata config
418
311
  let metaConfig;
419
312
  if (adapterHooks.generateMeta) {
420
- // Use adapter's metadata generation logic
421
- // Note: adapter receives original routes with regex, we'll override frameworkRoutes
422
313
  const routesWithRegex = addRegexToRoutes(routes);
423
314
  metaConfig = await adapterHooks.generateMeta(context, routesWithRegex);
424
- // Override with simplified format
425
315
  metaConfig.frameworkRoutes = metaRoutes;
426
316
  }
427
317
  else {
428
- // Use default config
429
318
  metaConfig = {
430
- conf: {
431
- headers: [], // HTTP response header rules
432
- redirects: [], // Redirect rules
433
- rewrites: [], // URL rewrite rules
434
- caches: [], // Cache rules
435
- has404: false, // Whether custom 404 page exists
436
- ssr404: isSSR, // Whether 404 uses SSR
437
- },
319
+ conf: { headers: [], redirects: [], rewrites: [], caches: [], has404: false, ssr404: isSSR },
438
320
  has404: false,
439
321
  frameworkRoutes: metaRoutes,
440
322
  };
441
323
  }
442
- // Convert config to JSON string
443
324
  const metaContent = JSON.stringify(metaConfig, null, 2);
444
- // Write meta.json in server-handler directory (for SSR runtime)
445
- const serverMetaPath = path.join(projectRoot, outputDir, "server-handler", "meta.json");
446
- await writeFile(serverMetaPath, metaContent);
447
- // Write meta.json in output root directory (for deployment)
448
- const rootMetaPath = path.join(projectRoot, outputDir, "meta.json");
449
- await writeFile(rootMetaPath, metaContent);
325
+ await writeFile(path.join(projectRoot, outputDir, "server-handler", "meta.json"), metaContent);
326
+ await writeFile(path.join(projectRoot, outputDir, "meta.json"), metaContent);
450
327
  logger.verbose(`meta.json generated with ${routes.length} routes`);
451
328
  }
452
329
  export default createCoreAdapter;
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,13 @@
1
1
  /**
2
- * Framework Detectors
3
- *
4
- * Utilities for detecting frameworks based on config files, build directories, and dependencies
2
+ * Framework Detectors - Utilities for detecting frameworks
5
3
  */
6
4
  import type { BuildContext } from "../types.js";
7
- /**
8
- * Combine multiple detector functions (returns true if any matches)
9
- */
5
+ /** Combine multiple detector functions (returns true if any matches) */
10
6
  export declare function combineDetectors(...detectors: ((context: BuildContext) => Promise<boolean> | boolean)[]): (context: BuildContext) => Promise<boolean>;
11
- /**
12
- * Create detector based on config files
13
- */
7
+ /** Create detector based on config files */
14
8
  export declare function createConfigDetector(configFiles: string[]): (context: BuildContext) => Promise<boolean>;
15
- /**
16
- * Create detector based on build directories
17
- */
9
+ /** Create detector based on build directories */
18
10
  export declare function createBuildDirDetector(buildDirs: string[]): (context: BuildContext) => Promise<boolean>;
19
- /**
20
- * Create detector based on package.json dependencies
21
- */
11
+ /** Create detector based on package.json dependencies */
22
12
  export declare function createDependencyDetector(dependencies: string[]): (context: BuildContext) => Promise<boolean>;
23
13
  //# sourceMappingURL=detectors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detectors.d.ts","sourceRoot":"","sources":["../../src/factory/detectors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQhD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,EAAE,IAEzD,SAAS,YAAY,KAAG,OAAO,CAAC,OAAO,CAAC,CAQvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,IAC1C,SAAS,YAAY,KAAG,OAAO,CAAC,OAAO,CAAC,CAGvD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,IAC1C,SAAS,YAAY,KAAG,OAAO,CAAC,OAAO,CAAC,CAGvD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,IAC/C,SAAS,YAAY,KAAG,OAAO,CAAC,OAAO,CAAC,CAmBvD"}
1
+ {"version":3,"file":"detectors.d.ts","sourceRoot":"","sources":["../../src/factory/detectors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,wEAAwE;AACxE,wBAAgB,gBAAgB,CAC9B,GAAG,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,EAAE,IAEzD,SAAS,YAAY,KAAG,OAAO,CAAC,OAAO,CAAC,CAMvD;AAED,4CAA4C;AAC5C,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,IAC1C,SAAS,YAAY,KAAG,OAAO,CAAC,OAAO,CAAC,CAGvD;AAED,iDAAiD;AACjD,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,IAC1C,SAAS,YAAY,KAAG,OAAO,CAAC,OAAO,CAAC,CAGvD;AAED,yDAAyD;AACzD,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,IAC/C,SAAS,YAAY,KAAG,OAAO,CAAC,OAAO,CAAC,CAcvD"}