one 1.17.2 → 1.17.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/cjs/cli/build.cjs +18 -12
  2. package/dist/cjs/cli/build.native.js +18 -12
  3. package/dist/cjs/cli/build.native.js.map +1 -1
  4. package/dist/cjs/typed-routes/generateRouteTypes.cjs +12 -2
  5. package/dist/cjs/typed-routes/generateRouteTypes.native.js +12 -2
  6. package/dist/cjs/typed-routes/generateRouteTypes.native.js.map +1 -1
  7. package/dist/cjs/typed-routes/generateRouteTypes.test.cjs +58 -0
  8. package/dist/cjs/typed-routes/generateRouteTypes.test.native.js +61 -0
  9. package/dist/cjs/typed-routes/generateRouteTypes.test.native.js.map +1 -0
  10. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.cjs +5 -5
  11. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js +5 -5
  12. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
  13. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.test.cjs +18 -0
  14. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.test.native.js +25 -0
  15. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.test.native.js.map +1 -0
  16. package/dist/cjs/utils/routeFileWatch.cjs +58 -0
  17. package/dist/cjs/utils/routeFileWatch.native.js +62 -0
  18. package/dist/cjs/utils/routeFileWatch.native.js.map +1 -0
  19. package/dist/cjs/utils/routeFileWatch.test.cjs +92 -0
  20. package/dist/cjs/utils/routeFileWatch.test.native.js +95 -0
  21. package/dist/cjs/utils/routeFileWatch.test.native.js.map +1 -0
  22. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +16 -7
  23. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +16 -7
  24. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  25. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.cjs +111 -0
  26. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.native.js +116 -0
  27. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.native.js.map +1 -0
  28. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.cjs +9 -9
  29. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +10 -10
  30. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  31. package/dist/esm/cli/build.mjs +18 -12
  32. package/dist/esm/cli/build.mjs.map +1 -1
  33. package/dist/esm/cli/build.native.js +18 -12
  34. package/dist/esm/cli/build.native.js.map +1 -1
  35. package/dist/esm/typed-routes/generateRouteTypes.mjs +13 -3
  36. package/dist/esm/typed-routes/generateRouteTypes.mjs.map +1 -1
  37. package/dist/esm/typed-routes/generateRouteTypes.native.js +13 -3
  38. package/dist/esm/typed-routes/generateRouteTypes.native.js.map +1 -1
  39. package/dist/esm/typed-routes/generateRouteTypes.test.mjs +35 -0
  40. package/dist/esm/typed-routes/generateRouteTypes.test.mjs.map +1 -0
  41. package/dist/esm/typed-routes/generateRouteTypes.test.native.js +35 -0
  42. package/dist/esm/typed-routes/generateRouteTypes.test.native.js.map +1 -0
  43. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.mjs +5 -5
  44. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.mjs.map +1 -1
  45. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.native.js +5 -5
  46. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
  47. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.test.mjs +19 -0
  48. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.test.mjs.map +1 -0
  49. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.test.native.js +23 -0
  50. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.test.native.js.map +1 -0
  51. package/dist/esm/utils/routeFileWatch.mjs +20 -0
  52. package/dist/esm/utils/routeFileWatch.mjs.map +1 -0
  53. package/dist/esm/utils/routeFileWatch.native.js +21 -0
  54. package/dist/esm/utils/routeFileWatch.native.js.map +1 -0
  55. package/dist/esm/utils/routeFileWatch.test.mjs +69 -0
  56. package/dist/esm/utils/routeFileWatch.test.mjs.map +1 -0
  57. package/dist/esm/utils/routeFileWatch.test.native.js +69 -0
  58. package/dist/esm/utils/routeFileWatch.test.native.js.map +1 -0
  59. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +16 -7
  60. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  61. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +16 -7
  62. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  63. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.mjs +88 -0
  64. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.mjs.map +1 -0
  65. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.native.js +90 -0
  66. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.native.js.map +1 -0
  67. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs +9 -9
  68. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs.map +1 -1
  69. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +10 -10
  70. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  71. package/package.json +11 -11
  72. package/src/cli/build.ts +25 -15
  73. package/src/typed-routes/generateRouteTypes.test.ts +53 -0
  74. package/src/typed-routes/generateRouteTypes.ts +14 -3
  75. package/src/typed-routes/getTypedRoutesDeclarationFile.test.ts +22 -0
  76. package/src/typed-routes/getTypedRoutesDeclarationFile.ts +5 -5
  77. package/src/utils/routeFileWatch.test.ts +94 -0
  78. package/src/utils/routeFileWatch.ts +40 -0
  79. package/src/vite/plugins/fileSystemRouterPlugin.test.ts +106 -0
  80. package/src/vite/plugins/fileSystemRouterPlugin.tsx +21 -13
  81. package/src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx +16 -17
  82. package/types/cli/build.d.ts.map +1 -1
  83. package/types/typed-routes/generateRouteTypes.d.ts.map +1 -1
  84. package/types/typed-routes/generateRouteTypes.test.d.ts +2 -0
  85. package/types/typed-routes/generateRouteTypes.test.d.ts.map +1 -0
  86. package/types/typed-routes/getTypedRoutesDeclarationFile.test.d.ts +2 -0
  87. package/types/typed-routes/getTypedRoutesDeclarationFile.test.d.ts.map +1 -0
  88. package/types/utils/routeFileWatch.d.ts +9 -0
  89. package/types/utils/routeFileWatch.d.ts.map +1 -0
  90. package/types/utils/routeFileWatch.test.d.ts +2 -0
  91. package/types/utils/routeFileWatch.test.d.ts.map +1 -0
  92. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
  93. package/types/vite/plugins/fileSystemRouterPlugin.test.d.ts +2 -0
  94. package/types/vite/plugins/fileSystemRouterPlugin.test.d.ts.map +1 -0
  95. package/types/vite/plugins/generateFileSystemRouteTypesPlugin.d.ts.map +1 -1
@@ -0,0 +1,106 @@
1
+ import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs'
2
+ import { tmpdir } from 'node:os'
3
+ import path from 'node:path'
4
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
5
+
6
+ vi.mock('vite', async () => {
7
+ const actual = await vi.importActual<typeof import('vite')>('vite')
8
+ return {
9
+ ...actual,
10
+ createServerModuleRunner: vi.fn(() => ({
11
+ clearCache: vi.fn(),
12
+ import: vi.fn(),
13
+ })),
14
+ }
15
+ })
16
+
17
+ describe('createFileSystemRouterPlugin', () => {
18
+ const previousIsVxrnCli = process.env.IS_VXRN_CLI
19
+ let previousVxrnPluginConfig: unknown
20
+ let tempRoot: string | undefined
21
+
22
+ beforeEach(() => {
23
+ previousVxrnPluginConfig = (globalThis as any).__vxrnPluginConfig__
24
+ })
25
+
26
+ afterEach(() => {
27
+ if (tempRoot) {
28
+ rmSync(tempRoot, { recursive: true, force: true })
29
+ tempRoot = undefined
30
+ }
31
+
32
+ if (previousIsVxrnCli === undefined) {
33
+ delete process.env.IS_VXRN_CLI
34
+ } else {
35
+ process.env.IS_VXRN_CLI = previousIsVxrnCli
36
+ }
37
+
38
+ if (previousVxrnPluginConfig === undefined) {
39
+ delete (globalThis as any).__vxrnPluginConfig__
40
+ } else {
41
+ ;(globalThis as any).__vxrnPluginConfig__ = previousVxrnPluginConfig
42
+ }
43
+ vi.restoreAllMocks()
44
+ })
45
+
46
+ it('keeps route watcher rebuild errors handled', async () => {
47
+ process.env.IS_VXRN_CLI = '1'
48
+ tempRoot = mkdtempSync(path.join(tmpdir(), 'one-router-watch-'))
49
+ const appDir = path.join(tempRoot, 'app')
50
+ writeFileSync(path.join(tempRoot, 'package.json'), '{}\n')
51
+ mkdirSync(appDir)
52
+ writeFileSync(
53
+ path.join(appDir, 'index.tsx'),
54
+ 'export default function Index() { return null }\n'
55
+ )
56
+
57
+ ;(globalThis as any).__vxrnPluginConfig__ = {
58
+ web: {
59
+ defaultRenderMode: 'ssg',
60
+ },
61
+ }
62
+
63
+ const { createFileSystemRouterPlugin } = await import('./fileSystemRouterPlugin')
64
+ const plugin = createFileSystemRouterPlugin({
65
+ router: {
66
+ root: appDir,
67
+ },
68
+ })
69
+
70
+ let watcherListener:
71
+ | ((event: string, changedPath: string) => void | Promise<void>)
72
+ | undefined
73
+ const server = {
74
+ environments: {
75
+ ssr: {},
76
+ },
77
+ watcher: {
78
+ addListener: vi.fn((event: string, listener: typeof watcherListener) => {
79
+ if (event === 'all') {
80
+ watcherListener = listener
81
+ }
82
+ }),
83
+ on: vi.fn(),
84
+ },
85
+ }
86
+
87
+ ;(plugin as any).configureServer(server)
88
+ expect(watcherListener).toBeDefined()
89
+
90
+ const warn = vi.spyOn(console, 'warn').mockImplementation(() => {})
91
+ delete (globalThis as any).__vxrnPluginConfig__
92
+
93
+ if (!watcherListener) {
94
+ throw new Error('Expected route watcher listener to be registered')
95
+ }
96
+
97
+ await expect(
98
+ Promise.resolve(watcherListener('add', path.join(appDir, 'new-route.tsx')))
99
+ ).resolves.toBeUndefined()
100
+
101
+ expect(warn).toHaveBeenCalledWith(
102
+ expect.stringContaining('[one] Failed to rebuild routes'),
103
+ expect.any(Error)
104
+ )
105
+ })
106
+ })
@@ -14,6 +14,7 @@ import { getRouterRootFromOneOptions } from '../../utils/getRouterRootFromOneOpt
14
14
  import { isResponse } from '../../utils/isResponse'
15
15
  import { isStatusRedirect } from '../../utils/isStatus'
16
16
  import { promiseWithResolvers } from '../../utils/promiseWithResolvers'
17
+ import { isRouteFileWatchEvent } from '../../utils/routeFileWatch'
17
18
  import { trackLoaderDependencies } from '../../utils/trackLoaderDependencies'
18
19
  import { LoaderDataCache } from '../../vite/constants'
19
20
  import { replaceLoader } from '../../vite/replaceLoader'
@@ -524,6 +525,14 @@ export function createFileSystemRouterPlugin(options: One.PluginOptions): Plugin
524
525
  )
525
526
  }
526
527
 
528
+ function recreateRequestHandler(changedPath: string) {
529
+ try {
530
+ handleRequest = createRequestHandler()
531
+ } catch (error) {
532
+ console.warn(`[one] Failed to rebuild routes after ${changedPath} changed.`, error)
533
+ }
534
+ }
535
+
527
536
  return {
528
537
  name: `one-router-fs`,
529
538
  enforce: 'post',
@@ -585,21 +594,20 @@ export function createFileSystemRouterPlugin(options: One.PluginOptions): Plugin
585
594
  USE_SERVER_ENV ? server.environments.server : server.environments.ssr
586
595
  )
587
596
 
588
- const appDir = path.join(process.cwd(), getRouterRootFromOneOptions(options))
597
+ const appDir = path.resolve(process.cwd(), getRouterRootFromOneOptions(options))
589
598
 
590
599
  // on change ./app stuff lets reload this to pick up any route changes
591
- const fileWatcherChangeListener = debounce(
592
- async (type: string, changedPath: string) => {
593
- if (type === 'add' || type === 'delete') {
594
- // resolve to absolute path since watcher may emit relative paths
595
- const absolutePath = path.resolve(changedPath)
596
- if (absolutePath.startsWith(appDir)) {
597
- handleRequest = createRequestHandler()
598
- }
599
- }
600
- },
601
- 100
602
- )
600
+ const fileWatcherChangeListener = debounce((type: string, changedPath: string) => {
601
+ if (
602
+ isRouteFileWatchEvent({
603
+ event: type,
604
+ filePath: changedPath,
605
+ routerRoot: appDir,
606
+ })
607
+ ) {
608
+ recreateRequestHandler(changedPath)
609
+ }
610
+ }, 100)
603
611
 
604
612
  server.watcher.addListener('all', fileWatcherChangeListener)
605
613
 
@@ -3,6 +3,7 @@ import { debounce } from 'perfect-debounce'
3
3
  import type { Plugin } from 'vite'
4
4
  import { generateRouteTypes } from '../../typed-routes/generateRouteTypes'
5
5
  import { getRouterRootFromOneOptions } from '../../utils/getRouterRootFromOneOptions'
6
+ import { isRouteFileWatchEvent } from '../../utils/routeFileWatch'
6
7
  import type { One } from '../types'
7
8
 
8
9
  export function generateFileSystemRouteTypesPlugin(options: One.PluginOptions): Plugin {
@@ -12,7 +13,7 @@ export function generateFileSystemRouteTypesPlugin(options: One.PluginOptions):
12
13
  apply: 'serve',
13
14
 
14
15
  configureServer(server) {
15
- const appDir = join(process.cwd(), getRouterRootFromOneOptions(options))
16
+ const appDir = resolve(process.cwd(), getRouterRootFromOneOptions(options))
16
17
  // Generate routes.d.ts inside the app directory to keep it organized
17
18
  const outFile = join(appDir, 'routes.d.ts')
18
19
 
@@ -22,22 +23,20 @@ export function generateFileSystemRouteTypesPlugin(options: One.PluginOptions):
22
23
 
23
24
  // on change ./app stuff lets reload this to pick up any route changes
24
25
  const fileWatcherChangeListener = debounce(async (type: string, path: string) => {
25
- if (type === 'add' || type === 'delete' || type === 'change') {
26
- // resolve to absolute path since watcher may emit relative paths
27
- const absolutePath = resolve(path)
28
- // skip routes.d.ts itself to avoid infinite loop
29
- if (absolutePath === outFile) {
30
- return
31
- }
32
- if (absolutePath.startsWith(appDir)) {
33
- // generate
34
- generateRouteTypes(
35
- outFile,
36
- routerRoot,
37
- options.router?.ignoredRouteFiles,
38
- typedRoutesGeneration
39
- )
40
- }
26
+ if (
27
+ isRouteFileWatchEvent({
28
+ event: type,
29
+ filePath: path,
30
+ routerRoot: appDir,
31
+ includeChangeEvents: true,
32
+ })
33
+ ) {
34
+ generateRouteTypes(
35
+ outFile,
36
+ routerRoot,
37
+ options.router?.ignoredRouteFiles,
38
+ typedRoutesGeneration
39
+ )
41
40
  }
42
41
  }, 100)
43
42
 
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"AAmUA,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,iBA0uCA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"AA4UA,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,iBA2uCA"}
@@ -1 +1 @@
1
- {"version":3,"file":"generateRouteTypes.d.ts","sourceRoot":"","sources":["../../src/typed-routes/generateRouteTypes.ts"],"names":[],"mappings":"AAWA,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,iBA8DrC"}
1
+ {"version":3,"file":"generateRouteTypes.d.ts","sourceRoot":"","sources":["../../src/typed-routes/generateRouteTypes.ts"],"names":[],"mappings":"AAWA,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,iBAyErC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generateRouteTypes.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateRouteTypes.test.d.ts","sourceRoot":"","sources":["../../src/typed-routes/generateRouteTypes.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getTypedRoutesDeclarationFile.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTypedRoutesDeclarationFile.test.d.ts","sourceRoot":"","sources":["../../src/typed-routes/getTypedRoutesDeclarationFile.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export declare function isRouteFilePath(filePath: string): boolean;
2
+ export declare function isPathInsideDirectory(filePath: string, directory: string): boolean;
3
+ export declare function isRouteFileWatchEvent({ event, filePath, routerRoot, includeChangeEvents, }: {
4
+ event: string;
5
+ filePath: string;
6
+ routerRoot: string;
7
+ includeChangeEvents?: boolean;
8
+ }): boolean;
9
+ //# sourceMappingURL=routeFileWatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routeFileWatch.d.ts","sourceRoot":"","sources":["../../src/utils/routeFileWatch.ts"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,WAE/C;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAOxE;AAED,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,QAAQ,EACR,UAAU,EACV,mBAA2B,GAC5B,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,WAYA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=routeFileWatch.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routeFileWatch.test.d.ts","sourceRoot":"","sources":["../../src/utils/routeFileWatch.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"fileSystemRouterPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/fileSystemRouterPlugin.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAW,MAAM,EAAiB,MAAM,MAAM,CAAA;AAe1D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAiB3C,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,GAAG,MAAM,CA8tB/E"}
1
+ {"version":3,"file":"fileSystemRouterPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/fileSystemRouterPlugin.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAW,MAAM,EAAiB,MAAM,MAAM,CAAA;AAgB1D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAiB3C,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,GAAG,MAAM,CAquB/E"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fileSystemRouterPlugin.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileSystemRouterPlugin.test.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/fileSystemRouterPlugin.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"generateFileSystemRouteTypesPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAGlC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEnC,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,GAAG,MAAM,CAkDrF"}
1
+ {"version":3,"file":"generateFileSystemRouteTypesPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAIlC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEnC,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,GAAG,MAAM,CAgDrF"}