@@ -67,9 +67,9 @@ export default defineAddon({
6767 const vitePluginName = 'paraglideVitePlugin' ;
6868 js . imports . addNamed ( ast , { imports : [ vitePluginName ] , from : '@inlang/paraglide-js' } ) ;
6969 js . vite . addPlugin ( ast , {
70- code : `${ vitePluginName } ({
71- project: './project.inlang',
72- outdir: './${ paraglideOutDir } '
70+ code : `${ vitePluginName } ({
71+ project: './project.inlang',
72+ outdir: './${ paraglideOutDir } '
7373 })`
7474 } ) ;
7575
@@ -78,7 +78,8 @@ export default defineAddon({
7878
7979 // reroute hook
8080 sv . file ( `src/hooks.${ language } ` , ( content ) => {
81- const { ast, generateCode } = parse . script ( content ) ;
81+ const { ast, generateCode, comments } = parse . script ( content ) ;
82+
8283 js . imports . addNamed ( ast , {
8384 from : '$lib/paraglide/runtime' ,
8485 imports : [ 'deLocalizeUrl' ]
@@ -87,9 +88,15 @@ export default defineAddon({
8788 const expression = js . common . parseExpression (
8889 '(request) => deLocalizeUrl(request.url).pathname'
8990 ) ;
91+
92+ let varName = 'reroute' ;
93+ if ( language === 'ts' ) {
94+ varName += ': Reroute' ;
95+ }
96+
9097 const rerouteIdentifier = js . variables . declaration ( ast , {
9198 kind : 'const' ,
92- name : 'reroute' ,
99+ name : varName ,
93100 value : expression
94101 } ) ;
95102
@@ -101,6 +108,18 @@ export default defineAddon({
101108 log . warn ( 'Adding the reroute hook automatically failed. Add it manually' ) ;
102109 }
103110
111+ if ( language === 'ts' ) {
112+ js . imports . addNamed ( ast , {
113+ from : '@sveltejs/kit' ,
114+ imports : [ 'Reroute' ] ,
115+ isType : true
116+ } ) ;
117+ } else {
118+ js . common . addJsDocTypeComment ( existingExport , comments , {
119+ type : "import('@sveltejs/kit').Reroute"
120+ } ) ;
121+ }
122+
104123 return generateCode ( ) ;
105124 } ) ;
106125
0 commit comments