@tanstack/router-plugin 1.132.0-alpha.9 → 1.132.2

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.
Files changed (57) hide show
  1. package/dist/cjs/core/code-splitter/compilers.cjs +31 -17
  2. package/dist/cjs/core/code-splitter/compilers.cjs.map +1 -1
  3. package/dist/cjs/core/config.cjs +1 -4
  4. package/dist/cjs/core/config.cjs.map +1 -1
  5. package/dist/cjs/core/config.d.cts +11 -8
  6. package/dist/cjs/core/route-autoimport-plugin.cjs +17 -6
  7. package/dist/cjs/core/route-autoimport-plugin.cjs.map +1 -1
  8. package/dist/cjs/core/route-autoimport-plugin.d.cts +1 -1
  9. package/dist/cjs/core/router-code-splitter-plugin.cjs +14 -7
  10. package/dist/cjs/core/router-code-splitter-plugin.cjs.map +1 -1
  11. package/dist/cjs/core/router-code-splitter-plugin.d.cts +1 -1
  12. package/dist/cjs/core/router-generator-plugin.cjs +14 -19
  13. package/dist/cjs/core/router-generator-plugin.cjs.map +1 -1
  14. package/dist/cjs/core/router-generator-plugin.d.cts +1 -1
  15. package/dist/cjs/esbuild.cjs.map +1 -1
  16. package/dist/cjs/esbuild.d.cts +16 -12
  17. package/dist/cjs/index.d.cts +1 -1
  18. package/dist/cjs/rspack.cjs.map +1 -1
  19. package/dist/cjs/rspack.d.cts +16 -12
  20. package/dist/cjs/vite.cjs.map +1 -1
  21. package/dist/cjs/vite.d.cts +21 -16
  22. package/dist/cjs/webpack.cjs.map +1 -1
  23. package/dist/cjs/webpack.d.cts +16 -12
  24. package/dist/esm/core/code-splitter/compilers.js +31 -17
  25. package/dist/esm/core/code-splitter/compilers.js.map +1 -1
  26. package/dist/esm/core/config.d.ts +11 -8
  27. package/dist/esm/core/config.js +1 -4
  28. package/dist/esm/core/config.js.map +1 -1
  29. package/dist/esm/core/route-autoimport-plugin.d.ts +1 -1
  30. package/dist/esm/core/route-autoimport-plugin.js +15 -4
  31. package/dist/esm/core/route-autoimport-plugin.js.map +1 -1
  32. package/dist/esm/core/router-code-splitter-plugin.d.ts +1 -1
  33. package/dist/esm/core/router-code-splitter-plugin.js +12 -5
  34. package/dist/esm/core/router-code-splitter-plugin.js.map +1 -1
  35. package/dist/esm/core/router-generator-plugin.d.ts +1 -1
  36. package/dist/esm/core/router-generator-plugin.js +14 -19
  37. package/dist/esm/core/router-generator-plugin.js.map +1 -1
  38. package/dist/esm/esbuild.d.ts +16 -12
  39. package/dist/esm/esbuild.js.map +1 -1
  40. package/dist/esm/index.d.ts +1 -1
  41. package/dist/esm/rspack.d.ts +16 -12
  42. package/dist/esm/rspack.js.map +1 -1
  43. package/dist/esm/vite.d.ts +21 -16
  44. package/dist/esm/vite.js.map +1 -1
  45. package/dist/esm/webpack.d.ts +16 -12
  46. package/dist/esm/webpack.js.map +1 -1
  47. package/package.json +6 -6
  48. package/src/core/code-splitter/compilers.ts +45 -23
  49. package/src/core/config.ts +11 -5
  50. package/src/core/route-autoimport-plugin.ts +16 -5
  51. package/src/core/router-code-splitter-plugin.ts +14 -6
  52. package/src/core/router-generator-plugin.ts +14 -19
  53. package/src/esbuild.ts +2 -2
  54. package/src/index.ts +7 -1
  55. package/src/rspack.ts +2 -2
  56. package/src/vite.ts +3 -2
  57. package/src/webpack.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"router-code-splitter-plugin.cjs","sources":["../../../src/core/router-code-splitter-plugin.ts"],"sourcesContent":["/**\n * It is important to familiarize yourself with how the code-splitting works in this plugin.\n * https://github.com/TanStack/router/pull/3355\n */\n\nimport { fileURLToPath, pathToFileURL } from 'node:url'\nimport { logDiff } from '@tanstack/router-utils'\nimport { getConfig, splitGroupingsSchema } from './config'\nimport {\n compileCodeSplitReferenceRoute,\n compileCodeSplitVirtualRoute,\n detectCodeSplitGroupingsFromRoute,\n} from './code-splitter/compilers'\nimport {\n defaultCodeSplitGroupings,\n splitRouteIdentNodes,\n tsrSplit,\n} from './constants'\nimport { decodeIdentifier } from './code-splitter/path-ids'\nimport { debug } from './utils'\nimport type { CodeSplitGroupings, SplitRouteIdentNodes } from './constants'\nimport type { GetRoutesByFileMapResultValue } from '@tanstack/router-generator'\nimport type { Config } from './config'\nimport type {\n UnpluginContextMeta,\n UnpluginFactory,\n TransformResult as UnpluginTransformResult,\n} from 'unplugin'\n\ntype BannedBeforeExternalPlugin = {\n identifier: string\n pkg: string\n usage: string\n frameworks: Array<UnpluginContextMeta['framework']>\n}\n\nconst bannedBeforeExternalPlugins: Array<BannedBeforeExternalPlugin> = [\n {\n identifier: '@react-refresh',\n pkg: '@vitejs/plugin-react',\n usage: 'viteReact()',\n frameworks: ['vite'],\n },\n]\n\nclass FoundPluginInBeforeCode extends Error {\n constructor(\n externalPlugin: BannedBeforeExternalPlugin,\n pluginFramework: string,\n ) {\n super(`We detected that the '${externalPlugin.pkg}' was passed before '@tanstack/router-plugin/${pluginFramework}'. Please make sure that '@tanstack/router-plugin' is passed before '${externalPlugin.pkg}' and try again: \ne.g.\nplugins: [\n tanstackRouter(), // Place this before ${externalPlugin.usage}\n ${externalPlugin.usage},\n]\n`)\n }\n}\n\nconst PLUGIN_NAME = 'unplugin:router-code-splitter'\n\nexport const unpluginRouterCodeSplitterFactory: UnpluginFactory<\n Partial<Config> | undefined\n> = (options = {}, { framework }) => {\n let ROOT: string = process.cwd()\n let userConfig = options as Config\n\n const isProduction = process.env.NODE_ENV === 'production'\n\n const getGlobalCodeSplitGroupings = () => {\n return (\n userConfig.codeSplittingOptions?.defaultBehavior ||\n defaultCodeSplitGroupings\n )\n }\n const getShouldSplitFn = () => {\n return userConfig.codeSplittingOptions?.splitBehavior\n }\n\n const handleCompilingReferenceFile = (\n code: string,\n id: string,\n generatorNodeInfo: GetRoutesByFileMapResultValue,\n ): UnpluginTransformResult => {\n if (debug) console.info('Compiling Route: ', id)\n\n const fromCode = detectCodeSplitGroupingsFromRoute({\n code,\n })\n\n if (fromCode.groupings) {\n const res = splitGroupingsSchema.safeParse(fromCode.groupings)\n if (!res.success) {\n const message = res.error.errors.map((e) => e.message).join('. ')\n throw new Error(\n `The groupings for the route \"${id}\" are invalid.\\n${message}`,\n )\n }\n }\n\n const userShouldSplitFn = getShouldSplitFn()\n\n const pluginSplitBehavior = userShouldSplitFn?.({\n routeId: generatorNodeInfo.routePath,\n }) as CodeSplitGroupings | undefined\n\n if (pluginSplitBehavior) {\n const res = splitGroupingsSchema.safeParse(pluginSplitBehavior)\n if (!res.success) {\n const message = res.error.errors.map((e) => e.message).join('. ')\n throw new Error(\n `The groupings returned when using \\`splitBehavior\\` for the route \"${id}\" are invalid.\\n${message}`,\n )\n }\n }\n\n const splitGroupings: CodeSplitGroupings =\n fromCode.groupings || pluginSplitBehavior || getGlobalCodeSplitGroupings()\n\n const compiledReferenceRoute = compileCodeSplitReferenceRoute({\n code,\n codeSplitGroupings: splitGroupings,\n targetFramework: userConfig.target,\n filename: id,\n id,\n deleteNodes: new Set(userConfig.codeSplittingOptions?.deleteNodes),\n addHmr: (options.codeSplittingOptions?.addHmr ?? true) && !isProduction,\n })\n\n if (debug) {\n logDiff(code, compiledReferenceRoute.code)\n console.log('Output:\\n', compiledReferenceRoute.code + '\\n\\n')\n }\n\n return compiledReferenceRoute\n }\n\n const handleCompilingVirtualFile = (\n code: string,\n id: string,\n ): UnpluginTransformResult => {\n if (debug) console.info('Splitting Route: ', id)\n\n const [_, ...pathnameParts] = id.split('?')\n\n const searchParams = new URLSearchParams(pathnameParts.join('?'))\n const splitValue = searchParams.get(tsrSplit)\n\n if (!splitValue) {\n throw new Error(\n `The split value for the virtual route \"${id}\" was not found.`,\n )\n }\n\n const rawGrouping = decodeIdentifier(splitValue)\n const grouping = [...new Set(rawGrouping)].filter((p) =>\n splitRouteIdentNodes.includes(p as any),\n ) as Array<SplitRouteIdentNodes>\n\n const result = compileCodeSplitVirtualRoute({\n code,\n filename: id,\n splitTargets: grouping,\n })\n\n if (debug) {\n logDiff(code, result.code)\n console.log('Output:\\n', result.code + '\\n\\n')\n }\n\n return result\n }\n\n const includedCode = [\n 'createFileRoute(',\n 'createRootRoute(',\n 'createRootRouteWithContext(',\n ]\n return [\n {\n name: 'tanstack-router:code-splitter:compile-reference-file',\n enforce: 'pre',\n\n transform: {\n filter: {\n id: {\n exclude: tsrSplit,\n // this is necessary for webpack / rspack to avoid matching .html files\n include: /\\.(m|c)?(j|t)sx?$/,\n },\n code: {\n include: includedCode,\n },\n },\n handler(code, id) {\n const generatorFileInfo = globalThis.TSR_ROUTES_BY_ID_MAP?.get(id)\n if (\n generatorFileInfo &&\n includedCode.some((included) => code.includes(included))\n ) {\n for (const externalPlugin of bannedBeforeExternalPlugins) {\n if (!externalPlugin.frameworks.includes(framework)) {\n continue\n }\n\n if (code.includes(externalPlugin.identifier)) {\n throw new FoundPluginInBeforeCode(externalPlugin, framework)\n }\n }\n\n return handleCompilingReferenceFile(code, id, generatorFileInfo)\n }\n\n return null\n },\n },\n\n vite: {\n configResolved(config) {\n ROOT = config.root\n userConfig = getConfig(options, ROOT)\n },\n applyToEnvironment(environment) {\n if (userConfig.plugin?.vite?.environmentName) {\n return userConfig.plugin.vite.environmentName === environment.name\n }\n return true\n },\n },\n\n rspack() {\n ROOT = process.cwd()\n userConfig = getConfig(options, ROOT)\n },\n\n webpack(compiler) {\n ROOT = process.cwd()\n userConfig = getConfig(options, ROOT)\n\n if (compiler.options.mode === 'production') {\n compiler.hooks.done.tap(PLUGIN_NAME, () => {\n console.info('✅ ' + PLUGIN_NAME + ': code-splitting done!')\n setTimeout(() => {\n process.exit(0)\n })\n })\n }\n },\n },\n {\n name: 'tanstack-router:code-splitter:compile-virtual-file',\n enforce: 'pre',\n\n transform: {\n filter: {\n id: /tsr-split/,\n },\n handler(code, id) {\n const url = pathToFileURL(id)\n url.searchParams.delete('v')\n id = fileURLToPath(url).replace(/\\\\/g, '/')\n return handleCompilingVirtualFile(code, id)\n },\n },\n },\n ]\n}\n"],"names":["defaultCodeSplitGroupings","debug","detectCodeSplitGroupingsFromRoute","splitGroupingsSchema","compileCodeSplitReferenceRoute","logDiff","tsrSplit","decodeIdentifier","splitRouteIdentNodes","compileCodeSplitVirtualRoute","config","getConfig","pathToFileURL","fileURLToPath"],"mappings":"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"}
1
+ {"version":3,"file":"router-code-splitter-plugin.cjs","sources":["../../../src/core/router-code-splitter-plugin.ts"],"sourcesContent":["/**\n * It is important to familiarize yourself with how the code-splitting works in this plugin.\n * https://github.com/TanStack/router/pull/3355\n */\n\nimport { fileURLToPath, pathToFileURL } from 'node:url'\nimport { logDiff } from '@tanstack/router-utils'\nimport { getConfig, splitGroupingsSchema } from './config'\nimport {\n compileCodeSplitReferenceRoute,\n compileCodeSplitVirtualRoute,\n detectCodeSplitGroupingsFromRoute,\n} from './code-splitter/compilers'\nimport {\n defaultCodeSplitGroupings,\n splitRouteIdentNodes,\n tsrSplit,\n} from './constants'\nimport { decodeIdentifier } from './code-splitter/path-ids'\nimport { debug } from './utils'\nimport type { CodeSplitGroupings, SplitRouteIdentNodes } from './constants'\nimport type { GetRoutesByFileMapResultValue } from '@tanstack/router-generator'\nimport type { Config } from './config'\nimport type {\n UnpluginContextMeta,\n UnpluginFactory,\n TransformResult as UnpluginTransformResult,\n} from 'unplugin'\n\ntype BannedBeforeExternalPlugin = {\n identifier: string\n pkg: string\n usage: string\n frameworks: Array<UnpluginContextMeta['framework']>\n}\n\nconst bannedBeforeExternalPlugins: Array<BannedBeforeExternalPlugin> = [\n {\n identifier: '@react-refresh',\n pkg: '@vitejs/plugin-react',\n usage: 'viteReact()',\n frameworks: ['vite'],\n },\n]\n\nclass FoundPluginInBeforeCode extends Error {\n constructor(\n externalPlugin: BannedBeforeExternalPlugin,\n pluginFramework: string,\n ) {\n super(`We detected that the '${externalPlugin.pkg}' was passed before '@tanstack/router-plugin/${pluginFramework}'. Please make sure that '@tanstack/router-plugin' is passed before '${externalPlugin.pkg}' and try again: \ne.g.\nplugins: [\n tanstackRouter(), // Place this before ${externalPlugin.usage}\n ${externalPlugin.usage},\n]\n`)\n }\n}\n\nconst PLUGIN_NAME = 'unplugin:router-code-splitter'\n\nexport const unpluginRouterCodeSplitterFactory: UnpluginFactory<\n Partial<Config | (() => Config)> | undefined\n> = (options = {}, { framework }) => {\n let ROOT: string = process.cwd()\n let userConfig: Config\n\n function initUserConfig() {\n if (typeof options === 'function') {\n userConfig = options()\n } else {\n userConfig = getConfig(options, ROOT)\n }\n }\n const isProduction = process.env.NODE_ENV === 'production'\n\n const getGlobalCodeSplitGroupings = () => {\n return (\n userConfig.codeSplittingOptions?.defaultBehavior ||\n defaultCodeSplitGroupings\n )\n }\n const getShouldSplitFn = () => {\n return userConfig.codeSplittingOptions?.splitBehavior\n }\n\n const handleCompilingReferenceFile = (\n code: string,\n id: string,\n generatorNodeInfo: GetRoutesByFileMapResultValue,\n ): UnpluginTransformResult => {\n if (debug) console.info('Compiling Route: ', id)\n\n const fromCode = detectCodeSplitGroupingsFromRoute({\n code,\n })\n\n if (fromCode.groupings) {\n const res = splitGroupingsSchema.safeParse(fromCode.groupings)\n if (!res.success) {\n const message = res.error.errors.map((e) => e.message).join('. ')\n throw new Error(\n `The groupings for the route \"${id}\" are invalid.\\n${message}`,\n )\n }\n }\n\n const userShouldSplitFn = getShouldSplitFn()\n\n const pluginSplitBehavior = userShouldSplitFn?.({\n routeId: generatorNodeInfo.routePath,\n }) as CodeSplitGroupings | undefined\n\n if (pluginSplitBehavior) {\n const res = splitGroupingsSchema.safeParse(pluginSplitBehavior)\n if (!res.success) {\n const message = res.error.errors.map((e) => e.message).join('. ')\n throw new Error(\n `The groupings returned when using \\`splitBehavior\\` for the route \"${id}\" are invalid.\\n${message}`,\n )\n }\n }\n\n const splitGroupings: CodeSplitGroupings =\n fromCode.groupings || pluginSplitBehavior || getGlobalCodeSplitGroupings()\n\n const compiledReferenceRoute = compileCodeSplitReferenceRoute({\n code,\n codeSplitGroupings: splitGroupings,\n targetFramework: userConfig.target,\n filename: id,\n id,\n deleteNodes: new Set(userConfig.codeSplittingOptions?.deleteNodes),\n addHmr:\n (userConfig.codeSplittingOptions?.addHmr ?? true) && !isProduction,\n })\n\n if (debug) {\n logDiff(code, compiledReferenceRoute.code)\n console.log('Output:\\n', compiledReferenceRoute.code + '\\n\\n')\n }\n\n return compiledReferenceRoute\n }\n\n const handleCompilingVirtualFile = (\n code: string,\n id: string,\n ): UnpluginTransformResult => {\n if (debug) console.info('Splitting Route: ', id)\n\n const [_, ...pathnameParts] = id.split('?')\n\n const searchParams = new URLSearchParams(pathnameParts.join('?'))\n const splitValue = searchParams.get(tsrSplit)\n\n if (!splitValue) {\n throw new Error(\n `The split value for the virtual route \"${id}\" was not found.`,\n )\n }\n\n const rawGrouping = decodeIdentifier(splitValue)\n const grouping = [...new Set(rawGrouping)].filter((p) =>\n splitRouteIdentNodes.includes(p as any),\n ) as Array<SplitRouteIdentNodes>\n\n const result = compileCodeSplitVirtualRoute({\n code,\n filename: id,\n splitTargets: grouping,\n })\n\n if (debug) {\n logDiff(code, result.code)\n console.log('Output:\\n', result.code + '\\n\\n')\n }\n\n return result\n }\n\n const includedCode = [\n 'createFileRoute(',\n 'createRootRoute(',\n 'createRootRouteWithContext(',\n ]\n return [\n {\n name: 'tanstack-router:code-splitter:compile-reference-file',\n enforce: 'pre',\n\n transform: {\n filter: {\n id: {\n exclude: tsrSplit,\n // this is necessary for webpack / rspack to avoid matching .html files\n include: /\\.(m|c)?(j|t)sx?$/,\n },\n code: {\n include: includedCode,\n },\n },\n handler(code, id) {\n const generatorFileInfo = globalThis.TSR_ROUTES_BY_ID_MAP?.get(id)\n if (\n generatorFileInfo &&\n includedCode.some((included) => code.includes(included))\n ) {\n for (const externalPlugin of bannedBeforeExternalPlugins) {\n if (!externalPlugin.frameworks.includes(framework)) {\n continue\n }\n\n if (code.includes(externalPlugin.identifier)) {\n throw new FoundPluginInBeforeCode(externalPlugin, framework)\n }\n }\n\n return handleCompilingReferenceFile(code, id, generatorFileInfo)\n }\n\n return null\n },\n },\n\n vite: {\n configResolved(config) {\n ROOT = config.root\n initUserConfig()\n },\n applyToEnvironment(environment) {\n if (userConfig.plugin?.vite?.environmentName) {\n return userConfig.plugin.vite.environmentName === environment.name\n }\n return true\n },\n },\n\n rspack() {\n ROOT = process.cwd()\n initUserConfig()\n },\n\n webpack(compiler) {\n ROOT = process.cwd()\n initUserConfig()\n\n if (compiler.options.mode === 'production') {\n compiler.hooks.done.tap(PLUGIN_NAME, () => {\n console.info('✅ ' + PLUGIN_NAME + ': code-splitting done!')\n setTimeout(() => {\n process.exit(0)\n })\n })\n }\n },\n },\n {\n name: 'tanstack-router:code-splitter:compile-virtual-file',\n enforce: 'pre',\n\n transform: {\n filter: {\n id: /tsr-split/,\n },\n handler(code, id) {\n const url = pathToFileURL(id)\n url.searchParams.delete('v')\n id = fileURLToPath(url).replace(/\\\\/g, '/')\n return handleCompilingVirtualFile(code, id)\n },\n },\n },\n ]\n}\n"],"names":["getConfig","defaultCodeSplitGroupings","debug","detectCodeSplitGroupingsFromRoute","splitGroupingsSchema","compileCodeSplitReferenceRoute","logDiff","tsrSplit","decodeIdentifier","splitRouteIdentNodes","compileCodeSplitVirtualRoute","config","pathToFileURL","fileURLToPath"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { Config } from './config.cjs';
2
2
  import { UnpluginFactory } from 'unplugin';
3
- export declare const unpluginRouterCodeSplitterFactory: UnpluginFactory<Partial<Config> | undefined>;
3
+ export declare const unpluginRouterCodeSplitterFactory: UnpluginFactory<Partial<Config | (() => Config)> | undefined>;
@@ -27,15 +27,22 @@ const routerGenerator = require("@tanstack/router-generator");
27
27
  const config = require("./config.cjs");
28
28
  const PLUGIN_NAME = "unplugin:router-generator";
29
29
  const unpluginRouterGeneratorFactory = (options = {}) => {
30
- const ROOT = process.cwd();
31
- let userConfig = options;
30
+ let ROOT = process.cwd();
31
+ let userConfig;
32
32
  let generator;
33
33
  const routeGenerationDisabled = () => userConfig.enableRouteGeneration === false;
34
34
  const getRoutesDirectoryPath = () => {
35
35
  return node_path.isAbsolute(userConfig.routesDirectory) ? userConfig.routesDirectory : node_path.join(ROOT, userConfig.routesDirectory);
36
36
  };
37
- const initConfigAndGenerator = () => {
38
- userConfig = config.getConfig(options, ROOT);
37
+ const initConfigAndGenerator = (opts) => {
38
+ if (opts?.root) {
39
+ ROOT = opts.root;
40
+ }
41
+ if (typeof options === "function") {
42
+ userConfig = options();
43
+ } else {
44
+ userConfig = config.getConfig(options, ROOT);
45
+ }
39
46
  generator = new routerGenerator.Generator({
40
47
  config: userConfig,
41
48
  root: ROOT
@@ -70,23 +77,11 @@ const unpluginRouterGeneratorFactory = (options = {}) => {
70
77
  event
71
78
  });
72
79
  },
73
- async buildStart() {
74
- await generate();
75
- },
76
80
  vite: {
77
- configResolved() {
78
- initConfigAndGenerator();
79
- },
80
- applyToEnvironment(environment) {
81
- if (userConfig.plugin?.vite?.environmentName) {
82
- return userConfig.plugin.vite.environmentName === environment.name;
83
- }
84
- return true;
85
- },
86
- async buildStart() {
81
+ async configResolved(config2) {
82
+ initConfigAndGenerator({ root: config2.root });
87
83
  await generate();
88
- },
89
- sharedDuringBuild: true
84
+ }
90
85
  },
91
86
  rspack(compiler) {
92
87
  initConfigAndGenerator();
@@ -1 +1 @@
1
- {"version":3,"file":"router-generator-plugin.cjs","sources":["../../../src/core/router-generator-plugin.ts"],"sourcesContent":["import { isAbsolute, join, normalize } from 'node:path'\nimport { Generator, resolveConfigPath } from '@tanstack/router-generator'\nimport { getConfig } from './config'\n\nimport type { GeneratorEvent } from '@tanstack/router-generator'\nimport type { FSWatcher } from 'chokidar'\nimport type { UnpluginFactory } from 'unplugin'\nimport type { Config } from './config'\n\nconst PLUGIN_NAME = 'unplugin:router-generator'\n\nexport const unpluginRouterGeneratorFactory: UnpluginFactory<\n Partial<Config> | undefined\n> = (options = {}) => {\n const ROOT: string = process.cwd()\n let userConfig = options as Config\n let generator: Generator\n\n const routeGenerationDisabled = () =>\n userConfig.enableRouteGeneration === false\n const getRoutesDirectoryPath = () => {\n return isAbsolute(userConfig.routesDirectory)\n ? userConfig.routesDirectory\n : join(ROOT, userConfig.routesDirectory)\n }\n\n const initConfigAndGenerator = () => {\n userConfig = getConfig(options, ROOT)\n generator = new Generator({\n config: userConfig,\n root: ROOT,\n })\n }\n\n const generate = async (opts?: {\n file: string\n event: 'create' | 'update' | 'delete'\n }) => {\n if (routeGenerationDisabled()) {\n return\n }\n let generatorEvent: GeneratorEvent | undefined = undefined\n if (opts) {\n const filePath = normalize(opts.file)\n if (filePath === resolveConfigPath({ configDirectory: ROOT })) {\n initConfigAndGenerator()\n return\n }\n generatorEvent = { path: filePath, type: opts.event }\n }\n\n try {\n await generator.run(generatorEvent)\n globalThis.TSR_ROUTES_BY_ID_MAP = generator.getRoutesByFileMap()\n } catch (e) {\n console.error(e)\n }\n }\n\n return {\n name: 'tanstack:router-generator',\n enforce: 'pre',\n async watchChange(id, { event }) {\n await generate({\n file: id,\n event,\n })\n },\n async buildStart() {\n await generate()\n },\n vite: {\n configResolved() {\n initConfigAndGenerator()\n },\n applyToEnvironment(environment) {\n if (userConfig.plugin?.vite?.environmentName) {\n return userConfig.plugin.vite.environmentName === environment.name\n }\n return true\n },\n async buildStart() {\n await generate()\n },\n sharedDuringBuild: true,\n },\n rspack(compiler) {\n initConfigAndGenerator()\n\n let handle: FSWatcher | null = null\n\n compiler.hooks.beforeRun.tapPromise(PLUGIN_NAME, () => generate())\n\n compiler.hooks.watchRun.tapPromise(PLUGIN_NAME, async () => {\n if (handle) {\n return\n }\n\n // rspack watcher doesn't register newly created files\n const routesDirectoryPath = getRoutesDirectoryPath()\n const chokidar = await import('chokidar')\n handle = chokidar\n .watch(routesDirectoryPath, { ignoreInitial: true })\n .on('add', (file) => generate({ file, event: 'create' }))\n\n await generate()\n })\n\n compiler.hooks.watchClose.tap(PLUGIN_NAME, async () => {\n if (handle) {\n await handle.close()\n }\n })\n },\n webpack(compiler) {\n initConfigAndGenerator()\n\n let handle: FSWatcher | null = null\n\n compiler.hooks.beforeRun.tapPromise(PLUGIN_NAME, () => generate())\n\n compiler.hooks.watchRun.tapPromise(PLUGIN_NAME, async () => {\n if (handle) {\n return\n }\n\n // webpack watcher doesn't register newly created files\n const routesDirectoryPath = getRoutesDirectoryPath()\n const chokidar = await import('chokidar')\n handle = chokidar\n .watch(routesDirectoryPath, { ignoreInitial: true })\n .on('add', (file) => generate({ file, event: 'create' }))\n\n await generate()\n })\n\n compiler.hooks.watchClose.tap(PLUGIN_NAME, async () => {\n if (handle) {\n await handle.close()\n }\n })\n\n compiler.hooks.done.tap(PLUGIN_NAME, () => {\n console.info('✅ ' + PLUGIN_NAME + ': route-tree generation done')\n })\n },\n esbuild: {\n config() {\n initConfigAndGenerator()\n },\n },\n }\n}\n"],"names":["isAbsolute","join","getConfig","Generator","normalize","resolveConfigPath"],"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 } from 'node:path'\nimport { Generator, resolveConfigPath } from '@tanstack/router-generator'\nimport { getConfig } from './config'\n\nimport type { GeneratorEvent } from '@tanstack/router-generator'\nimport type { FSWatcher } from 'chokidar'\nimport type { UnpluginFactory } from 'unplugin'\nimport type { Config } from './config'\n\nconst PLUGIN_NAME = 'unplugin:router-generator'\n\nexport const unpluginRouterGeneratorFactory: UnpluginFactory<\n Partial<Config | (() => Config)> | undefined\n> = (options = {}) => {\n let ROOT: string = process.cwd()\n let userConfig: Config\n let generator: Generator\n\n const routeGenerationDisabled = () =>\n userConfig.enableRouteGeneration === false\n const getRoutesDirectoryPath = () => {\n return isAbsolute(userConfig.routesDirectory)\n ? userConfig.routesDirectory\n : join(ROOT, userConfig.routesDirectory)\n }\n\n const initConfigAndGenerator = (opts?: { root?: string }) => {\n if (opts?.root) {\n ROOT = opts.root\n }\n if (typeof options === 'function') {\n userConfig = options()\n } else {\n userConfig = getConfig(options, ROOT)\n }\n generator = new Generator({\n config: userConfig,\n root: ROOT,\n })\n }\n\n const generate = async (opts?: {\n file: string\n event: 'create' | 'update' | 'delete'\n }) => {\n if (routeGenerationDisabled()) {\n return\n }\n let generatorEvent: GeneratorEvent | undefined = undefined\n if (opts) {\n const filePath = normalize(opts.file)\n if (filePath === resolveConfigPath({ configDirectory: ROOT })) {\n initConfigAndGenerator()\n return\n }\n generatorEvent = { path: filePath, type: opts.event }\n }\n\n try {\n await generator.run(generatorEvent)\n globalThis.TSR_ROUTES_BY_ID_MAP = generator.getRoutesByFileMap()\n } catch (e) {\n console.error(e)\n }\n }\n\n return {\n name: 'tanstack:router-generator',\n enforce: 'pre',\n async watchChange(id, { event }) {\n await generate({\n file: id,\n event,\n })\n },\n vite: {\n async configResolved(config) {\n initConfigAndGenerator({ root: config.root })\n await generate()\n },\n },\n rspack(compiler) {\n initConfigAndGenerator()\n\n let handle: FSWatcher | null = null\n\n compiler.hooks.beforeRun.tapPromise(PLUGIN_NAME, () => generate())\n\n compiler.hooks.watchRun.tapPromise(PLUGIN_NAME, async () => {\n if (handle) {\n return\n }\n\n // rspack watcher doesn't register newly created files\n const routesDirectoryPath = getRoutesDirectoryPath()\n const chokidar = await import('chokidar')\n handle = chokidar\n .watch(routesDirectoryPath, { ignoreInitial: true })\n .on('add', (file) => generate({ file, event: 'create' }))\n\n await generate()\n })\n\n compiler.hooks.watchClose.tap(PLUGIN_NAME, async () => {\n if (handle) {\n await handle.close()\n }\n })\n },\n webpack(compiler) {\n initConfigAndGenerator()\n\n let handle: FSWatcher | null = null\n\n compiler.hooks.beforeRun.tapPromise(PLUGIN_NAME, () => generate())\n\n compiler.hooks.watchRun.tapPromise(PLUGIN_NAME, async () => {\n if (handle) {\n return\n }\n\n // webpack watcher doesn't register newly created files\n const routesDirectoryPath = getRoutesDirectoryPath()\n const chokidar = await import('chokidar')\n handle = chokidar\n .watch(routesDirectoryPath, { ignoreInitial: true })\n .on('add', (file) => generate({ file, event: 'create' }))\n\n await generate()\n })\n\n compiler.hooks.watchClose.tap(PLUGIN_NAME, async () => {\n if (handle) {\n await handle.close()\n }\n })\n\n compiler.hooks.done.tap(PLUGIN_NAME, () => {\n console.info('✅ ' + PLUGIN_NAME + ': route-tree generation done')\n })\n },\n esbuild: {\n config() {\n initConfigAndGenerator()\n },\n },\n }\n}\n"],"names":["isAbsolute","join","getConfig","Generator","normalize","resolveConfigPath","config"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { UnpluginFactory } from 'unplugin';
2
2
  import { Config } from './config.cjs';
3
- export declare const unpluginRouterGeneratorFactory: UnpluginFactory<Partial<Config> | undefined>;
3
+ export declare const unpluginRouterGeneratorFactory: UnpluginFactory<Partial<Config | (() => Config)> | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"esbuild.cjs","sources":["../../src/esbuild.ts"],"sourcesContent":["import { createEsbuildPlugin } from 'unplugin'\n\nimport { configSchema } from './core/config'\nimport { unpluginRouterCodeSplitterFactory } from './core/router-code-splitter-plugin'\nimport { unpluginRouterGeneratorFactory } from './core/router-generator-plugin'\nimport { unpluginRouterComposedFactory } from './core/router-composed-plugin'\n\nimport type { Config } from './core/config'\n\n/**\n * @example\n * ```ts\n * export default {\n * plugins: [TanStackRouterGeneratorEsbuild()],\n * // ...\n * }\n * ```\n */\nconst TanStackRouterGeneratorEsbuild = createEsbuildPlugin(\n unpluginRouterGeneratorFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default {\n * plugins: [TanStackRouterCodeSplitterEsbuild()],\n * // ...\n * }\n * ```\n */\nconst TanStackRouterCodeSplitterEsbuild = createEsbuildPlugin(\n unpluginRouterCodeSplitterFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default {\n * plugins: [tanstackRouter()],\n * // ...\n * }\n * ```\n */\nconst TanStackRouterEsbuild = createEsbuildPlugin(unpluginRouterComposedFactory)\nconst tanstackRouter = TanStackRouterEsbuild\nexport default TanStackRouterEsbuild\n\nexport {\n configSchema,\n TanStackRouterGeneratorEsbuild,\n TanStackRouterCodeSplitterEsbuild,\n TanStackRouterEsbuild,\n tanstackRouter,\n}\n\nexport type { Config }\n"],"names":["createEsbuildPlugin","unpluginRouterGeneratorFactory","unpluginRouterCodeSplitterFactory","unpluginRouterComposedFactory"],"mappings":";;;;;;;AAkBA,MAAM,iCAAiCA,SAAAA;AAAAA,EACrCC,sBAAAA;AACF;AAWA,MAAM,oCAAoCD,SAAAA;AAAAA,EACxCE,yBAAAA;AACF;AAWA,MAAM,wBAAwBF,SAAAA,oBAAoBG,qBAAAA,6BAA6B;AAC/E,MAAM,iBAAiB;;;;;;;"}
1
+ {"version":3,"file":"esbuild.cjs","sources":["../../src/esbuild.ts"],"sourcesContent":["import { createEsbuildPlugin } from 'unplugin'\n\nimport { configSchema } from './core/config'\nimport { unpluginRouterCodeSplitterFactory } from './core/router-code-splitter-plugin'\nimport { unpluginRouterGeneratorFactory } from './core/router-generator-plugin'\nimport { unpluginRouterComposedFactory } from './core/router-composed-plugin'\n\nimport type { CodeSplittingOptions, Config } from './core/config'\n\n/**\n * @example\n * ```ts\n * export default {\n * plugins: [TanStackRouterGeneratorEsbuild()],\n * // ...\n * }\n * ```\n */\nconst TanStackRouterGeneratorEsbuild = createEsbuildPlugin(\n unpluginRouterGeneratorFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default {\n * plugins: [TanStackRouterCodeSplitterEsbuild()],\n * // ...\n * }\n * ```\n */\nconst TanStackRouterCodeSplitterEsbuild = createEsbuildPlugin(\n unpluginRouterCodeSplitterFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default {\n * plugins: [tanstackRouter()],\n * // ...\n * }\n * ```\n */\nconst TanStackRouterEsbuild = createEsbuildPlugin(unpluginRouterComposedFactory)\nconst tanstackRouter = TanStackRouterEsbuild\nexport default TanStackRouterEsbuild\n\nexport {\n configSchema,\n TanStackRouterGeneratorEsbuild,\n TanStackRouterCodeSplitterEsbuild,\n TanStackRouterEsbuild,\n tanstackRouter,\n}\n\nexport type { Config, CodeSplittingOptions }\n"],"names":["createEsbuildPlugin","unpluginRouterGeneratorFactory","unpluginRouterCodeSplitterFactory","unpluginRouterComposedFactory"],"mappings":";;;;;;;AAkBA,MAAM,iCAAiCA,SAAAA;AAAAA,EACrCC,sBAAAA;AACF;AAWA,MAAM,oCAAoCD,SAAAA;AAAAA,EACxCE,yBAAAA;AACF;AAWA,MAAM,wBAAwBF,SAAAA,oBAAoBG,qBAAAA,6BAA6B;AAC/E,MAAM,iBAAiB;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { configSchema, Config } from './core/config.cjs';
1
+ import { configSchema, CodeSplittingOptions, Config } from './core/config.cjs';
2
2
  /**
3
3
  * @example
4
4
  * ```ts
@@ -22,10 +22,10 @@ declare const TanStackRouterGeneratorEsbuild: (options?: Partial<{
22
22
  disableTypes: boolean;
23
23
  addExtensions: boolean;
24
24
  enableRouteTreeFormatting: boolean;
25
- routeTreeFileFooter: string[];
26
25
  tmpDir: string;
26
+ importRoutesUsingAbsolutePaths: boolean;
27
27
  enableRouteGeneration?: boolean | undefined;
28
- codeSplittingOptions?: import('./core/config.cjs').CodeSplittingOptions | undefined;
28
+ codeSplittingOptions?: CodeSplittingOptions | undefined;
29
29
  plugin?: {
30
30
  vite?: {
31
31
  environmentName?: string | undefined;
@@ -36,6 +36,7 @@ declare const TanStackRouterGeneratorEsbuild: (options?: Partial<{
36
36
  routeFileIgnorePattern?: string | undefined;
37
37
  pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
38
38
  verboseFileRoutes?: boolean | undefined;
39
+ routeTreeFileFooter?: string[] | ((...args: unknown[]) => string[]) | undefined;
39
40
  autoCodeSplitting?: boolean | undefined;
40
41
  customScaffolding?: {
41
42
  routeTemplate?: string | undefined;
@@ -45,7 +46,7 @@ declare const TanStackRouterGeneratorEsbuild: (options?: Partial<{
45
46
  enableCodeSplitting?: boolean | undefined;
46
47
  } | undefined;
47
48
  plugins?: import('@tanstack/router-generator').GeneratorPlugin[] | undefined;
48
- }> | undefined) => import('unplugin').EsbuildPlugin;
49
+ } | (() => Config)> | undefined) => import('unplugin').EsbuildPlugin;
49
50
  /**
50
51
  * @example
51
52
  * ```ts
@@ -69,10 +70,10 @@ declare const TanStackRouterCodeSplitterEsbuild: (options?: Partial<{
69
70
  disableTypes: boolean;
70
71
  addExtensions: boolean;
71
72
  enableRouteTreeFormatting: boolean;
72
- routeTreeFileFooter: string[];
73
73
  tmpDir: string;
74
+ importRoutesUsingAbsolutePaths: boolean;
74
75
  enableRouteGeneration?: boolean | undefined;
75
- codeSplittingOptions?: import('./core/config.cjs').CodeSplittingOptions | undefined;
76
+ codeSplittingOptions?: CodeSplittingOptions | undefined;
76
77
  plugin?: {
77
78
  vite?: {
78
79
  environmentName?: string | undefined;
@@ -83,6 +84,7 @@ declare const TanStackRouterCodeSplitterEsbuild: (options?: Partial<{
83
84
  routeFileIgnorePattern?: string | undefined;
84
85
  pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
85
86
  verboseFileRoutes?: boolean | undefined;
87
+ routeTreeFileFooter?: string[] | ((...args: unknown[]) => string[]) | undefined;
86
88
  autoCodeSplitting?: boolean | undefined;
87
89
  customScaffolding?: {
88
90
  routeTemplate?: string | undefined;
@@ -92,7 +94,7 @@ declare const TanStackRouterCodeSplitterEsbuild: (options?: Partial<{
92
94
  enableCodeSplitting?: boolean | undefined;
93
95
  } | undefined;
94
96
  plugins?: import('@tanstack/router-generator').GeneratorPlugin[] | undefined;
95
- }> | undefined) => import('unplugin').EsbuildPlugin;
97
+ } | (() => Config)> | undefined) => import('unplugin').EsbuildPlugin;
96
98
  /**
97
99
  * @example
98
100
  * ```ts
@@ -116,10 +118,10 @@ declare const TanStackRouterEsbuild: (options?: Partial<{
116
118
  disableTypes: boolean;
117
119
  addExtensions: boolean;
118
120
  enableRouteTreeFormatting: boolean;
119
- routeTreeFileFooter: string[];
120
121
  tmpDir: string;
122
+ importRoutesUsingAbsolutePaths: boolean;
121
123
  enableRouteGeneration?: boolean | undefined;
122
- codeSplittingOptions?: import('./core/config.cjs').CodeSplittingOptions | undefined;
124
+ codeSplittingOptions?: CodeSplittingOptions | undefined;
123
125
  plugin?: {
124
126
  vite?: {
125
127
  environmentName?: string | undefined;
@@ -130,6 +132,7 @@ declare const TanStackRouterEsbuild: (options?: Partial<{
130
132
  routeFileIgnorePattern?: string | undefined;
131
133
  pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
132
134
  verboseFileRoutes?: boolean | undefined;
135
+ routeTreeFileFooter?: string[] | ((...args: unknown[]) => string[]) | undefined;
133
136
  autoCodeSplitting?: boolean | undefined;
134
137
  customScaffolding?: {
135
138
  routeTemplate?: string | undefined;
@@ -154,10 +157,10 @@ declare const tanstackRouter: (options?: Partial<{
154
157
  disableTypes: boolean;
155
158
  addExtensions: boolean;
156
159
  enableRouteTreeFormatting: boolean;
157
- routeTreeFileFooter: string[];
158
160
  tmpDir: string;
161
+ importRoutesUsingAbsolutePaths: boolean;
159
162
  enableRouteGeneration?: boolean | undefined;
160
- codeSplittingOptions?: import('./core/config.cjs').CodeSplittingOptions | undefined;
163
+ codeSplittingOptions?: CodeSplittingOptions | undefined;
161
164
  plugin?: {
162
165
  vite?: {
163
166
  environmentName?: string | undefined;
@@ -168,6 +171,7 @@ declare const tanstackRouter: (options?: Partial<{
168
171
  routeFileIgnorePattern?: string | undefined;
169
172
  pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
170
173
  verboseFileRoutes?: boolean | undefined;
174
+ routeTreeFileFooter?: string[] | ((...args: unknown[]) => string[]) | undefined;
171
175
  autoCodeSplitting?: boolean | undefined;
172
176
  customScaffolding?: {
173
177
  routeTemplate?: string | undefined;
@@ -180,4 +184,4 @@ declare const tanstackRouter: (options?: Partial<{
180
184
  }> | undefined) => import('unplugin').EsbuildPlugin;
181
185
  export default TanStackRouterEsbuild;
182
186
  export { configSchema, TanStackRouterGeneratorEsbuild, TanStackRouterCodeSplitterEsbuild, TanStackRouterEsbuild, tanstackRouter, };
183
- export type { Config };
187
+ export type { Config, CodeSplittingOptions };
@@ -1,5 +1,5 @@
1
1
  export { configSchema, getConfig } from './core/config.cjs';
2
2
  export { unpluginRouterCodeSplitterFactory } from './core/router-code-splitter-plugin.cjs';
3
3
  export { unpluginRouterGeneratorFactory } from './core/router-generator-plugin.cjs';
4
- export type { Config, ConfigInput, ConfigOutput } from './core/config.cjs';
4
+ export type { Config, ConfigInput, ConfigOutput, CodeSplittingOptions, DeletableNodes, } from './core/config.cjs';
5
5
  export { tsrSplit, splitRouteIdentNodes, defaultCodeSplitGroupings, } from './core/constants.cjs';
@@ -1 +1 @@
1
- {"version":3,"file":"rspack.cjs","sources":["../../src/rspack.ts"],"sourcesContent":["import { createRspackPlugin } from 'unplugin'\n\nimport { configSchema } from './core/config'\nimport { unpluginRouterCodeSplitterFactory } from './core/router-code-splitter-plugin'\nimport { unpluginRouterGeneratorFactory } from './core/router-generator-plugin'\nimport { unpluginRouterComposedFactory } from './core/router-composed-plugin'\nimport type { Config } from './core/config'\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * // ...\n * tools: {\n * rspack: {\n * plugins: [TanStackRouterGeneratorRspack()],\n * },\n * },\n * })\n * ```\n */\nconst TanStackRouterGeneratorRspack = /* #__PURE__ */ createRspackPlugin(\n unpluginRouterGeneratorFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * // ...\n * tools: {\n * rspack: {\n * plugins: [TanStackRouterCodeSplitterRspack()],\n * },\n * },\n * })\n * ```\n */\nconst TanStackRouterCodeSplitterRspack = /* #__PURE__ */ createRspackPlugin(\n unpluginRouterCodeSplitterFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * // ...\n * tools: {\n * rspack: {\n * plugins: [tanstackRouter()],\n * },\n * },\n * })\n * ```\n */\nconst TanStackRouterRspack = /* #__PURE__ */ createRspackPlugin(\n unpluginRouterComposedFactory,\n)\nconst tanstackRouter = TanStackRouterRspack\nexport default TanStackRouterRspack\nexport {\n configSchema,\n TanStackRouterRspack,\n TanStackRouterGeneratorRspack,\n TanStackRouterCodeSplitterRspack,\n tanstackRouter,\n}\nexport type { Config }\n"],"names":["createRspackPlugin","unpluginRouterGeneratorFactory","unpluginRouterCodeSplitterFactory","unpluginRouterComposedFactory"],"mappings":";;;;;;;AAqBA,MAAM,gCAAgDA,yBAAAA;AAAAA,EACpDC,sBAAAA;AACF;AAeA,MAAM,mCAAmDD,yBAAAA;AAAAA,EACvDE,yBAAAA;AACF;AAeA,MAAM,uBAAuCF,yBAAAA;AAAAA,EAC3CG,qBAAAA;AACF;AACA,MAAM,iBAAiB;;;;;;;"}
1
+ {"version":3,"file":"rspack.cjs","sources":["../../src/rspack.ts"],"sourcesContent":["import { createRspackPlugin } from 'unplugin'\n\nimport { configSchema } from './core/config'\nimport { unpluginRouterCodeSplitterFactory } from './core/router-code-splitter-plugin'\nimport { unpluginRouterGeneratorFactory } from './core/router-generator-plugin'\nimport { unpluginRouterComposedFactory } from './core/router-composed-plugin'\nimport type { CodeSplittingOptions, Config } from './core/config'\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * // ...\n * tools: {\n * rspack: {\n * plugins: [TanStackRouterGeneratorRspack()],\n * },\n * },\n * })\n * ```\n */\nconst TanStackRouterGeneratorRspack = /* #__PURE__ */ createRspackPlugin(\n unpluginRouterGeneratorFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * // ...\n * tools: {\n * rspack: {\n * plugins: [TanStackRouterCodeSplitterRspack()],\n * },\n * },\n * })\n * ```\n */\nconst TanStackRouterCodeSplitterRspack = /* #__PURE__ */ createRspackPlugin(\n unpluginRouterCodeSplitterFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * // ...\n * tools: {\n * rspack: {\n * plugins: [tanstackRouter()],\n * },\n * },\n * })\n * ```\n */\nconst TanStackRouterRspack = /* #__PURE__ */ createRspackPlugin(\n unpluginRouterComposedFactory,\n)\nconst tanstackRouter = TanStackRouterRspack\nexport default TanStackRouterRspack\nexport {\n configSchema,\n TanStackRouterRspack,\n TanStackRouterGeneratorRspack,\n TanStackRouterCodeSplitterRspack,\n tanstackRouter,\n}\nexport type { Config, CodeSplittingOptions }\n"],"names":["createRspackPlugin","unpluginRouterGeneratorFactory","unpluginRouterCodeSplitterFactory","unpluginRouterComposedFactory"],"mappings":";;;;;;;AAqBA,MAAM,gCAAgDA,yBAAAA;AAAAA,EACpDC,sBAAAA;AACF;AAeA,MAAM,mCAAmDD,yBAAAA;AAAAA,EACvDE,yBAAAA;AACF;AAeA,MAAM,uBAAuCF,yBAAAA;AAAAA,EAC3CG,qBAAAA;AACF;AACA,MAAM,iBAAiB;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { configSchema, Config } from './core/config.cjs';
1
+ import { configSchema, CodeSplittingOptions, Config } from './core/config.cjs';
2
2
  /**
3
3
  * @example
4
4
  * ```ts
@@ -26,10 +26,10 @@ declare const TanStackRouterGeneratorRspack: (options?: Partial<{
26
26
  disableTypes: boolean;
27
27
  addExtensions: boolean;
28
28
  enableRouteTreeFormatting: boolean;
29
- routeTreeFileFooter: string[];
30
29
  tmpDir: string;
30
+ importRoutesUsingAbsolutePaths: boolean;
31
31
  enableRouteGeneration?: boolean | undefined;
32
- codeSplittingOptions?: import('./core/config.cjs').CodeSplittingOptions | undefined;
32
+ codeSplittingOptions?: CodeSplittingOptions | undefined;
33
33
  plugin?: {
34
34
  vite?: {
35
35
  environmentName?: string | undefined;
@@ -40,6 +40,7 @@ declare const TanStackRouterGeneratorRspack: (options?: Partial<{
40
40
  routeFileIgnorePattern?: string | undefined;
41
41
  pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
42
42
  verboseFileRoutes?: boolean | undefined;
43
+ routeTreeFileFooter?: string[] | ((...args: unknown[]) => string[]) | undefined;
43
44
  autoCodeSplitting?: boolean | undefined;
44
45
  customScaffolding?: {
45
46
  routeTemplate?: string | undefined;
@@ -49,7 +50,7 @@ declare const TanStackRouterGeneratorRspack: (options?: Partial<{
49
50
  enableCodeSplitting?: boolean | undefined;
50
51
  } | undefined;
51
52
  plugins?: import('@tanstack/router-generator').GeneratorPlugin[] | undefined;
52
- }> | undefined) => import('unplugin').RspackPluginInstance;
53
+ } | (() => Config)> | undefined) => import('unplugin').RspackPluginInstance;
53
54
  /**
54
55
  * @example
55
56
  * ```ts
@@ -77,10 +78,10 @@ declare const TanStackRouterCodeSplitterRspack: (options?: Partial<{
77
78
  disableTypes: boolean;
78
79
  addExtensions: boolean;
79
80
  enableRouteTreeFormatting: boolean;
80
- routeTreeFileFooter: string[];
81
81
  tmpDir: string;
82
+ importRoutesUsingAbsolutePaths: boolean;
82
83
  enableRouteGeneration?: boolean | undefined;
83
- codeSplittingOptions?: import('./core/config.cjs').CodeSplittingOptions | undefined;
84
+ codeSplittingOptions?: CodeSplittingOptions | undefined;
84
85
  plugin?: {
85
86
  vite?: {
86
87
  environmentName?: string | undefined;
@@ -91,6 +92,7 @@ declare const TanStackRouterCodeSplitterRspack: (options?: Partial<{
91
92
  routeFileIgnorePattern?: string | undefined;
92
93
  pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
93
94
  verboseFileRoutes?: boolean | undefined;
95
+ routeTreeFileFooter?: string[] | ((...args: unknown[]) => string[]) | undefined;
94
96
  autoCodeSplitting?: boolean | undefined;
95
97
  customScaffolding?: {
96
98
  routeTemplate?: string | undefined;
@@ -100,7 +102,7 @@ declare const TanStackRouterCodeSplitterRspack: (options?: Partial<{
100
102
  enableCodeSplitting?: boolean | undefined;
101
103
  } | undefined;
102
104
  plugins?: import('@tanstack/router-generator').GeneratorPlugin[] | undefined;
103
- }> | undefined) => import('unplugin').RspackPluginInstance;
105
+ } | (() => Config)> | undefined) => import('unplugin').RspackPluginInstance;
104
106
  /**
105
107
  * @example
106
108
  * ```ts
@@ -128,10 +130,10 @@ declare const TanStackRouterRspack: (options?: Partial<{
128
130
  disableTypes: boolean;
129
131
  addExtensions: boolean;
130
132
  enableRouteTreeFormatting: boolean;
131
- routeTreeFileFooter: string[];
132
133
  tmpDir: string;
134
+ importRoutesUsingAbsolutePaths: boolean;
133
135
  enableRouteGeneration?: boolean | undefined;
134
- codeSplittingOptions?: import('./core/config.cjs').CodeSplittingOptions | undefined;
136
+ codeSplittingOptions?: CodeSplittingOptions | undefined;
135
137
  plugin?: {
136
138
  vite?: {
137
139
  environmentName?: string | undefined;
@@ -142,6 +144,7 @@ declare const TanStackRouterRspack: (options?: Partial<{
142
144
  routeFileIgnorePattern?: string | undefined;
143
145
  pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
144
146
  verboseFileRoutes?: boolean | undefined;
147
+ routeTreeFileFooter?: string[] | ((...args: unknown[]) => string[]) | undefined;
145
148
  autoCodeSplitting?: boolean | undefined;
146
149
  customScaffolding?: {
147
150
  routeTemplate?: string | undefined;
@@ -166,10 +169,10 @@ declare const tanstackRouter: (options?: Partial<{
166
169
  disableTypes: boolean;
167
170
  addExtensions: boolean;
168
171
  enableRouteTreeFormatting: boolean;
169
- routeTreeFileFooter: string[];
170
172
  tmpDir: string;
173
+ importRoutesUsingAbsolutePaths: boolean;
171
174
  enableRouteGeneration?: boolean | undefined;
172
- codeSplittingOptions?: import('./core/config.cjs').CodeSplittingOptions | undefined;
175
+ codeSplittingOptions?: CodeSplittingOptions | undefined;
173
176
  plugin?: {
174
177
  vite?: {
175
178
  environmentName?: string | undefined;
@@ -180,6 +183,7 @@ declare const tanstackRouter: (options?: Partial<{
180
183
  routeFileIgnorePattern?: string | undefined;
181
184
  pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
182
185
  verboseFileRoutes?: boolean | undefined;
186
+ routeTreeFileFooter?: string[] | ((...args: unknown[]) => string[]) | undefined;
183
187
  autoCodeSplitting?: boolean | undefined;
184
188
  customScaffolding?: {
185
189
  routeTemplate?: string | undefined;
@@ -192,4 +196,4 @@ declare const tanstackRouter: (options?: Partial<{
192
196
  }> | undefined) => import('unplugin').RspackPluginInstance;
193
197
  export default TanStackRouterRspack;
194
198
  export { configSchema, TanStackRouterRspack, TanStackRouterGeneratorRspack, TanStackRouterCodeSplitterRspack, tanstackRouter, };
195
- export type { Config };
199
+ export type { Config, CodeSplittingOptions };
@@ -1 +1 @@
1
- {"version":3,"file":"vite.cjs","sources":["../../src/vite.ts"],"sourcesContent":["import { createVitePlugin } from 'unplugin'\n\nimport { configSchema } from './core/config'\nimport { unpluginRouterCodeSplitterFactory } from './core/router-code-splitter-plugin'\nimport { unpluginRouterGeneratorFactory } from './core/router-generator-plugin'\nimport { unpluginRouterComposedFactory } from './core/router-composed-plugin'\nimport { unpluginRouteAutoImportFactory } from './core/route-autoimport-plugin'\nimport type { Config } from './core/config'\n\nconst tanstackRouterAutoImport = createVitePlugin(\n unpluginRouteAutoImportFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * plugins: [tanstackRouterGenerator()],\n * // ...\n * })\n * ```\n */\nconst tanstackRouterGenerator = createVitePlugin(unpluginRouterGeneratorFactory)\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * plugins: [tanStackRouterCodeSplitter()],\n * // ...\n * })\n * ```\n */\nconst tanStackRouterCodeSplitter = createVitePlugin(\n unpluginRouterCodeSplitterFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * plugins: [tanstackRouter()],\n * // ...\n * })\n * ```\n */\nconst tanstackRouter = createVitePlugin(unpluginRouterComposedFactory)\n\n/**\n * @deprecated Use `tanstackRouter` instead.\n */\nconst TanStackRouterVite = tanstackRouter\n\nexport default tanstackRouter\nexport {\n configSchema,\n tanstackRouterAutoImport,\n tanStackRouterCodeSplitter,\n tanstackRouterGenerator,\n TanStackRouterVite,\n tanstackRouter,\n}\n\nexport type { Config }\n"],"names":["createVitePlugin","unpluginRouteAutoImportFactory","unpluginRouterGeneratorFactory","unpluginRouterCodeSplitterFactory","unpluginRouterComposedFactory"],"mappings":";;;;;;;;AASA,MAAM,2BAA2BA,SAAAA;AAAAA,EAC/BC,sBAAAA;AACF;AAWA,MAAM,0BAA0BD,SAAAA,iBAAiBE,sBAAAA,8BAA8B;AAW/E,MAAM,6BAA6BF,SAAAA;AAAAA,EACjCG,yBAAAA;AACF;AAWA,MAAM,iBAAiBH,SAAAA,iBAAiBI,qBAAAA,6BAA6B;AAKrE,MAAM,qBAAqB;;;;;;;;"}
1
+ {"version":3,"file":"vite.cjs","sources":["../../src/vite.ts"],"sourcesContent":["import { createVitePlugin } from 'unplugin'\n\nimport { configSchema } from './core/config'\nimport { unpluginRouterCodeSplitterFactory } from './core/router-code-splitter-plugin'\nimport { unpluginRouterGeneratorFactory } from './core/router-generator-plugin'\nimport { unpluginRouterComposedFactory } from './core/router-composed-plugin'\nimport { unpluginRouteAutoImportFactory } from './core/route-autoimport-plugin'\nimport type { CodeSplittingOptions, Config, getConfig } from './core/config'\n\nconst tanstackRouterAutoImport = createVitePlugin(\n unpluginRouteAutoImportFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * plugins: [tanstackRouterGenerator()],\n * // ...\n * })\n * ```\n */\nconst tanstackRouterGenerator = createVitePlugin(unpluginRouterGeneratorFactory)\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * plugins: [tanStackRouterCodeSplitter()],\n * // ...\n * })\n * ```\n */\nconst tanStackRouterCodeSplitter = createVitePlugin(\n unpluginRouterCodeSplitterFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * plugins: [tanstackRouter()],\n * // ...\n * })\n * ```\n */\nconst tanstackRouter = createVitePlugin(unpluginRouterComposedFactory)\n\n/**\n * @deprecated Use `tanstackRouter` instead.\n */\nconst TanStackRouterVite = tanstackRouter\n\nexport default tanstackRouter\nexport {\n configSchema,\n getConfig,\n tanstackRouterAutoImport,\n tanStackRouterCodeSplitter,\n tanstackRouterGenerator,\n TanStackRouterVite,\n tanstackRouter,\n}\n\nexport type { Config, CodeSplittingOptions }\n"],"names":["createVitePlugin","unpluginRouteAutoImportFactory","unpluginRouterGeneratorFactory","unpluginRouterCodeSplitterFactory","unpluginRouterComposedFactory"],"mappings":";;;;;;;;AASA,MAAM,2BAA2BA,SAAAA;AAAAA,EAC/BC,sBAAAA;AACF;AAWA,MAAM,0BAA0BD,SAAAA,iBAAiBE,sBAAAA,8BAA8B;AAW/E,MAAM,6BAA6BF,SAAAA;AAAAA,EACjCG,yBAAAA;AACF;AAWA,MAAM,iBAAiBH,SAAAA,iBAAiBI,qBAAAA,6BAA6B;AAKrE,MAAM,qBAAqB;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { configSchema, Config } from './core/config.cjs';
1
+ import { configSchema, CodeSplittingOptions, Config, getConfig } from './core/config.cjs';
2
2
  declare const tanstackRouterAutoImport: (options?: Partial<{
3
3
  target: "react" | "solid";
4
4
  routeFileIgnorePrefix: string;
@@ -13,10 +13,10 @@ declare const tanstackRouterAutoImport: (options?: Partial<{
13
13
  disableTypes: boolean;
14
14
  addExtensions: boolean;
15
15
  enableRouteTreeFormatting: boolean;
16
- routeTreeFileFooter: string[];
17
16
  tmpDir: string;
17
+ importRoutesUsingAbsolutePaths: boolean;
18
18
  enableRouteGeneration?: boolean | undefined;
19
- codeSplittingOptions?: import('./core/config.cjs').CodeSplittingOptions | undefined;
19
+ codeSplittingOptions?: CodeSplittingOptions | undefined;
20
20
  plugin?: {
21
21
  vite?: {
22
22
  environmentName?: string | undefined;
@@ -27,6 +27,7 @@ declare const tanstackRouterAutoImport: (options?: Partial<{
27
27
  routeFileIgnorePattern?: string | undefined;
28
28
  pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
29
29
  verboseFileRoutes?: boolean | undefined;
30
+ routeTreeFileFooter?: string[] | ((...args: unknown[]) => string[]) | undefined;
30
31
  autoCodeSplitting?: boolean | undefined;
31
32
  customScaffolding?: {
32
33
  routeTemplate?: string | undefined;
@@ -36,7 +37,7 @@ declare const tanstackRouterAutoImport: (options?: Partial<{
36
37
  enableCodeSplitting?: boolean | undefined;
37
38
  } | undefined;
38
39
  plugins?: import('@tanstack/router-generator').GeneratorPlugin[] | undefined;
39
- }> | undefined) => import('vite').Plugin<any> | import('vite').Plugin<any>[];
40
+ } | (() => Config)> | undefined) => import('vite').Plugin<any> | import('vite').Plugin<any>[];
40
41
  /**
41
42
  * @example
42
43
  * ```ts
@@ -60,10 +61,10 @@ declare const tanstackRouterGenerator: (options?: Partial<{
60
61
  disableTypes: boolean;
61
62
  addExtensions: boolean;
62
63
  enableRouteTreeFormatting: boolean;
63
- routeTreeFileFooter: string[];
64
64
  tmpDir: string;
65
+ importRoutesUsingAbsolutePaths: boolean;
65
66
  enableRouteGeneration?: boolean | undefined;
66
- codeSplittingOptions?: import('./core/config.cjs').CodeSplittingOptions | undefined;
67
+ codeSplittingOptions?: CodeSplittingOptions | undefined;
67
68
  plugin?: {
68
69
  vite?: {
69
70
  environmentName?: string | undefined;
@@ -74,6 +75,7 @@ declare const tanstackRouterGenerator: (options?: Partial<{
74
75
  routeFileIgnorePattern?: string | undefined;
75
76
  pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
76
77
  verboseFileRoutes?: boolean | undefined;
78
+ routeTreeFileFooter?: string[] | ((...args: unknown[]) => string[]) | undefined;
77
79
  autoCodeSplitting?: boolean | undefined;
78
80
  customScaffolding?: {
79
81
  routeTemplate?: string | undefined;
@@ -83,7 +85,7 @@ declare const tanstackRouterGenerator: (options?: Partial<{
83
85
  enableCodeSplitting?: boolean | undefined;
84
86
  } | undefined;
85
87
  plugins?: import('@tanstack/router-generator').GeneratorPlugin[] | undefined;
86
- }> | undefined) => import('vite').Plugin<any> | import('vite').Plugin<any>[];
88
+ } | (() => Config)> | undefined) => import('vite').Plugin<any> | import('vite').Plugin<any>[];
87
89
  /**
88
90
  * @example
89
91
  * ```ts
@@ -107,10 +109,10 @@ declare const tanStackRouterCodeSplitter: (options?: Partial<{
107
109
  disableTypes: boolean;
108
110
  addExtensions: boolean;
109
111
  enableRouteTreeFormatting: boolean;
110
- routeTreeFileFooter: string[];
111
112
  tmpDir: string;
113
+ importRoutesUsingAbsolutePaths: boolean;
112
114
  enableRouteGeneration?: boolean | undefined;
113
- codeSplittingOptions?: import('./core/config.cjs').CodeSplittingOptions | undefined;
115
+ codeSplittingOptions?: CodeSplittingOptions | undefined;
114
116
  plugin?: {
115
117
  vite?: {
116
118
  environmentName?: string | undefined;
@@ -121,6 +123,7 @@ declare const tanStackRouterCodeSplitter: (options?: Partial<{
121
123
  routeFileIgnorePattern?: string | undefined;
122
124
  pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
123
125
  verboseFileRoutes?: boolean | undefined;
126
+ routeTreeFileFooter?: string[] | ((...args: unknown[]) => string[]) | undefined;
124
127
  autoCodeSplitting?: boolean | undefined;
125
128
  customScaffolding?: {
126
129
  routeTemplate?: string | undefined;
@@ -130,7 +133,7 @@ declare const tanStackRouterCodeSplitter: (options?: Partial<{
130
133
  enableCodeSplitting?: boolean | undefined;
131
134
  } | undefined;
132
135
  plugins?: import('@tanstack/router-generator').GeneratorPlugin[] | undefined;
133
- }> | undefined) => import('vite').Plugin<any> | import('vite').Plugin<any>[];
136
+ } | (() => Config)> | undefined) => import('vite').Plugin<any> | import('vite').Plugin<any>[];
134
137
  /**
135
138
  * @example
136
139
  * ```ts
@@ -154,10 +157,10 @@ declare const tanstackRouter: (options?: Partial<{
154
157
  disableTypes: boolean;
155
158
  addExtensions: boolean;
156
159
  enableRouteTreeFormatting: boolean;
157
- routeTreeFileFooter: string[];
158
160
  tmpDir: string;
161
+ importRoutesUsingAbsolutePaths: boolean;
159
162
  enableRouteGeneration?: boolean | undefined;
160
- codeSplittingOptions?: import('./core/config.cjs').CodeSplittingOptions | undefined;
163
+ codeSplittingOptions?: CodeSplittingOptions | undefined;
161
164
  plugin?: {
162
165
  vite?: {
163
166
  environmentName?: string | undefined;
@@ -168,6 +171,7 @@ declare const tanstackRouter: (options?: Partial<{
168
171
  routeFileIgnorePattern?: string | undefined;
169
172
  pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
170
173
  verboseFileRoutes?: boolean | undefined;
174
+ routeTreeFileFooter?: string[] | ((...args: unknown[]) => string[]) | undefined;
171
175
  autoCodeSplitting?: boolean | undefined;
172
176
  customScaffolding?: {
173
177
  routeTemplate?: string | undefined;
@@ -195,10 +199,10 @@ declare const TanStackRouterVite: (options?: Partial<{
195
199
  disableTypes: boolean;
196
200
  addExtensions: boolean;
197
201
  enableRouteTreeFormatting: boolean;
198
- routeTreeFileFooter: string[];
199
202
  tmpDir: string;
203
+ importRoutesUsingAbsolutePaths: boolean;
200
204
  enableRouteGeneration?: boolean | undefined;
201
- codeSplittingOptions?: import('./core/config.cjs').CodeSplittingOptions | undefined;
205
+ codeSplittingOptions?: CodeSplittingOptions | undefined;
202
206
  plugin?: {
203
207
  vite?: {
204
208
  environmentName?: string | undefined;
@@ -209,6 +213,7 @@ declare const TanStackRouterVite: (options?: Partial<{
209
213
  routeFileIgnorePattern?: string | undefined;
210
214
  pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
211
215
  verboseFileRoutes?: boolean | undefined;
216
+ routeTreeFileFooter?: string[] | ((...args: unknown[]) => string[]) | undefined;
212
217
  autoCodeSplitting?: boolean | undefined;
213
218
  customScaffolding?: {
214
219
  routeTemplate?: string | undefined;
@@ -220,5 +225,5 @@ declare const TanStackRouterVite: (options?: Partial<{
220
225
  plugins?: import('@tanstack/router-generator').GeneratorPlugin[] | undefined;
221
226
  }> | undefined) => import('vite').Plugin<any> | import('vite').Plugin<any>[];
222
227
  export default tanstackRouter;
223
- export { configSchema, tanstackRouterAutoImport, tanStackRouterCodeSplitter, tanstackRouterGenerator, TanStackRouterVite, tanstackRouter, };
224
- export type { Config };
228
+ export { configSchema, getConfig, tanstackRouterAutoImport, tanStackRouterCodeSplitter, tanstackRouterGenerator, TanStackRouterVite, tanstackRouter, };
229
+ export type { Config, CodeSplittingOptions };
@@ -1 +1 @@
1
- {"version":3,"file":"webpack.cjs","sources":["../../src/webpack.ts"],"sourcesContent":["import { createWebpackPlugin } from 'unplugin'\n\nimport { configSchema } from './core/config'\nimport { unpluginRouterCodeSplitterFactory } from './core/router-code-splitter-plugin'\nimport { unpluginRouterGeneratorFactory } from './core/router-generator-plugin'\nimport { unpluginRouterComposedFactory } from './core/router-composed-plugin'\nimport type { Config } from './core/config'\n\n/**\n * @example\n * ```ts\n * export default {\n * // ...\n * plugins: [TanStackRouterGeneratorWebpack()],\n * }\n * ```\n */\nconst TanStackRouterGeneratorWebpack = /* #__PURE__ */ createWebpackPlugin(\n unpluginRouterGeneratorFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default {\n * // ...\n * plugins: [TanStackRouterCodeSplitterWebpack()],\n * }\n * ```\n */\nconst TanStackRouterCodeSplitterWebpack = /* #__PURE__ */ createWebpackPlugin(\n unpluginRouterCodeSplitterFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default {\n * // ...\n * plugins: [tanstackRouter()],\n * }\n * ```\n */\nconst TanStackRouterWebpack = /* #__PURE__ */ createWebpackPlugin(\n unpluginRouterComposedFactory,\n)\n\nconst tanstackRouter = TanStackRouterWebpack\nexport default TanStackRouterWebpack\nexport {\n configSchema,\n TanStackRouterWebpack,\n TanStackRouterGeneratorWebpack,\n TanStackRouterCodeSplitterWebpack,\n tanstackRouter,\n}\nexport type { Config }\n"],"names":["createWebpackPlugin","unpluginRouterGeneratorFactory","unpluginRouterCodeSplitterFactory","unpluginRouterComposedFactory"],"mappings":";;;;;;;AAiBA,MAAM,iCAAiDA,yBAAAA;AAAAA,EACrDC,sBAAAA;AACF;AAWA,MAAM,oCAAoDD,yBAAAA;AAAAA,EACxDE,yBAAAA;AACF;AAWA,MAAM,wBAAwCF,yBAAAA;AAAAA,EAC5CG,qBAAAA;AACF;AAEA,MAAM,iBAAiB;;;;;;;"}
1
+ {"version":3,"file":"webpack.cjs","sources":["../../src/webpack.ts"],"sourcesContent":["import { createWebpackPlugin } from 'unplugin'\n\nimport { configSchema } from './core/config'\nimport { unpluginRouterCodeSplitterFactory } from './core/router-code-splitter-plugin'\nimport { unpluginRouterGeneratorFactory } from './core/router-generator-plugin'\nimport { unpluginRouterComposedFactory } from './core/router-composed-plugin'\nimport type { CodeSplittingOptions, Config } from './core/config'\n\n/**\n * @example\n * ```ts\n * export default {\n * // ...\n * plugins: [TanStackRouterGeneratorWebpack()],\n * }\n * ```\n */\nconst TanStackRouterGeneratorWebpack = /* #__PURE__ */ createWebpackPlugin(\n unpluginRouterGeneratorFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default {\n * // ...\n * plugins: [TanStackRouterCodeSplitterWebpack()],\n * }\n * ```\n */\nconst TanStackRouterCodeSplitterWebpack = /* #__PURE__ */ createWebpackPlugin(\n unpluginRouterCodeSplitterFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default {\n * // ...\n * plugins: [tanstackRouter()],\n * }\n * ```\n */\nconst TanStackRouterWebpack = /* #__PURE__ */ createWebpackPlugin(\n unpluginRouterComposedFactory,\n)\n\nconst tanstackRouter = TanStackRouterWebpack\nexport default TanStackRouterWebpack\nexport {\n configSchema,\n TanStackRouterWebpack,\n TanStackRouterGeneratorWebpack,\n TanStackRouterCodeSplitterWebpack,\n tanstackRouter,\n}\nexport type { Config, CodeSplittingOptions }\n"],"names":["createWebpackPlugin","unpluginRouterGeneratorFactory","unpluginRouterCodeSplitterFactory","unpluginRouterComposedFactory"],"mappings":";;;;;;;AAiBA,MAAM,iCAAiDA,yBAAAA;AAAAA,EACrDC,sBAAAA;AACF;AAWA,MAAM,oCAAoDD,yBAAAA;AAAAA,EACxDE,yBAAAA;AACF;AAWA,MAAM,wBAAwCF,yBAAAA;AAAAA,EAC5CG,qBAAAA;AACF;AAEA,MAAM,iBAAiB;;;;;;;"}