@chuckcchen/vite-plugin 1.0.2 → 1.0.4

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/factory.js CHANGED
@@ -1,11 +1,10 @@
1
1
  /**
2
2
  * Adapter Factory - Simplifies the creation of framework adapters
3
3
  *
4
- * Provides factory functions and preset configurations to reduce boilerplate code in adapter development
4
+ * Provides factory functions and preset configurations to reduce boilerplate code
5
5
  */
6
6
  import path from "path";
7
- import { detectConfigFile, detectBuildDir, detectServerEntry, generateServerWrapperCode, createDefaultMeta, logBuildArtifacts, } from "./helpers.js";
8
- import { pathExists } from "./utils.js";
7
+ import { pathExists, readFile, detectConfigFile, detectBuildDir, detectServerEntry, generateServerWrapperCode, createDefaultMeta, logBuildArtifacts, } from "./utils.js";
9
8
  /**
10
9
  * Built-in server wrapper presets
11
10
  */
@@ -54,27 +53,49 @@ const buildConfig = {
54
53
  const requestHandler = createRequestHandler(buildConfig);`.trim(),
55
54
  handlerCall: "requestHandler(webRequest, ...args)",
56
55
  },
56
+ /** Vite SSR - standard Vite SSR with render function */
57
+ viteSSR: {
58
+ requiresHtmlTemplate: true,
59
+ handlerSetup: `
60
+ const renderFn = typeof render === 'function'
61
+ ? render
62
+ : (typeof module !== 'undefined' && typeof module.render === 'function' ? module.render : null);
63
+
64
+ if (!renderFn) {
65
+ throw new Error('No render function found in server build. Expected export: render(url)');
66
+ }
67
+
68
+ async function handleSSRRequest(request) {
69
+ const url = new URL(request.url);
70
+ const pathname = url.pathname;
71
+
72
+ try {
73
+ const rendered = await renderFn(pathname);
74
+ let html = __HTML_TEMPLATE__
75
+ .replace('<!--app-head-->', rendered.head ?? '')
76
+ .replace('<!--app-html-->', rendered.html ?? '');
77
+
78
+ return new Response(html, {
79
+ status: 200,
80
+ headers: { 'Content-Type': 'text/html; charset=utf-8' }
81
+ });
82
+ } catch (error) {
83
+ console.error('SSR render error:', error);
84
+ return new Response('Internal Server Error: ' + error.message, {
85
+ status: 500,
86
+ headers: { 'Content-Type': 'text/plain' }
87
+ });
88
+ }
89
+ }`.trim(),
90
+ handlerCall: "handleSSRRequest(webRequest)",
91
+ },
57
92
  };
58
93
  /**
59
94
  * Create a framework adapter
60
- *
61
- * @example
62
- * ```ts
63
- * const adapter = createFrameworkAdapter({
64
- * name: "my-framework",
65
- * configFiles: ["my-framework.config.ts", "my-framework.config.js"],
66
- * buildDirs: {
67
- * client: ["dist/client", "dist"],
68
- * server: ["dist/server"],
69
- * },
70
- * serverWrapper: "generic",
71
- * });
72
- * ```
73
95
  */
74
96
  export function createFrameworkAdapter(config, options = {}, overrides) {
75
- const { name, configFiles, buildDirs, serverEntryFiles = ["index.js", "index.mjs", "entry.js", "main.js"], serverWrapper = "generic", defaultRoutes = ["/"], ssrExtraRoutes = [], ssr404, } = config;
97
+ const { name, configFiles, buildDirs, serverEntryFiles = ["index.js", "index.mjs", "entry.js", "main.js"], serverWrapper = "generic", defaultRoutes = ["/"], ssrExtraRoutes = [], ssr404, htmlTemplatePaths = ["dist/client/index.html", "dist/index.html"], } = config;
76
98
  const { clientBuildDir, serverBuildDir, serverEntry, routes = defaultRoutes, } = options;
77
- // Resolve server wrapper configuration
78
99
  const wrapperConfig = typeof serverWrapper === "string"
79
100
  ? SERVER_WRAPPER_PRESETS[serverWrapper]
80
101
  : serverWrapper;
@@ -86,18 +107,13 @@ export function createFrameworkAdapter(config, options = {}, overrides) {
86
107
  },
87
108
  async getBuildArtifacts(context) {
88
109
  const { projectRoot, isSSR, logger } = context;
89
- // Detect client directory
90
110
  let clientDir = null;
91
111
  if (clientBuildDir) {
92
112
  clientDir = path.join(projectRoot, clientBuildDir);
93
113
  }
94
114
  else {
95
- const candidates = isSSR && buildDirs.server
96
- ? buildDirs.client
97
- : buildDirs.client;
98
- clientDir = await detectBuildDir(projectRoot, candidates);
115
+ clientDir = await detectBuildDir(projectRoot, buildDirs.client);
99
116
  }
100
- // Detect server directory and entry
101
117
  let serverDir = null;
102
118
  let serverEntryPath = null;
103
119
  if (isSSR && buildDirs.server) {
@@ -133,7 +149,6 @@ export function createFrameworkAdapter(config, options = {}, overrides) {
133
149
  isStatic: !context.isSSR,
134
150
  srcRoute: route,
135
151
  }));
136
- // Add extra routes for SSR mode
137
152
  if (context.isSSR && ssrExtraRoutes.length > 0) {
138
153
  ssrExtraRoutes.forEach((route) => {
139
154
  routeList.push({ path: route, isStatic: false, srcRoute: route });
@@ -143,7 +158,6 @@ export function createFrameworkAdapter(config, options = {}, overrides) {
143
158
  },
144
159
  async generateMeta(context, routeList) {
145
160
  const meta = createDefaultMeta(routeList, { isSSR: context.isSSR });
146
- // Custom ssr404 handling
147
161
  if (ssr404 !== undefined) {
148
162
  meta.conf.ssr404 = typeof ssr404 === "function"
149
163
  ? ssr404(context.isSSR)
@@ -151,93 +165,92 @@ export function createFrameworkAdapter(config, options = {}, overrides) {
151
165
  }
152
166
  return meta;
153
167
  },
154
- async generateServerWrapper(_context, config) {
168
+ async generateServerWrapper(context, wrapperCfg) {
169
+ let handlerSetup = wrapperConfig.handlerSetup;
170
+ if (wrapperConfig.requiresHtmlTemplate) {
171
+ const { projectRoot, outputDir, logger } = context;
172
+ let htmlTemplate = "";
173
+ const templateCandidates = [
174
+ ...htmlTemplatePaths.map(p => path.join(projectRoot, p)),
175
+ path.join(projectRoot, outputDir, "assets/index.html"),
176
+ ];
177
+ for (const templatePath of templateCandidates) {
178
+ if (await pathExists(templatePath)) {
179
+ htmlTemplate = await readFile(templatePath);
180
+ logger.verbose(`Found HTML template: ${templatePath}`);
181
+ break;
182
+ }
183
+ }
184
+ if (!htmlTemplate) {
185
+ logger.warn("HTML template not found, using default template");
186
+ htmlTemplate = "<!DOCTYPE html><html><head><!--app-head--></head><body><div id=\"app\"><!--app-html--></div></body></html>";
187
+ }
188
+ const escapedTemplate = JSON.stringify(htmlTemplate);
189
+ handlerSetup = `const __HTML_TEMPLATE__ = ${escapedTemplate};\n\n${handlerSetup}`;
190
+ }
155
191
  return generateServerWrapperCode({
156
- serverEntryPath: config.serverEntryPath,
192
+ serverEntryPath: wrapperCfg.serverEntryPath,
157
193
  imports: wrapperConfig.imports,
158
- handlerSetup: wrapperConfig.handlerSetup,
194
+ handlerSetup,
159
195
  handlerCall: wrapperConfig.handlerCall,
160
196
  });
161
197
  },
162
198
  },
163
199
  };
164
- // Merge user overrides
165
200
  if (overrides) {
166
- return mergeAdapter(baseAdapter, overrides);
167
- }
168
- return baseAdapter;
169
- }
170
- /**
171
- * Merge adapter configurations
172
- */
173
- function mergeAdapter(base, overrides) {
174
- const merged = {
175
- ...base,
176
- ...overrides,
177
- name: overrides.name || base.name,
178
- };
179
- // Merge hooks
180
- if (base.hooks || overrides.hooks) {
181
- merged.hooks = {
182
- ...base.hooks,
183
- ...overrides.hooks,
201
+ return {
202
+ ...baseAdapter,
203
+ ...overrides,
204
+ name: overrides.name || baseAdapter.name,
205
+ hooks: { ...baseAdapter.hooks, ...overrides.hooks },
184
206
  };
185
207
  }
186
- return merged;
208
+ return baseAdapter;
187
209
  }
188
210
  /**
189
- * Create a stateful adapter
190
- * Used for complex adapters that need to share state between different hooks
211
+ * Create a stateful adapter (for complex adapters needing shared state)
191
212
  */
192
213
  export function createStatefulAdapter(initialState, factory) {
193
- const state = { ...initialState };
194
- return factory(state);
214
+ return factory({ ...initialState });
195
215
  }
196
216
  /**
197
- * Compose multiple hooks
217
+ * Combine multiple detector functions (returns true if any matches)
198
218
  */
199
- export function composeHooks(...hooksList) {
200
- const result = {};
201
- for (const hooks of hooksList) {
202
- if (!hooks)
203
- continue;
204
- Object.assign(result, hooks);
205
- }
206
- return result;
219
+ export function combineDetectors(...detectors) {
220
+ return async (context) => {
221
+ for (const detector of detectors) {
222
+ if (await detector(context)) {
223
+ return true;
224
+ }
225
+ }
226
+ return false;
227
+ };
207
228
  }
208
229
  /**
209
- * Create a detector function - based on config files
230
+ * Create detector based on config files
210
231
  */
211
232
  export function createConfigDetector(configFiles) {
212
233
  return async (context) => {
213
- const configPath = await detectConfigFile(context.projectRoot, configFiles);
214
- return configPath !== null;
234
+ return (await detectConfigFile(context.projectRoot, configFiles)) !== null;
215
235
  };
216
236
  }
217
237
  /**
218
- * Create a detector function - based on build directories
238
+ * Create detector based on build directories
219
239
  */
220
240
  export function createBuildDirDetector(buildDirs) {
221
241
  return async (context) => {
222
- for (const dir of buildDirs) {
223
- if (await pathExists(path.join(context.projectRoot, dir))) {
224
- return true;
225
- }
226
- }
227
- return false;
242
+ return (await detectBuildDir(context.projectRoot, buildDirs)) !== null;
228
243
  };
229
244
  }
230
245
  /**
231
- * Create a detector function - based on package.json dependencies
246
+ * Create detector based on package.json dependencies
232
247
  */
233
248
  export function createDependencyDetector(dependencies) {
234
249
  return async (context) => {
235
250
  const packageJsonPath = path.join(context.projectRoot, "package.json");
236
- if (!await pathExists(packageJsonPath)) {
251
+ if (!await pathExists(packageJsonPath))
237
252
  return false;
238
- }
239
253
  try {
240
- const { readFile } = await import("./utils.js");
241
254
  const content = await readFile(packageJsonPath);
242
255
  const packageJson = JSON.parse(content);
243
256
  const deps = { ...packageJson.dependencies, ...packageJson.devDependencies };
@@ -248,17 +261,4 @@ export function createDependencyDetector(dependencies) {
248
261
  }
249
262
  };
250
263
  }
251
- /**
252
- * Combine multiple detector functions (returns true if any matches)
253
- */
254
- export function combineDetectors(...detectors) {
255
- return async (context) => {
256
- for (const detector of detectors) {
257
- if (await detector(context)) {
258
- return true;
259
- }
260
- }
261
- return false;
262
- };
263
- }
264
264
  //# sourceMappingURL=factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,11 +3,10 @@
3
3
  * Core adapter plugin for EdgeOne platform
4
4
  */
5
5
  export { createCoreAdapter, default } from "./core.js";
6
- export { bundleServerCode, createServerWrapper, cleanupWrapper, getBundleSize, } from "./bundler.js";
7
- export { createLogger, pathExists, findExistingPath, copyDirectory, cleanDirectory, ensureDirectory, readFile, writeFile, deleteFile, formatSize, waitFor, listFiles, countFiles, } from "./utils.js";
8
- export { detectConfigFile, loadConfigFile, createDefaultMeta, NODE_REQUEST_CONVERTER_CODE, generateServerWrapperCode, normalizeRoutePath, routePathToRegex, detectServerEntry, detectBuildDir, logBuildArtifacts, } from "./helpers.js";
9
- export { createFrameworkAdapter, createStatefulAdapter, composeHooks, createConfigDetector, createBuildDirDetector, createDependencyDetector, combineDetectors, SERVER_WRAPPER_PRESETS, } from "./factory.js";
6
+ export { bundleServerCode, createServerWrapper, cleanupWrapper, } from "./bundler.js";
7
+ export { createLogger, logBuildArtifacts, pathExists, copyDirectory, ensureDirectory, readFile, writeFile, deleteFile, listFiles, detectConfigFile, detectBuildDir, detectServerEntry, loadConfigFile, normalizeRoutePath, createDefaultMeta, NODE_REQUEST_CONVERTER_CODE, generateServerWrapperCode, } from "./utils.js";
8
+ export { createFrameworkAdapter, createStatefulAdapter, combineDetectors, createConfigDetector, createBuildDirDetector, createDependencyDetector, SERVER_WRAPPER_PRESETS, } from "./factory.js";
10
9
  export type { RouteInfo, MetaConfig, HeaderRule, RedirectRule, RewriteRule, CacheRule, BuildContext, Logger, BuildArtifacts, ServerWrapperConfig, ServerBundleConfig, BeforeBuildHook, AfterBuildHook, BeforeBundleHook, AfterBundleHook, GenerateRoutesHook, GenerateMetaHook, GenerateServerWrapperHook, AdapterHooks, FrameworkAdapter, CoreAdapterOptions, ViteAdapterOptions, ReactRouterAdapterOptions, TanStackStartAdapterOptions, CreateAdapterPlugin, } from "./types.js";
11
- export type { ServerWrapperGeneratorOptions } from "./helpers.js";
10
+ export type { ServerWrapperGeneratorOptions } from "./utils.js";
12
11
  export type { ServerWrapperPreset, BuildDirConfig, AdapterFactoryConfig, AdapterFactoryOptions, } from "./factory.js";
13
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGvD,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,eAAe,EACf,QAAQ,EACR,SAAS,EACT,UAAU,EACV,UAAU,EACV,OAAO,EACP,SAAS,EACT,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAElE,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGvD,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EAEL,YAAY,EACZ,iBAAiB,EAEjB,UAAU,EACV,aAAa,EACb,eAAe,EACf,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EAET,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,cAAc,EAEd,kBAAkB,EAElB,iBAAiB,EAEjB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAEhE,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -5,11 +5,21 @@
5
5
  // Core
6
6
  export { createCoreAdapter, default } from "./core.js";
7
7
  // Bundler
8
- export { bundleServerCode, createServerWrapper, cleanupWrapper, getBundleSize, } from "./bundler.js";
9
- // Utils
10
- export { createLogger, pathExists, findExistingPath, copyDirectory, cleanDirectory, ensureDirectory, readFile, writeFile, deleteFile, formatSize, waitFor, listFiles, countFiles, } from "./utils.js";
11
- // Helpers
12
- export { detectConfigFile, loadConfigFile, createDefaultMeta, NODE_REQUEST_CONVERTER_CODE, generateServerWrapperCode, normalizeRoutePath, routePathToRegex, detectServerEntry, detectBuildDir, logBuildArtifacts, } from "./helpers.js";
8
+ export { bundleServerCode, createServerWrapper, cleanupWrapper, } from "./bundler.js";
9
+ // Utils (merged from helpers.js)
10
+ export {
11
+ // Logging
12
+ createLogger, logBuildArtifacts,
13
+ // File system
14
+ pathExists, copyDirectory, ensureDirectory, readFile, writeFile, deleteFile, listFiles,
15
+ // Detection
16
+ detectConfigFile, detectBuildDir, detectServerEntry, loadConfigFile,
17
+ // Route helpers
18
+ normalizeRoutePath,
19
+ // Meta
20
+ createDefaultMeta,
21
+ // Server wrapper
22
+ NODE_REQUEST_CONVERTER_CODE, generateServerWrapperCode, } from "./utils.js";
13
23
  // Factory
14
- export { createFrameworkAdapter, createStatefulAdapter, composeHooks, createConfigDetector, createBuildDirDetector, createDependencyDetector, combineDetectors, SERVER_WRAPPER_PRESETS, } from "./factory.js";
24
+ export { createFrameworkAdapter, createStatefulAdapter, combineDetectors, createConfigDetector, createBuildDirDetector, createDependencyDetector, SERVER_WRAPPER_PRESETS, } from "./factory.js";
15
25
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO;AACP,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEvD,UAAU;AACV,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,cAAc,CAAC;AAEtB,QAAQ;AACR,OAAO,EACL,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,eAAe,EACf,QAAQ,EACR,SAAS,EACT,UAAU,EACV,UAAU,EACV,OAAO,EACP,SAAS,EACT,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,UAAU;AACV,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,UAAU;AACV,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO;AACP,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEvD,UAAU;AACV,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,iCAAiC;AACjC,OAAO;AACL,UAAU;AACV,YAAY,EACZ,iBAAiB;AACjB,cAAc;AACd,UAAU,EACV,aAAa,EACb,eAAe,EACf,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS;AACT,YAAY;AACZ,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,OAAO;AACP,iBAAiB;AACjB,iBAAiB;AACjB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,UAAU;AACV,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,cAAc,CAAC"}
package/dist/utils.d.ts CHANGED
@@ -1,164 +1,96 @@
1
1
  /**
2
2
  * EdgeOne Vite Plugin Adapter - Utility Functions Module
3
3
  *
4
- * This module provides a set of general utility functions, including:
4
+ * This module provides utility functions for:
5
5
  * - Logging
6
- * - File system operations (read, write, copy, delete, etc.)
6
+ * - File system operations
7
7
  * - Path detection
8
- * - File size formatting
9
- * - Conditional waiting, etc.
8
+ * - Config file loading
9
+ * - Server wrapper generation
10
+ * - Meta configuration
10
11
  */
11
- import type { Logger } from "./types.js";
12
+ import type { Logger, RouteInfo, MetaConfig } from "./types.js";
12
13
  /**
13
14
  * Create logger instance
14
- *
15
- * @param verbose - Enable verbose logging mode, default is false
16
- * @returns Logger object with log, verbose, warn, error methods
17
- *
18
- * @example
19
- * const logger = createLogger(true);
20
- * logger.verbose("This message only shows in verbose mode");
21
- * logger.warn("This is a warning message");
22
15
  */
23
16
  export declare function createLogger(verbose?: boolean): Logger;
24
17
  /**
25
18
  * Check if specified path exists
26
- *
27
- * @param filePath - File or directory path to check
28
- * @returns True if path exists, false otherwise
29
- *
30
- * @example
31
- * if (await pathExists('/path/to/file')) {
32
- * console.log('File exists');
33
- * }
34
19
  */
35
20
  export declare function pathExists(filePath: string): Promise<boolean>;
36
- /**
37
- * Find first existing path from candidate list
38
- *
39
- * @param candidates - Candidate paths array, sorted by priority
40
- * @returns First existing path, or null if none exist
41
- *
42
- * @example
43
- * const buildDir = await findExistingPath([
44
- * '/project/dist',
45
- * '/project/build',
46
- * '/project/output'
47
- * ]);
48
- */
49
- export declare function findExistingPath(candidates: string[]): Promise<string | null>;
50
21
  /**
51
22
  * Recursively copy directory
52
- * Copy all contents from source directory to destination directory
53
- *
54
- * @param src - Source directory path
55
- * @param dest - Destination directory path
56
- *
57
- * @example
58
- * await copyDirectory('dist/client', '.edgeone/assets');
59
23
  */
60
24
  export declare function copyDirectory(src: string, dest: string): Promise<void>;
61
25
  /**
62
- * Clean directory (delete and recreate)
63
- * Used to ensure directory is in a clean empty state
64
- *
65
- * @param dir - Directory path to clean
66
- *
67
- * @example
68
- * await cleanDirectory('.edgeone');
69
- */
70
- export declare function cleanDirectory(dir: string): Promise<void>;
71
- /**
72
- * Ensure directory exists
73
- * Recursively create if directory doesn't exist
74
- *
75
- * @param dir - Directory path
76
- *
77
- * @example
78
- * await ensureDirectory('.edgeone/server-handler');
26
+ * Ensure directory exists (creates recursively if needed)
79
27
  */
80
28
  export declare function ensureDirectory(dir: string): Promise<void>;
81
29
  /**
82
30
  * Read file content as string
83
- *
84
- * @param filePath - File path
85
- * @returns File content string (UTF-8 encoded)
86
- *
87
- * @example
88
- * const content = await readFile('dist/server/index.js');
89
31
  */
90
32
  export declare function readFile(filePath: string): Promise<string>;
91
33
  /**
92
- * Write content to file
93
- * Automatically creates parent directory if it doesn't exist
94
- *
95
- * @param filePath - File path
96
- * @param content - Content to write
97
- *
98
- * @example
99
- * await writeFile('.edgeone/meta.json', JSON.stringify(config));
34
+ * Write content to file (auto-creates parent directory)
100
35
  */
101
36
  export declare function writeFile(filePath: string, content: string): Promise<void>;
102
37
  /**
103
38
  * Delete file
104
- *
105
- * @param filePath - File path to delete
106
- *
107
- * @example
108
- * await deleteFile('server-wrapper.temp.js');
109
39
  */
110
40
  export declare function deleteFile(filePath: string): Promise<void>;
111
41
  /**
112
- * Format file size to human-readable string
113
- *
114
- * @param bytes - Number of bytes
115
- * @returns Formatted string, e.g. "1.5 KB", "2.3 MB"
116
- *
117
- * @example
118
- * formatSize(1536); // "1.5 KB"
119
- * formatSize(2457600); // "2.34 MB"
42
+ * List files in directory
120
43
  */
121
- export declare function formatSize(bytes: number): string;
44
+ export declare function listFiles(dir: string): Promise<string[]>;
122
45
  /**
123
- * Wait for condition to be met (with retry mechanism)
124
- * Used to wait for async operations to complete, like file writes
125
- *
126
- * @param condition - Async condition function returning boolean
127
- * @param options - Configuration options
128
- * @param options.maxRetries - Maximum retry count, default 15
129
- * @param options.delay - Delay between retries in milliseconds, default 300ms
130
- * @returns True if condition met, false if timeout
131
- *
132
- * @example
133
- * const ready = await waitFor(
134
- * async () => await pathExists('dist/index.html'),
135
- * { maxRetries: 10, delay: 500 }
136
- * );
137
- */
138
- export declare function waitFor(condition: () => Promise<boolean>, options?: {
139
- maxRetries?: number;
140
- delay?: number;
141
- }): Promise<boolean>;
142
- /**
143
- * List files and subdirectory names in directory
144
- *
145
- * @param dir - Directory path
146
- * @returns Array of file and directory names, empty array if directory doesn't exist
147
- *
148
- * @example
149
- * const files = await listFiles('dist/client');
150
- * // ['index.html', 'assets', 'favicon.ico']
46
+ * Detect config file from candidate list
151
47
  */
152
- export declare function listFiles(dir: string): Promise<string[]>;
48
+ export declare function detectConfigFile(projectRoot: string, patterns: string[]): Promise<string | null>;
153
49
  /**
154
- * Recursively count files in directory
155
- *
156
- * @param dir - Directory path
157
- * @returns Total file count (excluding directories)
158
- *
159
- * @example
160
- * const count = await countFiles('dist');
161
- * console.log(`Build artifacts contain ${count} files`);
50
+ * Detect build directory from candidate list
51
+ */
52
+ export declare function detectBuildDir(projectRoot: string, candidates: string[]): Promise<string | null>;
53
+ /**
54
+ * Detect server entry file from candidate list
55
+ */
56
+ export declare function detectServerEntry(serverDir: string, candidates?: string[]): Promise<string | null>;
57
+ /**
58
+ * Dynamically import config file
59
+ */
60
+ export declare function loadConfigFile<T = unknown>(configPath: string): Promise<T | null>;
61
+ /**
62
+ * Normalize route path
63
+ */
64
+ export declare function normalizeRoutePath(routePath: string): string;
65
+ /**
66
+ * Create default meta configuration
67
+ */
68
+ export declare function createDefaultMeta(routes: RouteInfo[], options?: {
69
+ isSSR?: boolean;
70
+ has404?: boolean;
71
+ }): MetaConfig;
72
+ /** Node.js IncomingMessage to Web Request converter code */
73
+ export declare const NODE_REQUEST_CONVERTER_CODE: string;
74
+ /** Server wrapper generator options */
75
+ export interface ServerWrapperGeneratorOptions {
76
+ serverEntryPath: string;
77
+ handlerSetup?: string;
78
+ handlerCall: string;
79
+ imports?: string;
80
+ needsNodeRequestConversion?: boolean;
81
+ mode?: "inline" | "import";
82
+ additionalExports?: string[];
83
+ }
84
+ /**
85
+ * Generate server wrapper code
86
+ */
87
+ export declare function generateServerWrapperCode(options: ServerWrapperGeneratorOptions): Promise<string>;
88
+ /**
89
+ * Log build artifacts info
162
90
  */
163
- export declare function countFiles(dir: string): Promise<number>;
91
+ export declare function logBuildArtifacts(logger: Logger, adapterName: string, artifacts: {
92
+ clientDir?: string | null;
93
+ serverDir?: string | null;
94
+ serverEntry?: string | null;
95
+ }): void;
164
96
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,OAAe,GAAG,MAAM,CAqB7D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOnF;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5E;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/D;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhE;AAED;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEhE;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhF;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EACjC,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACpD,OAAO,CAAC,OAAO,CAAC,CAclB;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAM9D;AAED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqB7D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}