perf(test): reuse setup registry module (#125087)

This commit is contained in:
Peter Steinberger
2026-08-16 22:52:46 -07:00
committed by GitHub
parent c4eb9078d9
commit 515fe51d8c
+16 -21
View File
@@ -33,9 +33,7 @@ let resolvePluginSetupRegistry: typeof import("./setup-registry.js").resolvePlug
let resolvePluginSetupProviderCore: typeof import("./setup-registry.js").resolvePluginSetupProviderCore;
let resolvePluginSetupCliBackend: typeof import("./setup-registry.js").resolvePluginSetupCliBackend;
let runPluginSetupConfigMigrations: typeof import("./setup-registry.js").runPluginSetupConfigMigrations;
let setPluginSetupRegistryModuleLoaderFactoryForTest:
| typeof import("./setup-registry.test-fixtures.js").setPluginSetupRegistryModuleLoaderFactoryForTest
| undefined;
let setPluginSetupRegistryModuleLoaderFactoryForTest: typeof import("./setup-registry.test-fixtures.js").setPluginSetupRegistryModuleLoaderFactoryForTest;
function forceNodeRuntimeVersionsForTest(): () => void {
const originalVersions = process.versions;
@@ -203,7 +201,7 @@ function firstRecordArg(mock: { mock: { calls: ReadonlyArray<ReadonlyArray<unkno
}
afterEach(() => {
setPluginSetupRegistryModuleLoaderFactoryForTest?.(undefined);
setPluginSetupRegistryModuleLoaderFactoryForTest(undefined);
cleanupTrackedTempDirs(tempDirs);
});
@@ -216,11 +214,18 @@ describe("setup-registry module loader", () => {
beforeAll(async () => {
resetRegistryJitiMocks();
// The non-isolated plugin shard may cache this owner through a sibling first.
// Refresh it once after this file's hoisted mocks, then reuse it for every case.
vi.resetModules();
const module = await import("./setup-registry.js");
const fixtures = await import("./setup-registry.test-fixtures.js");
fixtures.setPluginSetupRegistryModuleLoaderFactoryForTest(mocks.createJiti);
fixtures.clearPluginSetupRegistryCache();
({
resolvePluginSetupRegistry,
resolvePluginSetupProviderCore,
resolvePluginSetupCliBackend,
runPluginSetupConfigMigrations,
} = await import("./setup-registry.js"));
({ clearPluginSetupRegistryCache, setPluginSetupRegistryModuleLoaderFactoryForTest } =
await import("./setup-registry.test-fixtures.js"));
setPluginSetupRegistryModuleLoaderFactoryForTest(mocks.createJiti);
const pluginRoot = makeTempDir();
fs.writeFileSync(path.join(pluginRoot, "setup-api.js"), "export default {};\n", "utf-8");
mocks.loadPluginManifestRegistry.mockReturnValue({
@@ -231,7 +236,7 @@ describe("setup-registry module loader", () => {
try {
withMockedWindowsPlatform(() => {
module.resolvePluginSetupRegistry({
resolvePluginSetupRegistry({
workspaceDir: pluginRoot,
env: {},
});
@@ -247,22 +252,12 @@ describe("setup-registry module loader", () => {
filename: mockArg(mocks.createJiti, 0, 0),
options: requireRecord(mockArg(mocks.createJiti, 0, 1)),
};
fixtures.setPluginSetupRegistryModuleLoaderFactoryForTest(undefined);
setPluginSetupRegistryModuleLoaderFactoryForTest(undefined);
});
beforeEach(async () => {
beforeEach(() => {
resetRegistryJitiMocks();
vi.resetModules();
({
resolvePluginSetupRegistry,
resolvePluginSetupProviderCore,
resolvePluginSetupCliBackend,
runPluginSetupConfigMigrations,
} = await import("./setup-registry.js"));
({ clearPluginSetupRegistryCache, setPluginSetupRegistryModuleLoaderFactoryForTest } =
await import("./setup-registry.test-fixtures.js"));
setPluginSetupRegistryModuleLoaderFactoryForTest(mocks.createJiti);
clearPluginSetupRegistryCache();
});
it("uses the runtime-supported source-transform boundary on Windows for setup-api modules", () => {