@chuckcchen/vite-plugin 1.0.12 → 1.0.13

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.
@@ -0,0 +1,465 @@
1
+ /**
2
+ * Vite Config Parser - Centralized Vite configuration parsing module
3
+ *
4
+ * This module provides a unified interface for parsing and extracting
5
+ * configuration from Vite's ResolvedConfig object.
6
+ *
7
+ * Supported Vite Config Properties:
8
+ * - build.outDir: Custom output directory
9
+ * - build.assetsDir: Static assets directory name
10
+ * - build.ssr: SSR entry point (string or boolean)
11
+ * - build.manifest: Whether to generate manifest.json
12
+ * - build.ssrManifest: Whether to generate SSR manifest
13
+ * - base: Public base path
14
+ * - rollupOptions.input: Entry file(s) - string, array, or object
15
+ * - rollupOptions.output.dir: Output directory override
16
+ * - rollupOptions.output.entryFileNames: Output filename pattern
17
+ * - rollupOptions.output.assetFileNames: Asset filename pattern
18
+ * - rollupOptions.output.chunkFileNames: Chunk filename pattern
19
+ *
20
+ * Not Supported (with reasons):
21
+ * - rollupOptions.output.entryFileNames as function: Cannot be statically evaluated
22
+ * - rollupOptions.output.assetFileNames as function: Cannot be statically evaluated
23
+ * - rollupOptions.output.chunkFileNames as function: Cannot be statically evaluated
24
+ * - build.lib: Library mode is not applicable for EdgeOne deployment
25
+ * - build.watch: Watch mode is not relevant for production builds
26
+ */
27
+ import path from "path";
28
+ import fs from "fs/promises";
29
+ /**
30
+ * Default server entry file candidates
31
+ */
32
+ const DEFAULT_SERVER_ENTRY_CANDIDATES = [
33
+ "index.js",
34
+ "index.mjs",
35
+ "entry-server.js",
36
+ "entry-server.mjs",
37
+ "server.js",
38
+ "server.mjs",
39
+ ];
40
+ // ============================================================================
41
+ // ViteConfigParser Class
42
+ // ============================================================================
43
+ /**
44
+ * Vite Configuration Parser
45
+ *
46
+ * Provides a unified interface for extracting and parsing Vite configuration.
47
+ * Handles various configuration patterns and provides sensible defaults.
48
+ */
49
+ export class ViteConfigParser {
50
+ constructor(config, projectRoot, options = {}) {
51
+ this.config = config;
52
+ this.projectRoot = projectRoot;
53
+ this.logger = options.logger;
54
+ this.serverEntryCandidates =
55
+ options.serverEntryCandidates || DEFAULT_SERVER_ENTRY_CANDIDATES;
56
+ }
57
+ // ==========================================================================
58
+ // Main Parse Method
59
+ // ==========================================================================
60
+ /**
61
+ * Parse complete Vite configuration information
62
+ */
63
+ async parse() {
64
+ const outDir = this.getOutputDir();
65
+ const assetsDir = this.getAssetsDir();
66
+ const absoluteOutDir = this.getAbsoluteOutputDir();
67
+ const serverDir = this.getServerDir();
68
+ return {
69
+ // Basic
70
+ root: this.config.root,
71
+ base: this.getBase(),
72
+ mode: this.config.mode,
73
+ // Build output
74
+ outDir,
75
+ assetsDir,
76
+ absoluteOutDir,
77
+ absoluteAssetsDir: path.join(absoluteOutDir, assetsDir),
78
+ // SSR
79
+ isSSR: this.isSSRBuild(),
80
+ ssrEntry: this.getSSREntry(),
81
+ // Server
82
+ serverDir,
83
+ serverEntryPath: serverDir
84
+ ? await this.findServerEntry(serverDir)
85
+ : null,
86
+ // Manifest
87
+ hasManifest: this.hasManifest(),
88
+ hasSSRManifest: this.hasSSRManifest(),
89
+ // Rollup patterns
90
+ entryFileNames: this.getEntryFileNames(),
91
+ assetFileNames: this.getAssetFileNames(),
92
+ chunkFileNames: this.getChunkFileNames(),
93
+ };
94
+ }
95
+ // ==========================================================================
96
+ // Basic Configuration
97
+ // ==========================================================================
98
+ /**
99
+ * Get public base path
100
+ * Used for asset URL prefixing
101
+ */
102
+ getBase() {
103
+ return this.config.base || "/";
104
+ }
105
+ // ==========================================================================
106
+ // Output Directory Configuration
107
+ // ==========================================================================
108
+ /**
109
+ * Get output directory (relative path)
110
+ * Priority: rollupOptions.output.dir > build.outDir > "dist"
111
+ */
112
+ getOutputDir() {
113
+ const buildConfig = this.config.build;
114
+ // Check rollupOptions.output.dir first (takes precedence)
115
+ const rollupOutput = buildConfig.rollupOptions?.output;
116
+ if (rollupOutput) {
117
+ const outputDir = Array.isArray(rollupOutput)
118
+ ? rollupOutput[0]?.dir
119
+ : rollupOutput.dir;
120
+ if (outputDir) {
121
+ this.logger?.verbose(`Output dir from rollupOptions.output.dir: ${outputDir}`);
122
+ return outputDir;
123
+ }
124
+ }
125
+ // Fall back to build.outDir
126
+ const outDir = buildConfig.outDir || "dist";
127
+ this.logger?.verbose(`Output dir from build.outDir: ${outDir}`);
128
+ return outDir;
129
+ }
130
+ /**
131
+ * Get absolute output directory path
132
+ */
133
+ getAbsoluteOutputDir() {
134
+ const outDir = this.getOutputDir();
135
+ if (path.isAbsolute(outDir)) {
136
+ return outDir;
137
+ }
138
+ return path.join(this.projectRoot, outDir);
139
+ }
140
+ /**
141
+ * Get assets directory name (relative to outDir)
142
+ * Default: "assets"
143
+ */
144
+ getAssetsDir() {
145
+ return this.config.build.assetsDir || "assets";
146
+ }
147
+ // ==========================================================================
148
+ // SSR Configuration
149
+ // ==========================================================================
150
+ /**
151
+ * Check if this is an SSR build
152
+ */
153
+ isSSRBuild() {
154
+ const ssr = this.config.build.ssr;
155
+ return ssr !== false && ssr !== undefined;
156
+ }
157
+ /**
158
+ * Get SSR entry point (if specified as string path)
159
+ */
160
+ getSSREntry() {
161
+ const ssr = this.config.build.ssr;
162
+ if (typeof ssr === "string") {
163
+ this.logger?.verbose(`SSR entry from build.ssr: ${ssr}`);
164
+ return ssr;
165
+ }
166
+ return null;
167
+ }
168
+ /**
169
+ * Get server output directory for SSR builds
170
+ */
171
+ getServerDir() {
172
+ if (!this.isSSRBuild()) {
173
+ return null;
174
+ }
175
+ return this.getAbsoluteOutputDir();
176
+ }
177
+ // ==========================================================================
178
+ // Manifest Configuration
179
+ // ==========================================================================
180
+ /**
181
+ * Check if manifest.json is generated
182
+ */
183
+ hasManifest() {
184
+ return this.config.build.manifest === true;
185
+ }
186
+ /**
187
+ * Check if SSR manifest is generated
188
+ */
189
+ hasSSRManifest() {
190
+ return this.config.build.ssrManifest === true;
191
+ }
192
+ // ==========================================================================
193
+ // Rollup Output Patterns
194
+ // ==========================================================================
195
+ /**
196
+ * Get entry file naming pattern
197
+ * Returns null if pattern is a function (cannot be statically evaluated)
198
+ */
199
+ getEntryFileNames() {
200
+ const output = this.getRollupOutput();
201
+ const pattern = output?.entryFileNames;
202
+ if (typeof pattern === "function") {
203
+ this.logger?.verbose("entryFileNames is a function, cannot be statically evaluated");
204
+ return null;
205
+ }
206
+ if (typeof pattern === "string") {
207
+ return pattern;
208
+ }
209
+ return "[name].js";
210
+ }
211
+ /**
212
+ * Get asset file naming pattern
213
+ * Returns null if pattern is a function (cannot be statically evaluated)
214
+ */
215
+ getAssetFileNames() {
216
+ const output = this.getRollupOutput();
217
+ const pattern = output?.assetFileNames;
218
+ if (typeof pattern === "function") {
219
+ this.logger?.verbose("assetFileNames is a function, cannot be statically evaluated");
220
+ return null;
221
+ }
222
+ if (typeof pattern === "string") {
223
+ return pattern;
224
+ }
225
+ return "assets/[name]-[hash][extname]";
226
+ }
227
+ /**
228
+ * Get chunk file naming pattern
229
+ * Returns null if pattern is a function (cannot be statically evaluated)
230
+ */
231
+ getChunkFileNames() {
232
+ const output = this.getRollupOutput();
233
+ const pattern = output?.chunkFileNames;
234
+ if (typeof pattern === "function") {
235
+ this.logger?.verbose("chunkFileNames is a function, cannot be statically evaluated");
236
+ return null;
237
+ }
238
+ if (typeof pattern === "string") {
239
+ return pattern;
240
+ }
241
+ return "assets/[name]-[hash].js";
242
+ }
243
+ /**
244
+ * Get rollup output configuration (handles array case)
245
+ */
246
+ getRollupOutput() {
247
+ const output = this.config.build.rollupOptions?.output;
248
+ if (Array.isArray(output)) {
249
+ return output[0];
250
+ }
251
+ return output;
252
+ }
253
+ // ==========================================================================
254
+ // Server Entry Detection
255
+ // ==========================================================================
256
+ /**
257
+ * Find server entry file path
258
+ * Priority:
259
+ * 1. Derive from rollupOptions.input + entryFileNames pattern
260
+ * 2. Derive from build.ssr entry
261
+ * 3. Fall back to candidate file search
262
+ */
263
+ async findServerEntry(serverDir) {
264
+ // Try to derive from Vite config first
265
+ const derivedEntry = await this.deriveServerEntryFromConfig(serverDir);
266
+ if (derivedEntry) {
267
+ return derivedEntry;
268
+ }
269
+ // Fall back to candidate search
270
+ return this.searchServerEntryCandidates(serverDir);
271
+ }
272
+ /**
273
+ * Derive server entry path from Vite configuration
274
+ */
275
+ async deriveServerEntryFromConfig(serverDir) {
276
+ // Get input name from various sources
277
+ const inputName = this.extractInputName();
278
+ if (!inputName) {
279
+ this.logger?.verbose("No input name found in Vite config");
280
+ return null;
281
+ }
282
+ this.logger?.verbose(`Extracted input name: ${inputName}`);
283
+ // Get entry file pattern
284
+ const entryPattern = this.getEntryFileNames();
285
+ if (!entryPattern) {
286
+ // Pattern is a function, cannot derive statically
287
+ return null;
288
+ }
289
+ // Replace [name] placeholder
290
+ let outputFileName = entryPattern.replace(/\[name\]/g, inputName);
291
+ // Handle [hash] placeholder - need to search for matching file
292
+ if (outputFileName.includes("[hash]")) {
293
+ this.logger?.verbose(`Entry pattern contains [hash], searching for matching file`);
294
+ return this.findFileByPattern(serverDir, outputFileName);
295
+ }
296
+ // Direct path check
297
+ const fullPath = path.join(serverDir, outputFileName);
298
+ if (await this.pathExists(fullPath)) {
299
+ this.logger?.verbose(`Found server entry from config: ${fullPath}`);
300
+ return fullPath;
301
+ }
302
+ this.logger?.verbose(`Server entry not found at expected path: ${fullPath}`);
303
+ return null;
304
+ }
305
+ /**
306
+ * Extract input name from Vite configuration
307
+ * Handles: build.ssr (string), rollupOptions.input (string/array/object)
308
+ */
309
+ extractInputName() {
310
+ const buildConfig = this.config.build;
311
+ // Try build.ssr first (if it's a string path)
312
+ if (typeof buildConfig.ssr === "string") {
313
+ const name = path.basename(buildConfig.ssr, path.extname(buildConfig.ssr));
314
+ this.logger?.verbose(`Input name from build.ssr: ${name}`);
315
+ return name;
316
+ }
317
+ // Try rollupOptions.input
318
+ const input = buildConfig.rollupOptions?.input;
319
+ if (!input) {
320
+ return null;
321
+ }
322
+ if (typeof input === "string") {
323
+ return path.basename(input, path.extname(input));
324
+ }
325
+ if (Array.isArray(input) && input.length > 0) {
326
+ return path.basename(input[0], path.extname(input[0]));
327
+ }
328
+ if (typeof input === "object" && input !== null) {
329
+ const keys = Object.keys(input);
330
+ if (keys.length > 0) {
331
+ return keys[0];
332
+ }
333
+ }
334
+ return null;
335
+ }
336
+ /**
337
+ * Search for server entry using candidate file names
338
+ */
339
+ async searchServerEntryCandidates(serverDir) {
340
+ for (const candidate of this.serverEntryCandidates) {
341
+ const entryPath = path.join(serverDir, candidate);
342
+ if (await this.pathExists(entryPath)) {
343
+ this.logger?.verbose(`Found server entry candidate: ${entryPath}`);
344
+ return entryPath;
345
+ }
346
+ }
347
+ // Also search in subdirectories (one level deep)
348
+ try {
349
+ const subdirs = await fs.readdir(serverDir);
350
+ for (const subdir of subdirs) {
351
+ const subdirPath = path.join(serverDir, subdir);
352
+ try {
353
+ const stat = await fs.stat(subdirPath);
354
+ if (stat.isDirectory()) {
355
+ for (const candidate of this.serverEntryCandidates) {
356
+ const entryPath = path.join(subdirPath, candidate);
357
+ if (await this.pathExists(entryPath)) {
358
+ this.logger?.verbose(`Found server entry in subdirectory: ${entryPath}`);
359
+ return entryPath;
360
+ }
361
+ }
362
+ }
363
+ }
364
+ catch {
365
+ // Ignore stat errors
366
+ }
367
+ }
368
+ }
369
+ catch (error) {
370
+ this.logger?.verbose(`Failed to search subdirectories: ${error instanceof Error ? error.message : String(error)}`);
371
+ }
372
+ return null;
373
+ }
374
+ /**
375
+ * Find file matching a pattern with placeholders
376
+ * Supports: [name], [hash], *
377
+ */
378
+ async findFileByPattern(baseDir, pattern) {
379
+ // Split pattern into directory parts and file pattern
380
+ const parts = pattern.split("/");
381
+ const filePattern = parts.pop() || "";
382
+ const subDir = parts.join("/");
383
+ const searchDir = subDir ? path.join(baseDir, subDir) : baseDir;
384
+ if (!(await this.pathExists(searchDir))) {
385
+ return null;
386
+ }
387
+ // Convert pattern to regex
388
+ const regexPattern = filePattern
389
+ .replace(/\[name\]/g, "([^-]+)")
390
+ .replace(/\[hash\]/g, "[a-zA-Z0-9]+")
391
+ .replace(/\*/g, ".*")
392
+ .replace(/\./g, "\\.");
393
+ const regex = new RegExp(`^${regexPattern}$`);
394
+ try {
395
+ const files = await fs.readdir(searchDir);
396
+ for (const file of files) {
397
+ if (regex.test(file)) {
398
+ const fullPath = path.join(searchDir, file);
399
+ this.logger?.verbose(`Found file matching pattern "${pattern}": ${fullPath}`);
400
+ return fullPath;
401
+ }
402
+ }
403
+ }
404
+ catch (error) {
405
+ this.logger?.verbose(`Error searching for pattern "${pattern}": ${error instanceof Error ? error.message : String(error)}`);
406
+ }
407
+ return null;
408
+ }
409
+ /**
410
+ * Check if path exists
411
+ */
412
+ async pathExists(filePath) {
413
+ try {
414
+ await fs.access(filePath);
415
+ return true;
416
+ }
417
+ catch {
418
+ return false;
419
+ }
420
+ }
421
+ }
422
+ // ============================================================================
423
+ // Factory Functions
424
+ // ============================================================================
425
+ /**
426
+ * Create a ViteConfigParser instance
427
+ */
428
+ export function createViteConfigParser(config, projectRoot, options) {
429
+ return new ViteConfigParser(config, projectRoot, options);
430
+ }
431
+ /**
432
+ * Parse Vite configuration (convenience function)
433
+ */
434
+ export async function parseViteConfig(config, projectRoot, options) {
435
+ const parser = createViteConfigParser(config, projectRoot, options);
436
+ return parser.parse();
437
+ }
438
+ // ============================================================================
439
+ // Standalone Helper Functions (for backward compatibility)
440
+ // ============================================================================
441
+ /**
442
+ * Get the effective output directory from Vite config
443
+ * @deprecated Use ViteConfigParser.getOutputDir() instead
444
+ */
445
+ export function getOutputDirFromViteConfig(viteConfig, logger) {
446
+ const parser = new ViteConfigParser(viteConfig, viteConfig.root, { logger });
447
+ return parser.getOutputDir();
448
+ }
449
+ /**
450
+ * Get the effective server directory from Vite config
451
+ * @deprecated Use ViteConfigParser.getServerDir() instead
452
+ */
453
+ export function getServerDirFromViteConfig(viteConfig, projectRoot, logger) {
454
+ const parser = new ViteConfigParser(viteConfig, projectRoot, { logger });
455
+ return parser.getServerDir();
456
+ }
457
+ /**
458
+ * Extract server entry path from Vite config
459
+ * @deprecated Use ViteConfigParser.findServerEntry() instead
460
+ */
461
+ export async function getServerEntryFromViteConfig(viteConfig, serverDir, logger) {
462
+ const parser = new ViteConfigParser(viteConfig, viteConfig.root, { logger });
463
+ return parser.findServerEntry(serverDir);
464
+ }
465
+ //# sourceMappingURL=vite-config-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-config-parser.js","sourceRoot":"","sources":["../src/vite-config-parser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chuckcchen/vite-plugin",
3
- "version": "1.0.12",
3
+ "version": "1.0.13",
4
4
  "description": "Core adapter plugin for EdgeOne platform - handles build artifacts, bundling, and deployment configuration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",