@tanstack/router-plugin 1.85.9 → 1.87.3

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.
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  export declare const configSchema: z.ZodObject<z.objectUtil.extendShape<{
3
- virtualRouteConfig: z.ZodOptional<z.ZodType<import('@tanstack/virtual-file-routes').VirtualRootRoute, z.ZodTypeDef, import('@tanstack/virtual-file-routes').VirtualRootRoute>>;
3
+ virtualRouteConfig: z.ZodOptional<z.ZodUnion<[z.ZodType<import('@tanstack/virtual-file-routes').VirtualRootRoute, z.ZodTypeDef, import('@tanstack/virtual-file-routes').VirtualRootRoute>, z.ZodString]>>;
4
4
  routeFilePrefix: z.ZodOptional<z.ZodString>;
5
5
  routeFileIgnorePrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
6
6
  routeFileIgnorePattern: z.ZodOptional<z.ZodString>;
@@ -58,7 +58,7 @@ export declare const configSchema: z.ZodObject<z.objectUtil.extendShape<{
58
58
  apiTemplate: string;
59
59
  };
60
60
  enableRouteGeneration?: boolean | undefined;
61
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
61
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
62
62
  routeFilePrefix?: string | undefined;
63
63
  routeFileIgnorePattern?: string | undefined;
64
64
  autoCodeSplitting?: boolean | undefined;
@@ -68,7 +68,7 @@ export declare const configSchema: z.ZodObject<z.objectUtil.extendShape<{
68
68
  } | undefined;
69
69
  }, {
70
70
  enableRouteGeneration?: boolean | undefined;
71
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
71
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
72
72
  routeFilePrefix?: string | undefined;
73
73
  routeFileIgnorePrefix?: string | undefined;
74
74
  routeFileIgnorePattern?: string | undefined;
@@ -115,7 +115,7 @@ export declare const getConfig: (inlineConfig: Partial<Config>, root: string) =>
115
115
  apiTemplate: string;
116
116
  };
117
117
  enableRouteGeneration?: boolean | undefined;
118
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
118
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
119
119
  routeFilePrefix?: string | undefined;
120
120
  routeFileIgnorePattern?: string | undefined;
121
121
  autoCodeSplitting?: boolean | undefined;
@@ -44,7 +44,7 @@ const unpluginRouterGeneratorFactory = (options = {}) => {
44
44
  }
45
45
  setLock(true);
46
46
  try {
47
- await routerGenerator.generator(userConfig);
47
+ await routerGenerator.generator(userConfig, process.cwd());
48
48
  } catch (err) {
49
49
  console.error(err);
50
50
  console.info();
@@ -1 +1 @@
1
- {"version":3,"file":"router-generator-plugin.cjs","sources":["../../../src/core/router-generator-plugin.ts"],"sourcesContent":["import { isAbsolute, join, normalize, resolve } from 'node:path'\nimport { generator } from '@tanstack/router-generator'\n\nimport { getConfig } from './config'\nimport { CONFIG_FILE_NAME } from './constants'\nimport type { UnpluginFactory } from 'unplugin'\nimport type { Config } from './config'\n\nlet lock = false\nconst checkLock = () => lock\nconst setLock = (bool: boolean) => {\n lock = bool\n}\n\nconst PLUGIN_NAME = 'unplugin:router-generator'\n\nexport const unpluginRouterGeneratorFactory: UnpluginFactory<\n Partial<Config> | undefined\n> = (options = {}) => {\n let ROOT: string = process.cwd()\n let userConfig = options as Config\n\n const getRoutesDirectoryPath = () => {\n return isAbsolute(userConfig.routesDirectory)\n ? userConfig.routesDirectory\n : join(ROOT, userConfig.routesDirectory)\n }\n\n const generate = async () => {\n if (checkLock()) {\n return\n }\n\n setLock(true)\n\n try {\n await generator(userConfig)\n } catch (err) {\n console.error(err)\n console.info()\n } finally {\n setLock(false)\n }\n }\n\n const handleFile = async (\n file: string,\n event: 'create' | 'update' | 'delete',\n ) => {\n const filePath = normalize(file)\n\n if (filePath === join(ROOT, CONFIG_FILE_NAME)) {\n userConfig = getConfig(options, ROOT)\n return\n }\n\n if (\n event === 'update' &&\n filePath === resolve(userConfig.generatedRouteTree)\n ) {\n // skip generating routes if the generated route tree is updated\n return\n }\n\n const routesDirectoryPath = getRoutesDirectoryPath()\n if (filePath.startsWith(routesDirectoryPath)) {\n await generate()\n }\n }\n\n const run: (cb: () => Promise<void> | void) => Promise<void> = async (cb) => {\n if (userConfig.enableRouteGeneration ?? true) {\n await cb()\n }\n }\n\n return {\n name: 'router-generator-plugin',\n async watchChange(id, { event }) {\n await run(async () => {\n await handleFile(id, event)\n })\n },\n vite: {\n async configResolved(config) {\n ROOT = config.root\n userConfig = getConfig(options, ROOT)\n\n await run(generate)\n },\n },\n async rspack(compiler) {\n userConfig = getConfig(options, ROOT)\n\n if (compiler.options.mode === 'production') {\n await run(generate)\n } else {\n // rspack watcher doesn't register newly created files\n const routesDirectoryPath = getRoutesDirectoryPath()\n const chokidar = await import('chokidar')\n chokidar\n .watch(routesDirectoryPath, { ignoreInitial: true })\n .on('add', async () => {\n await run(generate)\n })\n\n let generated = false\n compiler.hooks.watchRun.tapPromise(PLUGIN_NAME, async () => {\n if (!generated) {\n generated = true\n return run(generate)\n }\n })\n }\n },\n async webpack(compiler) {\n userConfig = getConfig(options, ROOT)\n\n if (compiler.options.mode === 'production') {\n await run(generate)\n } else {\n // webpack watcher doesn't register newly created files\n const routesDirectoryPath = getRoutesDirectoryPath()\n const chokidar = await import('chokidar')\n chokidar\n .watch(routesDirectoryPath, { ignoreInitial: true })\n .on('add', async () => {\n await run(generate)\n })\n\n let generated = false\n compiler.hooks.watchRun.tapPromise(PLUGIN_NAME, async () => {\n if (!generated) {\n generated = true\n return run(generate)\n }\n })\n }\n\n if (compiler.options.mode === 'production') {\n compiler.hooks.done.tap(PLUGIN_NAME, (stats) => {\n console.info('✅ ' + PLUGIN_NAME + ': route-tree generation done')\n setTimeout(() => {\n process.exit(0)\n })\n })\n }\n },\n }\n}\n"],"names":["isAbsolute","join","generator","normalize","CONFIG_FILE_NAME","getConfig","resolve","config"],"mappings":"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"}
1
+ {"version":3,"file":"router-generator-plugin.cjs","sources":["../../../src/core/router-generator-plugin.ts"],"sourcesContent":["import { isAbsolute, join, normalize, resolve } from 'node:path'\nimport { generator } from '@tanstack/router-generator'\n\nimport { getConfig } from './config'\nimport { CONFIG_FILE_NAME } from './constants'\nimport type { UnpluginFactory } from 'unplugin'\nimport type { Config } from './config'\n\nlet lock = false\nconst checkLock = () => lock\nconst setLock = (bool: boolean) => {\n lock = bool\n}\n\nconst PLUGIN_NAME = 'unplugin:router-generator'\n\nexport const unpluginRouterGeneratorFactory: UnpluginFactory<\n Partial<Config> | undefined\n> = (options = {}) => {\n let ROOT: string = process.cwd()\n let userConfig = options as Config\n\n const getRoutesDirectoryPath = () => {\n return isAbsolute(userConfig.routesDirectory)\n ? userConfig.routesDirectory\n : join(ROOT, userConfig.routesDirectory)\n }\n\n const generate = async () => {\n if (checkLock()) {\n return\n }\n\n setLock(true)\n\n try {\n await generator(userConfig, process.cwd())\n } catch (err) {\n console.error(err)\n console.info()\n } finally {\n setLock(false)\n }\n }\n\n const handleFile = async (\n file: string,\n event: 'create' | 'update' | 'delete',\n ) => {\n const filePath = normalize(file)\n\n if (filePath === join(ROOT, CONFIG_FILE_NAME)) {\n userConfig = getConfig(options, ROOT)\n return\n }\n\n if (\n event === 'update' &&\n filePath === resolve(userConfig.generatedRouteTree)\n ) {\n // skip generating routes if the generated route tree is updated\n return\n }\n\n const routesDirectoryPath = getRoutesDirectoryPath()\n if (filePath.startsWith(routesDirectoryPath)) {\n await generate()\n }\n }\n\n const run: (cb: () => Promise<void> | void) => Promise<void> = async (cb) => {\n if (userConfig.enableRouteGeneration ?? true) {\n await cb()\n }\n }\n\n return {\n name: 'router-generator-plugin',\n async watchChange(id, { event }) {\n await run(async () => {\n await handleFile(id, event)\n })\n },\n vite: {\n async configResolved(config) {\n ROOT = config.root\n userConfig = getConfig(options, ROOT)\n\n await run(generate)\n },\n },\n async rspack(compiler) {\n userConfig = getConfig(options, ROOT)\n\n if (compiler.options.mode === 'production') {\n await run(generate)\n } else {\n // rspack watcher doesn't register newly created files\n const routesDirectoryPath = getRoutesDirectoryPath()\n const chokidar = await import('chokidar')\n chokidar\n .watch(routesDirectoryPath, { ignoreInitial: true })\n .on('add', async () => {\n await run(generate)\n })\n\n let generated = false\n compiler.hooks.watchRun.tapPromise(PLUGIN_NAME, async () => {\n if (!generated) {\n generated = true\n return run(generate)\n }\n })\n }\n },\n async webpack(compiler) {\n userConfig = getConfig(options, ROOT)\n\n if (compiler.options.mode === 'production') {\n await run(generate)\n } else {\n // webpack watcher doesn't register newly created files\n const routesDirectoryPath = getRoutesDirectoryPath()\n const chokidar = await import('chokidar')\n chokidar\n .watch(routesDirectoryPath, { ignoreInitial: true })\n .on('add', async () => {\n await run(generate)\n })\n\n let generated = false\n compiler.hooks.watchRun.tapPromise(PLUGIN_NAME, async () => {\n if (!generated) {\n generated = true\n return run(generate)\n }\n })\n }\n\n if (compiler.options.mode === 'production') {\n compiler.hooks.done.tap(PLUGIN_NAME, (stats) => {\n console.info('✅ ' + PLUGIN_NAME + ': route-tree generation done')\n setTimeout(() => {\n process.exit(0)\n })\n })\n }\n },\n }\n}\n"],"names":["isAbsolute","join","generator","normalize","CONFIG_FILE_NAME","getConfig","resolve","config"],"mappings":"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"}
@@ -28,7 +28,7 @@ declare const TanStackRouterGeneratorEsbuild: (options?: Partial<{
28
28
  apiTemplate: string;
29
29
  };
30
30
  enableRouteGeneration?: boolean | undefined;
31
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
31
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
32
32
  routeFilePrefix?: string | undefined;
33
33
  routeFileIgnorePattern?: string | undefined;
34
34
  autoCodeSplitting?: boolean | undefined;
@@ -66,7 +66,7 @@ declare const TanStackRouterCodeSplitterEsbuild: (options?: Partial<{
66
66
  apiTemplate: string;
67
67
  };
68
68
  enableRouteGeneration?: boolean | undefined;
69
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
69
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
70
70
  routeFilePrefix?: string | undefined;
71
71
  routeFileIgnorePattern?: string | undefined;
72
72
  autoCodeSplitting?: boolean | undefined;
@@ -104,7 +104,7 @@ declare const TanStackRouterEsbuild: (options?: Partial<{
104
104
  apiTemplate: string;
105
105
  };
106
106
  enableRouteGeneration?: boolean | undefined;
107
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
107
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
108
108
  routeFilePrefix?: string | undefined;
109
109
  routeFileIgnorePattern?: string | undefined;
110
110
  autoCodeSplitting?: boolean | undefined;
@@ -32,7 +32,7 @@ declare const TanStackRouterGeneratorRspack: (options?: Partial<{
32
32
  apiTemplate: string;
33
33
  };
34
34
  enableRouteGeneration?: boolean | undefined;
35
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
35
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
36
36
  routeFilePrefix?: string | undefined;
37
37
  routeFileIgnorePattern?: string | undefined;
38
38
  autoCodeSplitting?: boolean | undefined;
@@ -74,7 +74,7 @@ declare const TanStackRouterCodeSplitterRspack: (options?: Partial<{
74
74
  apiTemplate: string;
75
75
  };
76
76
  enableRouteGeneration?: boolean | undefined;
77
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
77
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
78
78
  routeFilePrefix?: string | undefined;
79
79
  routeFileIgnorePattern?: string | undefined;
80
80
  autoCodeSplitting?: boolean | undefined;
@@ -116,7 +116,7 @@ declare const TanStackRouterRspack: (options?: Partial<{
116
116
  apiTemplate: string;
117
117
  };
118
118
  enableRouteGeneration?: boolean | undefined;
119
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
119
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
120
120
  routeFilePrefix?: string | undefined;
121
121
  routeFileIgnorePattern?: string | undefined;
122
122
  autoCodeSplitting?: boolean | undefined;
@@ -28,7 +28,7 @@ declare const TanStackRouterGeneratorVite: (options?: Partial<{
28
28
  apiTemplate: string;
29
29
  };
30
30
  enableRouteGeneration?: boolean | undefined;
31
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
31
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
32
32
  routeFilePrefix?: string | undefined;
33
33
  routeFileIgnorePattern?: string | undefined;
34
34
  autoCodeSplitting?: boolean | undefined;
@@ -66,7 +66,7 @@ declare const TanStackRouterCodeSplitterVite: (options?: Partial<{
66
66
  apiTemplate: string;
67
67
  };
68
68
  enableRouteGeneration?: boolean | undefined;
69
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
69
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
70
70
  routeFilePrefix?: string | undefined;
71
71
  routeFileIgnorePattern?: string | undefined;
72
72
  autoCodeSplitting?: boolean | undefined;
@@ -104,7 +104,7 @@ declare const TanStackRouterVite: (options?: Partial<{
104
104
  apiTemplate: string;
105
105
  };
106
106
  enableRouteGeneration?: boolean | undefined;
107
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
107
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
108
108
  routeFilePrefix?: string | undefined;
109
109
  routeFileIgnorePattern?: string | undefined;
110
110
  autoCodeSplitting?: boolean | undefined;
@@ -28,7 +28,7 @@ declare const TanStackRouterGeneratorWebpack: (options?: Partial<{
28
28
  apiTemplate: string;
29
29
  };
30
30
  enableRouteGeneration?: boolean | undefined;
31
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
31
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
32
32
  routeFilePrefix?: string | undefined;
33
33
  routeFileIgnorePattern?: string | undefined;
34
34
  autoCodeSplitting?: boolean | undefined;
@@ -66,7 +66,7 @@ declare const TanStackRouterCodeSplitterWebpack: (options?: Partial<{
66
66
  apiTemplate: string;
67
67
  };
68
68
  enableRouteGeneration?: boolean | undefined;
69
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
69
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
70
70
  routeFilePrefix?: string | undefined;
71
71
  routeFileIgnorePattern?: string | undefined;
72
72
  autoCodeSplitting?: boolean | undefined;
@@ -104,7 +104,7 @@ declare const TanStackRouterWebpack: (options?: Partial<{
104
104
  apiTemplate: string;
105
105
  };
106
106
  enableRouteGeneration?: boolean | undefined;
107
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
107
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
108
108
  routeFilePrefix?: string | undefined;
109
109
  routeFileIgnorePattern?: string | undefined;
110
110
  autoCodeSplitting?: boolean | undefined;
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  export declare const configSchema: z.ZodObject<z.objectUtil.extendShape<{
3
- virtualRouteConfig: z.ZodOptional<z.ZodType<import('@tanstack/virtual-file-routes').VirtualRootRoute, z.ZodTypeDef, import('@tanstack/virtual-file-routes').VirtualRootRoute>>;
3
+ virtualRouteConfig: z.ZodOptional<z.ZodUnion<[z.ZodType<import('@tanstack/virtual-file-routes').VirtualRootRoute, z.ZodTypeDef, import('@tanstack/virtual-file-routes').VirtualRootRoute>, z.ZodString]>>;
4
4
  routeFilePrefix: z.ZodOptional<z.ZodString>;
5
5
  routeFileIgnorePrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
6
6
  routeFileIgnorePattern: z.ZodOptional<z.ZodString>;
@@ -58,7 +58,7 @@ export declare const configSchema: z.ZodObject<z.objectUtil.extendShape<{
58
58
  apiTemplate: string;
59
59
  };
60
60
  enableRouteGeneration?: boolean | undefined;
61
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
61
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
62
62
  routeFilePrefix?: string | undefined;
63
63
  routeFileIgnorePattern?: string | undefined;
64
64
  autoCodeSplitting?: boolean | undefined;
@@ -68,7 +68,7 @@ export declare const configSchema: z.ZodObject<z.objectUtil.extendShape<{
68
68
  } | undefined;
69
69
  }, {
70
70
  enableRouteGeneration?: boolean | undefined;
71
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
71
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
72
72
  routeFilePrefix?: string | undefined;
73
73
  routeFileIgnorePrefix?: string | undefined;
74
74
  routeFileIgnorePattern?: string | undefined;
@@ -115,7 +115,7 @@ export declare const getConfig: (inlineConfig: Partial<Config>, root: string) =>
115
115
  apiTemplate: string;
116
116
  };
117
117
  enableRouteGeneration?: boolean | undefined;
118
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
118
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
119
119
  routeFilePrefix?: string | undefined;
120
120
  routeFileIgnorePattern?: string | undefined;
121
121
  autoCodeSplitting?: boolean | undefined;
@@ -20,7 +20,7 @@ const unpluginRouterGeneratorFactory = (options = {}) => {
20
20
  }
21
21
  setLock(true);
22
22
  try {
23
- await generator(userConfig);
23
+ await generator(userConfig, process.cwd());
24
24
  } catch (err) {
25
25
  console.error(err);
26
26
  console.info();
@@ -1 +1 @@
1
- {"version":3,"file":"router-generator-plugin.js","sources":["../../../src/core/router-generator-plugin.ts"],"sourcesContent":["import { isAbsolute, join, normalize, resolve } from 'node:path'\nimport { generator } from '@tanstack/router-generator'\n\nimport { getConfig } from './config'\nimport { CONFIG_FILE_NAME } from './constants'\nimport type { UnpluginFactory } from 'unplugin'\nimport type { Config } from './config'\n\nlet lock = false\nconst checkLock = () => lock\nconst setLock = (bool: boolean) => {\n lock = bool\n}\n\nconst PLUGIN_NAME = 'unplugin:router-generator'\n\nexport const unpluginRouterGeneratorFactory: UnpluginFactory<\n Partial<Config> | undefined\n> = (options = {}) => {\n let ROOT: string = process.cwd()\n let userConfig = options as Config\n\n const getRoutesDirectoryPath = () => {\n return isAbsolute(userConfig.routesDirectory)\n ? userConfig.routesDirectory\n : join(ROOT, userConfig.routesDirectory)\n }\n\n const generate = async () => {\n if (checkLock()) {\n return\n }\n\n setLock(true)\n\n try {\n await generator(userConfig)\n } catch (err) {\n console.error(err)\n console.info()\n } finally {\n setLock(false)\n }\n }\n\n const handleFile = async (\n file: string,\n event: 'create' | 'update' | 'delete',\n ) => {\n const filePath = normalize(file)\n\n if (filePath === join(ROOT, CONFIG_FILE_NAME)) {\n userConfig = getConfig(options, ROOT)\n return\n }\n\n if (\n event === 'update' &&\n filePath === resolve(userConfig.generatedRouteTree)\n ) {\n // skip generating routes if the generated route tree is updated\n return\n }\n\n const routesDirectoryPath = getRoutesDirectoryPath()\n if (filePath.startsWith(routesDirectoryPath)) {\n await generate()\n }\n }\n\n const run: (cb: () => Promise<void> | void) => Promise<void> = async (cb) => {\n if (userConfig.enableRouteGeneration ?? true) {\n await cb()\n }\n }\n\n return {\n name: 'router-generator-plugin',\n async watchChange(id, { event }) {\n await run(async () => {\n await handleFile(id, event)\n })\n },\n vite: {\n async configResolved(config) {\n ROOT = config.root\n userConfig = getConfig(options, ROOT)\n\n await run(generate)\n },\n },\n async rspack(compiler) {\n userConfig = getConfig(options, ROOT)\n\n if (compiler.options.mode === 'production') {\n await run(generate)\n } else {\n // rspack watcher doesn't register newly created files\n const routesDirectoryPath = getRoutesDirectoryPath()\n const chokidar = await import('chokidar')\n chokidar\n .watch(routesDirectoryPath, { ignoreInitial: true })\n .on('add', async () => {\n await run(generate)\n })\n\n let generated = false\n compiler.hooks.watchRun.tapPromise(PLUGIN_NAME, async () => {\n if (!generated) {\n generated = true\n return run(generate)\n }\n })\n }\n },\n async webpack(compiler) {\n userConfig = getConfig(options, ROOT)\n\n if (compiler.options.mode === 'production') {\n await run(generate)\n } else {\n // webpack watcher doesn't register newly created files\n const routesDirectoryPath = getRoutesDirectoryPath()\n const chokidar = await import('chokidar')\n chokidar\n .watch(routesDirectoryPath, { ignoreInitial: true })\n .on('add', async () => {\n await run(generate)\n })\n\n let generated = false\n compiler.hooks.watchRun.tapPromise(PLUGIN_NAME, async () => {\n if (!generated) {\n generated = true\n return run(generate)\n }\n })\n }\n\n if (compiler.options.mode === 'production') {\n compiler.hooks.done.tap(PLUGIN_NAME, (stats) => {\n console.info('✅ ' + PLUGIN_NAME + ': route-tree generation done')\n setTimeout(() => {\n process.exit(0)\n })\n })\n }\n },\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router-generator-plugin.js","sources":["../../../src/core/router-generator-plugin.ts"],"sourcesContent":["import { isAbsolute, join, normalize, resolve } from 'node:path'\nimport { generator } from '@tanstack/router-generator'\n\nimport { getConfig } from './config'\nimport { CONFIG_FILE_NAME } from './constants'\nimport type { UnpluginFactory } from 'unplugin'\nimport type { Config } from './config'\n\nlet lock = false\nconst checkLock = () => lock\nconst setLock = (bool: boolean) => {\n lock = bool\n}\n\nconst PLUGIN_NAME = 'unplugin:router-generator'\n\nexport const unpluginRouterGeneratorFactory: UnpluginFactory<\n Partial<Config> | undefined\n> = (options = {}) => {\n let ROOT: string = process.cwd()\n let userConfig = options as Config\n\n const getRoutesDirectoryPath = () => {\n return isAbsolute(userConfig.routesDirectory)\n ? userConfig.routesDirectory\n : join(ROOT, userConfig.routesDirectory)\n }\n\n const generate = async () => {\n if (checkLock()) {\n return\n }\n\n setLock(true)\n\n try {\n await generator(userConfig, process.cwd())\n } catch (err) {\n console.error(err)\n console.info()\n } finally {\n setLock(false)\n }\n }\n\n const handleFile = async (\n file: string,\n event: 'create' | 'update' | 'delete',\n ) => {\n const filePath = normalize(file)\n\n if (filePath === join(ROOT, CONFIG_FILE_NAME)) {\n userConfig = getConfig(options, ROOT)\n return\n }\n\n if (\n event === 'update' &&\n filePath === resolve(userConfig.generatedRouteTree)\n ) {\n // skip generating routes if the generated route tree is updated\n return\n }\n\n const routesDirectoryPath = getRoutesDirectoryPath()\n if (filePath.startsWith(routesDirectoryPath)) {\n await generate()\n }\n }\n\n const run: (cb: () => Promise<void> | void) => Promise<void> = async (cb) => {\n if (userConfig.enableRouteGeneration ?? true) {\n await cb()\n }\n }\n\n return {\n name: 'router-generator-plugin',\n async watchChange(id, { event }) {\n await run(async () => {\n await handleFile(id, event)\n })\n },\n vite: {\n async configResolved(config) {\n ROOT = config.root\n userConfig = getConfig(options, ROOT)\n\n await run(generate)\n },\n },\n async rspack(compiler) {\n userConfig = getConfig(options, ROOT)\n\n if (compiler.options.mode === 'production') {\n await run(generate)\n } else {\n // rspack watcher doesn't register newly created files\n const routesDirectoryPath = getRoutesDirectoryPath()\n const chokidar = await import('chokidar')\n chokidar\n .watch(routesDirectoryPath, { ignoreInitial: true })\n .on('add', async () => {\n await run(generate)\n })\n\n let generated = false\n compiler.hooks.watchRun.tapPromise(PLUGIN_NAME, async () => {\n if (!generated) {\n generated = true\n return run(generate)\n }\n })\n }\n },\n async webpack(compiler) {\n userConfig = getConfig(options, ROOT)\n\n if (compiler.options.mode === 'production') {\n await run(generate)\n } else {\n // webpack watcher doesn't register newly created files\n const routesDirectoryPath = getRoutesDirectoryPath()\n const chokidar = await import('chokidar')\n chokidar\n .watch(routesDirectoryPath, { ignoreInitial: true })\n .on('add', async () => {\n await run(generate)\n })\n\n let generated = false\n compiler.hooks.watchRun.tapPromise(PLUGIN_NAME, async () => {\n if (!generated) {\n generated = true\n return run(generate)\n }\n })\n }\n\n if (compiler.options.mode === 'production') {\n compiler.hooks.done.tap(PLUGIN_NAME, (stats) => {\n console.info('✅ ' + PLUGIN_NAME + ': route-tree generation done')\n setTimeout(() => {\n process.exit(0)\n })\n })\n }\n },\n }\n}\n"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ declare const TanStackRouterGeneratorEsbuild: (options?: Partial<{
28
28
  apiTemplate: string;
29
29
  };
30
30
  enableRouteGeneration?: boolean | undefined;
31
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
31
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
32
32
  routeFilePrefix?: string | undefined;
33
33
  routeFileIgnorePattern?: string | undefined;
34
34
  autoCodeSplitting?: boolean | undefined;
@@ -66,7 +66,7 @@ declare const TanStackRouterCodeSplitterEsbuild: (options?: Partial<{
66
66
  apiTemplate: string;
67
67
  };
68
68
  enableRouteGeneration?: boolean | undefined;
69
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
69
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
70
70
  routeFilePrefix?: string | undefined;
71
71
  routeFileIgnorePattern?: string | undefined;
72
72
  autoCodeSplitting?: boolean | undefined;
@@ -104,7 +104,7 @@ declare const TanStackRouterEsbuild: (options?: Partial<{
104
104
  apiTemplate: string;
105
105
  };
106
106
  enableRouteGeneration?: boolean | undefined;
107
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
107
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
108
108
  routeFilePrefix?: string | undefined;
109
109
  routeFileIgnorePattern?: string | undefined;
110
110
  autoCodeSplitting?: boolean | undefined;
@@ -32,7 +32,7 @@ declare const TanStackRouterGeneratorRspack: (options?: Partial<{
32
32
  apiTemplate: string;
33
33
  };
34
34
  enableRouteGeneration?: boolean | undefined;
35
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
35
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
36
36
  routeFilePrefix?: string | undefined;
37
37
  routeFileIgnorePattern?: string | undefined;
38
38
  autoCodeSplitting?: boolean | undefined;
@@ -74,7 +74,7 @@ declare const TanStackRouterCodeSplitterRspack: (options?: Partial<{
74
74
  apiTemplate: string;
75
75
  };
76
76
  enableRouteGeneration?: boolean | undefined;
77
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
77
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
78
78
  routeFilePrefix?: string | undefined;
79
79
  routeFileIgnorePattern?: string | undefined;
80
80
  autoCodeSplitting?: boolean | undefined;
@@ -116,7 +116,7 @@ declare const TanStackRouterRspack: (options?: Partial<{
116
116
  apiTemplate: string;
117
117
  };
118
118
  enableRouteGeneration?: boolean | undefined;
119
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
119
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
120
120
  routeFilePrefix?: string | undefined;
121
121
  routeFileIgnorePattern?: string | undefined;
122
122
  autoCodeSplitting?: boolean | undefined;
@@ -28,7 +28,7 @@ declare const TanStackRouterGeneratorVite: (options?: Partial<{
28
28
  apiTemplate: string;
29
29
  };
30
30
  enableRouteGeneration?: boolean | undefined;
31
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
31
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
32
32
  routeFilePrefix?: string | undefined;
33
33
  routeFileIgnorePattern?: string | undefined;
34
34
  autoCodeSplitting?: boolean | undefined;
@@ -66,7 +66,7 @@ declare const TanStackRouterCodeSplitterVite: (options?: Partial<{
66
66
  apiTemplate: string;
67
67
  };
68
68
  enableRouteGeneration?: boolean | undefined;
69
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
69
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
70
70
  routeFilePrefix?: string | undefined;
71
71
  routeFileIgnorePattern?: string | undefined;
72
72
  autoCodeSplitting?: boolean | undefined;
@@ -104,7 +104,7 @@ declare const TanStackRouterVite: (options?: Partial<{
104
104
  apiTemplate: string;
105
105
  };
106
106
  enableRouteGeneration?: boolean | undefined;
107
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
107
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
108
108
  routeFilePrefix?: string | undefined;
109
109
  routeFileIgnorePattern?: string | undefined;
110
110
  autoCodeSplitting?: boolean | undefined;
@@ -28,7 +28,7 @@ declare const TanStackRouterGeneratorWebpack: (options?: Partial<{
28
28
  apiTemplate: string;
29
29
  };
30
30
  enableRouteGeneration?: boolean | undefined;
31
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
31
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
32
32
  routeFilePrefix?: string | undefined;
33
33
  routeFileIgnorePattern?: string | undefined;
34
34
  autoCodeSplitting?: boolean | undefined;
@@ -66,7 +66,7 @@ declare const TanStackRouterCodeSplitterWebpack: (options?: Partial<{
66
66
  apiTemplate: string;
67
67
  };
68
68
  enableRouteGeneration?: boolean | undefined;
69
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
69
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
70
70
  routeFilePrefix?: string | undefined;
71
71
  routeFileIgnorePattern?: string | undefined;
72
72
  autoCodeSplitting?: boolean | undefined;
@@ -104,7 +104,7 @@ declare const TanStackRouterWebpack: (options?: Partial<{
104
104
  apiTemplate: string;
105
105
  };
106
106
  enableRouteGeneration?: boolean | undefined;
107
- virtualRouteConfig?: import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
107
+ virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
108
108
  routeFilePrefix?: string | undefined;
109
109
  routeFileIgnorePattern?: string | undefined;
110
110
  autoCodeSplitting?: boolean | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/router-plugin",
3
- "version": "1.85.9",
3
+ "version": "1.87.3",
4
4
  "description": "Modern and scalable routing for React applications",
5
5
  "author": "Tanner Linsley",
6
6
  "license": "MIT",
@@ -87,13 +87,13 @@
87
87
  },
88
88
  "dependencies": {
89
89
  "@babel/core": "^7.26.0",
90
- "@babel/generator": "^7.26.2",
91
- "@babel/parser": "^7.26.2",
90
+ "@babel/generator": "^7.26.3",
91
+ "@babel/parser": "^7.26.3",
92
92
  "@babel/plugin-syntax-jsx": "^7.25.9",
93
93
  "@babel/plugin-syntax-typescript": "^7.25.9",
94
94
  "@babel/template": "^7.25.9",
95
- "@babel/traverse": "^7.25.9",
96
- "@babel/types": "^7.26.0",
95
+ "@babel/traverse": "^7.26.4",
96
+ "@babel/types": "^7.26.3",
97
97
  "@types/babel__core": "^7.20.5",
98
98
  "@types/babel__generator": "^7.6.8",
99
99
  "@types/babel__template": "^7.4.4",
@@ -102,7 +102,7 @@
102
102
  "chokidar": "^3.6.0",
103
103
  "unplugin": "^1.16.0",
104
104
  "zod": "^3.23.8",
105
- "@tanstack/router-generator": "^1.85.3",
105
+ "@tanstack/router-generator": "^1.87.3",
106
106
  "@tanstack/virtual-file-routes": "^1.81.9"
107
107
  },
108
108
  "peerDependencies": {
@@ -34,7 +34,7 @@ export const unpluginRouterGeneratorFactory: UnpluginFactory<
34
34
  setLock(true)
35
35
 
36
36
  try {
37
- await generator(userConfig)
37
+ await generator(userConfig, process.cwd())
38
38
  } catch (err) {
39
39
  console.error(err)
40
40
  console.info()