@chuckcchen/vite-plugin 1.0.19 → 1.0.20

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 +109 -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,44 @@ 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
83
40
  if (hasProcessed) {
84
41
  logger.verbose("Skipping processing (already processed)");
85
42
  return;
86
43
  }
87
44
  hasProcessed = true;
88
45
  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) {
46
+ const context = { projectRoot, outputDir, isSSR, viteConfig, logger };
47
+ if (hooks.beforeBuild)
100
48
  await hooks.beforeBuild(context);
101
- }
102
- // Detect build artifacts
103
49
  let artifacts;
104
50
  if (adapter) {
105
- // Use framework adapter for detection
106
51
  const shouldUse = await adapter.detect(context);
107
52
  if (!shouldUse) {
108
53
  logger.warn(`Adapter ${adapter.name} detection failed, using default config`);
@@ -110,28 +55,18 @@ export function createCoreAdapter(options = {}) {
110
55
  artifacts = await adapter.getBuildArtifacts(context);
111
56
  }
112
57
  else {
113
- // Use default detection logic
114
58
  artifacts = await detectBuildArtifacts(context);
115
59
  }
116
- // Call afterBuild hook
117
- if (hooks.afterBuild) {
60
+ if (hooks.afterBuild)
118
61
  await hooks.afterBuild(context, artifacts);
119
- }
120
62
  logger.verbose("artifacts", artifacts);
121
- // Clean output directory
122
63
  await cleanOutputDir(context);
123
- // Copy static assets
124
- if (artifacts.clientDir) {
64
+ if (artifacts.clientDir)
125
65
  await copyStaticAssets(context, artifacts.clientDir);
126
- }
127
- // Bundle server code (SSR mode only)
128
- if (isSSR && artifacts.serverEntry) {
66
+ if (isSSR && artifacts.serverEntry)
129
67
  await bundleServer(context, artifacts, adapter);
130
- }
131
- // Generate meta.json config file (only for SSR mode with server entry)
132
- if (artifacts.serverEntry) {
68
+ if (artifacts.serverEntry)
133
69
  await generateMetaJson(context, adapter);
134
- }
135
70
  logger.verbose("EdgeOne adapter processing complete");
136
71
  }
137
72
  catch (error) {
@@ -141,54 +76,22 @@ export function createCoreAdapter(options = {}) {
141
76
  },
142
77
  };
143
78
  }
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
79
  async function detectBuildArtifacts(context) {
155
80
  const { projectRoot, logger, viteConfig, isSSR } = context;
156
81
  let clientDir = null;
157
82
  let serverDir = null;
158
83
  let serverEntry = null;
159
- // Default server entry file candidates
160
84
  const serverEntryCandidates = [
161
- "index.js",
162
- "index.mjs",
163
- "entry-server.js",
164
- "entry-server.mjs",
165
- "server.js",
166
- "server.mjs",
85
+ "index.js", "index.mjs", "entry-server.js", "entry-server.mjs", "server.js", "server.mjs",
167
86
  ];
168
- // Use ViteConfigParser if viteConfig is available
169
87
  if (viteConfig) {
170
- const configParser = new ViteConfigParser(viteConfig, projectRoot, {
171
- logger,
172
- serverEntryCandidates,
173
- });
174
- // Parse full config info
88
+ const configParser = new ViteConfigParser(viteConfig, projectRoot, { logger, serverEntryCandidates });
175
89
  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
90
+ logger.verbose("Vite config parsed:", { outDir: configInfo.outDir, isSSR: configInfo.isSSR, ssrEntry: configInfo.ssrEntry });
183
91
  if (configInfo.isSSR) {
184
- // Try common SSR client patterns first
185
- const clientCandidates = [
186
- path.join(configInfo.absoluteOutDir, "client"),
187
- configInfo.absoluteOutDir,
188
- ];
92
+ const clientCandidates = [path.join(configInfo.absoluteOutDir, "client"), configInfo.absoluteOutDir];
189
93
  for (const candidate of clientCandidates) {
190
94
  if (await pathExists(candidate)) {
191
- // Verify it's the client dir by checking for HTML or assets
192
95
  const hasHtml = await pathExists(path.join(candidate, "index.html"));
193
96
  const hasAssets = await pathExists(path.join(candidate, "assets"));
194
97
  if (hasHtml || hasAssets) {
@@ -200,33 +103,26 @@ async function detectBuildArtifacts(context) {
200
103
  }
201
104
  }
202
105
  else {
203
- // SPA mode - output dir is the client dir
204
106
  if (await pathExists(configInfo.absoluteOutDir)) {
205
107
  clientDir = configInfo.absoluteOutDir;
206
108
  logger.verbose(`Found client directory (SPA): ${clientDir}`);
207
109
  }
208
110
  }
209
- // Determine server directory and entry (SSR only)
210
111
  if (isSSR) {
211
112
  serverDir = configInfo.serverDir;
212
113
  serverEntry = configInfo.serverEntryPath;
213
- // If no server entry found from config, try detection
214
114
  if (!serverEntry && serverDir) {
215
- serverEntry = await detectServerEntry(serverDir, serverEntryCandidates, {
216
- recursive: true,
217
- logger,
218
- });
115
+ serverEntry = await detectServerEntry(serverDir, serverEntryCandidates, { recursive: true, logger });
219
116
  }
220
117
  }
221
118
  }
222
- // Fallback to hardcoded paths if ViteConfigParser didn't find anything
119
+ // Fallback detection
223
120
  if (!clientDir) {
224
- // Common client build output paths (sorted by priority)
225
121
  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.
122
+ path.join(projectRoot, "dist"),
123
+ path.join(projectRoot, "dist/client"),
124
+ path.join(projectRoot, "build/client"),
125
+ path.join(projectRoot, "build"),
230
126
  ];
231
127
  for (const p of clientPaths) {
232
128
  if (await pathExists(p)) {
@@ -237,11 +133,7 @@ async function detectBuildArtifacts(context) {
237
133
  }
238
134
  }
239
135
  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
- ];
136
+ const serverPaths = [path.join(projectRoot, "dist/server"), path.join(projectRoot, "build/server")];
245
137
  for (const p of serverPaths) {
246
138
  if (await pathExists(p)) {
247
139
  serverDir = p;
@@ -251,202 +143,171 @@ async function detectBuildArtifacts(context) {
251
143
  }
252
144
  }
253
145
  if (isSSR && serverDir && !serverEntry) {
254
- // Find server entry using detection
255
- serverEntry = await detectServerEntry(serverDir, serverEntryCandidates, {
256
- recursive: true,
257
- logger,
258
- });
146
+ serverEntry = await detectServerEntry(serverDir, serverEntryCandidates, { recursive: true, logger });
259
147
  }
260
- return {
261
- clientDir,
262
- serverDir,
263
- serverEntry,
264
- assetsDir: clientDir, // Assets directory is usually same as client directory
265
- };
148
+ return { clientDir, serverDir, serverEntry, assetsDir: clientDir };
266
149
  }
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
150
  async function cleanOutputDir(context) {
276
151
  const { projectRoot, outputDir, logger } = context;
277
152
  const outputPath = path.join(projectRoot, outputDir);
278
- // Paths to clean
279
153
  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
154
+ path.join(outputPath, "assets"),
155
+ path.join(outputPath, "server-handler"),
156
+ path.join(outputPath, "meta.json"),
283
157
  ];
284
- // Delete each path
285
158
  for (const p of pathsToClean) {
286
159
  try {
287
160
  await fs.rm(p, { recursive: true, force: true });
288
161
  }
289
162
  catch {
290
- // Ignore delete errors (e.g. path doesn't exist)
163
+ // Ignore errors
291
164
  }
292
165
  }
293
- // Ensure output directory exists
294
166
  await ensureDirectory(outputPath);
295
167
  logger.verbose("Output directory cleaned");
296
168
  }
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
169
  async function copyStaticAssets(context, clientDir) {
307
170
  const { projectRoot, outputDir, logger } = context;
308
- // Target path: .edgeone/assets
309
171
  const targetPath = path.join(projectRoot, outputDir, "assets");
310
172
  await copyDirectory(clientDir, targetPath);
311
173
  logger.verbose(`Static assets copied to ${outputDir}/assets`);
312
174
  }
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
175
  async function bundleServer(context, artifacts, adapter) {
329
176
  const { projectRoot, outputDir, logger } = context;
330
- // Check if server entry exists
331
177
  if (!artifacts.serverEntry) {
332
178
  logger.warn("Server entry file not found, skipping server bundling");
333
179
  return;
334
180
  }
335
- // Output path configuration
336
181
  const outputPath = path.join(projectRoot, outputDir, "server-handler");
337
182
  const outputFile = path.join(outputPath, "handler.js");
338
- // Get adapter hooks
339
183
  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/...")
184
+ const wrapperConfig = { serverEntryPath: artifacts.serverEntry };
346
185
  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
186
  let wrapperPath;
351
187
  if (adapterHooks.generateServerWrapper) {
352
- // Use adapter's custom wrapper generation logic
353
188
  const wrapperContent = await adapterHooks.generateServerWrapper(context, wrapperConfig);
354
- // Place wrapper in server directory for correct relative path resolution
355
189
  wrapperPath = path.join(serverDir, "server-wrapper.temp.js");
356
190
  await writeFile(wrapperPath, wrapperContent);
357
191
  }
358
192
  else {
359
- // Use default wrapper
360
193
  wrapperPath = await createServerWrapper(context, wrapperConfig);
361
194
  }
362
- // Prepare bundle configuration
363
- // Set absWorkingDir to server directory to resolve relative imports correctly
364
195
  let bundleConfig = {
365
196
  entryPoints: [wrapperPath],
366
197
  outfile: outputFile,
367
- esbuildOptions: {
368
- absWorkingDir: serverDir,
369
- },
198
+ esbuildOptions: { absWorkingDir: serverDir },
370
199
  };
371
- // Call beforeBundle hook, allows config modification
372
200
  if (context.viteConfig && adapterHooks.beforeBundle) {
373
201
  bundleConfig = await adapterHooks.beforeBundle(context, bundleConfig);
374
202
  }
375
- // Execute bundling
376
- await bundleServerCode(context, bundleConfig);
377
- // Cleanup temporary wrapper file
203
+ const bundleResult = await bundleServerCode(context, bundleConfig);
378
204
  await cleanupWrapper(wrapperPath);
379
- // Call afterBundle hook
205
+ // Extract bundled files from metafile to avoid copying already-inlined files
206
+ const bundledFiles = getBundledFiles(bundleResult.metafile, serverDir);
207
+ // Copy only server-side files that were NOT inlined into handler.js
208
+ await copyServerAssets(serverDir, outputPath, artifacts.serverEntry, bundledFiles, logger);
380
209
  if (adapterHooks.afterBundle) {
381
210
  await adapterHooks.afterBundle(context, outputFile);
382
211
  }
383
212
  logger.verbose(`Server code bundled to ${outputDir}/server-handler/handler.js`);
384
213
  }
385
214
  /**
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)
215
+ * Extract the set of files that were bundled/inlined into handler.js from esbuild metafile.
216
+ * Returns a Set of absolute file paths that are already included in the bundle.
217
+ */
218
+ function getBundledFiles(metafile, serverDir) {
219
+ const bundledFiles = new Set();
220
+ if (!metafile?.inputs) {
221
+ return bundledFiles;
222
+ }
223
+ for (const inputPath of Object.keys(metafile.inputs)) {
224
+ // esbuild metafile uses relative paths from absWorkingDir
225
+ // Convert to absolute path for comparison
226
+ const absolutePath = path.isAbsolute(inputPath)
227
+ ? inputPath
228
+ : path.resolve(serverDir, inputPath);
229
+ bundledFiles.add(absolutePath);
230
+ }
231
+ return bundledFiles;
232
+ }
233
+ /**
234
+ * Copy server build files to server-handler directory.
235
+ * Only copies files that are NOT already bundled into handler.js.
236
+ * This ensures files needed at runtime (non-JS assets, dynamic imports, etc.) are available.
395
237
  */
238
+ async function copyServerAssets(serverDir, outputPath, serverEntry, bundledFiles, logger) {
239
+ const serverEntryFileName = path.basename(serverEntry);
240
+ let copiedCount = 0;
241
+ let skippedCount = 0;
242
+ async function copyRecursive(srcDir, destDir, relativePath = "") {
243
+ const entries = await fs.readdir(srcDir, { withFileTypes: true });
244
+ for (const entry of entries) {
245
+ const srcPath = path.join(srcDir, entry.name);
246
+ const destPath = path.join(destDir, entry.name);
247
+ const currentRelativePath = relativePath ? `${relativePath}/${entry.name}` : entry.name;
248
+ // Skip the main server entry file (already bundled into handler.js)
249
+ if (relativePath === "" && entry.name === serverEntryFileName)
250
+ continue;
251
+ // Skip temporary files generated during build
252
+ if (entry.name.endsWith(".temp.js") || entry.name.endsWith(".temp.mjs"))
253
+ continue;
254
+ if (entry.isDirectory()) {
255
+ // Recursively process directories
256
+ await copyRecursive(srcPath, destPath, currentRelativePath);
257
+ }
258
+ else if (entry.isFile()) {
259
+ // Check if this file was already bundled into handler.js
260
+ const absoluteSrcPath = path.resolve(srcPath);
261
+ if (bundledFiles.has(absoluteSrcPath)) {
262
+ skippedCount++;
263
+ logger.verbose(`Skipped (already bundled): ${currentRelativePath}`);
264
+ continue;
265
+ }
266
+ // Copy the file
267
+ try {
268
+ await ensureDirectory(destDir);
269
+ await fs.copyFile(srcPath, destPath);
270
+ copiedCount++;
271
+ logger.verbose(`Copied server file: ${currentRelativePath}`);
272
+ }
273
+ catch (error) {
274
+ logger.verbose(`Failed to copy ${currentRelativePath}: ${error instanceof Error ? error.message : String(error)}`);
275
+ }
276
+ }
277
+ }
278
+ }
279
+ await copyRecursive(serverDir, outputPath);
280
+ if (copiedCount > 0 || skippedCount > 0) {
281
+ logger.verbose(`Server assets: copied ${copiedCount}, skipped ${skippedCount} (already bundled)`);
282
+ }
283
+ }
396
284
  async function generateMetaJson(context, adapter) {
397
285
  const { projectRoot, outputDir, isSSR, logger } = context;
398
- // Generate route info
399
286
  let routes = [];
400
287
  const adapterHooks = adapter?.hooks || {};
401
288
  if (adapterHooks.generateRoutes) {
402
- // Use adapter's route generation logic
403
289
  routes = await adapterHooks.generateRoutes(context);
404
290
  }
405
291
  else {
406
- // Default: single root route
407
- routes = [
408
- {
409
- path: "/",
410
- isStatic: !isSSR, // Not static route in SSR mode
411
- srcRoute: "/",
412
- },
413
- ];
292
+ routes = [{ path: "/", isStatic: !isSSR, srcRoute: "/" }];
414
293
  }
415
- // Convert routes to simplified meta format (regexPath + isStatic only)
416
294
  const metaRoutes = convertRoutesToMetaFormat(routes);
417
- // Generate metadata config
418
295
  let metaConfig;
419
296
  if (adapterHooks.generateMeta) {
420
- // Use adapter's metadata generation logic
421
- // Note: adapter receives original routes with regex, we'll override frameworkRoutes
422
297
  const routesWithRegex = addRegexToRoutes(routes);
423
298
  metaConfig = await adapterHooks.generateMeta(context, routesWithRegex);
424
- // Override with simplified format
425
299
  metaConfig.frameworkRoutes = metaRoutes;
426
300
  }
427
301
  else {
428
- // Use default config
429
302
  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
- },
303
+ conf: { headers: [], redirects: [], rewrites: [], caches: [], has404: false, ssr404: isSSR },
438
304
  has404: false,
439
305
  frameworkRoutes: metaRoutes,
440
306
  };
441
307
  }
442
- // Convert config to JSON string
443
308
  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);
309
+ await writeFile(path.join(projectRoot, outputDir, "server-handler", "meta.json"), metaContent);
310
+ await writeFile(path.join(projectRoot, outputDir, "meta.json"), metaContent);
450
311
  logger.verbose(`meta.json generated with ${routes.length} routes`);
451
312
  }
452
313
  export default createCoreAdapter;
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,IAAI,MAAM,MAAM,CAAC;AAUxB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,eAAe,EACf,SAAS,EACT,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,MAAM,aAAa,CAAC;AAE7B;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAA8B,EAAE;IAChE,2CAA2C;IAC3C,MAAM,EACJ,OAAO,GAAG,KAAK,EAAE,yBAAyB;IAC1C,OAAO,EAAE,6BAA6B;IACtC,KAAK,GAAG,EAAE,EAAE,wBAAwB;IACpC,GAAG,EAAE,SAAS,EAAE,yBAAyB;MAC1C,GAAG,OAAO,CAAC;IAEZ,yBAAyB;IACzB,MAAM,SAAS,GAAG,UAAU,CAAC;IAE7B,yBAAyB;IACzB,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAErC,yBAAyB;IACzB,IAAI,WAAmB,CAAC,CAAC,yBAAyB;IAClD,IAAI,UAA0B,CAAC,CAAC,uBAAuB;IACvD,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,sBAAsB;IAEzC,wEAAwE;IACxE,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,OAAO;QACL,wCAAwC;QACxC,IAAI,EAAE,6BAA6B;QACnC,sCAAsC;QACtC,KAAK,EAAE,OAAO;QACd,2CAA2C;QAC3C,OAAO,EAAE,MAAM;QAEf;;;WAGG;QACH,cAAc,CAAC,MAAM;YACnB,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;YAC1B,UAAU,GAAG,MAAM,CAAC;YAEpB,4BAA4B;YAC5B,iEAAiE;YACjE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;gBAClD,KAAK,GAAG,SAAS,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,wCAAwC;gBACxC,MAAM,CAAC,OAAO,CACZ,0CAA0C,EAC1C,MAAM,CAAC,KAAK,CAAC,GAAG,CACjB,CAAC;gBACF,MAAM,cAAc,GAClB,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC;gBAC/D,KAAK,GAAG,cAAc,CAAC;YACzB,CAAC;YAED,oBAAoB;YACpB,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;YAC7C,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;QAED;;;;WAIG;QACH,KAAK,CAAC,WAAW;YACf,+BAA+B;YAC/B,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;gBAC1D,OAAO;YACT,CAAC;YACD,YAAY,GAAG,IAAI,CAAC;YAEpB,IAAI,CAAC;gBACH,8BAA8B;gBAC9B,yDAAyD;gBACzD,MAAM,OAAO,GAAiB;oBAC5B,WAAW;oBACX,SAAS;oBACT,KAAK;oBACL,UAAU;oBACV,MAAM;iBACP,CAAC;gBAEF,wBAAwB;gBACxB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;oBACtB,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACnC,CAAC;gBAED,yBAAyB;gBACzB,IAAI,SAAyB,CAAC;gBAC9B,IAAI,OAAO,EAAE,CAAC;oBACZ,sCAAsC;oBACtC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAChD,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,CAAC,IAAI,CACT,WAAW,OAAO,CAAC,IAAI,yCAAyC,CACjE,CAAC;oBACJ,CAAC;oBACD,SAAS,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACN,8BAA8B;oBAC9B,SAAS,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;gBAClD,CAAC;gBAED,uBAAuB;gBACvB,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACrB,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAC7C,CAAC;gBAED,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAEvC,yBAAyB;gBACzB,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;gBAE9B,qBAAqB;gBACrB,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;oBACxB,MAAM,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;gBACvD,CAAC;gBAED,qCAAqC;gBACrC,IAAI,KAAK,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;oBACnC,MAAM,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBAClD,CAAC;gBAED,uEAAuE;gBACvE,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;oBAC1B,MAAM,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC3C,CAAC;gBAED,MAAM,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;gBAC1D,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,oBAAoB,CACjC,OAAqB;IAErB,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAE3D,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,WAAW,GAAkB,IAAI,CAAC;IAEtC,uCAAuC;IACvC,MAAM,qBAAqB,GAAG;QAC5B,UAAU;QACV,WAAW;QACX,iBAAiB;QACjB,kBAAkB;QAClB,WAAW;QACX,YAAY;KACb,CAAC;IAEF,kDAAkD;IAClD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,IAAI,gBAAgB,CAAC,UAAU,EAAE,WAAW,EAAE;YACjE,MAAM;YACN,qBAAqB;SACtB,CAAC,CAAC;QAEH,yBAAyB;QACzB,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE;YACpC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAC,CAAC;QAEH,6BAA6B;QAC7B,sEAAsE;QACtE,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,uCAAuC;YACvC,MAAM,gBAAgB,GAAG;gBACvB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,QAAQ,CAAC;gBAC9C,UAAU,CAAC,cAAc;aAC1B,CAAC;YACF,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;gBACzC,IAAI,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChC,4DAA4D;oBAC5D,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;oBACrE,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACnE,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;wBACzB,SAAS,GAAG,SAAS,CAAC;wBACtB,MAAM,CAAC,OAAO,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;wBACvD,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,0CAA0C;YAC1C,IAAI,MAAM,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAChD,SAAS,GAAG,UAAU,CAAC,cAAc,CAAC;gBACtC,MAAM,CAAC,OAAO,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,IAAI,KAAK,EAAE,CAAC;YACV,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;YACjC,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC;YAEzC,sDAAsD;YACtD,IAAI,CAAC,WAAW,IAAI,SAAS,EAAE,CAAC;gBAC9B,WAAW,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,qBAAqB,EAAE;oBACtE,SAAS,EAAE,IAAI;oBACf,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,wDAAwD;QACxD,MAAM,WAAW,GAAG;YAClB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,eAAe;YAC/C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,cAAc;YACrD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,oCAAoC;YAC5E,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,yBAAyB;SAC3D,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,MAAM,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxB,SAAS,GAAG,CAAC,CAAC;gBACd,MAAM,CAAC,OAAO,CAAC,4CAA4C,CAAC,EAAE,CAAC,CAAC;gBAChE,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;QACxB,mCAAmC;QACnC,MAAM,WAAW,GAAG;YAClB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC;SACvC,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,MAAM,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxB,SAAS,GAAG,CAAC,CAAC;gBACd,MAAM,CAAC,OAAO,CAAC,4CAA4C,CAAC,EAAE,CAAC,CAAC;gBAChE,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,IAAI,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,oCAAoC;QACpC,WAAW,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,qBAAqB,EAAE;YACtE,SAAS,EAAE,IAAI;YACf,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,SAAS;QACT,SAAS;QACT,WAAW;QACX,SAAS,EAAE,SAAS,EAAE,uDAAuD;KAC9E,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,cAAc,CAAC,OAAqB;IACjD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAErD,iBAAiB;IACjB,MAAM,YAAY,GAAG;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,0BAA0B;QAC3D,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,EAAE,2BAA2B;QACpE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,uBAAuB;KAC5D,CAAC;IAEF,mBAAmB;IACnB,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,gBAAgB,CAC7B,OAAqB,EACrB,SAAiB;IAEjB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACnD,+BAA+B;IAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE/D,MAAM,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC3C,MAAM,CAAC,OAAO,CAAC,2BAA2B,SAAS,SAAS,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,YAAY,CACzB,OAAqB,EACrB,SAAyB,EACzB,OAA0B;IAE1B,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEnD,+BAA+B;IAC/B,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IAED,4BAA4B;IAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAEvD,oBAAoB;IACpB,MAAM,YAAY,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;IAE1C,wBAAwB;IACxB,MAAM,aAAa,GAAG;QACpB,eAAe,EAAE,SAAS,CAAC,WAAW;KACvC,CAAC;IAEF,qEAAqE;IACrE,iFAAiF;IACjF,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAE7E,wBAAwB;IACxB,oEAAoE;IACpE,2FAA2F;IAC3F,IAAI,WAAmB,CAAC;IACxB,IAAI,YAAY,CAAC,qBAAqB,EAAE,CAAC;QACvC,gDAAgD;QAChD,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,qBAAqB,CAC7D,OAAO,EACP,aAAa,CACd,CAAC;QACF,yEAAyE;QACzE,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QAC7D,MAAM,SAAS,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,sBAAsB;QACtB,WAAW,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC;IAED,+BAA+B;IAC/B,8EAA8E;IAC9E,IAAI,YAAY,GAAuB;QACrC,WAAW,EAAE,CAAC,WAAW,CAAC;QAC1B,OAAO,EAAE,UAAU;QACnB,cAAc,EAAE;YACd,aAAa,EAAE,SAAS;SACzB;KACF,CAAC;IAEF,qDAAqD;IACrD,IAAI,OAAO,CAAC,UAAU,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;QACpD,YAAY,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACxE,CAAC;IAED,mBAAmB;IACnB,MAAM,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAE9C,iCAAiC;IACjC,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IAElC,wBAAwB;IACxB,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,OAAO,CACZ,0BAA0B,SAAS,4BAA4B,CAChE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,gBAAgB,CAC7B,OAAqB,EACrB,OAA0B;IAE1B,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE1D,sBAAsB;IACtB,IAAI,MAAM,GAAgB,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;IAE1C,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC;QAChC,uCAAuC;QACvC,MAAM,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,6BAA6B;QAC7B,MAAM,GAAG;YACP;gBACE,IAAI,EAAE,GAAG;gBACT,QAAQ,EAAE,CAAC,KAAK,EAAE,+BAA+B;gBACjD,QAAQ,EAAE,GAAG;aACd;SACF,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,MAAM,UAAU,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAErD,2BAA2B;IAC3B,IAAI,UAAsB,CAAC;IAE3B,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;QAC9B,0CAA0C;QAC1C,oFAAoF;QACpF,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACjD,UAAU,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACvE,kCAAkC;QAClC,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,qBAAqB;QACrB,UAAU,GAAG;YACX,IAAI,EAAE;gBACJ,OAAO,EAAE,EAAE,EAAE,6BAA6B;gBAC1C,SAAS,EAAE,EAAE,EAAE,iBAAiB;gBAChC,QAAQ,EAAE,EAAE,EAAE,oBAAoB;gBAClC,MAAM,EAAE,EAAE,EAAE,cAAc;gBAC1B,MAAM,EAAE,KAAK,EAAE,iCAAiC;gBAChD,MAAM,EAAE,KAAK,EAAE,uBAAuB;aACvC;YACD,MAAM,EAAE,KAAK;YACb,eAAe,EAAE,UAAU;SAC5B,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAExD,gEAAgE;IAChE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAC9B,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,WAAW,CACZ,CAAC;IACF,MAAM,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAE7C,4DAA4D;IAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACpE,MAAM,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAE3C,MAAM,CAAC,OAAO,CAAC,4BAA4B,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;AACrE,CAAC;AAED,eAAe,iBAAiB,CAAC"}
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"}