@buzola/vite-plugin 0.0.11 → 0.0.13

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 (76) hide show
  1. package/dist/__tests__/plugin.test.d.ts +2 -0
  2. package/dist/__tests__/plugin.test.d.ts.map +1 -0
  3. package/dist/__tests__/plugin.test.js +110 -0
  4. package/dist/__tests__/plugin.test.js.map +1 -0
  5. package/dist/index.d.ts +0 -14
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +0 -7
  8. package/dist/index.js.map +1 -1
  9. package/dist/plugin.d.ts +2 -20
  10. package/dist/plugin.d.ts.map +1 -1
  11. package/dist/plugin.js +12 -31
  12. package/dist/plugin.js.map +1 -1
  13. package/package.json +3 -5
  14. package/src/__tests__/plugin.test.ts +129 -0
  15. package/src/index.ts +0 -21
  16. package/src/plugin.ts +22 -56
  17. package/dist/__tests__/codegen.test.d.ts +0 -2
  18. package/dist/__tests__/codegen.test.d.ts.map +0 -1
  19. package/dist/__tests__/codegen.test.js +0 -208
  20. package/dist/__tests__/codegen.test.js.map +0 -1
  21. package/dist/__tests__/conventions.test.d.ts +0 -2
  22. package/dist/__tests__/conventions.test.d.ts.map +0 -1
  23. package/dist/__tests__/conventions.test.js +0 -80
  24. package/dist/__tests__/conventions.test.js.map +0 -1
  25. package/dist/__tests__/page-extractor.test.d.ts +0 -2
  26. package/dist/__tests__/page-extractor.test.d.ts.map +0 -1
  27. package/dist/__tests__/page-extractor.test.js +0 -82
  28. package/dist/__tests__/page-extractor.test.js.map +0 -1
  29. package/dist/__tests__/tree-builder.test.d.ts +0 -2
  30. package/dist/__tests__/tree-builder.test.d.ts.map +0 -1
  31. package/dist/__tests__/tree-builder.test.js +0 -474
  32. package/dist/__tests__/tree-builder.test.js.map +0 -1
  33. package/dist/cli.d.ts +0 -3
  34. package/dist/cli.d.ts.map +0 -1
  35. package/dist/cli.js +0 -39
  36. package/dist/cli.js.map +0 -1
  37. package/dist/config.d.ts +0 -20
  38. package/dist/config.d.ts.map +0 -1
  39. package/dist/config.js +0 -20
  40. package/dist/config.js.map +0 -1
  41. package/dist/conventions.d.ts +0 -53
  42. package/dist/conventions.d.ts.map +0 -1
  43. package/dist/conventions.js +0 -82
  44. package/dist/conventions.js.map +0 -1
  45. package/dist/generate.d.ts +0 -26
  46. package/dist/generate.d.ts.map +0 -1
  47. package/dist/generate.js +0 -44
  48. package/dist/generate.js.map +0 -1
  49. package/dist/generator/codegen.d.ts +0 -19
  50. package/dist/generator/codegen.d.ts.map +0 -1
  51. package/dist/generator/codegen.js +0 -170
  52. package/dist/generator/codegen.js.map +0 -1
  53. package/dist/generator/page-extractor.d.ts +0 -21
  54. package/dist/generator/page-extractor.d.ts.map +0 -1
  55. package/dist/generator/page-extractor.js +0 -23
  56. package/dist/generator/page-extractor.js.map +0 -1
  57. package/dist/generator/scanner.d.ts +0 -11
  58. package/dist/generator/scanner.d.ts.map +0 -1
  59. package/dist/generator/scanner.js +0 -34
  60. package/dist/generator/scanner.js.map +0 -1
  61. package/dist/generator/tree-builder.d.ts +0 -54
  62. package/dist/generator/tree-builder.d.ts.map +0 -1
  63. package/dist/generator/tree-builder.js +0 -364
  64. package/dist/generator/tree-builder.js.map +0 -1
  65. package/src/__tests__/codegen.test.ts +0 -229
  66. package/src/__tests__/conventions.test.ts +0 -93
  67. package/src/__tests__/page-extractor.test.ts +0 -95
  68. package/src/__tests__/tree-builder.test.ts +0 -554
  69. package/src/cli.ts +0 -43
  70. package/src/config.ts +0 -35
  71. package/src/conventions.ts +0 -116
  72. package/src/generate.ts +0 -64
  73. package/src/generator/codegen.ts +0 -221
  74. package/src/generator/page-extractor.ts +0 -48
  75. package/src/generator/scanner.ts +0 -45
  76. package/src/generator/tree-builder.ts +0 -454
@@ -1,474 +0,0 @@
1
- import { describe, expect, it } from 'bun:test';
2
- import { buildFileRouteTree } from '../generator/tree-builder.js';
3
- /** Module loader that returns empty modules (no page exports). */
4
- const emptyLoader = async () => ({});
5
- describe('buildFileRouteTree', () => {
6
- it('builds a tree from flat files', async () => {
7
- const files = [
8
- { absolutePath: '/app/src/routes/index.tsx', relativePath: 'index.tsx' },
9
- { absolutePath: '/app/src/routes/about.tsx', relativePath: 'about.tsx' },
10
- ];
11
- const tree = await buildFileRouteTree(files, emptyLoader);
12
- expect(tree).toHaveLength(2);
13
- const index = tree.find(n => n.isIndex);
14
- expect(index).toBeDefined();
15
- expect(index.fullPath).toBe('/');
16
- const about = tree.find(n => n.segment === 'about');
17
- expect(about).toBeDefined();
18
- expect(about.fullPath).toBe('/about');
19
- });
20
- it('builds nested routes with layouts', async () => {
21
- const files = [
22
- { absolutePath: '/app/src/routes/_layout.tsx', relativePath: '_layout.tsx' },
23
- { absolutePath: '/app/src/routes/index.tsx', relativePath: 'index.tsx' },
24
- { absolutePath: '/app/src/routes/users/_layout.tsx', relativePath: 'users/_layout.tsx' },
25
- { absolutePath: '/app/src/routes/users/index.tsx', relativePath: 'users/index.tsx' },
26
- { absolutePath: '/app/src/routes/users/detail.tsx', relativePath: 'users/detail.tsx' },
27
- ];
28
- const tree = await buildFileRouteTree(files, emptyLoader);
29
- expect(tree).toHaveLength(1);
30
- const rootLayout = tree[0];
31
- expect(rootLayout.isLayout).toBe(true);
32
- expect(rootLayout.filePath).toBe('/app/src/routes/_layout.tsx');
33
- const rootIndex = rootLayout.children.find(n => n.isIndex);
34
- expect(rootIndex).toBeDefined();
35
- const usersLayout = rootLayout.children.find(n => n.isLayout && n.segment === 'users');
36
- expect(usersLayout).toBeDefined();
37
- expect(usersLayout.children).toHaveLength(2);
38
- const usersIndex = usersLayout.children.find(n => n.isIndex);
39
- expect(usersIndex).toBeDefined();
40
- const detail = usersLayout.children.find(n => n.segment === 'detail');
41
- expect(detail).toBeDefined();
42
- });
43
- it('handles pathless groups', async () => {
44
- const files = [
45
- { absolutePath: '/app/src/routes/(auth)/login.tsx', relativePath: '(auth)/login.tsx' },
46
- ];
47
- const tree = await buildFileRouteTree(files, emptyLoader);
48
- // Without a pathless group layout, the file goes under root directly
49
- const login = tree.find(n => n.segment === 'login');
50
- expect(login).toBeDefined();
51
- expect(login.fullPath).toBe('/login');
52
- });
53
- it('handles pathless group with layout', async () => {
54
- const files = [
55
- { absolutePath: '/app/src/routes/(auth)/_layout.tsx', relativePath: '(auth)/_layout.tsx' },
56
- { absolutePath: '/app/src/routes/(auth)/login.tsx', relativePath: '(auth)/login.tsx' },
57
- ];
58
- const tree = await buildFileRouteTree(files, emptyLoader);
59
- const authGroup = tree.find(n => n.isPathlessGroup);
60
- expect(authGroup).toBeDefined();
61
- expect(authGroup.fullPath).toBe('/');
62
- const login = authGroup.children.find(n => n.segment === 'login');
63
- expect(login).toBeDefined();
64
- expect(login.fullPath).toBe('/login');
65
- });
66
- it('uses plain file names as segments', async () => {
67
- const files = [
68
- { absolutePath: '/app/src/routes/users/detail.tsx', relativePath: 'users/detail.tsx' },
69
- ];
70
- const tree = await buildFileRouteTree(files, emptyLoader);
71
- // Without a users layout, the page goes under root with full segment
72
- const detail = tree.find(n => n.fullPath === '/users/detail');
73
- expect(detail).toBeDefined();
74
- expect(detail.segment).toBe('users/detail');
75
- });
76
- it('derives segment from page .route() via module loader', async () => {
77
- const files = [
78
- { absolutePath: '/app/src/routes/users/detail.tsx', relativePath: 'users/detail.tsx' },
79
- ];
80
- const loader = async (p) => {
81
- if (p === '/app/src/routes/users/detail.tsx') {
82
- return {
83
- default: {
84
- __buzolaPage: true,
85
- component: () => null,
86
- route: '/users/:userId',
87
- paramsMeta: [{ name: 'userId', optional: false, array: false }],
88
- },
89
- };
90
- }
91
- return {};
92
- };
93
- const tree = await buildFileRouteTree(files, loader);
94
- // Tree position is file-based (/users/detail), route pattern is in pageExports
95
- const page = tree.find(n => n.fullPath === '/users/detail');
96
- expect(page).toBeDefined();
97
- expect(page.segment).toBe('users/detail');
98
- expect(page.pageExports).toEqual([
99
- { pageId: 'users/detail', exportName: 'default', routePattern: '/users/:userId', params: [{ name: 'userId', optional: false, array: false }] },
100
- ]);
101
- });
102
- it('derives segment from page .route() when under a layout', async () => {
103
- const files = [
104
- { absolutePath: '/app/src/routes/users/_layout.tsx', relativePath: 'users/_layout.tsx' },
105
- { absolutePath: '/app/src/routes/users/detail.tsx', relativePath: 'users/detail.tsx' },
106
- ];
107
- const loader = async (p) => {
108
- if (p === '/app/src/routes/users/detail.tsx') {
109
- return {
110
- default: {
111
- __buzolaPage: true,
112
- component: () => null,
113
- route: '/users/:userId',
114
- paramsMeta: [{ name: 'userId', optional: false, array: false }],
115
- },
116
- };
117
- }
118
- return {};
119
- };
120
- const tree = await buildFileRouteTree(files, loader);
121
- const usersLayout = tree.find(n => n.isLayout && n.segment === 'users');
122
- expect(usersLayout).toBeDefined();
123
- // Tree position is file-based (detail), route pattern only affects URL matching
124
- const page = usersLayout.children.find(n => n.fullPath === '/users/detail');
125
- expect(page).toBeDefined();
126
- expect(page.segment).toBe('detail');
127
- expect(page.pageExports[0].routePattern).toBe('/users/:userId');
128
- });
129
- it('derives route from file path when no .route()', async () => {
130
- const files = [
131
- { absolutePath: '/app/src/routes/users/detail.tsx', relativePath: 'users/detail.tsx' },
132
- ];
133
- const loader = async () => ({
134
- default: {
135
- __buzolaPage: true,
136
- component: () => null,
137
- paramsMeta: [{ name: 'userId', optional: false, array: false }],
138
- // no .route() — should derive /users/detail from file path
139
- },
140
- });
141
- const tree = await buildFileRouteTree(files, loader);
142
- const page = tree.find(n => n.fullPath === '/users/detail');
143
- expect(page).toBeDefined();
144
- expect(page.pageExports).toEqual([
145
- { pageId: 'users/detail', exportName: 'default', routePattern: '/users/detail', params: [{ name: 'userId', optional: false, array: false }] },
146
- ]);
147
- });
148
- it('derives route for index file when no .route()', async () => {
149
- const files = [
150
- { absolutePath: '/app/src/routes/users/index.tsx', relativePath: 'users/index.tsx' },
151
- ];
152
- const loader = async () => ({
153
- default: {
154
- __buzolaPage: true,
155
- component: () => null,
156
- paramsMeta: [],
157
- },
158
- });
159
- const tree = await buildFileRouteTree(files, loader);
160
- const page = tree.find(n => n.fullPath === '/users');
161
- expect(page).toBeDefined();
162
- expect(page.pageExports).toEqual([
163
- { pageId: 'users', exportName: 'default', routePattern: '/users', params: [] },
164
- ]);
165
- });
166
- // ─── Route escaping via .route() ─────────────────────────────────────────
167
- it('index file with .route() stays under its file-system layout', async () => {
168
- const files = [
169
- { absolutePath: '/app/src/routes/login/_layout.tsx', relativePath: 'login/_layout.tsx' },
170
- { absolutePath: '/app/src/routes/login/index.tsx', relativePath: 'login/index.tsx' },
171
- ];
172
- const loader = async (p) => {
173
- if (p === '/app/src/routes/login/index.tsx') {
174
- return {
175
- default: {
176
- __buzolaPage: true,
177
- component: () => null,
178
- route: '/login/testtest',
179
- paramsMeta: [],
180
- },
181
- };
182
- }
183
- return {};
184
- };
185
- const tree = await buildFileRouteTree(files, loader);
186
- const loginLayout = tree.find(n => n.isLayout && n.segment === 'login');
187
- expect(loginLayout).toBeDefined();
188
- // Page stays under login layout as index (file-hierarchy), with custom routePattern
189
- const page = loginLayout.children.find(n => n.isIndex);
190
- expect(page).toBeDefined();
191
- expect(page.fullPath).toBe('/login');
192
- expect(page.pageExports[0].routePattern).toBe('/login/testtest');
193
- });
194
- it('index file with .route("/xx") stays under its file-system layout', async () => {
195
- const files = [
196
- { absolutePath: '/app/src/routes/login/_layout.tsx', relativePath: 'login/_layout.tsx' },
197
- { absolutePath: '/app/src/routes/login/index.tsx', relativePath: 'login/index.tsx' },
198
- ];
199
- const loader = async (p) => {
200
- if (p === '/app/src/routes/login/index.tsx') {
201
- return {
202
- default: {
203
- __buzolaPage: true,
204
- component: () => null,
205
- route: '/xx',
206
- paramsMeta: [],
207
- },
208
- };
209
- }
210
- return {};
211
- };
212
- const tree = await buildFileRouteTree(files, loader);
213
- const loginLayout = tree.find(n => n.isLayout && n.segment === 'login');
214
- expect(loginLayout).toBeDefined();
215
- // Page stays under login layout as index (file-hierarchy), URL is /xx
216
- const page = loginLayout.children.find(n => n.isIndex);
217
- expect(page).toBeDefined();
218
- expect(page.fullPath).toBe('/login');
219
- expect(page.pageExports[0].routePattern).toBe('/xx');
220
- });
221
- it('index file with .route("/") stays under its file-system layout', async () => {
222
- const files = [
223
- { absolutePath: '/app/src/routes/login/_layout.tsx', relativePath: 'login/_layout.tsx' },
224
- { absolutePath: '/app/src/routes/login/index.tsx', relativePath: 'login/index.tsx' },
225
- ];
226
- const loader = async (p) => {
227
- if (p === '/app/src/routes/login/index.tsx') {
228
- return {
229
- default: {
230
- __buzolaPage: true,
231
- component: () => null,
232
- route: '/',
233
- paramsMeta: [],
234
- },
235
- };
236
- }
237
- return {};
238
- };
239
- const tree = await buildFileRouteTree(files, loader);
240
- const loginLayout = tree.find(n => n.isLayout && n.segment === 'login');
241
- expect(loginLayout).toBeDefined();
242
- // Page stays under login layout as index, URL is /
243
- const page = loginLayout.children.find(n => n.isIndex);
244
- expect(page).toBeDefined();
245
- expect(page.fullPath).toBe('/login');
246
- expect(page.pageExports[0].routePattern).toBe('/');
247
- });
248
- it('index file with .route("/") under root layout keeps file-hierarchy position', async () => {
249
- const files = [
250
- { absolutePath: '/app/src/routes/_layout.tsx', relativePath: '_layout.tsx' },
251
- { absolutePath: '/app/src/routes/login/index.tsx', relativePath: 'login/index.tsx' },
252
- ];
253
- const loader = async (p) => {
254
- if (p === '/app/src/routes/login/index.tsx') {
255
- return {
256
- default: {
257
- __buzolaPage: true,
258
- component: () => null,
259
- route: '/',
260
- paramsMeta: [],
261
- },
262
- };
263
- }
264
- return {};
265
- };
266
- const tree = await buildFileRouteTree(files, loader);
267
- expect(tree).toHaveLength(1);
268
- const rootLayout = tree[0];
269
- expect(rootLayout.isLayout).toBe(true);
270
- // No login layout → page is a child of root layout at file position /login
271
- const page = rootLayout.children.find(n => n.fullPath === '/login');
272
- expect(page).toBeDefined();
273
- expect(page.segment).toBe('login');
274
- expect(page.isIndex).toBe(false);
275
- expect(page.pageExports[0].routePattern).toBe('/');
276
- });
277
- // ─── Sorting ─────────────────────────────────────────────────────────────
278
- it('sorts not-found routes last', async () => {
279
- const files = [
280
- { absolutePath: '/app/src/routes/about.tsx', relativePath: 'about.tsx' },
281
- { absolutePath: '/app/src/routes/_404.tsx', relativePath: '_404.tsx' },
282
- { absolutePath: '/app/src/routes/users/index.tsx', relativePath: 'users/index.tsx' },
283
- ];
284
- const tree = await buildFileRouteTree(files, emptyLoader);
285
- const segments = tree.map(n => n.segment);
286
- // _404 catch-all must be last
287
- expect(segments[segments.length - 1]).toBe(':__notFound+');
288
- const notFound = tree.find(n => n.isNotFound);
289
- expect(notFound).toBeDefined();
290
- expect(notFound.fullPath).toBe('/:__notFound+');
291
- });
292
- // ─── Named exports ──────────────────────────────────────────────────────
293
- it('creates child nodes for named exports from regular files', async () => {
294
- const files = [
295
- { absolutePath: '/app/src/routes/users.tsx', relativePath: 'users.tsx' },
296
- ];
297
- const loader = async () => ({
298
- default: {
299
- __buzolaPage: true,
300
- component: () => null,
301
- paramsMeta: [],
302
- },
303
- detail: {
304
- __buzolaPage: true,
305
- component: () => null,
306
- paramsMeta: [{ name: 'id', optional: false, array: false }],
307
- },
308
- settings: {
309
- __buzolaPage: true,
310
- component: () => null,
311
- paramsMeta: [],
312
- },
313
- });
314
- const tree = await buildFileRouteTree(files, loader);
315
- const users = tree.find(n => n.segment === 'users' && n.filePath);
316
- expect(users).toBeDefined();
317
- expect(users.filePath).toBe('/app/src/routes/users.tsx');
318
- expect(users.exportName).toBe('default');
319
- expect(users.pageExports).toEqual([
320
- { pageId: 'users', exportName: 'default', routePattern: '/users', params: [] },
321
- ]);
322
- // Named exports: /users/detail and /users/settings are also under root
323
- // (since there's no /users layout, they're siblings)
324
- const detail = tree.find(n => n.fullPath === '/users/detail');
325
- expect(detail).toBeDefined();
326
- expect(detail.filePath).toBe('/app/src/routes/users.tsx');
327
- expect(detail.exportName).toBe('detail');
328
- const settings = tree.find(n => n.fullPath === '/users/settings');
329
- expect(settings).toBeDefined();
330
- });
331
- it('creates sibling nodes for named exports from index files', async () => {
332
- const files = [
333
- { absolutePath: '/app/src/routes/users/index.tsx', relativePath: 'users/index.tsx' },
334
- ];
335
- const loader = async () => ({
336
- default: {
337
- __buzolaPage: true,
338
- component: () => null,
339
- paramsMeta: [],
340
- },
341
- detail: {
342
- __buzolaPage: true,
343
- component: () => null,
344
- paramsMeta: [{ name: 'id', optional: false, array: false }],
345
- },
346
- });
347
- const tree = await buildFileRouteTree(files, loader);
348
- // Default export → /users (index-like, placed at root without layout)
349
- const usersPage = tree.find(n => n.fullPath === '/users' && n.filePath);
350
- expect(usersPage).toBeDefined();
351
- expect(usersPage.filePath).toBe('/app/src/routes/users/index.tsx');
352
- // Named export → /users/detail
353
- const detail = tree.find(n => n.fullPath === '/users/detail');
354
- expect(detail).toBeDefined();
355
- expect(detail.filePath).toBe('/app/src/routes/users/index.tsx');
356
- expect(detail.exportName).toBe('detail');
357
- expect(detail.pageExports).toEqual([
358
- { pageId: 'users/detail', exportName: 'detail', routePattern: '/users/detail', params: [{ name: 'id', optional: false, array: false }] },
359
- ]);
360
- });
361
- it('creates container node when file has only named exports', async () => {
362
- const files = [
363
- { absolutePath: '/app/src/routes/users.tsx', relativePath: 'users.tsx' },
364
- ];
365
- const loader = async () => ({
366
- list: {
367
- __buzolaPage: true,
368
- component: () => null,
369
- paramsMeta: [],
370
- },
371
- detail: {
372
- __buzolaPage: true,
373
- component: () => null,
374
- paramsMeta: [],
375
- },
376
- });
377
- const tree = await buildFileRouteTree(files, loader);
378
- const detail = tree.find(n => n.fullPath === '/users/detail');
379
- expect(detail).toBeDefined();
380
- const list = tree.find(n => n.fullPath === '/users/list');
381
- expect(list).toBeDefined();
382
- });
383
- it('named export with .route() keeps file-hierarchy position with custom routePattern', async () => {
384
- const files = [
385
- { absolutePath: '/app/src/routes/users.tsx', relativePath: 'users.tsx' },
386
- ];
387
- const loader = async () => ({
388
- detail: {
389
- __buzolaPage: true,
390
- component: () => null,
391
- route: '/users/:userId',
392
- paramsMeta: [{ name: 'userId', optional: false, array: false }],
393
- },
394
- });
395
- const tree = await buildFileRouteTree(files, loader);
396
- // Tree position is file-based (/users/detail), route pattern in pageExports
397
- const page = tree.find(n => n.fullPath === '/users/detail');
398
- expect(page).toBeDefined();
399
- expect(page.pageExports[0].routePattern).toBe('/users/:userId');
400
- });
401
- it('throws on collision: two pages at same path', async () => {
402
- const files = [
403
- { absolutePath: '/app/src/routes/users.tsx', relativePath: 'users.tsx' },
404
- { absolutePath: '/app/src/routes/users/detail.tsx', relativePath: 'users/detail.tsx' },
405
- ];
406
- const loader = async (p) => {
407
- if (p === '/app/src/routes/users.tsx') {
408
- return {
409
- detail: {
410
- __buzolaPage: true,
411
- component: () => null,
412
- paramsMeta: [],
413
- },
414
- };
415
- }
416
- return {
417
- default: {
418
- __buzolaPage: true,
419
- component: () => null,
420
- paramsMeta: [],
421
- },
422
- };
423
- };
424
- expect(buildFileRouteTree(files, loader)).rejects.toThrow(/Route collision/);
425
- });
426
- it('named exports from root index.tsx have correct paths (no double slashes)', async () => {
427
- const files = [
428
- { absolutePath: '/app/src/routes/index.tsx', relativePath: 'index.tsx' },
429
- ];
430
- const loader = async () => ({
431
- default: {
432
- __buzolaPage: true,
433
- component: () => null,
434
- paramsMeta: [],
435
- },
436
- dashboard: {
437
- __buzolaPage: true,
438
- component: () => null,
439
- paramsMeta: [],
440
- },
441
- });
442
- const tree = await buildFileRouteTree(files, loader);
443
- const index = tree.find(n => n.isIndex);
444
- expect(index).toBeDefined();
445
- expect(index.fullPath).toBe('/');
446
- const dashboard = tree.find(n => n.segment === 'dashboard');
447
- expect(dashboard).toBeDefined();
448
- expect(dashboard.fullPath).toBe('/dashboard');
449
- expect(dashboard.pageExports[0].routePattern).toBe('/dashboard');
450
- });
451
- it('handles nested _404 within a directory', async () => {
452
- const files = [
453
- { absolutePath: '/app/src/routes/users/_layout.tsx', relativePath: 'users/_layout.tsx' },
454
- { absolutePath: '/app/src/routes/users/index.tsx', relativePath: 'users/index.tsx' },
455
- { absolutePath: '/app/src/routes/users/_404.tsx', relativePath: 'users/_404.tsx' },
456
- ];
457
- const tree = await buildFileRouteTree(files, emptyLoader);
458
- const usersLayout = tree.find(n => n.isLayout && n.segment === 'users');
459
- expect(usersLayout).toBeDefined();
460
- const notFound = usersLayout.children.find(n => n.isNotFound);
461
- expect(notFound).toBeDefined();
462
- expect(notFound.segment).toBe(':__notFound+');
463
- expect(notFound.fullPath).toBe('/users/:__notFound+');
464
- expect(notFound.pageExports).toEqual([
465
- {
466
- pageId: 'users/404',
467
- exportName: 'default',
468
- routePattern: '/users/:__notFound+',
469
- params: [{ name: '__notFound', optional: false, array: false }],
470
- },
471
- ]);
472
- });
473
- });
474
- //# sourceMappingURL=tree-builder.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree-builder.test.js","sourceRoot":"","sources":["../../src/__tests__/tree-builder.test.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js DELETED
@@ -1,39 +0,0 @@
1
- #!/usr/bin/env node
2
- import * as path from 'node:path';
3
- import { parseArgs } from 'node:util';
4
- import { loadConfig } from './config.js';
5
- import { generate } from './generate.js';
6
- const { values } = parseArgs({
7
- options: {
8
- 'routes-dir': { type: 'string', short: 'r' },
9
- output: { type: 'string', short: 'o' },
10
- 'persistent-param': { type: 'string', multiple: true },
11
- root: { type: 'string' },
12
- help: { type: 'boolean', short: 'h', default: false },
13
- },
14
- strict: true,
15
- });
16
- if (values.help) {
17
- console.log(`Usage: buzola-generate [options]
18
-
19
- Options:
20
- -r, --routes-dir <path> Routes directory (default: src/routes)
21
- -o, --output <path> Output file path (default: src/buzola.gen.ts)
22
- --persistent-param <name> Persistent parameter name (repeatable)
23
- --root <path> Project root directory (default: cwd)
24
- -h, --help Show this help message`);
25
- process.exit(0);
26
- }
27
- const root = path.resolve(values.root ?? process.cwd());
28
- const fileConfig = await loadConfig(root);
29
- const routesDir = path.resolve(root, values['routes-dir'] ?? fileConfig.routesDir ?? 'src/routes');
30
- const outputPath = path.resolve(root, values.output ?? fileConfig.output ?? 'src/buzola.gen.ts');
31
- const persistentParams = values['persistent-param'] ?? fileConfig.persistentParams;
32
- const changed = await generate({ routesDir, outputPath, persistentParams });
33
- if (changed) {
34
- console.log(`Generated ${path.relative(root, outputPath)}`);
35
- }
36
- else {
37
- console.log('No changes');
38
- }
39
- //# sourceMappingURL=cli.js.map
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE;QACR,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;QAC5C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;QACtC,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACtD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;KACrD;IACD,MAAM,EAAE,IAAI;CACZ,CAAC,CAAA;AAEF,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC;;;;;;;yDAO4C,CAAC,CAAA;IACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAChB,CAAC;AAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;AACvD,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAA;AAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,SAAS,IAAI,YAAY,CAAC,CAAA;AAClG,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,IAAI,mBAAmB,CAAC,CAAA;AAChG,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,IAAI,UAAU,CAAC,gBAAgB,CAAA;AAElF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAA;AAE3E,IAAI,OAAO,EAAE,CAAC;IACb,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAA;AAC5D,CAAC;KAAM,CAAC;IACP,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;AAC1B,CAAC"}
package/dist/config.d.ts DELETED
@@ -1,20 +0,0 @@
1
- export interface BuzolaConfig {
2
- /** Path to routes directory, relative to project root. Defaults to "src/routes". */
3
- routesDir?: string;
4
- /** Path to output generated file, relative to project root. Defaults to "src/buzola.gen.ts". */
5
- output?: string;
6
- /**
7
- * Parameter names that should be persistent across navigations.
8
- * When set, generates a BuzolaPersistentParams type augmentation
9
- * so these params become optional in Link and navigate() calls.
10
- */
11
- persistentParams?: string[];
12
- }
13
- /**
14
- * Load buzola config from the project root.
15
- * Looks for `buzola.config.ts`, `buzola.config.js`, or `buzola.config.mjs`.
16
- *
17
- * @returns The loaded config, or an empty object if no config file is found.
18
- */
19
- export declare function loadConfig(root: string): Promise<BuzolaConfig>;
20
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC5B,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC3B;AAID;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAUpE"}
package/dist/config.js DELETED
@@ -1,20 +0,0 @@
1
- import * as fs from 'node:fs';
2
- import * as path from 'node:path';
3
- const CONFIG_FILES = ['buzola.config.ts', 'buzola.config.js', 'buzola.config.mjs'];
4
- /**
5
- * Load buzola config from the project root.
6
- * Looks for `buzola.config.ts`, `buzola.config.js`, or `buzola.config.mjs`.
7
- *
8
- * @returns The loaded config, or an empty object if no config file is found.
9
- */
10
- export async function loadConfig(root) {
11
- for (const file of CONFIG_FILES) {
12
- const configPath = path.resolve(root, file);
13
- if (!fs.existsSync(configPath))
14
- continue;
15
- const mod = await import(configPath);
16
- return mod.default ?? mod;
17
- }
18
- return {};
19
- }
20
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAejC,MAAM,YAAY,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,CAAA;AAElF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC5C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,SAAQ;QAExC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;QACpC,OAAO,GAAG,CAAC,OAAO,IAAI,GAAG,CAAA;IAC1B,CAAC;IAED,OAAO,EAAE,CAAA;AACV,CAAC"}