@@ -16,6 +16,10 @@ use crate::{ast_grep, file_walker};
1616/// - `import { ... } from '@vitest/browser/{name}'` → `import { ... } from '@voidzero-dev/vite-plus/test/browser/{name}'`
1717/// - `import { ... } from '@vitest/browser-playwright'` → `import { ... } from '@voidzero-dev/vite-plus/test/browser-playwright'`
1818/// - `import { ... } from '@vitest/browser-playwright/{name}'` → `import { ... } from '@voidzero-dev/vite-plus/test/browser-playwright/{name}'`
19+ /// - `import { ... } from '@vitest/browser-preview'` → `import { ... } from '@voidzero-dev/vite-plus/test/browser-preview'`
20+ /// - `import { ... } from '@vitest/browser-preview/{name}'` → `import { ... } from '@voidzero-dev/vite-plus/test/browser-preview/{name}'`
21+ /// - `import { ... } from '@vitest/browser-webdriverio'` → `import { ... } from '@voidzero-dev/vite-plus/test/browser-webdriverio'`
22+ /// - `import { ... } from '@vitest/browser-webdriverio/{name}'` → `import { ... } from '@voidzero-dev/vite-plus/test/browser-webdriverio/{name}'`
1923const REWRITE_IMPORT_RULES : & str = r#"---
2024id: rewrite-vitest-config-import
2125language: TypeScript
@@ -70,7 +74,7 @@ language: TypeScript
7074rule:
7175 pattern: $STR
7276 kind: string
73- regex: ^['"]@vitest/(browser-playwright|browser)(/.*)?['"]$
77+ regex: ^['"]@vitest/(browser-playwright|browser-preview|browser-webdriverio|browser )(/.*)?['"]$
7478 inside:
7579 kind: import_statement
7680transform:
@@ -509,6 +513,70 @@ export default something;"#;
509513 result. content,
510514 r#"import { something } from "@voidzero-dev/vite-plus/test/browser-playwright/context";
511515
516+ export default something;"#
517+ ) ;
518+ }
519+
520+ #[ test]
521+ fn test_rewrite_import_content_vitest_browser_preview ( ) {
522+ let vite_config = r#"import { preview } from '@vitest/browser-preview';
523+
524+ export default preview;"# ;
525+
526+ let result = rewrite_import_content ( vite_config) . unwrap ( ) ;
527+ assert ! ( result. updated) ;
528+ assert_eq ! (
529+ result. content,
530+ r#"import { preview } from '@voidzero-dev/vite-plus/test/browser-preview';
531+
532+ export default preview;"#
533+ ) ;
534+ }
535+
536+ #[ test]
537+ fn test_rewrite_import_content_vitest_browser_preview_subpath ( ) {
538+ let vite_config = r#"import { something } from "@vitest/browser-preview/context";
539+
540+ export default something;"# ;
541+
542+ let result = rewrite_import_content ( vite_config) . unwrap ( ) ;
543+ assert ! ( result. updated) ;
544+ assert_eq ! (
545+ result. content,
546+ r#"import { something } from "@voidzero-dev/vite-plus/test/browser-preview/context";
547+
548+ export default something;"#
549+ ) ;
550+ }
551+
552+ #[ test]
553+ fn test_rewrite_import_content_vitest_browser_webdriverio ( ) {
554+ let vite_config = r#"import { webdriverio } from '@vitest/browser-webdriverio';
555+
556+ export default webdriverio;"# ;
557+
558+ let result = rewrite_import_content ( vite_config) . unwrap ( ) ;
559+ assert ! ( result. updated) ;
560+ assert_eq ! (
561+ result. content,
562+ r#"import { webdriverio } from '@voidzero-dev/vite-plus/test/browser-webdriverio';
563+
564+ export default webdriverio;"#
565+ ) ;
566+ }
567+
568+ #[ test]
569+ fn test_rewrite_import_content_vitest_browser_webdriverio_subpath ( ) {
570+ let vite_config = r#"import { something } from "@vitest/browser-webdriverio/context";
571+
572+ export default something;"# ;
573+
574+ let result = rewrite_import_content ( vite_config) . unwrap ( ) ;
575+ assert ! ( result. updated) ;
576+ assert_eq ! (
577+ result. content,
578+ r#"import { something } from "@voidzero-dev/vite-plus/test/browser-webdriverio/context";
579+
512580export default something;"#
513581 ) ;
514582 }
0 commit comments