Skip to content

Commit 4fbff23

Browse files
committed
feat: support TS in definePage
Close #57 Close #238
1 parent d851b61 commit 4fbff23

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

playground/src/pages/[name].vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,8 @@ definePage({
102102
meta: {
103103
// hello: 'there',
104104
mySymbol: Symbol(),
105-
// test: (to: RouteLocationNormalized) => console.log(to.name === '/[name]' ? to.params.name : 'nope'),
105+
test: (to: RouteLocationNormalized) =>
106+
console.log(to.name === '/[name]' ? to.params.name : 'nope'),
106107
},
107108
})
108109

src/codegen/generateRouteRecords.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,11 @@ ${startIndent}}`
8181
for (const [name, filePath] of node.value.components) {
8282
const pageDataImport = `_definePage_${name}_${importsMap.size}`
8383
definePageDataList.push(pageDataImport)
84-
importsMap.addDefault(`${filePath}?definePage&vue`, pageDataImport)
84+
importsMap.addDefault(
85+
// TODO: apply the language used in the sfc
86+
`${filePath}?definePage&vue&lang.tsx`,
87+
pageDataImport
88+
)
8589
}
8690

8791
if (definePageDataList.length) {

src/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export default createUnplugin<Options | undefined>((opt = {}, _meta) => {
5454
pageFilePattern.map((pattern) => join(routeOption.src, pattern))
5555
),
5656
// importing the definePage block
57-
/definePage\&vue$/,
57+
/\?.*\bdefinePage\&vue\b/,
5858
],
5959
options.exclude
6060
)
@@ -97,6 +97,7 @@ export default createUnplugin<Options | undefined>((opt = {}, _meta) => {
9797

9898
transform(code, id) {
9999
// console.log('👋 ', id)
100+
// remove the `definePage()` from the file or isolate it
100101
return ctx.definePageTransform(code, id)
101102
},
102103

0 commit comments

Comments
 (0)