Skip to content

Commit 5319309

Browse files
committed
fix typecheck
1 parent 3cb11d2 commit 5319309

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

packages/test/build.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ await createBrowserCompatShim();
209209
await createModuleRunnerStub();
210210
await createNodeEntry();
211211
await copyBrowserClientFiles();
212+
await createBrowserEntryFiles();
212213
const pluginExports = await createPluginExports();
213214
await mergePackageJson(pluginExports);
214215
await validateExternalDeps();
@@ -1716,6 +1717,38 @@ export * from '../@vitest/runner/index.js';
17161717
console.log(` Created ${browserVendorStubs.length} vendor stubs`);
17171718
}
17181719

1720+
/**
1721+
* Create browser/ directory at package root with context files.
1722+
* The package exports "./browser" pointing to these files:
1723+
* - browser/context.js: Runtime guard (throws if used outside browser mode)
1724+
* - browser/context.d.ts: Re-exports types from dist/@vitest/browser/context.d.ts
1725+
*
1726+
* These files are NOT tracked in git (.gitignore excludes browser/)
1727+
* but ARE included in the package (package.json files: ["browser/**"])
1728+
*/
1729+
async function createBrowserEntryFiles() {
1730+
console.log('\nCreating browser/ entry files...');
1731+
1732+
const browserDir = resolve(projectDir, 'browser');
1733+
await mkdir(browserDir, { recursive: true });
1734+
1735+
// 1. Copy context.js from @vitest/browser (runtime guard)
1736+
const srcContextJs = resolve(projectDir, 'node_modules/@vitest/browser/context.js');
1737+
const destContextJs = join(browserDir, 'context.js');
1738+
await copyFile(srcContextJs, destContextJs);
1739+
console.log(' Created browser/context.js');
1740+
1741+
// 2. Create context.d.ts that re-exports from our bundled types
1742+
const contextDtsContent = `// Re-export browser context types from bundled @vitest/browser package
1743+
// This provides: page, userEvent, server, commands, utils, locators, cdp, Locator, etc.
1744+
// The bundled context.d.ts has imports rewritten to point to our dist files
1745+
export * from '../dist/@vitest/browser/context.d.ts'
1746+
`;
1747+
const destContextDts = join(browserDir, 'context.d.ts');
1748+
await writeFile(destContextDts, contextDtsContent, 'utf-8');
1749+
console.log(' Created browser/context.d.ts');
1750+
}
1751+
17191752
/**
17201753
* Create /plugins/* exports for all copied @vitest/* packages.
17211754
* This allows pnpm overrides to redirect @vitest/* imports to our copied versions.

0 commit comments

Comments
 (0)