@chuckcchen/vite-plugin 1.0.4 → 1.0.5

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
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import path from "path";
7
7
  import { pathExists, readFile, detectConfigFile, detectBuildDir, detectServerEntry, generateServerWrapperCode, createDefaultMeta, logBuildArtifacts, } from "./utils.js";
8
+ import { parseRoutesFromSources, } from "./route-parser.js";
8
9
  /**
9
10
  * Built-in server wrapper presets
10
11
  */
@@ -90,111 +91,205 @@ async function handleSSRRequest(request) {
90
91
  handlerCall: "handleSSRRequest(webRequest)",
91
92
  },
92
93
  };
94
+ // ============================================================================
95
+ // Internal Helper Functions
96
+ // ============================================================================
93
97
  /**
94
- * Create a framework adapter
98
+ * Create default detect function based on config files
95
99
  */
96
- export function createFrameworkAdapter(config, options = {}, overrides) {
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;
98
- const { clientBuildDir, serverBuildDir, serverEntry, routes = defaultRoutes, } = options;
99
- const wrapperConfig = typeof serverWrapper === "string"
100
- ? SERVER_WRAPPER_PRESETS[serverWrapper]
101
- : serverWrapper;
102
- const baseAdapter = {
103
- name,
104
- async detect(context) {
105
- const configPath = await detectConfigFile(context.projectRoot, configFiles);
106
- return configPath !== null;
107
- },
108
- async getBuildArtifacts(context) {
109
- const { projectRoot, isSSR, logger } = context;
110
- let clientDir = null;
111
- if (clientBuildDir) {
112
- clientDir = path.join(projectRoot, clientBuildDir);
100
+ function createDefaultDetector(configFiles) {
101
+ return async (context) => {
102
+ const configPath = await detectConfigFile(context.projectRoot, configFiles);
103
+ return configPath !== null;
104
+ };
105
+ }
106
+ /**
107
+ * Create default getBuildArtifacts function
108
+ */
109
+ function createDefaultBuildArtifactsGetter(name, buildDirs, serverEntryFiles, options) {
110
+ const { clientBuildDir, serverBuildDir, serverEntry } = options;
111
+ return async (context) => {
112
+ const { projectRoot, isSSR, logger } = context;
113
+ let clientDir = null;
114
+ if (clientBuildDir) {
115
+ clientDir = path.join(projectRoot, clientBuildDir);
116
+ }
117
+ else {
118
+ clientDir = await detectBuildDir(projectRoot, buildDirs.client);
119
+ }
120
+ let serverDir = null;
121
+ let serverEntryPath = null;
122
+ if (isSSR && buildDirs.server) {
123
+ if (serverBuildDir) {
124
+ serverDir = path.join(projectRoot, serverBuildDir);
113
125
  }
114
126
  else {
115
- clientDir = await detectBuildDir(projectRoot, buildDirs.client);
127
+ serverDir = await detectBuildDir(projectRoot, buildDirs.server);
116
128
  }
117
- let serverDir = null;
118
- let serverEntryPath = null;
119
- if (isSSR && buildDirs.server) {
120
- if (serverBuildDir) {
121
- serverDir = path.join(projectRoot, serverBuildDir);
122
- }
123
- else {
124
- serverDir = await detectBuildDir(projectRoot, buildDirs.server);
125
- }
126
- if (serverEntry) {
127
- serverEntryPath = path.join(projectRoot, serverEntry);
129
+ if (serverEntry) {
130
+ serverEntryPath = path.join(projectRoot, serverEntry);
131
+ }
132
+ else if (serverDir) {
133
+ serverEntryPath = await detectServerEntry(serverDir, serverEntryFiles);
134
+ }
135
+ }
136
+ logBuildArtifacts(logger, name, {
137
+ clientDir,
138
+ serverDir,
139
+ serverEntry: serverEntryPath,
140
+ });
141
+ return {
142
+ clientDir,
143
+ serverDir,
144
+ serverEntry: serverEntryPath,
145
+ assetsDir: clientDir,
146
+ };
147
+ };
148
+ }
149
+ /**
150
+ * Create generateRoutes hook
151
+ */
152
+ function createGenerateRoutesHook(effectiveRouteConfig, fallbackRoutes) {
153
+ return async (context) => {
154
+ const { projectRoot, isSSR, logger } = context;
155
+ // Try declarative route sources first
156
+ if (effectiveRouteConfig.sources && effectiveRouteConfig.sources.length > 0) {
157
+ let parsedRoutes = await parseRoutesFromSources(projectRoot, effectiveRouteConfig.sources, { isSSR, logger });
158
+ if (parsedRoutes.length > 0) {
159
+ // Apply transform if provided
160
+ if (effectiveRouteConfig.transform) {
161
+ parsedRoutes = effectiveRouteConfig.transform(parsedRoutes, context);
128
162
  }
129
- else if (serverDir) {
130
- serverEntryPath = await detectServerEntry(serverDir, serverEntryFiles);
163
+ // Add SSR extra routes
164
+ if (isSSR && effectiveRouteConfig.ssrExtraRoutes) {
165
+ effectiveRouteConfig.ssrExtraRoutes.forEach((route) => {
166
+ parsedRoutes.push({ path: route, isStatic: false, srcRoute: route });
167
+ });
131
168
  }
169
+ return parsedRoutes;
132
170
  }
133
- logBuildArtifacts(logger, name, {
134
- clientDir,
135
- serverDir,
136
- serverEntry: serverEntryPath,
171
+ }
172
+ // Fallback to static route list
173
+ const routeList = fallbackRoutes.map((route) => ({
174
+ path: route,
175
+ isStatic: !isSSR,
176
+ srcRoute: route,
177
+ }));
178
+ if (isSSR && effectiveRouteConfig.ssrExtraRoutes) {
179
+ effectiveRouteConfig.ssrExtraRoutes.forEach((route) => {
180
+ routeList.push({ path: route, isStatic: false, srcRoute: route });
137
181
  });
138
- return {
139
- clientDir,
140
- serverDir,
141
- serverEntry: serverEntryPath,
142
- assetsDir: clientDir,
143
- };
144
- },
145
- hooks: {
146
- async generateRoutes(context) {
147
- const routeList = routes.map((route) => ({
148
- path: route,
149
- isStatic: !context.isSSR,
150
- srcRoute: route,
151
- }));
152
- if (context.isSSR && ssrExtraRoutes.length > 0) {
153
- ssrExtraRoutes.forEach((route) => {
154
- routeList.push({ path: route, isStatic: false, srcRoute: route });
155
- });
156
- }
157
- return routeList;
158
- },
159
- async generateMeta(context, routeList) {
160
- const meta = createDefaultMeta(routeList, { isSSR: context.isSSR });
161
- if (ssr404 !== undefined) {
162
- meta.conf.ssr404 = typeof ssr404 === "function"
163
- ? ssr404(context.isSSR)
164
- : ssr404;
165
- }
166
- return meta;
167
- },
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}`;
182
+ }
183
+ return routeList;
184
+ };
185
+ }
186
+ /**
187
+ * Create generateMeta hook
188
+ */
189
+ function createGenerateMetaHook(ssr404) {
190
+ return async (context, routeList) => {
191
+ const meta = createDefaultMeta(routeList, { isSSR: context.isSSR });
192
+ if (ssr404 !== undefined) {
193
+ meta.conf.ssr404 = typeof ssr404 === "function"
194
+ ? ssr404(context.isSSR)
195
+ : ssr404;
196
+ }
197
+ return meta;
198
+ };
199
+ }
200
+ /**
201
+ * Create generateServerWrapper hook
202
+ */
203
+ function createGenerateServerWrapperHook(wrapperConfig, serverWrapperMode, htmlTemplatePaths) {
204
+ return async (context, wrapperCfg) => {
205
+ // Use serverWrapperMode if provided
206
+ if (serverWrapperMode) {
207
+ return generateServerWrapperCode({
208
+ serverEntryPath: wrapperCfg.serverEntryPath,
209
+ handlerCall: serverWrapperMode.handlerCall || wrapperConfig.handlerCall,
210
+ mode: serverWrapperMode.mode,
211
+ additionalExports: serverWrapperMode.additionalExports,
212
+ needsNodeRequestConversion: true,
213
+ });
214
+ }
215
+ let handlerSetup = wrapperConfig.handlerSetup;
216
+ if (wrapperConfig.requiresHtmlTemplate) {
217
+ const { projectRoot, outputDir, logger } = context;
218
+ let htmlTemplate = "";
219
+ const templateCandidates = [
220
+ ...htmlTemplatePaths.map(p => path.join(projectRoot, p)),
221
+ path.join(projectRoot, outputDir, "assets/index.html"),
222
+ ];
223
+ for (const templatePath of templateCandidates) {
224
+ if (await pathExists(templatePath)) {
225
+ htmlTemplate = await readFile(templatePath);
226
+ logger.verbose(`Found HTML template: ${templatePath}`);
227
+ break;
190
228
  }
191
- return generateServerWrapperCode({
192
- serverEntryPath: wrapperCfg.serverEntryPath,
193
- imports: wrapperConfig.imports,
194
- handlerSetup,
195
- handlerCall: wrapperConfig.handlerCall,
196
- });
229
+ }
230
+ if (!htmlTemplate) {
231
+ logger.warn("HTML template not found, using default template");
232
+ htmlTemplate = "<!DOCTYPE html><html><head><!--app-head--></head><body><div id=\"app\"><!--app-html--></div></body></html>";
233
+ }
234
+ const escapedTemplate = JSON.stringify(htmlTemplate);
235
+ handlerSetup = `const __HTML_TEMPLATE__ = ${escapedTemplate};\n\n${handlerSetup}`;
236
+ }
237
+ return generateServerWrapperCode({
238
+ serverEntryPath: wrapperCfg.serverEntryPath,
239
+ imports: wrapperConfig.imports,
240
+ handlerSetup,
241
+ handlerCall: wrapperConfig.handlerCall,
242
+ });
243
+ };
244
+ }
245
+ /**
246
+ * Create beforeBundle hook if esbuildConfig is provided
247
+ */
248
+ function createBeforeBundleHook(esbuildConfig) {
249
+ return async (context, bundleConfig) => {
250
+ const absWorkingDir = typeof esbuildConfig.absWorkingDir === "function"
251
+ ? esbuildConfig.absWorkingDir(context)
252
+ : esbuildConfig.absWorkingDir;
253
+ return {
254
+ ...bundleConfig,
255
+ external: esbuildConfig.external || bundleConfig.external,
256
+ esbuildOptions: {
257
+ ...bundleConfig.esbuildOptions,
258
+ ...esbuildConfig.options,
259
+ ...(absWorkingDir ? { absWorkingDir } : {}),
197
260
  },
261
+ };
262
+ };
263
+ }
264
+ // ============================================================================
265
+ // Main Factory Function
266
+ // ============================================================================
267
+ /**
268
+ * Create a framework adapter
269
+ */
270
+ export function createFrameworkAdapter(config, options = {}, overrides) {
271
+ const { name, configFiles, buildDirs, serverEntryFiles = ["index.js", "index.mjs", "entry.js", "main.js"], serverWrapper = "generic", serverWrapperMode, routeConfig, defaultRoutes = ["/"], ssrExtraRoutes = [], ssr404, htmlTemplatePaths = ["dist/client/index.html", "dist/index.html"], esbuildConfig, } = config;
272
+ const { routes = routeConfig?.defaultRoutes || defaultRoutes } = options;
273
+ // Merge route config with legacy options
274
+ const effectiveRouteConfig = {
275
+ sources: routeConfig?.sources,
276
+ defaultRoutes: routeConfig?.defaultRoutes || defaultRoutes,
277
+ ssrExtraRoutes: routeConfig?.ssrExtraRoutes || ssrExtraRoutes,
278
+ transform: routeConfig?.transform,
279
+ };
280
+ const wrapperConfig = typeof serverWrapper === "string"
281
+ ? SERVER_WRAPPER_PRESETS[serverWrapper]
282
+ : serverWrapper;
283
+ // Build adapter using helper functions
284
+ const baseAdapter = {
285
+ name,
286
+ detect: createDefaultDetector(configFiles),
287
+ getBuildArtifacts: createDefaultBuildArtifactsGetter(name, buildDirs, serverEntryFiles, options),
288
+ hooks: {
289
+ generateRoutes: createGenerateRoutesHook(effectiveRouteConfig, routes),
290
+ generateMeta: createGenerateMetaHook(ssr404),
291
+ generateServerWrapper: createGenerateServerWrapperHook(wrapperConfig, serverWrapperMode, htmlTemplatePaths),
292
+ ...(esbuildConfig ? { beforeBundle: createBeforeBundleHook(esbuildConfig) } : {}),
198
293
  },
199
294
  };
200
295
  if (overrides) {
@@ -256,7 +351,8 @@ export function createDependencyDetector(dependencies) {
256
351
  const deps = { ...packageJson.dependencies, ...packageJson.devDependencies };
257
352
  return dependencies.some((dep) => dep in deps);
258
353
  }
259
- catch {
354
+ catch (error) {
355
+ context.logger?.verbose?.(`Failed to parse package.json: ${error instanceof Error ? error.message : String(error)}`);
260
356
  return false;
261
357
  }
262
358
  };
@@ -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
@@ -6,7 +6,9 @@ export { createCoreAdapter, default } from "./core.js";
6
6
  export { bundleServerCode, createServerWrapper, cleanupWrapper, } from "./bundler.js";
7
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
8
  export { createFrameworkAdapter, createStatefulAdapter, combineDetectors, createConfigDetector, createBuildDirDetector, createDependencyDetector, SERVER_WRAPPER_PRESETS, } from "./factory.js";
9
+ export { parseRouteTreeContent, parseRouteTreeFile, scanRoutesDirectory, scanRoutesFromDirectories, loadServerBuildRoutes, flattenRouteTree, parseRoutesFromSources, toRouteInfo, toRouteInfoArray, } from "./route-parser.js";
9
10
  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";
10
11
  export type { ServerWrapperGeneratorOptions } from "./utils.js";
11
- export type { ServerWrapperPreset, BuildDirConfig, AdapterFactoryConfig, AdapterFactoryOptions, } from "./factory.js";
12
+ export type { ServerWrapperPreset, BuildDirConfig, AdapterFactoryConfig, AdapterFactoryOptions, RouteSourceConfig, ServerWrapperModeConfig, EsbuildConfig, } from "./factory.js";
13
+ export type { RouteNode, RouteParserConfig, RouteTreeParserOptions, ServerBuildRouteSource, RouteTreeFileSource, DirectoryScanSource, RouteSource, InternalRouteInfo, } from "./route-parser.js";
12
14
  //# 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,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"}
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,OAAO,EAEL,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EAEtB,WAAW,EACX,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAG3B,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,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,GACd,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,GAClB,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -22,4 +22,10 @@ createDefaultMeta,
22
22
  NODE_REQUEST_CONVERTER_CODE, generateServerWrapperCode, } from "./utils.js";
23
23
  // Factory
24
24
  export { createFrameworkAdapter, createStatefulAdapter, combineDetectors, createConfigDetector, createBuildDirDetector, createDependencyDetector, SERVER_WRAPPER_PRESETS, } from "./factory.js";
25
+ // Route Parser
26
+ export {
27
+ // Parsing functions
28
+ parseRouteTreeContent, parseRouteTreeFile, scanRoutesDirectory, scanRoutesFromDirectories, loadServerBuildRoutes, flattenRouteTree, parseRoutesFromSources,
29
+ // Type conversion utilities
30
+ toRouteInfo, toRouteInfoArray, } from "./route-parser.js";
25
31
  //# 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,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"}
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;AAEtB,eAAe;AACf,OAAO;AACL,oBAAoB;AACpB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB;AACtB,4BAA4B;AAC5B,WAAW,EACX,gBAAgB,GACjB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Route Parser - Common route parsing utilities for framework adapters
3
+ *
4
+ * This module provides reusable route parsing tools that can be used by
5
+ * different framework adapters to extract and process route information.
6
+ */
7
+ import type { RouteInfo, Logger } from "./types.js";
8
+ /**
9
+ * Generic route node structure
10
+ */
11
+ export interface RouteNode {
12
+ id: string;
13
+ path?: string;
14
+ index?: boolean;
15
+ parentId?: string;
16
+ children?: RouteNode[];
17
+ hasLoader?: boolean;
18
+ hasAction?: boolean;
19
+ hasClientLoader?: boolean;
20
+ hasClientAction?: boolean;
21
+ [key: string]: unknown;
22
+ }
23
+ /**
24
+ * Route parser configuration
25
+ */
26
+ export interface RouteParserConfig {
27
+ /** Convert file path patterns to route paths (e.g., $id -> :id) */
28
+ paramPattern?: RegExp;
29
+ /** Replacement for param pattern */
30
+ paramReplacement?: string;
31
+ /** Index route file names */
32
+ indexFiles?: string[];
33
+ /** Layout/root route file names to skip */
34
+ layoutFiles?: string[];
35
+ /** File extensions to include */
36
+ extensions?: string[];
37
+ }
38
+ /**
39
+ * Route tree parser options
40
+ */
41
+ export interface RouteTreeParserOptions {
42
+ /** Path pattern regex to extract routes */
43
+ pathPattern?: RegExp;
44
+ /** Full path pattern regex */
45
+ fullPathPattern?: RegExp;
46
+ }
47
+ /**
48
+ * Server build route source configuration
49
+ */
50
+ export interface ServerBuildRouteSource {
51
+ type: "serverBuild";
52
+ /** Server entry path */
53
+ serverEntry: string;
54
+ /** Property path to routes object (e.g., "routes") */
55
+ routesProperty?: string;
56
+ /** Transform function for route nodes */
57
+ transform?: (routes: Record<string, RouteNode>) => RouteInfo[];
58
+ }
59
+ /**
60
+ * Route tree file source configuration
61
+ */
62
+ export interface RouteTreeFileSource {
63
+ type: "routeTree";
64
+ /** Candidate paths for route tree file */
65
+ paths: string[];
66
+ /** Parser options */
67
+ parserOptions?: RouteTreeParserOptions;
68
+ }
69
+ /**
70
+ * Directory scan source configuration
71
+ */
72
+ export interface DirectoryScanSource {
73
+ type: "directory";
74
+ /** Candidate directories to scan */
75
+ paths: string[];
76
+ /** Parser configuration */
77
+ config?: RouteParserConfig;
78
+ }
79
+ /**
80
+ * Route source configuration union type
81
+ */
82
+ export type RouteSource = ServerBuildRouteSource | RouteTreeFileSource | DirectoryScanSource;
83
+ /**
84
+ * Parse routes from route tree file content
85
+ */
86
+ export declare function parseRouteTreeContent(content: string, options?: RouteTreeParserOptions): InternalRouteInfo[];
87
+ /**
88
+ * Load and parse route tree from file
89
+ */
90
+ export declare function parseRouteTreeFile(projectRoot: string, candidatePaths: string[], options?: RouteTreeParserOptions, logger?: Logger): Promise<InternalRouteInfo[]>;
91
+ /**
92
+ * Scan directory for route files
93
+ */
94
+ export declare function scanRoutesDirectory(dir: string, basePath?: string, config?: RouteParserConfig): Promise<InternalRouteInfo[]>;
95
+ /**
96
+ * Scan multiple candidate directories for routes
97
+ */
98
+ export declare function scanRoutesFromDirectories(projectRoot: string, candidateDirs: string[], config?: RouteParserConfig, logger?: Logger): Promise<InternalRouteInfo[]>;
99
+ /**
100
+ * Load server build module and extract routes
101
+ */
102
+ export declare function loadServerBuildRoutes<T = unknown>(serverEntryPath: string, logger?: Logger): Promise<T | null>;
103
+ /**
104
+ * Flatten nested route tree to flat route list
105
+ */
106
+ export declare function flattenRouteTree(routes: Record<string, RouteNode>, options?: {
107
+ parentPath?: string;
108
+ isSSR?: boolean;
109
+ isSpaMode?: boolean;
110
+ skipRootId?: string;
111
+ generateDataRoutes?: boolean;
112
+ }): RouteInfo[];
113
+ /**
114
+ * Parse routes from multiple sources with fallback
115
+ */
116
+ export declare function parseRoutesFromSources(projectRoot: string, sources: RouteSource[], options?: {
117
+ isSSR?: boolean;
118
+ logger?: Logger;
119
+ }): Promise<RouteInfo[]>;
120
+ /**
121
+ * Internal route info with additional properties for parsing
122
+ * This extends RouteInfo with optional properties used during route parsing
123
+ */
124
+ export interface InternalRouteInfo extends RouteInfo {
125
+ /** Route identifier */
126
+ id?: string;
127
+ /** Full path including parent paths */
128
+ fullPath?: string;
129
+ /** Source file path */
130
+ filePath?: string;
131
+ }
132
+ /**
133
+ * Convert internal route info to standard RouteInfo
134
+ * Strips internal-only properties
135
+ */
136
+ export declare function toRouteInfo(internal: InternalRouteInfo): RouteInfo;
137
+ /**
138
+ * Convert array of internal route info to standard RouteInfo array
139
+ */
140
+ export declare function toRouteInfoArray(internals: InternalRouteInfo[]): RouteInfo[];
141
+ //# sourceMappingURL=route-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-parser.d.ts","sourceRoot":"","sources":["../src/route-parser.ts"],"names":[],"mappings":"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"}