Skip to content

Commit 329aeec

Browse files
authored
fix: kebab-case file name cased syntax error (#135)
close #134
1 parent 35488d4 commit 329aeec

File tree

4 files changed

+27
-16
lines changed

4 files changed

+27
-16
lines changed

src/build.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ function parse(routes: RouteManifestEntry[]) {
116116
.split('/')
117117
.filter((seg) => seg.startsWith(':') || seg == '*')
118118
.map((param) => param.split('.')[0])
119-
.map((param) => param.replace(':', '').replace('*', '"*"')),
119+
.map((param) => param.replace(':', '')),
120120
)
121121
);
122122
});

src/template.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ function exportedQuery(ctx: Context) {
2323
function routes(ctx: Context) {
2424
const routes = ctx.routes.map(({ route, params, fileName }) =>
2525
`"${route}": {
26-
params: ${params.length > 0 ? `{${params.map(param => `${param}: string | number`).join('; ')}}` : 'never'},
26+
params: ${params.length > 0 ? `{${params.map(param => `'${param}': string | number`).join('; ')}}` : 'never'},
2727
query: ExportedQuery<import('${ctx.relativeAppDirPath}/${fileName}').SearchParams>,
2828
}`
2929
);

tests/__snapshots__/build.test.ts.snap

+19-14
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ exports[`gen route types 1`] = `
1414
query: ExportedQuery<import('../app/root').SearchParams>,
1515
},
1616
"/:lang?/about": {
17-
params: {lang?: string | number},
17+
params: {'lang?': string | number},
1818
query: ExportedQuery<import('../app/routes/($lang).about').SearchParams>,
1919
},
2020
"/admin": {
@@ -26,25 +26,29 @@ exports[`gen route types 1`] = `
2626
query: ExportedQuery<import('../app/routes/admin.episodes._index').SearchParams>,
2727
},
2828
"/admin/episodes/:id": {
29-
params: {id: string | number},
29+
params: {'id': string | number},
3030
query: ExportedQuery<import('../app/routes/admin.episodes.$id._index').SearchParams>,
3131
},
3232
"/admin/episodes/:id/comments": {
33-
params: {id: string | number},
33+
params: {'id': string | number},
3434
query: ExportedQuery<import('../app/routes/admin.episodes.$id.comments').SearchParams>,
3535
},
3636
"/admin/episodes/new": {
3737
params: never,
3838
query: ExportedQuery<import('../app/routes/admin.episodes.new').SearchParams>,
3939
},
4040
"/api/:id.json": {
41-
params: {id: string | number},
41+
params: {'id': string | number},
4242
query: ExportedQuery<import('../app/routes/api.$id[.]json').SearchParams>,
4343
},
4444
"/auth": {
4545
params: never,
4646
query: ExportedQuery<import('../app/routes/auth._auth').SearchParams>,
4747
},
48+
"/auth/:provider-key": {
49+
params: {'provider-key': string | number},
50+
query: ExportedQuery<import('../app/routes/auth.$provider-key.').SearchParams>,
51+
},
4852
"/auth/login": {
4953
params: never,
5054
query: ExportedQuery<import('../app/routes/auth._auth.login').SearchParams>,
@@ -58,11 +62,11 @@ exports[`gen route types 1`] = `
5862
query: ExportedQuery<import('../app/routes/blog.rss[.]xml').SearchParams>,
5963
},
6064
"/chats/:season/:episode": {
61-
params: {season: string | number; episode: string | number},
65+
params: {'season': string | number; 'episode': string | number},
6266
query: ExportedQuery<import('../app/routes/chats_.$season.$episode').SearchParams>,
6367
},
6468
"/chats/:season/:episode/:slug": {
65-
params: {season: string | number; episode: string | number; slug: string | number},
69+
params: {'season': string | number; 'episode': string | number; 'slug': string | number},
6670
query: ExportedQuery<import('../app/routes/chats_.$season.$episode.$slug').SearchParams>,
6771
},
6872
"/credits": {
@@ -78,43 +82,43 @@ exports[`gen route types 1`] = `
7882
query: ExportedQuery<import('../app/routes/jokes._index').SearchParams>,
7983
},
8084
"/jokes/:jokeId": {
81-
params: {jokeId: string | number},
85+
params: {'jokeId': string | number},
8286
query: ExportedQuery<import('../app/routes/jokes.$jokeId').SearchParams>,
8387
},
8488
"/people/:personId": {
85-
params: {personId: string | number},
89+
params: {'personId': string | number},
8690
query: ExportedQuery<import('../app/routes/people.$personId').SearchParams>,
8791
},
8892
"/people/:personId/:planId/remove-plan": {
89-
params: {personId: string | number; planId: string | number},
93+
params: {'personId': string | number; 'planId': string | number},
9094
query: ExportedQuery<import('../app/routes/people.$personId.$planId.remove-plan').SearchParams>,
9195
},
9296
"/posts": {
9397
params: never,
9498
query: ExportedQuery<import('../app/routes/posts._index').SearchParams>,
9599
},
96100
"/posts/:id": {
97-
params: {id: string | number},
101+
params: {'id': string | number},
98102
query: ExportedQuery<import('../app/routes/posts.$id').SearchParams>,
99103
},
100104
"/posts/*": {
101-
params: {"*": string | number},
105+
params: {'*': string | number},
102106
query: ExportedQuery<import('../app/routes/posts.$').SearchParams>,
103107
},
104108
"/posts/delete": {
105109
params: never,
106110
query: ExportedQuery<import('../app/routes/posts.delete').SearchParams>,
107111
},
108112
"/s/:query": {
109-
params: {query: string | number},
113+
params: {'query': string | number},
110114
query: ExportedQuery<import('../app/routes/s.$query').SearchParams>,
111115
},
112116
"/sign-in/*": {
113-
params: {"*": string | number},
117+
params: {'*': string | number},
114118
query: ExportedQuery<import('../app/routes/sign-in.$').SearchParams>,
115119
},
116120
"/somewhere/cool/*": {
117-
params: {"*": string | number},
121+
params: {'*': string | number},
118122
query: ExportedQuery<import('../app/catchall').SearchParams>,
119123
},
120124
"/static/home": {
@@ -161,6 +165,7 @@ exports[`gen route types 1`] = `
161165
| 'routes/jokes._index'
162166
| 'routes/blog'
163167
| 'routes/blog._index'
168+
| 'routes/auth.$provider-key'
164169
| 'catchall';
165170
166171
export function $path<

tests/fixture.ts

+6
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,12 @@ export const testRoutes =
184184
path: undefined,
185185
parentId: "routes/blog",
186186
},
187+
"routes/auth.$provider-key": {
188+
file: "routes/auth.$provider-key.",
189+
id: "routes/auth.$provider-key",
190+
path: "auth/:provider-key",
191+
parentId: "root",
192+
},
187193
catchall: {
188194
path: "/somewhere/cool/*",
189195
index: undefined,

0 commit comments

Comments
 (0)