@@ -363,6 +363,11 @@ static RE_REF_VITE_SUBPATH: LazyLock<Regex> = LazyLock::new(|| {
363363 Regex :: new ( r#"^(\s*///\s*<reference\s+types\s*=\s*["'])vite/(.+?)(["']\s*/>)"# ) . unwrap ( )
364364} ) ;
365365
366+ /// `tsdown/client` → `vite-plus/pack/client`
367+ static RE_REF_TSDOWN_CLIENT : LazyLock < Regex > = LazyLock :: new ( || {
368+ Regex :: new ( r#"^(\s*///\s*<reference\s+types\s*=\s*["'])tsdown/client(["']\s*/>)"# ) . unwrap ( )
369+ } ) ;
370+
366371/// bare `tsdown` → `vite-plus/pack`
367372static RE_REF_TSDOWN : LazyLock < Regex > = LazyLock :: new ( || {
368373 Regex :: new ( r#"^(\s*///\s*<reference\s+types\s*=\s*["'])tsdown(["']\s*/>)"# ) . unwrap ( )
@@ -527,10 +532,14 @@ fn rewrite_reference_types(content: &mut String, skip_packages: &SkipPackages) -
527532 continue ;
528533 }
529534 }
530- if !skip_packages. skip_tsdown
531- && apply_regex_replace ( line, & RE_REF_TSDOWN , "${1}vite-plus/pack${2}" )
532- {
533- changed = true ;
535+ if !skip_packages. skip_tsdown {
536+ if apply_regex_replace ( line, & RE_REF_TSDOWN_CLIENT , "${1}vite-plus/pack/client${2}" ) {
537+ changed = true ;
538+ continue ;
539+ }
540+ if apply_regex_replace ( line, & RE_REF_TSDOWN , "${1}vite-plus/pack${2}" ) {
541+ changed = true ;
542+ }
534543 }
535544 }
536545
@@ -2553,12 +2562,14 @@ export default defineConfig({});"#
25532562 }
25542563
25552564 #[ test]
2556- fn test_rewrite_reference_types_tsdown_subpath_not_rewritten ( ) {
2557- // tsdown subpaths should NOT be rewritten because vite-plus only exports ./pack (no subpaths)
2565+ fn test_rewrite_reference_types_tsdown_client ( ) {
25582566 let content = r#"/// <reference types="tsdown/client" />"# ;
25592567 let result = rewrite_import_content ( content, & SkipPackages :: default ( ) ) . unwrap ( ) ;
2560- assert ! ( !result. updated) ;
2561- assert_eq ! ( result. content, content) ;
2568+ assert ! ( result. updated) ;
2569+ assert_eq ! (
2570+ result. content,
2571+ r#"/// <reference types="vite-plus/pack/client" />"#
2572+ ) ;
25622573 }
25632574
25642575 #[ test]
0 commit comments