diff --git a/src/plugins/runtime.test.ts b/src/plugins/runtime.test.ts index e37b97f96bb..2fa9ef86b32 100644 --- a/src/plugins/runtime.test.ts +++ b/src/plugins/runtime.test.ts @@ -1,6 +1,7 @@ import { afterEach, describe, expect, it } from "vitest"; import { createEmptyPluginRegistry } from "./registry.js"; import { + getActivePluginRegistry, pinActivePluginHttpRouteRegistry, releasePinnedPluginHttpRouteRegistry, resetPluginRuntimeStateForTest, @@ -14,6 +15,12 @@ describe("plugin runtime route registry", () => { resetPluginRuntimeStateForTest(); }); + it("stays empty until a caller explicitly installs or requires a registry", () => { + resetPluginRuntimeStateForTest(); + + expect(getActivePluginRegistry()).toBeNull(); + }); + it("keeps the pinned route registry when the active plugin registry changes", () => { const startupRegistry = createEmptyPluginRegistry(); const laterRegistry = createEmptyPluginRegistry(); diff --git a/src/plugins/runtime.ts b/src/plugins/runtime.ts index c1c8974adc2..861fba6a7ce 100644 --- a/src/plugins/runtime.ts +++ b/src/plugins/runtime.ts @@ -17,7 +17,7 @@ const state: RegistryState = (() => { }; if (!globalState[REGISTRY_STATE]) { globalState[REGISTRY_STATE] = { - registry: createEmptyPluginRegistry(), + registry: null, httpRouteRegistry: null, httpRouteRegistryPinned: false, key: null, @@ -100,9 +100,8 @@ export function getActivePluginRegistryVersion(): number { } export function resetPluginRuntimeStateForTest(): void { - const emptyRegistry = createEmptyPluginRegistry(); - state.registry = emptyRegistry; - state.httpRouteRegistry = emptyRegistry; + state.registry = null; + state.httpRouteRegistry = null; state.httpRouteRegistryPinned = false; state.key = null; state.version += 1;