@tanstack/router-generator 1.166.29 → 1.166.30

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 (47) hide show
  1. package/dist/cjs/config.cjs +0 -1
  2. package/dist/cjs/config.cjs.map +1 -1
  3. package/dist/cjs/config.d.cts +0 -3
  4. package/dist/cjs/generator.cjs +1 -44
  5. package/dist/cjs/generator.cjs.map +1 -1
  6. package/dist/cjs/index.cjs +0 -2
  7. package/dist/cjs/index.d.cts +1 -2
  8. package/dist/cjs/template.cjs +15 -12
  9. package/dist/cjs/template.cjs.map +1 -1
  10. package/dist/cjs/transform/transform.cjs +283 -266
  11. package/dist/cjs/transform/transform.cjs.map +1 -1
  12. package/dist/cjs/transform/transform.d.cts +1 -3
  13. package/dist/cjs/transform/types.d.cts +1 -7
  14. package/dist/cjs/utils.cjs +0 -16
  15. package/dist/cjs/utils.cjs.map +1 -1
  16. package/dist/cjs/utils.d.cts +0 -24
  17. package/dist/esm/config.d.ts +0 -3
  18. package/dist/esm/config.js +0 -1
  19. package/dist/esm/config.js.map +1 -1
  20. package/dist/esm/generator.js +2 -45
  21. package/dist/esm/generator.js.map +1 -1
  22. package/dist/esm/index.d.ts +1 -2
  23. package/dist/esm/index.js +1 -2
  24. package/dist/esm/template.js +15 -12
  25. package/dist/esm/template.js.map +1 -1
  26. package/dist/esm/transform/transform.d.ts +1 -3
  27. package/dist/esm/transform/transform.js +280 -265
  28. package/dist/esm/transform/transform.js.map +1 -1
  29. package/dist/esm/transform/types.d.ts +1 -7
  30. package/dist/esm/utils.d.ts +0 -24
  31. package/dist/esm/utils.js +1 -15
  32. package/dist/esm/utils.js.map +1 -1
  33. package/package.json +4 -4
  34. package/src/config.ts +0 -1
  35. package/src/generator.ts +0 -66
  36. package/src/index.ts +1 -7
  37. package/src/template.ts +16 -36
  38. package/src/transform/transform.ts +633 -446
  39. package/src/transform/types.ts +1 -8
  40. package/src/utils.ts +5 -43
  41. package/dist/cjs/transform/utils.cjs +0 -34
  42. package/dist/cjs/transform/utils.cjs.map +0 -1
  43. package/dist/cjs/transform/utils.d.cts +0 -2
  44. package/dist/esm/transform/utils.d.ts +0 -2
  45. package/dist/esm/transform/utils.js +0 -34
  46. package/dist/esm/transform/utils.js.map +0 -1
  47. package/src/transform/utils.ts +0 -42
@@ -1,4 +1,4 @@
1
- import type { ImportDeclaration, RouteNode } from '../types'
1
+ import type { RouteNode } from '../types'
2
2
  import type { Config } from '../config'
3
3
 
4
4
  export interface TransformOptions {
@@ -23,15 +23,8 @@ export type TransformResult =
23
23
  error?: any
24
24
  }
25
25
 
26
- export interface TransformImportsConfig {
27
- banned?: Array<ImportDeclaration>
28
- required?: Array<ImportDeclaration>
29
- }
30
-
31
26
  export interface TransformContext {
32
27
  target: Config['target']
33
28
  routeId: string
34
29
  lazy: boolean
35
- verboseFileRoutes: boolean
36
- preferredQuote?: '"' | "'"
37
30
  }
package/src/utils.ts CHANGED
@@ -13,7 +13,6 @@ import type { ImportDeclaration, RouteNode } from './types'
13
13
  */
14
14
  export class RoutePrefixMap {
15
15
  private prefixToRoute: Map<string, RouteNode> = new Map()
16
- private layoutRoutes: Array<RouteNode> = []
17
16
 
18
17
  constructor(routes: Array<RouteNode>) {
19
18
  for (const route of routes) {
@@ -34,20 +33,7 @@ export class RoutePrefixMap {
34
33
 
35
34
  // Index by exact path for direct lookups
36
35
  this.prefixToRoute.set(route.routePath, route)
37
-
38
- if (
39
- route._fsRouteType === 'pathless_layout' ||
40
- route._fsRouteType === 'layout' ||
41
- route._fsRouteType === '__root'
42
- ) {
43
- this.layoutRoutes.push(route)
44
- }
45
36
  }
46
-
47
- // Sort by path length descending for longest-match-first
48
- this.layoutRoutes.sort(
49
- (a, b) => (b.routePath?.length ?? 0) - (a.routePath?.length ?? 0),
50
- )
51
37
  }
52
38
 
53
39
  /**
@@ -482,7 +468,7 @@ export function createTokenRegex(
482
468
  }
483
469
  }
484
470
 
485
- export function isBracketWrappedSegment(segment: string): boolean {
471
+ function isBracketWrappedSegment(segment: string): boolean {
486
472
  return segment.startsWith('[') && segment.endsWith(']')
487
473
  }
488
474
 
@@ -685,26 +671,10 @@ export const getResolvedRouteNodeVariableName = (
685
671
  : `${routeNode.variableName}Route`
686
672
  }
687
673
 
688
- /**
689
- * Checks if a given RouteNode is valid for augmenting it with typing based on conditions.
690
- * Also asserts that the RouteNode is defined.
691
- *
692
- * @param routeNode - The RouteNode to check.
693
- * @returns A boolean indicating whether the RouteNode is defined.
694
- */
695
- export function isRouteNodeValidForAugmentation(
696
- routeNode?: RouteNode,
697
- ): routeNode is RouteNode {
698
- if (!routeNode || routeNode.isVirtual) {
699
- return false
700
- }
701
- return true
702
- }
703
-
704
674
  /**
705
675
  * Infers the path for use by TS
706
676
  */
707
- export const inferPath = (routeNode: RouteNode): string => {
677
+ const inferPath = (routeNode: RouteNode): string => {
708
678
  if (routeNode.cleanedPath === '/') {
709
679
  return routeNode.cleanedPath ?? ''
710
680
  }
@@ -811,7 +781,7 @@ export const createRouteNodesById = (
811
781
  /**
812
782
  * Infers to path
813
783
  */
814
- export const inferTo = (routeNode: RouteNode): string => {
784
+ const inferTo = (routeNode: RouteNode): string => {
815
785
  const fullPath = inferFullPath(routeNode)
816
786
 
817
787
  if (fullPath === '/') return fullPath
@@ -822,7 +792,7 @@ export const inferTo = (routeNode: RouteNode): string => {
822
792
  /**
823
793
  * Dedupes branches and index routes
824
794
  */
825
- export const dedupeBranchesAndIndexRoutes = (
795
+ const dedupeBranchesAndIndexRoutes = (
826
796
  routes: Array<RouteNode>,
827
797
  ): Array<RouteNode> => {
828
798
  return routes.filter((route) => {
@@ -944,14 +914,6 @@ export function buildImportString(
944
914
  : ''
945
915
  }
946
916
 
947
- export function lowerCaseFirstChar(value: string) {
948
- if (!value[0]) {
949
- return value
950
- }
951
-
952
- return value[0].toLowerCase() + value.slice(1)
953
- }
954
-
955
917
  export function mergeImportDeclarations(
956
918
  imports: Array<ImportDeclaration>,
957
919
  ): Array<ImportDeclaration> {
@@ -1022,7 +984,7 @@ export function buildFileRoutesByPathInterface(opts: {
1022
984
  }`
1023
985
  }
1024
986
 
1025
- export function getImportPath(
987
+ function getImportPath(
1026
988
  node: RouteNode,
1027
989
  config: Config,
1028
990
  generatedRouteTreePath: string,
@@ -1,34 +0,0 @@
1
- require("../_virtual/_rolldown/runtime.cjs");
2
- //#region src/transform/utils.ts
3
- var b = require("recast").types.builders;
4
- function ensureStringArgument(callExpression, value, preferredQuote) {
5
- const argument = callExpression.arguments[0];
6
- if (!argument) {
7
- let stringLiteral;
8
- if (!preferredQuote) stringLiteral = b.stringLiteral.from({ value });
9
- else stringLiteral = b.stringLiteral.from({
10
- value,
11
- extra: {
12
- rawValue: value,
13
- raw: `${preferredQuote}${value}${preferredQuote}`
14
- }
15
- });
16
- callExpression.arguments.push(stringLiteral);
17
- return true;
18
- } else if (argument.type === "StringLiteral") {
19
- if (argument.value !== value) {
20
- argument.value = value;
21
- return true;
22
- }
23
- } else if (argument.type === "TemplateLiteral") {
24
- if (argument.quasis.length === 1 && argument.quasis[0] && argument.quasis[0].value.raw !== value) {
25
- argument.quasis[0].value.raw = value;
26
- return true;
27
- }
28
- }
29
- return false;
30
- }
31
- //#endregion
32
- exports.ensureStringArgument = ensureStringArgument;
33
-
34
- //# sourceMappingURL=utils.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.cjs","names":[],"sources":["../../../src/transform/utils.ts"],"sourcesContent":["import { types } from 'recast'\n\nconst b = types.builders\n\nexport function ensureStringArgument(\n callExpression: types.namedTypes.CallExpression,\n value: string,\n preferredQuote?: \"'\" | '\"',\n) {\n const argument = callExpression.arguments[0]\n if (!argument) {\n let stringLiteral: types.namedTypes.StringLiteral\n if (!preferredQuote) {\n stringLiteral = b.stringLiteral.from({ value })\n } else {\n stringLiteral = b.stringLiteral.from({\n value,\n extra: {\n rawValue: value,\n raw: `${preferredQuote}${value}${preferredQuote}`,\n },\n })\n }\n callExpression.arguments.push(stringLiteral)\n return true\n } else if (argument.type === 'StringLiteral') {\n if (argument.value !== value) {\n argument.value = value\n return true\n }\n } else if (argument.type === 'TemplateLiteral') {\n if (\n argument.quasis.length === 1 &&\n argument.quasis[0] &&\n argument.quasis[0].value.raw !== value\n ) {\n argument.quasis[0].value.raw = value\n return true\n }\n }\n return false\n}\n"],"mappings":";;AAEA,IAAM,sBAAI,MAAM;AAEhB,SAAgB,qBACd,gBACA,OACA,gBACA;CACA,MAAM,WAAW,eAAe,UAAU;AAC1C,KAAI,CAAC,UAAU;EACb,IAAI;AACJ,MAAI,CAAC,eACH,iBAAgB,EAAE,cAAc,KAAK,EAAE,OAAO,CAAC;MAE/C,iBAAgB,EAAE,cAAc,KAAK;GACnC;GACA,OAAO;IACL,UAAU;IACV,KAAK,GAAG,iBAAiB,QAAQ;IAClC;GACF,CAAC;AAEJ,iBAAe,UAAU,KAAK,cAAc;AAC5C,SAAO;YACE,SAAS,SAAS;MACvB,SAAS,UAAU,OAAO;AAC5B,YAAS,QAAQ;AACjB,UAAO;;YAEA,SAAS,SAAS;MAEzB,SAAS,OAAO,WAAW,KAC3B,SAAS,OAAO,MAChB,SAAS,OAAO,GAAG,MAAM,QAAQ,OACjC;AACA,YAAS,OAAO,GAAG,MAAM,MAAM;AAC/B,UAAO;;;AAGX,QAAO"}
@@ -1,2 +0,0 @@
1
- import { types } from 'recast';
2
- export declare function ensureStringArgument(callExpression: types.namedTypes.CallExpression, value: string, preferredQuote?: "'" | '"'): boolean;
@@ -1,2 +0,0 @@
1
- import { types } from 'recast';
2
- export declare function ensureStringArgument(callExpression: types.namedTypes.CallExpression, value: string, preferredQuote?: "'" | '"'): boolean;
@@ -1,34 +0,0 @@
1
- import { types } from "recast";
2
- //#region src/transform/utils.ts
3
- var b = types.builders;
4
- function ensureStringArgument(callExpression, value, preferredQuote) {
5
- const argument = callExpression.arguments[0];
6
- if (!argument) {
7
- let stringLiteral;
8
- if (!preferredQuote) stringLiteral = b.stringLiteral.from({ value });
9
- else stringLiteral = b.stringLiteral.from({
10
- value,
11
- extra: {
12
- rawValue: value,
13
- raw: `${preferredQuote}${value}${preferredQuote}`
14
- }
15
- });
16
- callExpression.arguments.push(stringLiteral);
17
- return true;
18
- } else if (argument.type === "StringLiteral") {
19
- if (argument.value !== value) {
20
- argument.value = value;
21
- return true;
22
- }
23
- } else if (argument.type === "TemplateLiteral") {
24
- if (argument.quasis.length === 1 && argument.quasis[0] && argument.quasis[0].value.raw !== value) {
25
- argument.quasis[0].value.raw = value;
26
- return true;
27
- }
28
- }
29
- return false;
30
- }
31
- //#endregion
32
- export { ensureStringArgument };
33
-
34
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","names":[],"sources":["../../../src/transform/utils.ts"],"sourcesContent":["import { types } from 'recast'\n\nconst b = types.builders\n\nexport function ensureStringArgument(\n callExpression: types.namedTypes.CallExpression,\n value: string,\n preferredQuote?: \"'\" | '\"',\n) {\n const argument = callExpression.arguments[0]\n if (!argument) {\n let stringLiteral: types.namedTypes.StringLiteral\n if (!preferredQuote) {\n stringLiteral = b.stringLiteral.from({ value })\n } else {\n stringLiteral = b.stringLiteral.from({\n value,\n extra: {\n rawValue: value,\n raw: `${preferredQuote}${value}${preferredQuote}`,\n },\n })\n }\n callExpression.arguments.push(stringLiteral)\n return true\n } else if (argument.type === 'StringLiteral') {\n if (argument.value !== value) {\n argument.value = value\n return true\n }\n } else if (argument.type === 'TemplateLiteral') {\n if (\n argument.quasis.length === 1 &&\n argument.quasis[0] &&\n argument.quasis[0].value.raw !== value\n ) {\n argument.quasis[0].value.raw = value\n return true\n }\n }\n return false\n}\n"],"mappings":";;AAEA,IAAM,IAAI,MAAM;AAEhB,SAAgB,qBACd,gBACA,OACA,gBACA;CACA,MAAM,WAAW,eAAe,UAAU;AAC1C,KAAI,CAAC,UAAU;EACb,IAAI;AACJ,MAAI,CAAC,eACH,iBAAgB,EAAE,cAAc,KAAK,EAAE,OAAO,CAAC;MAE/C,iBAAgB,EAAE,cAAc,KAAK;GACnC;GACA,OAAO;IACL,UAAU;IACV,KAAK,GAAG,iBAAiB,QAAQ;IAClC;GACF,CAAC;AAEJ,iBAAe,UAAU,KAAK,cAAc;AAC5C,SAAO;YACE,SAAS,SAAS;MACvB,SAAS,UAAU,OAAO;AAC5B,YAAS,QAAQ;AACjB,UAAO;;YAEA,SAAS,SAAS;MAEzB,SAAS,OAAO,WAAW,KAC3B,SAAS,OAAO,MAChB,SAAS,OAAO,GAAG,MAAM,QAAQ,OACjC;AACA,YAAS,OAAO,GAAG,MAAM,MAAM;AAC/B,UAAO;;;AAGX,QAAO"}
@@ -1,42 +0,0 @@
1
- import { types } from 'recast'
2
-
3
- const b = types.builders
4
-
5
- export function ensureStringArgument(
6
- callExpression: types.namedTypes.CallExpression,
7
- value: string,
8
- preferredQuote?: "'" | '"',
9
- ) {
10
- const argument = callExpression.arguments[0]
11
- if (!argument) {
12
- let stringLiteral: types.namedTypes.StringLiteral
13
- if (!preferredQuote) {
14
- stringLiteral = b.stringLiteral.from({ value })
15
- } else {
16
- stringLiteral = b.stringLiteral.from({
17
- value,
18
- extra: {
19
- rawValue: value,
20
- raw: `${preferredQuote}${value}${preferredQuote}`,
21
- },
22
- })
23
- }
24
- callExpression.arguments.push(stringLiteral)
25
- return true
26
- } else if (argument.type === 'StringLiteral') {
27
- if (argument.value !== value) {
28
- argument.value = value
29
- return true
30
- }
31
- } else if (argument.type === 'TemplateLiteral') {
32
- if (
33
- argument.quasis.length === 1 &&
34
- argument.quasis[0] &&
35
- argument.quasis[0].value.raw !== value
36
- ) {
37
- argument.quasis[0].value.raw = value
38
- return true
39
- }
40
- }
41
- return false
42
- }