refactor(shared/api): lazify queryClient to remove eager-construction footgun
queryClient.ts constructed the TanStack client at module eval but was not in the sideEffects allowlist, so Rollup treated the module as pure — safe only while a value-importer keeps it alive (D-3). - replace the eager `queryClient` singleton with a memoized getQueryClient() factory; construction is deferred to first call - the module is now genuinely side-effect-free, so no sideEffects exception is needed and construction can never be legally tree-shaken away - route all consumers through getQueryClient() (QueryProvider as first caller; stores via class fields/observers; tests via a local alias; the fontCatalogStore spec mock now overrides getQueryClient)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { queryClient } from '$shared/api/queryClient';
|
||||
import { getQueryClient } from '$shared/api/queryClient';
|
||||
import * as matchers from '@testing-library/jest-dom/matchers';
|
||||
import { cleanup } from '@testing-library/svelte';
|
||||
import {
|
||||
@@ -14,7 +14,7 @@ expect.extend(matchers);
|
||||
|
||||
afterEach(() => {
|
||||
cleanup();
|
||||
queryClient.clear();
|
||||
getQueryClient().clear();
|
||||
});
|
||||
|
||||
// Mock window.matchMedia for components that use it
|
||||
|
||||
Reference in New Issue
Block a user