@@ -123,13 +123,10 @@ const VITEST_PACKAGE_TO_PATH: Record<string, string> = {
123123 '@vitest/browser/locators' : '@vitest/browser/locators.js' ,
124124 // @vitest /browser-playwright
125125 '@vitest/browser-playwright' : '@vitest/browser-playwright/index.js' ,
126- '@vitest/browser-playwright/context' : '@vitest/browser-playwright/context.d.ts' ,
127126 // @vitest /browser-webdriverio
128127 '@vitest/browser-webdriverio' : '@vitest/browser-webdriverio/index.js' ,
129- '@vitest/browser-webdriverio/context' : '@vitest/browser-webdriverio/context.d.ts' ,
130128 // @vitest /browser-preview
131129 '@vitest/browser-preview' : '@vitest/browser-preview/index.js' ,
132- '@vitest/browser-preview/context' : '@vitest/browser-preview/context.d.ts' ,
133130} ;
134131
135132// Packages that should NOT be bundled into dist/vendor/ (remain external at runtime)
@@ -425,6 +422,21 @@ async function copyVitestPackages() {
425422 const copied = await copyDirRecursive ( srcDir , destPkgDir ) ;
426423 totalCopied += copied ;
427424 console . log ( ` -> ${ copied } files` ) ;
425+
426+ // Copy root type definition files if they exist
427+ // These include context.d.ts (browser providers), matchers.d.ts (expect.element), jest-dom.d.ts (matchers)
428+ const rootDtsFiles = [ 'context.d.ts' , 'matchers.d.ts' , 'jest-dom.d.ts' ] ;
429+ for ( const dtsFile of rootDtsFiles ) {
430+ const rootDts = resolve ( projectDir , `node_modules/${ pkg } /${ dtsFile } ` ) ;
431+ try {
432+ await stat ( rootDts ) ;
433+ await copyFile ( rootDts , join ( destPkgDir , dtsFile ) ) ;
434+ console . log ( ` + copied ${ dtsFile } ` ) ;
435+ totalCopied ++ ;
436+ } catch {
437+ // File doesn't exist, skip
438+ }
439+ }
428440 }
429441
430442 console . log ( `\nCopied ${ totalCopied } files to dist/@vitest/` ) ;
@@ -654,9 +666,12 @@ async function rewriteVitestImports(leafDepToVendorPath: Map<string, string>) {
654666 let rewrittenCount = 0 ;
655667
656668 // Scan both @vitest /* packages AND vitest core dist files
669+ // Include .d.ts files so TypeScript type imports also get rewritten
657670 const jsFiles = fsGlob ( [
658671 join ( vitestDir , '**/*.js' ) ,
672+ join ( vitestDir , '**/*.d.ts' ) ,
659673 join ( distDir , '*.js' ) ,
674+ join ( distDir , '*.d.ts' ) ,
660675 join ( distDir , 'chunks/*.js' ) ,
661676 ] ) ;
662677
@@ -1182,8 +1197,11 @@ async function patchVitestBrowserPackage() {
11821197 return '\\0vitest/browser';
11831198 }
11841199 // Handle vitest/* subpaths (resolve to our dist files)
1200+ // Also handle @voidzero-dev package aliases that resolve to the same files
11851201 const vitestSubpathMap = {
11861202 'vitest': resolve(packageRoot, 'index.js'),
1203+ '@voidzero-dev/vite-plus-test': resolve(packageRoot, 'index.js'),
1204+ '@voidzero-dev/vite-plus/test': resolve(packageRoot, 'index.js'),
11871205 'vitest/node': resolve(packageRoot, 'node.js'),
11881206 'vitest/config': resolve(packageRoot, 'config.js'),
11891207 'vitest/internal/browser': resolve(packageRoot, 'browser.js'),
0 commit comments