diff --git a/config/build.ts b/config/build.ts index f93681563fb..fd03f26c38b 100644 --- a/config/build.ts +++ b/config/build.ts @@ -15,7 +15,7 @@ $.cwd = join(import.meta.dirname, ".."); $.verbose = true; const buildSteps = { - typescript: () => $`npx tsc`, + typescript: () => $`npx tsc --verbatimModuleSyntax false`, updateVersion, inlineInheritDoc, processInvariants, diff --git a/config/jest.config.ts b/config/jest.config.ts index 860680d7b84..b45b3f98dea 100644 --- a/config/jest.config.ts +++ b/config/jest.config.ts @@ -24,6 +24,7 @@ const defaults = { diagnostics: { warnOnly: process.env.TEST_ENV !== "ci", }, + tsconfig: import.meta.dirname + "/../tsconfig.tests.json", }, ], }, diff --git a/src/__tests__/__snapshots__/exports.ts.snap b/src/__tests__/__snapshots__/exports.ts.snap index c1ff292f465..db4728965a8 100644 --- a/src/__tests__/__snapshots__/exports.ts.snap +++ b/src/__tests__/__snapshots__/exports.ts.snap @@ -6,7 +6,6 @@ Array [ "ApolloClient", "ApolloError", "ApolloLink", - "Cache", "DocumentTransform", "HttpLink", "InMemoryCache", @@ -53,7 +52,6 @@ Array [ exports[`exports of public entry points @apollo/client/cache 1`] = ` Array [ "ApolloCache", - "Cache", "EntityStore", "InMemoryCache", "MissingFieldError", @@ -75,7 +73,6 @@ Array [ "ApolloClient", "ApolloError", "ApolloLink", - "Cache", "DocumentTransform", "HttpLink", "InMemoryCache", diff --git a/src/cache/core/types/Cache.ts b/src/cache/core/types/Cache.ts index 58916943212..520ec3657af 100644 --- a/src/cache/core/types/Cache.ts +++ b/src/cache/core/types/Cache.ts @@ -1,4 +1,4 @@ -import { DataProxy } from "./DataProxy.js"; +import type { DataProxy } from "./DataProxy.js"; import type { AllFieldsModifier, Modifiers } from "./common.js"; import type { ApolloCache } from "../cache.js"; import type { Unmasked } from "../../../masking/index.js"; @@ -105,12 +105,23 @@ export namespace Cache { ) => any; } - export import DiffResult = DataProxy.DiffResult; - export import ReadQueryOptions = DataProxy.ReadQueryOptions; - export import ReadFragmentOptions = DataProxy.ReadFragmentOptions; - export import WriteQueryOptions = DataProxy.WriteQueryOptions; - export import WriteFragmentOptions = DataProxy.WriteFragmentOptions; - export import UpdateQueryOptions = DataProxy.UpdateQueryOptions; - export import UpdateFragmentOptions = DataProxy.UpdateFragmentOptions; - export import Fragment = DataProxy.Fragment; + export type DiffResult = DataProxy.DiffResult; + export type ReadQueryOptions = DataProxy.ReadQueryOptions< + TData, + TVariables + >; + export type ReadFragmentOptions = + DataProxy.ReadFragmentOptions; + export type WriteQueryOptions = + DataProxy.WriteQueryOptions; + export type WriteFragmentOptions = + DataProxy.WriteFragmentOptions; + export type UpdateQueryOptions = + DataProxy.UpdateQueryOptions; + export type UpdateFragmentOptions = + DataProxy.UpdateFragmentOptions; + export type Fragment = DataProxy.Fragment< + TVariables, + TData + >; } diff --git a/src/cache/index.ts b/src/cache/index.ts index 5d050c63b41..b5b58653a8a 100644 --- a/src/cache/index.ts +++ b/src/cache/index.ts @@ -6,7 +6,7 @@ export type { WatchFragmentResult, } from "./core/cache.js"; export { ApolloCache } from "./core/cache.js"; -export { Cache } from "./core/types/Cache.js"; +export type { Cache } from "./core/types/Cache.js"; export type { DataProxy } from "./core/types/DataProxy.js"; export type { MissingTree, diff --git a/src/cache/inmemory/inMemoryCache.ts b/src/cache/inmemory/inMemoryCache.ts index 37237cc320b..317cdb62978 100644 --- a/src/cache/inmemory/inMemoryCache.ts +++ b/src/cache/inmemory/inMemoryCache.ts @@ -601,7 +601,7 @@ export class InMemoryCache extends ApolloCache { * information to the DevTools. * Use at your own risk! */ - public getMemoryInternals?: typeof getInMemoryCacheMemoryInternals; + public declare getMemoryInternals?: typeof getInMemoryCacheMemoryInternals; } if (__DEV__) { diff --git a/src/core/index.ts b/src/core/index.ts index 3b0143ae6c1..bf5dcc139e0 100644 --- a/src/core/index.ts +++ b/src/core/index.ts @@ -44,7 +44,7 @@ export type { WatchFragmentResult, } from "../cache/index.js"; export { - Cache, + type Cache, ApolloCache, InMemoryCache, MissingFieldError, diff --git a/src/link/error/index.ts b/src/link/error/index.ts index e77e7b27f8d..08bcd5f0357 100644 --- a/src/link/error/index.ts +++ b/src/link/error/index.ts @@ -47,7 +47,7 @@ export namespace ErrorLink { } // For backwards compatibility. -export import ErrorHandler = ErrorLink.ErrorHandler; +export type ErrorHandler = ErrorLink.ErrorHandler; export function onError(errorHandler: ErrorHandler): ApolloLink { return new ApolloLink((operation, forward) => { diff --git a/src/link/ws/index.ts b/src/link/ws/index.ts index 4f27188e48a..cdea55f2ac2 100644 --- a/src/link/ws/index.ts +++ b/src/link/ws/index.ts @@ -28,7 +28,7 @@ export namespace WebSocketLink { } // For backwards compatibility. -export import WebSocketParams = WebSocketLink.Configuration; +export type WebSocketParams = WebSocketLink.Configuration; export class WebSocketLink extends ApolloLink { private subscriptionClient: SubscriptionClient; diff --git a/tsconfig.json b/tsconfig.json index cdb8b9cca26..6924da1f61e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,7 +17,8 @@ "outDir": "./dist", "lib": ["es2015", "esnext.asynciterable"], "jsx": "react", - "strict": true + "strict": true, + "verbatimModuleSyntax": true }, "include": ["src/**/*.ts", "src/**/*.tsx"], "exclude": ["src/**/__tests__/**/*"] diff --git a/tsconfig.tests.json b/tsconfig.tests.json index 0908742da0d..8b95ff21bbc 100644 --- a/tsconfig.tests.json +++ b/tsconfig.tests.json @@ -1,3 +1,6 @@ { - "extends": "./src/tsconfig.json" + "extends": "./src/tsconfig.json", + "compilerOptions": { + "verbatimModuleSyntax": false + } }