@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.
- package/dist/bundler.d.ts +5 -18
- package/dist/bundler.d.ts.map +1 -1
- package/dist/bundler.js +43 -30
- package/dist/bundler.js.map +1 -1
- package/dist/core.d.ts +2 -18
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +125 -248
- package/dist/core.js.map +1 -1
- package/dist/factory/detectors.d.ts +5 -15
- package/dist/factory/detectors.d.ts.map +1 -1
- package/dist/factory/detectors.js +8 -22
- package/dist/factory/detectors.js.map +1 -1
- package/dist/factory/hooks.d.ts +4 -59
- package/dist/factory/hooks.d.ts.map +1 -1
- package/dist/factory/hooks.js +18 -117
- package/dist/factory/hooks.js.map +1 -1
- package/dist/factory/index.d.ts +7 -51
- package/dist/factory/index.d.ts.map +1 -1
- package/dist/factory/index.js +10 -55
- package/dist/factory/index.js.map +1 -1
- package/dist/factory/presets.d.ts +16 -121
- package/dist/factory/presets.d.ts.map +1 -1
- package/dist/factory/presets.js +143 -174
- package/dist/factory/presets.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -35
- package/dist/index.js.map +1 -1
- package/dist/route/index.d.ts +1 -1
- package/dist/route/index.d.ts.map +1 -1
- package/dist/route/index.js +1 -3
- package/dist/route/index.js.map +1 -1
- package/dist/route/parser.d.ts +0 -37
- package/dist/route/parser.d.ts.map +1 -1
- package/dist/route/parser.js +11 -124
- package/dist/route/parser.js.map +1 -1
- package/dist/route/regex.d.ts +15 -80
- package/dist/route/regex.d.ts.map +1 -1
- package/dist/route/regex.js +65 -169
- package/dist/route/regex.js.map +1 -1
- package/dist/route/regex.test.d.ts +7 -0
- package/dist/route/regex.test.d.ts.map +1 -0
- package/dist/route/regex.test.js +662 -0
- package/dist/route/regex.test.js.map +1 -0
- package/dist/route/types.d.ts +0 -58
- package/dist/route/types.d.ts.map +1 -1
- package/dist/types.d.ts +36 -147
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +1 -78
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +11 -144
- package/dist/utils.js.map +1 -1
- package/dist/vite-config-parser.d.ts +4 -141
- package/dist/vite-config-parser.d.ts.map +1 -1
- package/dist/vite-config-parser.js +25 -235
- package/dist/vite-config-parser.js.map +1 -1
- 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
|
-
*
|
|
5
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
41
|
-
let
|
|
42
|
-
let
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
90
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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"),
|
|
227
|
-
path.join(projectRoot, "dist/client"),
|
|
228
|
-
path.join(projectRoot, "build/client"),
|
|
229
|
-
path.join(projectRoot, "build"),
|
|
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
|
-
|
|
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
|
-
|
|
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"),
|
|
281
|
-
path.join(outputPath, "server-handler"),
|
|
282
|
-
path.join(outputPath, "meta.json"),
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
376
|
-
await bundleServerCode(context, bundleConfig);
|
|
377
|
-
// Cleanup temporary wrapper file
|
|
219
|
+
const bundleResult = await bundleServerCode(context, bundleConfig);
|
|
378
220
|
await cleanupWrapper(wrapperPath);
|
|
379
|
-
//
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
445
|
-
|
|
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
|
|
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"}
|