From 127319355670092d0c38c20165cfd18cfb877b73 Mon Sep 17 00:00:00 2001 From: hwillson Date: Thu, 10 Oct 2019 15:24:21 -0400 Subject: [PATCH 01/26] Re-enable rollup `preserveModules` to avoid ESM bundling With `preserveModules` off, rollup bundles the ESM code up and stores it in `dist/index.js`, when our first configured rollup job runs. This job is intended to run the `invariantPlugin` against all ESM code, updating `InvariantError`'s in place. It shouldn't be storing the results of running the `invariantPlugin` in `dist/index.js`. Enabling `preserveModules` ensures that changes are written back into originating files. --- config/rollup.config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/config/rollup.config.js b/config/rollup.config.js index 68b3ad8d549..ae881fd17b0 100644 --- a/config/rollup.config.js +++ b/config/rollup.config.js @@ -38,6 +38,7 @@ function prepareESM() { format: 'esm', sourcemap: true, }, + preserveModules: true, plugins: [ nodeResolve(), invariantPlugin({ From 96a526647fbf0d6b9a890aae914c77bdd903d9cf Mon Sep 17 00:00:00 2001 From: hwillson Date: Thu, 10 Oct 2019 21:32:40 -0400 Subject: [PATCH 02/26] Remove all module index.ts files Importing from module index files causes an issue with rollup when using `preserveModules`, such that rollup expands index imports in files to include extra imports that aren't needed. Since we don't really need index files, let's just get rid of them. --- src/ApolloClient.ts | 15 ++- src/__mocks__/mockLinks.ts | 4 +- src/__mocks__/mockQueryManager.ts | 2 +- src/__tests__/ApolloClient.ts | 9 +- src/__tests__/client.ts | 7 +- src/__tests__/fetchMore.ts | 2 +- src/__tests__/graphqlSubscriptions.ts | 2 +- src/__tests__/local-state/export.ts | 4 +- src/__tests__/local-state/general.ts | 9 +- src/__tests__/local-state/resolvers.ts | 4 +- src/__tests__/local-state/subscriptions.ts | 4 +- src/__tests__/mutationResults.ts | 4 +- src/__tests__/optimistic.ts | 6 +- src/__tests__/subscribeToMore.ts | 7 +- src/cache/core/cache.ts | 5 +- src/cache/core/index.ts | 2 - src/cache/core/types/index.ts | 2 - src/cache/inmemory/__tests__/cache.ts | 5 +- src/cache/inmemory/__tests__/readFromStore.ts | 4 +- src/cache/inmemory/__tests__/roundtrip.ts | 3 +- src/cache/inmemory/__tests__/writeToStore.ts | 8 +- src/cache/inmemory/inMemoryCache.ts | 6 +- src/cache/inmemory/index.ts | 15 --- src/cache/inmemory/readFromStore.ts | 33 ++++--- src/cache/inmemory/types.ts | 4 +- src/cache/inmemory/writeToStore.ts | 14 ++- src/core/LocalState.ts | 19 ++-- src/core/ObservableQuery.ts | 10 +- src/core/QueryManager.ts | 16 +-- src/core/__tests__/ObservableQuery.ts | 6 +- src/core/__tests__/QueryManager/index.ts | 11 ++- src/core/__tests__/QueryManager/links.ts | 6 +- src/core/__tests__/QueryManager/live.ts | 4 +- .../QueryManager/multiple-results.ts | 4 +- src/core/__tests__/QueryManager/recycler.ts | 4 +- src/core/__tests__/fetchPolicies.ts | 6 +- src/core/__tests__/scheduler.ts | 4 +- src/core/types.ts | 2 +- src/core/watchQueryOptions.ts | 4 +- src/data/queries.ts | 2 +- src/data/store.ts | 8 +- src/index.ts | 98 ++++++++++++++++--- src/link/core/index.ts | 8 -- src/link/http/HttpLink.ts | 3 +- src/link/http/__tests__/HttpLink.ts | 3 +- src/link/http/createHttpLink.ts | 2 +- src/link/http/index.ts | 26 ----- src/link/http/parseAndCheckHttpResponse.ts | 2 +- src/link/http/selectHttpOptionsAndBody.ts | 2 +- src/link/http/selectURI.ts | 2 +- src/link/utils/index.ts | 2 - .../context/__tests__/ApolloConsumer.test.tsx | 2 +- .../context/__tests__/ApolloProvider.test.tsx | 2 +- src/react/data/MutationData.ts | 2 +- .../hooks/__tests__/useApolloClient.test.tsx | 2 +- src/react/hooks/__tests__/useQuery.test.tsx | 2 +- src/react/index.ts | 18 ---- src/react/testing/mocks/mockLink.ts | 10 +- .../testing/mocks/mockSubscriptionLink.ts | 3 +- src/react/testing/mocks/types.ts | 3 +- src/react/types/types.ts | 2 +- src/utilities/index.ts | 14 --- 62 files changed, 251 insertions(+), 243 deletions(-) delete mode 100644 src/cache/core/index.ts delete mode 100644 src/cache/core/types/index.ts delete mode 100644 src/cache/inmemory/index.ts delete mode 100644 src/link/core/index.ts delete mode 100644 src/link/http/index.ts delete mode 100644 src/link/utils/index.ts delete mode 100644 src/react/index.ts delete mode 100644 src/utilities/index.ts diff --git a/src/ApolloClient.ts b/src/ApolloClient.ts index a8e4197e2de..cb46ee0d88d 100644 --- a/src/ApolloClient.ts +++ b/src/ApolloClient.ts @@ -1,13 +1,11 @@ import { ExecutionResult, DocumentNode } from 'graphql'; import { invariant, InvariantError } from 'ts-invariant'; -import { - ApolloLink, - FetchResult, - GraphQLRequest, - execute, -} from './link/core'; -import { ApolloCache, DataProxy } from './cache/core'; +import { ApolloLink } from './link/core/ApolloLink'; +import { FetchResult, GraphQLRequest } from './link/core/types'; +import { execute } from './link/core/execute'; +import { ApolloCache } from './cache/core/cache'; +import { DataProxy } from './cache/core/types/DataProxy'; import { QueryManager } from './core/QueryManager'; import { ApolloQueryResult, @@ -26,7 +24,8 @@ import { } from './core/watchQueryOptions'; import { DataStore } from './data/store'; import { version } from './version'; -import { UriFunction, HttpLink } from './link/http'; +import { HttpLink } from './link/http/HttpLink'; +import { UriFunction } from './link/http/selectHttpOptionsAndBody'; export interface DefaultOptions { watchQuery?: Partial; diff --git a/src/__mocks__/mockLinks.ts b/src/__mocks__/mockLinks.ts index 46a05a82537..470a327224d 100644 --- a/src/__mocks__/mockLinks.ts +++ b/src/__mocks__/mockLinks.ts @@ -1,12 +1,12 @@ import { print } from 'graphql/language/printer'; import { Observable } from '../util/Observable'; +import { ApolloLink } from '../link/core/ApolloLink'; import { Operation, - ApolloLink, FetchResult, GraphQLRequest, -} from '../link/core'; +} from '../link/core/types'; interface MockApolloLink extends ApolloLink { operation?: Operation; diff --git a/src/__mocks__/mockQueryManager.ts b/src/__mocks__/mockQueryManager.ts index 646d2fafbf1..69fa7316f37 100644 --- a/src/__mocks__/mockQueryManager.ts +++ b/src/__mocks__/mockQueryManager.ts @@ -3,7 +3,7 @@ import { QueryManager } from '../core/QueryManager'; import { mockSingleLink, MockedResponse } from './mockLinks'; import { DataStore } from '../data/store'; -import { InMemoryCache } from '../cache/inmemory'; +import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; // Helper method for the tests that construct a query manager out of a // a list of mocked responses for a mocked network interface. diff --git a/src/__tests__/ApolloClient.ts b/src/__tests__/ApolloClient.ts index ca61dd25c5e..4cdc19eb963 100644 --- a/src/__tests__/ApolloClient.ts +++ b/src/__tests__/ApolloClient.ts @@ -1,10 +1,11 @@ import gql from 'graphql-tag'; import { Observable } from '../util/Observable'; -import { ApolloLink } from '../link/core'; -import { HttpLink } from '../link/http'; -import { InMemoryCache, makeReference } from '../cache/inmemory'; -import { stripSymbols } from '../utilities'; +import { ApolloLink } from '../link/core/ApolloLink'; +import { HttpLink } from '../link/http/HttpLink'; +import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; +import { makeReference } from '../cache/inmemory/helpers'; +import { stripSymbols } from '../utilities/util/stripSymbols'; import { withWarning } from '../util/wrap'; import { ApolloClient } from '../'; import { DefaultOptions } from '../ApolloClient'; diff --git a/src/__tests__/client.ts b/src/__tests__/client.ts index 1c850151269..f7d9fe28bb1 100644 --- a/src/__tests__/client.ts +++ b/src/__tests__/client.ts @@ -3,9 +3,10 @@ import { GraphQLError, ExecutionResult, DocumentNode } from 'graphql'; import gql from 'graphql-tag'; import { Observable } from '../util/Observable'; -import { ApolloLink } from '../link/core'; -import { InMemoryCache, PossibleTypesMap } from '../cache/inmemory'; -import { stripSymbols } from '../utilities'; +import { ApolloLink } from '../link/core/ApolloLink'; +import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; +import { PossibleTypesMap } from '../cache/inmemory/types'; +import { stripSymbols } from '../utilities/util/stripSymbols'; import { WatchQueryOptions, FetchPolicy } from '../core/watchQueryOptions'; import { ApolloError } from '../errors/ApolloError'; import { ApolloClient } from '..'; diff --git a/src/__tests__/fetchMore.ts b/src/__tests__/fetchMore.ts index 7a0198321c1..b07f95ae893 100644 --- a/src/__tests__/fetchMore.ts +++ b/src/__tests__/fetchMore.ts @@ -2,7 +2,7 @@ import { assign, cloneDeep } from 'lodash'; import gql from 'graphql-tag'; import { mockSingleLink } from '../__mocks__/mockLinks'; -import { InMemoryCache } from '../cache/inmemory'; +import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; import { ApolloClient, NetworkStatus, ObservableQuery } from '../'; describe('updateQuery on a simple query', () => { diff --git a/src/__tests__/graphqlSubscriptions.ts b/src/__tests__/graphqlSubscriptions.ts index a07cfd8fd55..17dcc2c5215 100644 --- a/src/__tests__/graphqlSubscriptions.ts +++ b/src/__tests__/graphqlSubscriptions.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { mockObservableLink, MockedSubscription } from '../__mocks__/mockLinks'; -import { InMemoryCache } from '../cache/inmemory'; +import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; import { ApolloClient } from '../'; import { QueryManager } from '../core/QueryManager'; import { DataStore } from '../data/store'; diff --git a/src/__tests__/local-state/export.ts b/src/__tests__/local-state/export.ts index 80edce5cdf9..5d38eb37223 100644 --- a/src/__tests__/local-state/export.ts +++ b/src/__tests__/local-state/export.ts @@ -2,9 +2,9 @@ import gql from 'graphql-tag'; import { print } from 'graphql/language/printer'; import { Observable } from '../../util/Observable'; -import { ApolloLink } from '../../link/core'; +import { ApolloLink } from '../../link/core/ApolloLink'; import { ApolloClient } from '../..'; -import { InMemoryCache } from '../../cache/inmemory'; +import { InMemoryCache } from '../../cache/inmemory/inMemoryCache'; describe('@client @export tests', () => { it( diff --git a/src/__tests__/local-state/general.ts b/src/__tests__/local-state/general.ts index 9e081a23364..dafb04162cc 100644 --- a/src/__tests__/local-state/general.ts +++ b/src/__tests__/local-state/general.ts @@ -3,11 +3,12 @@ import { DocumentNode, GraphQLError } from 'graphql'; import { introspectionQuery } from 'graphql/utilities'; import { Observable } from '../../util/Observable'; -import { ApolloLink, Operation } from '../../link/core'; +import { ApolloLink } from '../../link/core/ApolloLink'; +import { Operation } from '../../link/core/types'; import { ApolloClient } from '../..'; -import { ApolloCache } from '../../cache/core'; -import { InMemoryCache } from '../../cache/inmemory'; -import { hasDirectives } from '../../utilities'; +import { ApolloCache } from '../../cache/core/cache'; +import { InMemoryCache } from '../../cache/inmemory/inMemoryCache'; +import { hasDirectives } from '../../utilities/directives'; describe('General functionality', () => { it('should not impact normal non-@client use', () => { diff --git a/src/__tests__/local-state/resolvers.ts b/src/__tests__/local-state/resolvers.ts index 921d44cd06c..5aaf5fc44ff 100644 --- a/src/__tests__/local-state/resolvers.ts +++ b/src/__tests__/local-state/resolvers.ts @@ -3,7 +3,7 @@ import { DocumentNode, ExecutionResult } from 'graphql'; import { assign } from 'lodash'; import { Observable } from '../../util/Observable'; -import { ApolloLink } from '../../link/core'; +import { ApolloLink } from '../../link/core/ApolloLink'; import { ApolloClient } from '../..'; import mockQueryManager from '../../__mocks__/mockQueryManager'; import { Observer } from '../../util/Observable'; @@ -11,7 +11,7 @@ import wrap from '../../util/wrap'; import { ApolloQueryResult, Resolvers } from '../../core/types'; import { WatchQueryOptions } from '../../core/watchQueryOptions'; import { LocalState } from '../../core/LocalState'; -import { InMemoryCache } from '../../cache/inmemory'; +import { InMemoryCache } from '../../cache/inmemory/inMemoryCache'; // Helper method that sets up a mockQueryManager and then passes on the // results to an observer. diff --git a/src/__tests__/local-state/subscriptions.ts b/src/__tests__/local-state/subscriptions.ts index 59b10b3d4fa..d340450e72c 100644 --- a/src/__tests__/local-state/subscriptions.ts +++ b/src/__tests__/local-state/subscriptions.ts @@ -1,9 +1,9 @@ import gql from 'graphql-tag'; import { Observable } from '../../util/Observable'; -import { ApolloLink } from '../../link/core'; +import { ApolloLink } from '../../link/core/ApolloLink'; import { ApolloClient } from '../..'; -import { InMemoryCache } from '../../cache/inmemory'; +import { InMemoryCache } from '../../cache/inmemory/inMemoryCache'; describe('Basic functionality', () => { it('should not break subscriptions', done => { diff --git a/src/__tests__/mutationResults.ts b/src/__tests__/mutationResults.ts index fd443263232..c2cf90d3ac3 100644 --- a/src/__tests__/mutationResults.ts +++ b/src/__tests__/mutationResults.ts @@ -2,10 +2,10 @@ import { cloneDeep } from 'lodash'; import gql from 'graphql-tag'; import { Observable } from '../util/Observable'; -import { ApolloLink } from '../link/core'; +import { ApolloLink } from '../link/core/ApolloLink'; import { mockSingleLink } from '../__mocks__/mockLinks'; import { ApolloClient } from '..'; -import { InMemoryCache } from '../cache/inmemory'; +import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; import { Subscription } from '../util/Observable'; import { withWarning } from '../util/wrap'; diff --git a/src/__tests__/optimistic.ts b/src/__tests__/optimistic.ts index 1ea3be3c1c7..b0b67f0abed 100644 --- a/src/__tests__/optimistic.ts +++ b/src/__tests__/optimistic.ts @@ -7,8 +7,10 @@ import { mockSingleLink } from '../__mocks__/mockLinks'; import { MutationQueryReducersMap } from '../core/types'; import { Subscription } from '../util/Observable'; import { ApolloClient } from '../'; -import { addTypenameToDocument, stripSymbols } from '../utilities'; -import { InMemoryCache, makeReference } from '../cache/inmemory'; +import { addTypenameToDocument } from '../utilities/transform'; +import { stripSymbols } from '../utilities/util/stripSymbols'; +import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; +import { makeReference } from '../cache/inmemory/helpers'; describe('optimistic mutation results', () => { const query = gql` diff --git a/src/__tests__/subscribeToMore.ts b/src/__tests__/subscribeToMore.ts index e495bfdd6fc..272473c05bd 100644 --- a/src/__tests__/subscribeToMore.ts +++ b/src/__tests__/subscribeToMore.ts @@ -1,11 +1,12 @@ import gql from 'graphql-tag'; import { DocumentNode, OperationDefinitionNode } from 'graphql'; -import { ApolloLink, Operation } from '../link/core'; +import { ApolloLink } from '../link/core/ApolloLink'; +import { Operation } from '../link/core/types'; import { mockSingleLink, mockObservableLink } from '../__mocks__/mockLinks'; import { ApolloClient } from '../'; -import { InMemoryCache } from '../cache/inmemory'; -import { stripSymbols } from '../utilities'; +import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; +import { stripSymbols } from '../utilities/util/stripSymbols'; const isSub = (operation: Operation) => (operation.query as DocumentNode).definitions diff --git a/src/cache/core/cache.ts b/src/cache/core/cache.ts index 064fb31848a..b430448aa52 100644 --- a/src/cache/core/cache.ts +++ b/src/cache/core/cache.ts @@ -1,7 +1,8 @@ import { DocumentNode } from 'graphql'; -import { getFragmentQueryDocument } from '../../utilities'; -import { DataProxy, Cache } from './types'; +import { getFragmentQueryDocument } from '../../utilities/fragments'; +import { DataProxy } from './types/DataProxy'; +import { Cache } from './types/Cache'; import { justTypenameQuery, queryFromPojo, fragmentFromPojo } from './utils'; export type Transaction = (c: ApolloCache) => void; diff --git a/src/cache/core/index.ts b/src/cache/core/index.ts deleted file mode 100644 index 18273b71d33..00000000000 --- a/src/cache/core/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './cache'; -export * from './types'; diff --git a/src/cache/core/types/index.ts b/src/cache/core/types/index.ts deleted file mode 100644 index c44054d676f..00000000000 --- a/src/cache/core/types/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './DataProxy'; -export * from './Cache'; diff --git a/src/cache/inmemory/__tests__/cache.ts b/src/cache/inmemory/__tests__/cache.ts index b7766b02926..5b7456ed608 100644 --- a/src/cache/inmemory/__tests__/cache.ts +++ b/src/cache/inmemory/__tests__/cache.ts @@ -1,7 +1,8 @@ import gql, { disableFragmentWarnings } from 'graphql-tag'; -import { stripSymbols, cloneDeep } from '../../../utilities'; -import { InMemoryCache, InMemoryCacheConfig } from '..'; +import { stripSymbols } from '../../../utilities/util/stripSymbols'; +import { cloneDeep } from '../../../utilities/util/cloneDeep'; +import { InMemoryCache, InMemoryCacheConfig } from '../inMemoryCache'; import { makeReference } from '../helpers'; disableFragmentWarnings(); diff --git a/src/cache/inmemory/__tests__/readFromStore.ts b/src/cache/inmemory/__tests__/readFromStore.ts index 641a6ac930b..edfe9bc364c 100644 --- a/src/cache/inmemory/__tests__/readFromStore.ts +++ b/src/cache/inmemory/__tests__/readFromStore.ts @@ -1,8 +1,8 @@ import { assign, omit } from 'lodash'; import gql from 'graphql-tag'; -import { stripSymbols } from '../../../utilities'; -import { StoreObject } from '../'; +import { stripSymbols } from '../../../utilities/util/stripSymbols'; +import { StoreObject } from '../types'; import { StoreReader } from '../readFromStore'; import { defaultNormalizedCacheFactory } from '../entityCache'; import { withError } from './diffAgainstStore'; diff --git a/src/cache/inmemory/__tests__/roundtrip.ts b/src/cache/inmemory/__tests__/roundtrip.ts index 7a6868e37e7..1044403ca12 100644 --- a/src/cache/inmemory/__tests__/roundtrip.ts +++ b/src/cache/inmemory/__tests__/roundtrip.ts @@ -4,7 +4,8 @@ import gql from 'graphql-tag'; import { withError } from './diffAgainstStore'; import { withWarning } from './writeToStore'; import { EntityCache } from '../entityCache'; -import { StoreReader, StoreWriter } from '../'; +import { StoreReader } from '../readFromStore'; +import { StoreWriter } from '../writeToStore'; function assertDeeplyFrozen(value: any, stack: any[] = []) { if (value !== null && typeof value === 'object' && stack.indexOf(value) < 0) { diff --git a/src/cache/inmemory/__tests__/writeToStore.ts b/src/cache/inmemory/__tests__/writeToStore.ts index a2d3220f2a0..44d58d17b31 100644 --- a/src/cache/inmemory/__tests__/writeToStore.ts +++ b/src/cache/inmemory/__tests__/writeToStore.ts @@ -9,11 +9,9 @@ import { } from 'graphql'; import gql from 'graphql-tag'; -import { - storeKeyNameFromField, - addTypenameToDocument, - cloneDeep, -} from '../../../utilities'; +import { storeKeyNameFromField } from '../../../utilities/storeUtils'; +import { addTypenameToDocument } from '../../../utilities/transform'; +import { cloneDeep } from '../../../utilities/util/cloneDeep'; import { StoreWriter } from '../writeToStore'; import { defaultNormalizedCacheFactory } from '../entityCache'; import { makeReference } from '../helpers'; diff --git a/src/cache/inmemory/inMemoryCache.ts b/src/cache/inmemory/inMemoryCache.ts index 6db3cacfc6b..63db4d360ee 100644 --- a/src/cache/inmemory/inMemoryCache.ts +++ b/src/cache/inmemory/inMemoryCache.ts @@ -5,8 +5,10 @@ import { DocumentNode } from 'graphql'; import { wrap } from 'optimism'; import { KeyTrie } from 'optimism'; -import { Cache, ApolloCache, Transaction } from '../core'; -import { addTypenameToDocument, canUseWeakMap } from '../../utilities'; +import { ApolloCache, Transaction } from '../core/cache'; +import { Cache } from '../core/types/Cache'; +import { addTypenameToDocument } from '../../utilities/transform'; +import { canUseWeakMap } from '../../utilities/util/canUse'; import { ApolloReducerConfig, NormalizedCacheObject, diff --git a/src/cache/inmemory/index.ts b/src/cache/inmemory/index.ts deleted file mode 100644 index 8852f12e962..00000000000 --- a/src/cache/inmemory/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -export { - InMemoryCache, - InMemoryCacheConfig, - defaultDataIdFromObject, -} from './inMemoryCache'; - -export * from './readFromStore'; -export * from './writeToStore'; -export * from './entityCache'; -export * from './types'; -export { - Reference, - makeReference, - isReference, -} from './helpers'; diff --git a/src/cache/inmemory/readFromStore.ts b/src/cache/inmemory/readFromStore.ts index 0ad20cc8e08..b177cb2e626 100644 --- a/src/cache/inmemory/readFromStore.ts +++ b/src/cache/inmemory/readFromStore.ts @@ -10,26 +10,29 @@ import { InvariantError } from 'ts-invariant'; import { argumentsObjectFromField, - canUseWeakMap, - createFragmentMap, - DirectiveInfo, - FragmentMap, - getDefaultValues, - getDirectiveInfoFromField, - getFragmentDefinitions, - getMainDefinition, - getQueryDefinition, getStoreKeyName, - isEqual, isField, isInlineFragment, - maybeDeepFreeze, - mergeDeepArray, resultKeyNameFromField, - shouldInclude, StoreValue, -} from '../../utilities'; -import { Cache } from '../core'; +} from '../../utilities/storeUtils'; +import { canUseWeakMap } from '../../utilities/util/canUse'; +import { createFragmentMap, FragmentMap } from '../../utilities/fragments'; +import { + DirectiveInfo, + getDirectiveInfoFromField, + shouldInclude, +} from '../../utilities/directives'; +import { + getDefaultValues, + getFragmentDefinitions, + getMainDefinition, + getQueryDefinition, +} from '../../utilities/getFromAST'; +import { isEqual } from '../../utilities/util/isEqual'; +import { maybeDeepFreeze } from '../../utilities/util/maybeDeepFreeze'; +import { mergeDeepArray } from '../../utilities/util/mergeDeep'; +import { Cache } from '../core/types/Cache'; import { ReadStoreContext, DiffQueryAgainstStoreOptions, diff --git a/src/cache/inmemory/types.ts b/src/cache/inmemory/types.ts index ab5e5102d82..8bacf514717 100644 --- a/src/cache/inmemory/types.ts +++ b/src/cache/inmemory/types.ts @@ -1,7 +1,7 @@ import { DocumentNode } from 'graphql'; -import { Transaction } from '../core'; -import { StoreValue } from '../../utilities'; +import { Transaction } from '../core/cache'; +import { StoreValue } from '../../utilities/storeUtils'; export interface IdGetterObj extends Object { __typename?: string; diff --git a/src/cache/inmemory/writeToStore.ts b/src/cache/inmemory/writeToStore.ts index a8f3c8f6c2b..64babd336e1 100644 --- a/src/cache/inmemory/writeToStore.ts +++ b/src/cache/inmemory/writeToStore.ts @@ -4,19 +4,23 @@ import { invariant, InvariantError } from 'ts-invariant'; import { createFragmentMap, FragmentMap, + getFragmentFromSelection, +} from '../../utilities/fragments'; +import { getDefaultValues, getFragmentDefinitions, - getFragmentFromSelection, getOperationDefinition, +} from '../../utilities/getFromAST'; +import { isField, resultKeyNameFromField, - shouldInclude, storeKeyNameFromField, StoreValue, - DeepMerger, getTypenameFromResult, - cloneDeep, -} from '../../utilities'; +} from '../../utilities/storeUtils'; +import { shouldInclude } from '../../utilities/directives'; +import { DeepMerger } from '../../utilities/util/mergeDeep'; +import { cloneDeep } from '../../utilities/util/cloneDeep'; import { defaultNormalizedCacheFactory } from './entityCache'; import { IdGetter, NormalizedCache, StoreObject } from './types'; import { fragmentMatches } from './fragments'; diff --git a/src/core/LocalState.ts b/src/core/LocalState.ts index 167100b637a..b2f862343a1 100644 --- a/src/core/LocalState.ts +++ b/src/core/LocalState.ts @@ -12,23 +12,24 @@ import { import { visit, BREAK } from 'graphql/language/visitor'; import { invariant } from 'ts-invariant'; -import { ApolloCache } from '../cache/core'; +import { ApolloCache } from '../cache/core/cache'; import { getMainDefinition, + getFragmentDefinitions, +} from '../utilities/getFromAST'; +import { hasDirectives, shouldInclude } from '../utilities/directives'; +import { FragmentMap, createFragmentMap } from '../utilities/fragments'; +import { buildQueryFromSelectionSet, - hasDirectives, removeClientSetsFromDocument, - mergeDeep, - mergeDeepArray, - FragmentMap, +} from '../utilities/transform'; +import { mergeDeep, mergeDeepArray } from '../utilities/util/mergeDeep'; +import { argumentsObjectFromField, resultKeyNameFromField, - getFragmentDefinitions, - createFragmentMap, - shouldInclude, isField, isInlineFragment, -} from '../utilities'; +} from '../utilities/storeUtils'; import { ApolloClient } from '../ApolloClient'; import { Resolvers, OperationVariables } from './types'; import { capitalizeFirstLetter } from '../util/capitalizeFirstLetter'; diff --git a/src/core/ObservableQuery.ts b/src/core/ObservableQuery.ts index 19d55cc96a0..e25c46974e8 100644 --- a/src/core/ObservableQuery.ts +++ b/src/core/ObservableQuery.ts @@ -1,12 +1,10 @@ import { GraphQLError } from 'graphql'; import { invariant, InvariantError } from 'ts-invariant'; -import { - isEqual, - tryFunctionOrLogError, - cloneDeep, - getOperationDefinition, -} from '../utilities'; +import { isEqual } from '../utilities/util/isEqual'; +import { tryFunctionOrLogError } from '../utilities/util/errorHandling'; +import { cloneDeep } from '../utilities/util/cloneDeep'; +import { getOperationDefinition } from '../utilities/getFromAST'; import { NetworkStatus, isNetworkRequestInFlight } from './networkStatus'; import { Observable, Observer, Subscription } from '../util/Observable'; import { ApolloError } from '../errors/ApolloError'; diff --git a/src/core/QueryManager.ts b/src/core/QueryManager.ts index ecd1c0437e7..8e240cd3837 100644 --- a/src/core/QueryManager.ts +++ b/src/core/QueryManager.ts @@ -1,18 +1,22 @@ import { ExecutionResult, DocumentNode } from 'graphql'; import { invariant, InvariantError } from 'ts-invariant'; -import { execute, ApolloLink, FetchResult } from '../link/core'; -import { Cache } from '../cache/core'; +import { ApolloLink } from '../link/core/ApolloLink'; +import { execute } from '../link/core/execute'; +import { FetchResult } from '../link/core/types'; +import { Cache } from '../cache/core/types/Cache'; import { getDefaultValues, getOperationDefinition, getOperationName, +} from '../utilities/getFromAST'; +import { hasDirectives, - graphQLResultHasError, hasClientExports, - removeConnectionDirectiveFromDocument, - canUseWeakMap, -} from '../utilities'; +} from '../utilities/directives'; +import { graphQLResultHasError } from '../utilities/util/errorHandling'; +import { removeConnectionDirectiveFromDocument } from '../utilities/transform'; +import { canUseWeakMap } from '../utilities/util/canUse'; import { isApolloError, ApolloError } from '../errors/ApolloError'; import { Observer, Subscription, Observable } from '../util/Observable'; import { QueryWithUpdater, DataStore } from '../data/store'; diff --git a/src/core/__tests__/ObservableQuery.ts b/src/core/__tests__/ObservableQuery.ts index 153c1095605..254551d1996 100644 --- a/src/core/__tests__/ObservableQuery.ts +++ b/src/core/__tests__/ObservableQuery.ts @@ -2,8 +2,8 @@ import gql from 'graphql-tag'; import { GraphQLError } from 'graphql'; import { Observable } from '../../util/Observable'; -import { ApolloLink } from '../../link/core'; -import { InMemoryCache } from '../../cache/inmemory'; +import { ApolloLink } from '../../link/core/ApolloLink'; +import { InMemoryCache } from '../../cache/inmemory/inMemoryCache'; import mockQueryManager from '../../__mocks__/mockQueryManager'; import mockWatchQuery from '../../__mocks__/mockWatchQuery'; import { mockSingleLink } from '../../__mocks__/mockLinks'; @@ -16,7 +16,7 @@ import { ApolloClient } from '../../'; import wrap from '../../util/wrap'; import subscribeAndCount from '../../util/subscribeAndCount'; -import { stripSymbols } from '../../utilities'; +import { stripSymbols } from '../../utilities/util/stripSymbols'; import { ApolloError } from '../../errors/ApolloError'; describe('ObservableQuery', () => { diff --git a/src/core/__tests__/QueryManager/index.ts b/src/core/__tests__/QueryManager/index.ts index 44f09941289..47f49af2138 100644 --- a/src/core/__tests__/QueryManager/index.ts +++ b/src/core/__tests__/QueryManager/index.ts @@ -6,12 +6,13 @@ import gql from 'graphql-tag'; import { DocumentNode, ExecutionResult, GraphQLError } from 'graphql'; import { Observable } from '../../../util/Observable'; -import { ApolloLink, Operation } from '../../../link/core'; +import { ApolloLink } from '../../../link/core/ApolloLink'; +import { Operation } from '../../../link/core/types'; +import { InMemoryCache } from '../../../cache/inmemory/inMemoryCache'; import { - InMemoryCache, ApolloReducerConfig, - NormalizedCacheObject, -} from '../../../cache/inmemory'; + NormalizedCacheObject +} from '../../../cache/inmemory/types'; // mocks import mockQueryManager from '../../../__mocks__/mockQueryManager'; @@ -36,7 +37,7 @@ import wrap from '../../../util/wrap'; import observableToPromise, { observableToPromiseAndSubscription, } from '../../../util/observableToPromise'; -import { stripSymbols } from '../../../utilities'; +import { stripSymbols } from '../../../utilities/util/stripSymbols'; describe('QueryManager', () => { // Standard "get id from object" method. diff --git a/src/core/__tests__/QueryManager/links.ts b/src/core/__tests__/QueryManager/links.ts index 465598641ab..2eac60fd37f 100644 --- a/src/core/__tests__/QueryManager/links.ts +++ b/src/core/__tests__/QueryManager/links.ts @@ -2,9 +2,9 @@ import gql from 'graphql-tag'; import { Observable } from '../../../util/Observable'; -import { ApolloLink } from '../../../link/core'; -import { InMemoryCache } from '../../../cache/inmemory'; -import { stripSymbols } from '../../../utilities'; +import { ApolloLink } from '../../../link/core/ApolloLink'; +import { InMemoryCache } from '../../../cache/inmemory/inMemoryCache'; +import { stripSymbols } from '../../../utilities/util/stripSymbols'; // mocks import { MockSubscriptionLink } from '../../../__mocks__/mockLinks'; diff --git a/src/core/__tests__/QueryManager/live.ts b/src/core/__tests__/QueryManager/live.ts index 9f47f682df2..b81bdc77b40 100644 --- a/src/core/__tests__/QueryManager/live.ts +++ b/src/core/__tests__/QueryManager/live.ts @@ -6,8 +6,8 @@ // externals import gql from 'graphql-tag'; -import { InMemoryCache } from '../../../cache/inmemory'; -import { stripSymbols } from '../../../utilities'; +import { InMemoryCache } from '../../../cache/inmemory/inMemoryCache'; +import { stripSymbols } from '../../../utilities/util/stripSymbols'; import { MockSubscriptionLink } from '../../../__mocks__/mockLinks'; // core diff --git a/src/core/__tests__/QueryManager/multiple-results.ts b/src/core/__tests__/QueryManager/multiple-results.ts index d7c41a01618..23fb951b9a0 100644 --- a/src/core/__tests__/QueryManager/multiple-results.ts +++ b/src/core/__tests__/QueryManager/multiple-results.ts @@ -1,7 +1,7 @@ // externals import gql from 'graphql-tag'; -import { InMemoryCache } from '../../../cache/inmemory'; -import { stripSymbols } from '../../../utilities'; +import { InMemoryCache } from '../../../cache/inmemory/inMemoryCache'; +import { stripSymbols } from '../../../utilities/util/stripSymbols'; // mocks import { MockSubscriptionLink } from '../../../__mocks__/mockLinks'; diff --git a/src/core/__tests__/QueryManager/recycler.ts b/src/core/__tests__/QueryManager/recycler.ts index c2c00196f7a..2dbb4f0dd54 100644 --- a/src/core/__tests__/QueryManager/recycler.ts +++ b/src/core/__tests__/QueryManager/recycler.ts @@ -6,8 +6,8 @@ // externals import gql from 'graphql-tag'; -import { InMemoryCache } from '../../../cache/inmemory'; -import { stripSymbols } from '../../../utilities'; +import { InMemoryCache } from '../../../cache/inmemory/inMemoryCache'; +import { stripSymbols } from '../../../utilities/util/stripSymbols'; import { MockSubscriptionLink } from '../../../__mocks__/mockLinks'; // core diff --git a/src/core/__tests__/fetchPolicies.ts b/src/core/__tests__/fetchPolicies.ts index 673c89104a5..07f460e306a 100644 --- a/src/core/__tests__/fetchPolicies.ts +++ b/src/core/__tests__/fetchPolicies.ts @@ -1,8 +1,8 @@ import gql from 'graphql-tag'; -import { ApolloLink } from '../../link/core'; -import { InMemoryCache } from '../../cache/inmemory'; -import { stripSymbols } from '../../utilities'; +import { ApolloLink } from '../../link/core/ApolloLink'; +import { InMemoryCache } from '../../cache/inmemory/inMemoryCache'; +import { stripSymbols } from '../../utilities/util/stripSymbols'; import { ApolloClient } from '../..'; import subscribeAndCount from '../../util/subscribeAndCount'; import { mockSingleLink } from '../../__mocks__/mockLinks'; diff --git a/src/core/__tests__/scheduler.ts b/src/core/__tests__/scheduler.ts index b9702b4d48d..0a34dfb7662 100644 --- a/src/core/__tests__/scheduler.ts +++ b/src/core/__tests__/scheduler.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; -import { InMemoryCache } from '../../cache/inmemory'; -import { stripSymbols } from '../../utilities'; +import { InMemoryCache } from '../../cache/inmemory/inMemoryCache'; +import { stripSymbols } from '../../utilities/util/stripSymbols'; import { QueryManager } from '../QueryManager'; import { WatchQueryOptions } from '../../core/watchQueryOptions'; diff --git a/src/core/types.ts b/src/core/types.ts index 6c18fe9f51a..1dc2aa71e04 100644 --- a/src/core/types.ts +++ b/src/core/types.ts @@ -1,6 +1,6 @@ import { DocumentNode, GraphQLError } from 'graphql'; -import { FetchResult } from '../link/core'; +import { FetchResult } from '../link/core/types'; import { QueryStoreValue } from '../data/queries'; import { NetworkStatus } from './networkStatus'; import { Resolver } from './LocalState'; diff --git a/src/core/watchQueryOptions.ts b/src/core/watchQueryOptions.ts index 5cc5762297a..1b370d608e9 100644 --- a/src/core/watchQueryOptions.ts +++ b/src/core/watchQueryOptions.ts @@ -1,7 +1,7 @@ import { DocumentNode, ExecutionResult } from 'graphql'; -import { FetchResult } from '../link/core'; -import { DataProxy } from '../cache/core'; +import { FetchResult } from '../link/core/types'; +import { DataProxy } from '../cache/core/types/DataProxy'; import { MutationQueryReducersMap } from './types'; import { PureQueryOptions, OperationVariables } from './types'; diff --git a/src/data/queries.ts b/src/data/queries.ts index 41c37dd4fa6..73123d583c9 100644 --- a/src/data/queries.ts +++ b/src/data/queries.ts @@ -1,7 +1,7 @@ import { DocumentNode, GraphQLError, ExecutionResult } from 'graphql'; import { invariant } from 'ts-invariant'; -import { isEqual } from '../utilities'; +import { isEqual } from '../utilities/util/isEqual'; import { NetworkStatus } from '../core/networkStatus'; import { isNonEmptyArray } from '../util/arrays'; diff --git a/src/data/store.ts b/src/data/store.ts index c7051d288cc..8ac30189cdb 100644 --- a/src/data/store.ts +++ b/src/data/store.ts @@ -1,12 +1,14 @@ import { ExecutionResult, DocumentNode } from 'graphql'; -import { ApolloCache, Cache, DataProxy } from '../cache/core'; +import { ApolloCache } from '../cache/core/cache'; +import { Cache } from '../cache/core/types/Cache'; +import { DataProxy } from '../cache/core/types/DataProxy'; import { QueryStoreValue } from '../data/queries'; +import { getOperationName } from '../utilities/getFromAST'; import { - getOperationName, tryFunctionOrLogError, graphQLResultHasError, -} from '../utilities'; +} from '../utilities/util/errorHandling'; import { MutationQueryReducer } from '../core/types'; export type QueryWithUpdater = { diff --git a/src/index.ts b/src/index.ts index 0ce6258eea3..65b51ff3816 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,16 +1,16 @@ +/* Core */ + export { ApolloClient, ApolloClientOptions, DefaultOptions } from './ApolloClient'; - export { ObservableQuery, FetchMoreOptions, UpdateQueryOptions, ApolloCurrentQueryResult, } from './core/ObservableQuery'; - export { QueryBaseOptions, QueryOptions, @@ -24,27 +24,97 @@ export { SubscribeToMoreOptions, MutationUpdaterFn, } from './core/watchQueryOptions'; - export { NetworkStatus } from './core/networkStatus'; - export * from './core/types'; - export { Resolver, FragmentMatcher as LocalStateFragmentMatcher, } from './core/LocalState'; - export { isApolloError, ApolloError } from './errors/ApolloError'; -export * from './cache/core'; -export * from './cache/inmemory'; +/* Cache */ + +export * from './cache/core/cache'; +export * from './cache/core/types/Cache'; +export * from './cache/core/types/DataProxy'; +export { + InMemoryCache, + InMemoryCacheConfig, + defaultDataIdFromObject, +} from './cache/inmemory/inMemoryCache'; +export * from './cache/inmemory/readFromStore'; +export * from './cache/inmemory/writeToStore'; +export * from './cache/inmemory/entityCache'; +export * from './cache/inmemory/types'; +export { + Reference, + makeReference, + isReference, +} from './cache/inmemory/helpers'; + +/* React */ -export * from './react'; +export { ApolloProvider } from './react/context/ApolloProvider'; +export { ApolloConsumer } from './react/context/ApolloConsumer'; +export { + getApolloContext, + resetApolloContext, + ApolloContextValue +} from './react/context/ApolloContext'; +export { useQuery } from './react/hooks/useQuery'; +export { useLazyQuery } from './react/hooks/useLazyQuery'; +export { useMutation } from './react/hooks/useMutation'; +export { useSubscription } from './react/hooks/useSubscription'; +export { useApolloClient } from './react/hooks/useApolloClient'; +export { RenderPromises } from './react/ssr/RenderPromises'; +export * from './react/types/types'; +export * from './react/parser/parser'; -export * from './link/core'; -export * from './link/http'; -export * from './link/utils'; +/* Link */ -export { Observable } from './util/Observable'; +export { empty } from './link/core/empty'; +export { from } from './link/core/from'; +export { split } from './link/core/split'; +export { concat } from './link/core/concat'; +export { execute } from './link/core/execute'; +export { ApolloLink } from './link/core/ApolloLink'; +export * from './link/core/types'; +export { + parseAndCheckHttpResponse, + ServerParseError +} from './link/http/parseAndCheckHttpResponse'; +export { + serializeFetchParameter, + ClientParseError +} from './link/http/serializeFetchParameter'; +export { + HttpOptions, + fallbackHttpConfig, + selectHttpOptionsAndBody, + UriFunction +} from './link/http/selectHttpOptionsAndBody'; +export { checkFetcher } from './link/http/checkFetcher'; +export { createSignalIfSupported } from './link/http/createSignalIfSupported'; +export { selectURI } from './link/http/selectURI'; +export { createHttpLink } from './link/http/createHttpLink'; +export { HttpLink } from './link/http/HttpLink'; +export { fromError } from './link/utils/fromError'; +export { ServerError, throwServerError } from './link/utils/throwServerError'; -export * from './utilities'; +/* Utilities */ + +export { Observable } from './util/Observable'; +export * from './utilities/directives'; +export * from './utilities/fragments'; +export * from './utilities/getFromAST'; +export * from './utilities/transform'; +export * from './utilities/storeUtils'; +export * from './utilities/util/assign'; +export * from './utilities/util/canUse'; +export * from './utilities/util/cloneDeep'; +export * from './utilities/util/environment'; +export * from './utilities/util/errorHandling'; +export * from './utilities/util/isEqual'; +export * from './utilities/util/maybeDeepFreeze'; +export * from './utilities/util/mergeDeep'; +export * from './utilities/util/stripSymbols'; diff --git a/src/link/core/index.ts b/src/link/core/index.ts deleted file mode 100644 index 8093e7c6cd2..00000000000 --- a/src/link/core/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -export { empty } from './empty'; -export { from } from './from'; -export { split } from './split'; -export { concat } from './concat'; -export { execute } from './execute'; -export { ApolloLink } from './ApolloLink'; - -export * from './types'; diff --git a/src/link/http/HttpLink.ts b/src/link/http/HttpLink.ts index cc2a8d5fa14..31cac386cce 100644 --- a/src/link/http/HttpLink.ts +++ b/src/link/http/HttpLink.ts @@ -1,4 +1,5 @@ -import { ApolloLink, RequestHandler } from '../core'; +import { ApolloLink } from '../core/ApolloLink'; +import { RequestHandler } from '../core/types'; import { HttpOptions } from './selectHttpOptionsAndBody'; import { createHttpLink } from './createHttpLink'; diff --git a/src/link/http/__tests__/HttpLink.ts b/src/link/http/__tests__/HttpLink.ts index 981ebb23925..53274117c46 100644 --- a/src/link/http/__tests__/HttpLink.ts +++ b/src/link/http/__tests__/HttpLink.ts @@ -3,7 +3,8 @@ import fetchMock from 'fetch-mock'; import { print } from 'graphql'; import { Observable } from '../../../util/Observable'; -import { ApolloLink, execute } from '../../core'; +import { ApolloLink } from '../../core/ApolloLink'; +import { execute } from '../../core/execute'; import { HttpLink } from '../HttpLink'; import { createHttpLink } from '../createHttpLink'; diff --git a/src/link/http/createHttpLink.ts b/src/link/http/createHttpLink.ts index 42281dc69af..7343495e469 100644 --- a/src/link/http/createHttpLink.ts +++ b/src/link/http/createHttpLink.ts @@ -12,7 +12,7 @@ import { } from './selectHttpOptionsAndBody'; import { createSignalIfSupported } from './createSignalIfSupported'; import { rewriteURIForGET } from './rewriteURIForGET'; -import { ApolloLink } from '../core'; +import { ApolloLink } from '../core/ApolloLink'; import { fromError } from '../utils/fromError'; export const createHttpLink = (linkOptions: HttpOptions = {}) => { diff --git a/src/link/http/index.ts b/src/link/http/index.ts deleted file mode 100644 index 2dde558a321..00000000000 --- a/src/link/http/index.ts +++ /dev/null @@ -1,26 +0,0 @@ -export { - parseAndCheckHttpResponse, - ServerParseError -} from './parseAndCheckHttpResponse'; - -export { - serializeFetchParameter, - ClientParseError -} from './serializeFetchParameter'; - -export { - HttpOptions, - fallbackHttpConfig, - selectHttpOptionsAndBody, - UriFunction -} from './selectHttpOptionsAndBody'; - -export { checkFetcher } from './checkFetcher'; - -export { createSignalIfSupported } from './createSignalIfSupported'; - -export { selectURI } from './selectURI'; - -export { createHttpLink } from './createHttpLink'; - -export { HttpLink } from './HttpLink'; diff --git a/src/link/http/parseAndCheckHttpResponse.ts b/src/link/http/parseAndCheckHttpResponse.ts index 96910eecd74..2528e0624e3 100644 --- a/src/link/http/parseAndCheckHttpResponse.ts +++ b/src/link/http/parseAndCheckHttpResponse.ts @@ -1,4 +1,4 @@ -import { Operation } from '../core'; +import { Operation } from '../core/types'; import { throwServerError } from '../utils/throwServerError'; const { hasOwnProperty } = Object.prototype; diff --git a/src/link/http/selectHttpOptionsAndBody.ts b/src/link/http/selectHttpOptionsAndBody.ts index 77b3e1641c3..18aaffcfce0 100644 --- a/src/link/http/selectHttpOptionsAndBody.ts +++ b/src/link/http/selectHttpOptionsAndBody.ts @@ -1,6 +1,6 @@ import { print } from 'graphql/language/printer'; -import { Operation } from '../core'; +import { Operation } from '../core/types'; export interface UriFunction { (operation: Operation): string; diff --git a/src/link/http/selectURI.ts b/src/link/http/selectURI.ts index 461098f2e2e..9412f2fba47 100644 --- a/src/link/http/selectURI.ts +++ b/src/link/http/selectURI.ts @@ -1,4 +1,4 @@ -import { Operation } from '../core'; +import { Operation } from '../core/types'; export const selectURI = ( operation: Operation, diff --git a/src/link/utils/index.ts b/src/link/utils/index.ts deleted file mode 100644 index d7998382661..00000000000 --- a/src/link/utils/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { fromError } from './fromError'; -export { ServerError, throwServerError } from './throwServerError'; diff --git a/src/react/context/__tests__/ApolloConsumer.test.tsx b/src/react/context/__tests__/ApolloConsumer.test.tsx index a7511cc34e2..27d3d96320b 100644 --- a/src/react/context/__tests__/ApolloConsumer.test.tsx +++ b/src/react/context/__tests__/ApolloConsumer.test.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { render, cleanup } from '@testing-library/react'; -import { ApolloLink } from '../../../link/core'; +import { ApolloLink } from '../../../link/core/ApolloLink'; import { ApolloClient } from '../../../ApolloClient'; import { InMemoryCache as Cache } from '../../../cache/inmemory/inMemoryCache'; import { ApolloProvider } from '../ApolloProvider'; diff --git a/src/react/context/__tests__/ApolloProvider.test.tsx b/src/react/context/__tests__/ApolloProvider.test.tsx index a3fee0ab80e..ab95f96df5c 100644 --- a/src/react/context/__tests__/ApolloProvider.test.tsx +++ b/src/react/context/__tests__/ApolloProvider.test.tsx @@ -1,7 +1,7 @@ import React, { useContext } from 'react'; import { render, cleanup } from '@testing-library/react'; -import { ApolloLink } from '../../../link/core'; +import { ApolloLink } from '../../../link/core/ApolloLink'; import { ApolloClient } from '../../../ApolloClient'; import { InMemoryCache as Cache } from '../../../cache/inmemory/inMemoryCache'; import { ApolloProvider } from '../ApolloProvider'; diff --git a/src/react/data/MutationData.ts b/src/react/data/MutationData.ts index ca8d512b000..950456d33bb 100644 --- a/src/react/data/MutationData.ts +++ b/src/react/data/MutationData.ts @@ -11,7 +11,7 @@ import { } from '../types/types'; import { OperationData } from './OperationData'; import { OperationVariables } from '../../core/types'; -import { FetchResult } from '../../link/core'; +import { FetchResult } from '../../link/core/types'; export class MutationData< TData = any, diff --git a/src/react/hooks/__tests__/useApolloClient.test.tsx b/src/react/hooks/__tests__/useApolloClient.test.tsx index b663babdba5..7c7ab1c4b90 100644 --- a/src/react/hooks/__tests__/useApolloClient.test.tsx +++ b/src/react/hooks/__tests__/useApolloClient.test.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { render, cleanup } from '@testing-library/react'; import { InvariantError } from 'ts-invariant'; -import { ApolloLink } from '../../../link/core'; +import { ApolloLink } from '../../../link/core/ApolloLink'; import { ApolloProvider } from '../../context/ApolloProvider'; import { resetApolloContext } from '../../context/ApolloContext'; import { ApolloClient } from '../../../ApolloClient'; diff --git a/src/react/hooks/__tests__/useQuery.test.tsx b/src/react/hooks/__tests__/useQuery.test.tsx index b594c1b7e67..062a681be0d 100644 --- a/src/react/hooks/__tests__/useQuery.test.tsx +++ b/src/react/hooks/__tests__/useQuery.test.tsx @@ -4,7 +4,7 @@ import gql from 'graphql-tag'; import { render, cleanup, wait } from '@testing-library/react'; import { Observable } from '../../../util/Observable'; -import { ApolloLink } from '../../../link/core'; +import { ApolloLink } from '../../../link/core/ApolloLink'; import { MockedProvider, MockLink } from '../../testing'; import { ApolloClient } from '../../../ApolloClient'; import { InMemoryCache } from '../../../cache/inmemory/inMemoryCache'; diff --git a/src/react/index.ts b/src/react/index.ts deleted file mode 100644 index 92b4fb080f1..00000000000 --- a/src/react/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -export { ApolloProvider } from './context/ApolloProvider'; -export { ApolloConsumer } from './context/ApolloConsumer'; -export { - getApolloContext, - resetApolloContext, - ApolloContextValue -} from './context/ApolloContext'; - -export { useQuery } from './hooks/useQuery'; -export { useLazyQuery } from './hooks/useLazyQuery'; -export { useMutation } from './hooks/useMutation'; -export { useSubscription } from './hooks/useSubscription'; -export { useApolloClient } from './hooks/useApolloClient'; - -export { RenderPromises } from './ssr/RenderPromises'; - -export * from './types/types'; -export * from './parser/parser'; diff --git a/src/react/testing/mocks/mockLink.ts b/src/react/testing/mocks/mockLink.ts index 82390cdabd9..ada3c492a60 100644 --- a/src/react/testing/mocks/mockLink.ts +++ b/src/react/testing/mocks/mockLink.ts @@ -2,19 +2,19 @@ import { print } from 'graphql/language/printer'; import stringify from 'fast-json-stable-stringify'; import { Observable } from '../../../util/Observable'; +import { ApolloLink } from '../../../link/core/ApolloLink'; import { Operation, GraphQLRequest, - ApolloLink, FetchResult, -} from '../../../link/core'; +} from '../../../link/core/types'; import { addTypenameToDocument, removeClientSetsFromDocument, removeConnectionDirectiveFromDocument, - cloneDeep, - isEqual -} from '../../../utilities'; +} from '../../../utilities/transform'; +import { cloneDeep } from '../../../utilities/util/cloneDeep'; +import { isEqual } from '../../../utilities/util/isEqual'; import { MockedResponse, ResultFunction } from './types'; function requestToKey(request: GraphQLRequest, addTypename: Boolean): string { diff --git a/src/react/testing/mocks/mockSubscriptionLink.ts b/src/react/testing/mocks/mockSubscriptionLink.ts index 77901105c66..8a8a6a3954f 100644 --- a/src/react/testing/mocks/mockSubscriptionLink.ts +++ b/src/react/testing/mocks/mockSubscriptionLink.ts @@ -1,5 +1,6 @@ import { Observable } from '../../../util/Observable'; -import { ApolloLink, FetchResult } from '../../../link/core'; +import { ApolloLink } from '../../../link/core/ApolloLink'; +import { FetchResult } from '../../../link/core/types'; import { MockedSubscriptionResult } from './types'; export class MockSubscriptionLink extends ApolloLink { diff --git a/src/react/testing/mocks/types.ts b/src/react/testing/mocks/types.ts index 585b8554f4f..54f85018a9a 100644 --- a/src/react/testing/mocks/types.ts +++ b/src/react/testing/mocks/types.ts @@ -1,4 +1,5 @@ -import { ApolloLink, GraphQLRequest, FetchResult } from '../../../link/core'; +import { ApolloLink } from '../../../link/core/ApolloLink'; +import { GraphQLRequest, FetchResult } from '../../../link/core/types'; import { ApolloClient, DefaultOptions } from '../../../ApolloClient'; import { Resolvers } from '../../../core/types'; import { ApolloCache } from '../../../cache/core/cache'; diff --git a/src/react/types/types.ts b/src/react/types/types.ts index 799b9d490c8..9fb967c9d25 100644 --- a/src/react/types/types.ts +++ b/src/react/types/types.ts @@ -2,7 +2,7 @@ import { ReactNode } from 'react'; import { DocumentNode } from 'graphql'; import { Observable } from '../../util/Observable'; -import { FetchResult } from '../../link/core'; +import { FetchResult } from '../../link/core/types'; import { ApolloClient } from '../../ApolloClient'; import { ApolloQueryResult, diff --git a/src/utilities/index.ts b/src/utilities/index.ts deleted file mode 100644 index 210b36e167d..00000000000 --- a/src/utilities/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -export * from './directives'; -export * from './fragments'; -export * from './getFromAST'; -export * from './transform'; -export * from './storeUtils'; -export * from './util/assign'; -export * from './util/canUse'; -export * from './util/cloneDeep'; -export * from './util/environment'; -export * from './util/errorHandling'; -export * from './util/isEqual'; -export * from './util/maybeDeepFreeze'; -export * from './util/mergeDeep'; -export * from './util/stripSymbols'; From 47da102f99cf89c782d0a0188a7f4ade727548a7 Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 06:16:20 -0400 Subject: [PATCH 03/26] Stop exporting the cache functionality we don't want to expose --- src/index.ts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/index.ts b/src/index.ts index 65b51ff3816..87428418323 100644 --- a/src/index.ts +++ b/src/index.ts @@ -34,17 +34,14 @@ export { isApolloError, ApolloError } from './errors/ApolloError'; /* Cache */ -export * from './cache/core/cache'; -export * from './cache/core/types/Cache'; -export * from './cache/core/types/DataProxy'; +export { Transaction, ApolloCache } from './cache/core/cache'; +export { Cache } from './cache/core/types/Cache'; +export { DataProxy } from './cache/core/types/DataProxy'; export { InMemoryCache, InMemoryCacheConfig, defaultDataIdFromObject, } from './cache/inmemory/inMemoryCache'; -export * from './cache/inmemory/readFromStore'; -export * from './cache/inmemory/writeToStore'; -export * from './cache/inmemory/entityCache'; export * from './cache/inmemory/types'; export { Reference, From da2b56a5caab906ce12aea0d27eb87dd9e73ff0f Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 07:16:21 -0400 Subject: [PATCH 04/26] Move `subscribeAndCount` test only utility out of main package --- config/jest.config.js | 3 ++- src/__tests__/client.ts | 2 +- src/{util => __tests__/utils}/subscribeAndCount.ts | 8 ++++---- src/core/__tests__/ObservableQuery.ts | 2 +- src/core/__tests__/fetchPolicies.ts | 2 +- 5 files changed, 9 insertions(+), 8 deletions(-) rename src/{util => __tests__/utils}/subscribeAndCount.ts (77%) diff --git a/config/jest.config.js b/config/jest.config.js index 366fb5b1fe1..94c8fa784c9 100644 --- a/config/jest.config.js +++ b/config/jest.config.js @@ -12,7 +12,8 @@ module.exports = { testURL: 'http://localhost', testPathIgnorePatterns: [ '/node_modules/', - '/dist/' + '/dist/', + 'src/__tests__/utils' ], modulePathIgnorePatterns: ['/dist/'], setupFiles: ['/src/config/jest/setup.ts'], diff --git a/src/__tests__/client.ts b/src/__tests__/client.ts index f7d9fe28bb1..83dd357f702 100644 --- a/src/__tests__/client.ts +++ b/src/__tests__/client.ts @@ -10,7 +10,7 @@ import { stripSymbols } from '../utilities/util/stripSymbols'; import { WatchQueryOptions, FetchPolicy } from '../core/watchQueryOptions'; import { ApolloError } from '../errors/ApolloError'; import { ApolloClient } from '..'; -import subscribeAndCount from '../util/subscribeAndCount'; +import subscribeAndCount from './utils/subscribeAndCount'; import { withWarning } from '../util/wrap'; import { mockSingleLink } from '../__mocks__/mockLinks'; diff --git a/src/util/subscribeAndCount.ts b/src/__tests__/utils/subscribeAndCount.ts similarity index 77% rename from src/util/subscribeAndCount.ts rename to src/__tests__/utils/subscribeAndCount.ts index a68f589d545..02d3a0a52a5 100644 --- a/src/util/subscribeAndCount.ts +++ b/src/__tests__/utils/subscribeAndCount.ts @@ -1,7 +1,7 @@ -import { ObservableQuery } from '../core/ObservableQuery'; -import { ApolloQueryResult } from '../core/types'; -import { Subscription } from '../util/Observable'; -import { asyncMap } from './observables'; +import { ObservableQuery } from '../../core/ObservableQuery'; +import { ApolloQueryResult } from '../../core/types'; +import { Subscription } from '../../util/Observable'; +import { asyncMap } from '../../util/observables'; export default function subscribeAndCount( done: jest.DoneCallback, diff --git a/src/core/__tests__/ObservableQuery.ts b/src/core/__tests__/ObservableQuery.ts index 254551d1996..4bd3b07630a 100644 --- a/src/core/__tests__/ObservableQuery.ts +++ b/src/core/__tests__/ObservableQuery.ts @@ -15,7 +15,7 @@ import { DataStore } from '../../data/store'; import { ApolloClient } from '../../'; import wrap from '../../util/wrap'; -import subscribeAndCount from '../../util/subscribeAndCount'; +import subscribeAndCount from '../../__tests__/utils/subscribeAndCount'; import { stripSymbols } from '../../utilities/util/stripSymbols'; import { ApolloError } from '../../errors/ApolloError'; diff --git a/src/core/__tests__/fetchPolicies.ts b/src/core/__tests__/fetchPolicies.ts index 07f460e306a..c0280e5e09b 100644 --- a/src/core/__tests__/fetchPolicies.ts +++ b/src/core/__tests__/fetchPolicies.ts @@ -4,7 +4,7 @@ import { ApolloLink } from '../../link/core/ApolloLink'; import { InMemoryCache } from '../../cache/inmemory/inMemoryCache'; import { stripSymbols } from '../../utilities/util/stripSymbols'; import { ApolloClient } from '../..'; -import subscribeAndCount from '../../util/subscribeAndCount'; +import subscribeAndCount from '../../__tests__/utils/subscribeAndCount'; import { mockSingleLink } from '../../__mocks__/mockLinks'; import { NetworkStatus } from '../networkStatus'; From ad25bbb8d39d8581c8f918ba88fdaa78df49aeba Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 07:17:27 -0400 Subject: [PATCH 05/26] Move graphql specific utilities into `utilities/graphql` --- src/__tests__/local-state/general.ts | 2 +- src/__tests__/optimistic.ts | 2 +- src/cache/core/cache.ts | 2 +- src/cache/inmemory/__tests__/writeToStore.ts | 4 ++-- src/cache/inmemory/inMemoryCache.ts | 2 +- src/cache/inmemory/readFromStore.ts | 8 ++++---- src/cache/inmemory/types.ts | 2 +- src/cache/inmemory/writeToStore.ts | 8 ++++---- src/core/LocalState.ts | 10 +++++----- src/core/ObservableQuery.ts | 2 +- src/core/QueryManager.ts | 6 +++--- src/data/store.ts | 2 +- src/index.ts | 10 +++++----- src/link/utils/transformOperation.ts | 2 +- src/react/testing/mocks/mockLink.ts | 2 +- src/utilities/declarations.d.ts | 1 - src/utilities/{ => graphql}/__tests__/directives.ts | 0 src/utilities/{ => graphql}/__tests__/fragments.ts | 0 src/utilities/{ => graphql}/__tests__/getFromAST.ts | 0 src/utilities/{ => graphql}/__tests__/storeUtils.ts | 0 src/utilities/{ => graphql}/__tests__/transform.ts | 0 src/utilities/{ => graphql}/directives.ts | 0 src/utilities/{ => graphql}/fragments.ts | 0 src/utilities/{ => graphql}/getFromAST.ts | 2 +- src/utilities/{ => graphql}/storeUtils.ts | 0 src/utilities/{ => graphql}/transform.ts | 2 +- 26 files changed, 34 insertions(+), 35 deletions(-) delete mode 100644 src/utilities/declarations.d.ts rename src/utilities/{ => graphql}/__tests__/directives.ts (100%) rename src/utilities/{ => graphql}/__tests__/fragments.ts (100%) rename src/utilities/{ => graphql}/__tests__/getFromAST.ts (100%) rename src/utilities/{ => graphql}/__tests__/storeUtils.ts (100%) rename src/utilities/{ => graphql}/__tests__/transform.ts (100%) rename src/utilities/{ => graphql}/directives.ts (100%) rename src/utilities/{ => graphql}/fragments.ts (100%) rename src/utilities/{ => graphql}/getFromAST.ts (99%) rename src/utilities/{ => graphql}/storeUtils.ts (100%) rename src/utilities/{ => graphql}/transform.ts (99%) diff --git a/src/__tests__/local-state/general.ts b/src/__tests__/local-state/general.ts index dafb04162cc..e2724130f04 100644 --- a/src/__tests__/local-state/general.ts +++ b/src/__tests__/local-state/general.ts @@ -8,7 +8,7 @@ import { Operation } from '../../link/core/types'; import { ApolloClient } from '../..'; import { ApolloCache } from '../../cache/core/cache'; import { InMemoryCache } from '../../cache/inmemory/inMemoryCache'; -import { hasDirectives } from '../../utilities/directives'; +import { hasDirectives } from '../../utilities/graphql/directives'; describe('General functionality', () => { it('should not impact normal non-@client use', () => { diff --git a/src/__tests__/optimistic.ts b/src/__tests__/optimistic.ts index b0b67f0abed..2f835b01635 100644 --- a/src/__tests__/optimistic.ts +++ b/src/__tests__/optimistic.ts @@ -7,7 +7,7 @@ import { mockSingleLink } from '../__mocks__/mockLinks'; import { MutationQueryReducersMap } from '../core/types'; import { Subscription } from '../util/Observable'; import { ApolloClient } from '../'; -import { addTypenameToDocument } from '../utilities/transform'; +import { addTypenameToDocument } from '../utilities/graphql/transform'; import { stripSymbols } from '../utilities/util/stripSymbols'; import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; import { makeReference } from '../cache/inmemory/helpers'; diff --git a/src/cache/core/cache.ts b/src/cache/core/cache.ts index b430448aa52..bfb6512a442 100644 --- a/src/cache/core/cache.ts +++ b/src/cache/core/cache.ts @@ -1,6 +1,6 @@ import { DocumentNode } from 'graphql'; -import { getFragmentQueryDocument } from '../../utilities/fragments'; +import { getFragmentQueryDocument } from '../../utilities/graphql/fragments'; import { DataProxy } from './types/DataProxy'; import { Cache } from './types/Cache'; import { justTypenameQuery, queryFromPojo, fragmentFromPojo } from './utils'; diff --git a/src/cache/inmemory/__tests__/writeToStore.ts b/src/cache/inmemory/__tests__/writeToStore.ts index 44d58d17b31..d1c251535b3 100644 --- a/src/cache/inmemory/__tests__/writeToStore.ts +++ b/src/cache/inmemory/__tests__/writeToStore.ts @@ -9,8 +9,8 @@ import { } from 'graphql'; import gql from 'graphql-tag'; -import { storeKeyNameFromField } from '../../../utilities/storeUtils'; -import { addTypenameToDocument } from '../../../utilities/transform'; +import { storeKeyNameFromField } from '../../../utilities/graphql/storeUtils'; +import { addTypenameToDocument } from '../../../utilities/graphql/transform'; import { cloneDeep } from '../../../utilities/util/cloneDeep'; import { StoreWriter } from '../writeToStore'; import { defaultNormalizedCacheFactory } from '../entityCache'; diff --git a/src/cache/inmemory/inMemoryCache.ts b/src/cache/inmemory/inMemoryCache.ts index 63db4d360ee..04c5836a5eb 100644 --- a/src/cache/inmemory/inMemoryCache.ts +++ b/src/cache/inmemory/inMemoryCache.ts @@ -7,7 +7,7 @@ import { KeyTrie } from 'optimism'; import { ApolloCache, Transaction } from '../core/cache'; import { Cache } from '../core/types/Cache'; -import { addTypenameToDocument } from '../../utilities/transform'; +import { addTypenameToDocument } from '../../utilities/graphql/transform'; import { canUseWeakMap } from '../../utilities/util/canUse'; import { ApolloReducerConfig, diff --git a/src/cache/inmemory/readFromStore.ts b/src/cache/inmemory/readFromStore.ts index b177cb2e626..c76d6013bf4 100644 --- a/src/cache/inmemory/readFromStore.ts +++ b/src/cache/inmemory/readFromStore.ts @@ -15,20 +15,20 @@ import { isInlineFragment, resultKeyNameFromField, StoreValue, -} from '../../utilities/storeUtils'; +} from '../../utilities/graphql/storeUtils'; import { canUseWeakMap } from '../../utilities/util/canUse'; -import { createFragmentMap, FragmentMap } from '../../utilities/fragments'; +import { createFragmentMap, FragmentMap } from '../../utilities/graphql/fragments'; import { DirectiveInfo, getDirectiveInfoFromField, shouldInclude, -} from '../../utilities/directives'; +} from '../../utilities/graphql/directives'; import { getDefaultValues, getFragmentDefinitions, getMainDefinition, getQueryDefinition, -} from '../../utilities/getFromAST'; +} from '../../utilities/graphql/getFromAST'; import { isEqual } from '../../utilities/util/isEqual'; import { maybeDeepFreeze } from '../../utilities/util/maybeDeepFreeze'; import { mergeDeepArray } from '../../utilities/util/mergeDeep'; diff --git a/src/cache/inmemory/types.ts b/src/cache/inmemory/types.ts index 8bacf514717..f2e8b2c920f 100644 --- a/src/cache/inmemory/types.ts +++ b/src/cache/inmemory/types.ts @@ -1,7 +1,7 @@ import { DocumentNode } from 'graphql'; import { Transaction } from '../core/cache'; -import { StoreValue } from '../../utilities/storeUtils'; +import { StoreValue } from '../../utilities/graphql/storeUtils'; export interface IdGetterObj extends Object { __typename?: string; diff --git a/src/cache/inmemory/writeToStore.ts b/src/cache/inmemory/writeToStore.ts index 64babd336e1..fa59df6a191 100644 --- a/src/cache/inmemory/writeToStore.ts +++ b/src/cache/inmemory/writeToStore.ts @@ -5,20 +5,20 @@ import { createFragmentMap, FragmentMap, getFragmentFromSelection, -} from '../../utilities/fragments'; +} from '../../utilities/graphql/fragments'; import { getDefaultValues, getFragmentDefinitions, getOperationDefinition, -} from '../../utilities/getFromAST'; +} from '../../utilities/graphql/getFromAST'; import { isField, resultKeyNameFromField, storeKeyNameFromField, StoreValue, getTypenameFromResult, -} from '../../utilities/storeUtils'; -import { shouldInclude } from '../../utilities/directives'; +} from '../../utilities/graphql/storeUtils'; +import { shouldInclude } from '../../utilities/graphql/directives'; import { DeepMerger } from '../../utilities/util/mergeDeep'; import { cloneDeep } from '../../utilities/util/cloneDeep'; import { defaultNormalizedCacheFactory } from './entityCache'; diff --git a/src/core/LocalState.ts b/src/core/LocalState.ts index b2f862343a1..f46faf649c5 100644 --- a/src/core/LocalState.ts +++ b/src/core/LocalState.ts @@ -16,20 +16,20 @@ import { ApolloCache } from '../cache/core/cache'; import { getMainDefinition, getFragmentDefinitions, -} from '../utilities/getFromAST'; -import { hasDirectives, shouldInclude } from '../utilities/directives'; -import { FragmentMap, createFragmentMap } from '../utilities/fragments'; +} from '../utilities/graphql/getFromAST'; +import { hasDirectives, shouldInclude } from '../utilities/graphql/directives'; +import { FragmentMap, createFragmentMap } from '../utilities/graphql/fragments'; import { buildQueryFromSelectionSet, removeClientSetsFromDocument, -} from '../utilities/transform'; +} from '../utilities/graphql/transform'; import { mergeDeep, mergeDeepArray } from '../utilities/util/mergeDeep'; import { argumentsObjectFromField, resultKeyNameFromField, isField, isInlineFragment, -} from '../utilities/storeUtils'; +} from '../utilities/graphql/storeUtils'; import { ApolloClient } from '../ApolloClient'; import { Resolvers, OperationVariables } from './types'; import { capitalizeFirstLetter } from '../util/capitalizeFirstLetter'; diff --git a/src/core/ObservableQuery.ts b/src/core/ObservableQuery.ts index e25c46974e8..ee1453f039c 100644 --- a/src/core/ObservableQuery.ts +++ b/src/core/ObservableQuery.ts @@ -4,7 +4,7 @@ import { invariant, InvariantError } from 'ts-invariant'; import { isEqual } from '../utilities/util/isEqual'; import { tryFunctionOrLogError } from '../utilities/util/errorHandling'; import { cloneDeep } from '../utilities/util/cloneDeep'; -import { getOperationDefinition } from '../utilities/getFromAST'; +import { getOperationDefinition } from '../utilities/graphql/getFromAST'; import { NetworkStatus, isNetworkRequestInFlight } from './networkStatus'; import { Observable, Observer, Subscription } from '../util/Observable'; import { ApolloError } from '../errors/ApolloError'; diff --git a/src/core/QueryManager.ts b/src/core/QueryManager.ts index 8e240cd3837..334282fc518 100644 --- a/src/core/QueryManager.ts +++ b/src/core/QueryManager.ts @@ -9,13 +9,13 @@ import { getDefaultValues, getOperationDefinition, getOperationName, -} from '../utilities/getFromAST'; +} from '../utilities/graphql/getFromAST'; import { hasDirectives, hasClientExports, -} from '../utilities/directives'; +} from '../utilities/graphql/directives'; import { graphQLResultHasError } from '../utilities/util/errorHandling'; -import { removeConnectionDirectiveFromDocument } from '../utilities/transform'; +import { removeConnectionDirectiveFromDocument } from '../utilities/graphql/transform'; import { canUseWeakMap } from '../utilities/util/canUse'; import { isApolloError, ApolloError } from '../errors/ApolloError'; import { Observer, Subscription, Observable } from '../util/Observable'; diff --git a/src/data/store.ts b/src/data/store.ts index 8ac30189cdb..db9ac8d6db7 100644 --- a/src/data/store.ts +++ b/src/data/store.ts @@ -4,7 +4,7 @@ import { ApolloCache } from '../cache/core/cache'; import { Cache } from '../cache/core/types/Cache'; import { DataProxy } from '../cache/core/types/DataProxy'; import { QueryStoreValue } from '../data/queries'; -import { getOperationName } from '../utilities/getFromAST'; +import { getOperationName } from '../utilities/graphql/getFromAST'; import { tryFunctionOrLogError, graphQLResultHasError, diff --git a/src/index.ts b/src/index.ts index 87428418323..15169be4464 100644 --- a/src/index.ts +++ b/src/index.ts @@ -101,11 +101,11 @@ export { ServerError, throwServerError } from './link/utils/throwServerError'; /* Utilities */ export { Observable } from './util/Observable'; -export * from './utilities/directives'; -export * from './utilities/fragments'; -export * from './utilities/getFromAST'; -export * from './utilities/transform'; -export * from './utilities/storeUtils'; +export * from './utilities/graphql/directives'; +export * from './utilities/graphql/fragments'; +export * from './utilities/graphql/getFromAST'; +export * from './utilities/graphql/transform'; +export * from './utilities/graphql/storeUtils'; export * from './utilities/util/assign'; export * from './utilities/util/canUse'; export * from './utilities/util/cloneDeep'; diff --git a/src/link/utils/transformOperation.ts b/src/link/utils/transformOperation.ts index 7fde936c120..c085fe3c910 100644 --- a/src/link/utils/transformOperation.ts +++ b/src/link/utils/transformOperation.ts @@ -1,5 +1,5 @@ import { GraphQLRequest, Operation } from '../core/types'; -import { getOperationName } from '../../utilities/getFromAST'; +import { getOperationName } from '../../utilities/graphql/getFromAST'; export function transformOperation(operation: GraphQLRequest): GraphQLRequest { const transformedOperation: GraphQLRequest = { diff --git a/src/react/testing/mocks/mockLink.ts b/src/react/testing/mocks/mockLink.ts index ada3c492a60..668949cc543 100644 --- a/src/react/testing/mocks/mockLink.ts +++ b/src/react/testing/mocks/mockLink.ts @@ -12,7 +12,7 @@ import { addTypenameToDocument, removeClientSetsFromDocument, removeConnectionDirectiveFromDocument, -} from '../../../utilities/transform'; +} from '../../../utilities/graphql/transform'; import { cloneDeep } from '../../../utilities/util/cloneDeep'; import { isEqual } from '../../../utilities/util/isEqual'; import { MockedResponse, ResultFunction } from './types'; diff --git a/src/utilities/declarations.d.ts b/src/utilities/declarations.d.ts deleted file mode 100644 index 695466556df..00000000000 --- a/src/utilities/declarations.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare module 'fast-json-stable-stringify'; diff --git a/src/utilities/__tests__/directives.ts b/src/utilities/graphql/__tests__/directives.ts similarity index 100% rename from src/utilities/__tests__/directives.ts rename to src/utilities/graphql/__tests__/directives.ts diff --git a/src/utilities/__tests__/fragments.ts b/src/utilities/graphql/__tests__/fragments.ts similarity index 100% rename from src/utilities/__tests__/fragments.ts rename to src/utilities/graphql/__tests__/fragments.ts diff --git a/src/utilities/__tests__/getFromAST.ts b/src/utilities/graphql/__tests__/getFromAST.ts similarity index 100% rename from src/utilities/__tests__/getFromAST.ts rename to src/utilities/graphql/__tests__/getFromAST.ts diff --git a/src/utilities/__tests__/storeUtils.ts b/src/utilities/graphql/__tests__/storeUtils.ts similarity index 100% rename from src/utilities/__tests__/storeUtils.ts rename to src/utilities/graphql/__tests__/storeUtils.ts diff --git a/src/utilities/__tests__/transform.ts b/src/utilities/graphql/__tests__/transform.ts similarity index 100% rename from src/utilities/__tests__/transform.ts rename to src/utilities/graphql/__tests__/transform.ts diff --git a/src/utilities/directives.ts b/src/utilities/graphql/directives.ts similarity index 100% rename from src/utilities/directives.ts rename to src/utilities/graphql/directives.ts diff --git a/src/utilities/fragments.ts b/src/utilities/graphql/fragments.ts similarity index 100% rename from src/utilities/fragments.ts rename to src/utilities/graphql/fragments.ts diff --git a/src/utilities/getFromAST.ts b/src/utilities/graphql/getFromAST.ts similarity index 99% rename from src/utilities/getFromAST.ts rename to src/utilities/graphql/getFromAST.ts index 84cc034ee72..769f444ab2d 100644 --- a/src/utilities/getFromAST.ts +++ b/src/utilities/graphql/getFromAST.ts @@ -7,7 +7,7 @@ import { import { invariant, InvariantError } from 'ts-invariant'; -import { assign } from './util/assign'; +import { assign } from '../util/assign'; import { valueToObjectRepresentation, JsonValue } from './storeUtils'; diff --git a/src/utilities/storeUtils.ts b/src/utilities/graphql/storeUtils.ts similarity index 100% rename from src/utilities/storeUtils.ts rename to src/utilities/graphql/storeUtils.ts diff --git a/src/utilities/transform.ts b/src/utilities/graphql/transform.ts similarity index 99% rename from src/utilities/transform.ts rename to src/utilities/graphql/transform.ts index 65d6fffcdc2..b786ae06a14 100644 --- a/src/utilities/transform.ts +++ b/src/utilities/graphql/transform.ts @@ -21,7 +21,7 @@ import { getFragmentDefinitions, getMainDefinition, } from './getFromAST'; -import { filterInPlace } from './util/filterInPlace'; +import { filterInPlace } from '../util/filterInPlace'; import { isField, isInlineFragment } from './storeUtils'; import { createFragmentMap, From 9d4e73100a083bf45cc889eeb35593d6de950e80 Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 07:34:02 -0400 Subject: [PATCH 06/26] Move common utilities into `utilities/common` --- src/__tests__/ApolloClient.ts | 2 +- src/__tests__/client.ts | 2 +- src/__tests__/optimistic.ts | 2 +- src/__tests__/subscribeToMore.ts | 2 +- src/cache/inmemory/__tests__/cache.ts | 4 ++-- src/cache/inmemory/__tests__/readFromStore.ts | 2 +- src/cache/inmemory/__tests__/writeToStore.ts | 2 +- src/cache/inmemory/inMemoryCache.ts | 2 +- src/cache/inmemory/readFromStore.ts | 8 ++++---- src/cache/inmemory/writeToStore.ts | 4 ++-- src/core/LocalState.ts | 2 +- src/core/ObservableQuery.ts | 6 +++--- src/core/QueryManager.ts | 4 ++-- src/core/__tests__/ObservableQuery.ts | 2 +- src/core/__tests__/QueryManager/index.ts | 2 +- src/core/__tests__/QueryManager/links.ts | 2 +- src/core/__tests__/QueryManager/live.ts | 2 +- .../__tests__/QueryManager/multiple-results.ts | 2 +- src/core/__tests__/QueryManager/recycler.ts | 2 +- src/core/__tests__/fetchPolicies.ts | 2 +- src/core/__tests__/scheduler.ts | 2 +- src/data/queries.ts | 2 +- src/data/store.ts | 2 +- src/index.ts | 18 +++++++++--------- src/react/testing/mocks/mockLink.ts | 4 ++-- .../{util => common}/__tests__/assign.ts | 0 .../{util => common}/__tests__/cloneDeep.ts | 0 .../{util => common}/__tests__/environment.ts | 0 .../{util => common}/__tests__/isEqual.ts | 0 .../__tests__/maybeDeepFeeze.ts | 0 .../{util => common}/__tests__/mergeDeep.ts | 0 .../{util => common}/__tests__/stripSymbols.ts | 0 src/utilities/{util => common}/assign.ts | 0 src/utilities/{util => common}/canUse.ts | 0 src/utilities/{util => common}/cloneDeep.ts | 0 src/utilities/{util => common}/environment.ts | 0 .../{util => common}/errorHandling.ts | 0 .../{util => common}/filterInPlace.ts | 0 src/utilities/{util => common}/isEqual.ts | 0 .../{util => common}/maybeDeepFreeze.ts | 0 src/utilities/{util => common}/mergeDeep.ts | 0 src/utilities/{util => common}/stripSymbols.ts | 0 src/utilities/graphql/getFromAST.ts | 2 +- src/utilities/graphql/transform.ts | 2 +- 44 files changed, 44 insertions(+), 44 deletions(-) rename src/utilities/{util => common}/__tests__/assign.ts (100%) rename src/utilities/{util => common}/__tests__/cloneDeep.ts (100%) rename src/utilities/{util => common}/__tests__/environment.ts (100%) rename src/utilities/{util => common}/__tests__/isEqual.ts (100%) rename src/utilities/{util => common}/__tests__/maybeDeepFeeze.ts (100%) rename src/utilities/{util => common}/__tests__/mergeDeep.ts (100%) rename src/utilities/{util => common}/__tests__/stripSymbols.ts (100%) rename src/utilities/{util => common}/assign.ts (100%) rename src/utilities/{util => common}/canUse.ts (100%) rename src/utilities/{util => common}/cloneDeep.ts (100%) rename src/utilities/{util => common}/environment.ts (100%) rename src/utilities/{util => common}/errorHandling.ts (100%) rename src/utilities/{util => common}/filterInPlace.ts (100%) rename src/utilities/{util => common}/isEqual.ts (100%) rename src/utilities/{util => common}/maybeDeepFreeze.ts (100%) rename src/utilities/{util => common}/mergeDeep.ts (100%) rename src/utilities/{util => common}/stripSymbols.ts (100%) diff --git a/src/__tests__/ApolloClient.ts b/src/__tests__/ApolloClient.ts index 4cdc19eb963..f3e30baff17 100644 --- a/src/__tests__/ApolloClient.ts +++ b/src/__tests__/ApolloClient.ts @@ -5,7 +5,7 @@ import { ApolloLink } from '../link/core/ApolloLink'; import { HttpLink } from '../link/http/HttpLink'; import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; import { makeReference } from '../cache/inmemory/helpers'; -import { stripSymbols } from '../utilities/util/stripSymbols'; +import { stripSymbols } from '../utilities/common/stripSymbols'; import { withWarning } from '../util/wrap'; import { ApolloClient } from '../'; import { DefaultOptions } from '../ApolloClient'; diff --git a/src/__tests__/client.ts b/src/__tests__/client.ts index 83dd357f702..3962df5f6e7 100644 --- a/src/__tests__/client.ts +++ b/src/__tests__/client.ts @@ -6,7 +6,7 @@ import { Observable } from '../util/Observable'; import { ApolloLink } from '../link/core/ApolloLink'; import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; import { PossibleTypesMap } from '../cache/inmemory/types'; -import { stripSymbols } from '../utilities/util/stripSymbols'; +import { stripSymbols } from '../utilities/common/stripSymbols'; import { WatchQueryOptions, FetchPolicy } from '../core/watchQueryOptions'; import { ApolloError } from '../errors/ApolloError'; import { ApolloClient } from '..'; diff --git a/src/__tests__/optimistic.ts b/src/__tests__/optimistic.ts index 2f835b01635..55a388243e2 100644 --- a/src/__tests__/optimistic.ts +++ b/src/__tests__/optimistic.ts @@ -8,7 +8,7 @@ import { MutationQueryReducersMap } from '../core/types'; import { Subscription } from '../util/Observable'; import { ApolloClient } from '../'; import { addTypenameToDocument } from '../utilities/graphql/transform'; -import { stripSymbols } from '../utilities/util/stripSymbols'; +import { stripSymbols } from '../utilities/common/stripSymbols'; import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; import { makeReference } from '../cache/inmemory/helpers'; diff --git a/src/__tests__/subscribeToMore.ts b/src/__tests__/subscribeToMore.ts index 272473c05bd..0d05413c8dc 100644 --- a/src/__tests__/subscribeToMore.ts +++ b/src/__tests__/subscribeToMore.ts @@ -6,7 +6,7 @@ import { Operation } from '../link/core/types'; import { mockSingleLink, mockObservableLink } from '../__mocks__/mockLinks'; import { ApolloClient } from '../'; import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; -import { stripSymbols } from '../utilities/util/stripSymbols'; +import { stripSymbols } from '../utilities/common/stripSymbols'; const isSub = (operation: Operation) => (operation.query as DocumentNode).definitions diff --git a/src/cache/inmemory/__tests__/cache.ts b/src/cache/inmemory/__tests__/cache.ts index 5b7456ed608..220a9320847 100644 --- a/src/cache/inmemory/__tests__/cache.ts +++ b/src/cache/inmemory/__tests__/cache.ts @@ -1,7 +1,7 @@ import gql, { disableFragmentWarnings } from 'graphql-tag'; -import { stripSymbols } from '../../../utilities/util/stripSymbols'; -import { cloneDeep } from '../../../utilities/util/cloneDeep'; +import { stripSymbols } from '../../../utilities/common/stripSymbols'; +import { cloneDeep } from '../../../utilities/common/cloneDeep'; import { InMemoryCache, InMemoryCacheConfig } from '../inMemoryCache'; import { makeReference } from '../helpers'; diff --git a/src/cache/inmemory/__tests__/readFromStore.ts b/src/cache/inmemory/__tests__/readFromStore.ts index edfe9bc364c..fd74e589d7b 100644 --- a/src/cache/inmemory/__tests__/readFromStore.ts +++ b/src/cache/inmemory/__tests__/readFromStore.ts @@ -1,7 +1,7 @@ import { assign, omit } from 'lodash'; import gql from 'graphql-tag'; -import { stripSymbols } from '../../../utilities/util/stripSymbols'; +import { stripSymbols } from '../../../utilities/common/stripSymbols'; import { StoreObject } from '../types'; import { StoreReader } from '../readFromStore'; import { defaultNormalizedCacheFactory } from '../entityCache'; diff --git a/src/cache/inmemory/__tests__/writeToStore.ts b/src/cache/inmemory/__tests__/writeToStore.ts index d1c251535b3..992b1442ee4 100644 --- a/src/cache/inmemory/__tests__/writeToStore.ts +++ b/src/cache/inmemory/__tests__/writeToStore.ts @@ -11,7 +11,7 @@ import gql from 'graphql-tag'; import { storeKeyNameFromField } from '../../../utilities/graphql/storeUtils'; import { addTypenameToDocument } from '../../../utilities/graphql/transform'; -import { cloneDeep } from '../../../utilities/util/cloneDeep'; +import { cloneDeep } from '../../../utilities/common/cloneDeep'; import { StoreWriter } from '../writeToStore'; import { defaultNormalizedCacheFactory } from '../entityCache'; import { makeReference } from '../helpers'; diff --git a/src/cache/inmemory/inMemoryCache.ts b/src/cache/inmemory/inMemoryCache.ts index 04c5836a5eb..237bf38415a 100644 --- a/src/cache/inmemory/inMemoryCache.ts +++ b/src/cache/inmemory/inMemoryCache.ts @@ -8,7 +8,7 @@ import { KeyTrie } from 'optimism'; import { ApolloCache, Transaction } from '../core/cache'; import { Cache } from '../core/types/Cache'; import { addTypenameToDocument } from '../../utilities/graphql/transform'; -import { canUseWeakMap } from '../../utilities/util/canUse'; +import { canUseWeakMap } from '../../utilities/common/canUse'; import { ApolloReducerConfig, NormalizedCacheObject, diff --git a/src/cache/inmemory/readFromStore.ts b/src/cache/inmemory/readFromStore.ts index c76d6013bf4..5c86f6b8cf6 100644 --- a/src/cache/inmemory/readFromStore.ts +++ b/src/cache/inmemory/readFromStore.ts @@ -16,7 +16,7 @@ import { resultKeyNameFromField, StoreValue, } from '../../utilities/graphql/storeUtils'; -import { canUseWeakMap } from '../../utilities/util/canUse'; +import { canUseWeakMap } from '../../utilities/common/canUse'; import { createFragmentMap, FragmentMap } from '../../utilities/graphql/fragments'; import { DirectiveInfo, @@ -29,9 +29,9 @@ import { getMainDefinition, getQueryDefinition, } from '../../utilities/graphql/getFromAST'; -import { isEqual } from '../../utilities/util/isEqual'; -import { maybeDeepFreeze } from '../../utilities/util/maybeDeepFreeze'; -import { mergeDeepArray } from '../../utilities/util/mergeDeep'; +import { isEqual } from '../../utilities/common/isEqual'; +import { maybeDeepFreeze } from '../../utilities/common/maybeDeepFreeze'; +import { mergeDeepArray } from '../../utilities/common/mergeDeep'; import { Cache } from '../core/types/Cache'; import { ReadStoreContext, diff --git a/src/cache/inmemory/writeToStore.ts b/src/cache/inmemory/writeToStore.ts index fa59df6a191..38358b27fda 100644 --- a/src/cache/inmemory/writeToStore.ts +++ b/src/cache/inmemory/writeToStore.ts @@ -19,8 +19,8 @@ import { getTypenameFromResult, } from '../../utilities/graphql/storeUtils'; import { shouldInclude } from '../../utilities/graphql/directives'; -import { DeepMerger } from '../../utilities/util/mergeDeep'; -import { cloneDeep } from '../../utilities/util/cloneDeep'; +import { DeepMerger } from '../../utilities/common/mergeDeep'; +import { cloneDeep } from '../../utilities/common/cloneDeep'; import { defaultNormalizedCacheFactory } from './entityCache'; import { IdGetter, NormalizedCache, StoreObject } from './types'; import { fragmentMatches } from './fragments'; diff --git a/src/core/LocalState.ts b/src/core/LocalState.ts index f46faf649c5..8cd8c309697 100644 --- a/src/core/LocalState.ts +++ b/src/core/LocalState.ts @@ -23,7 +23,7 @@ import { buildQueryFromSelectionSet, removeClientSetsFromDocument, } from '../utilities/graphql/transform'; -import { mergeDeep, mergeDeepArray } from '../utilities/util/mergeDeep'; +import { mergeDeep, mergeDeepArray } from '../utilities/common/mergeDeep'; import { argumentsObjectFromField, resultKeyNameFromField, diff --git a/src/core/ObservableQuery.ts b/src/core/ObservableQuery.ts index ee1453f039c..83058e57482 100644 --- a/src/core/ObservableQuery.ts +++ b/src/core/ObservableQuery.ts @@ -1,9 +1,9 @@ import { GraphQLError } from 'graphql'; import { invariant, InvariantError } from 'ts-invariant'; -import { isEqual } from '../utilities/util/isEqual'; -import { tryFunctionOrLogError } from '../utilities/util/errorHandling'; -import { cloneDeep } from '../utilities/util/cloneDeep'; +import { isEqual } from '../utilities/common/isEqual'; +import { tryFunctionOrLogError } from '../utilities/common/errorHandling'; +import { cloneDeep } from '../utilities/common/cloneDeep'; import { getOperationDefinition } from '../utilities/graphql/getFromAST'; import { NetworkStatus, isNetworkRequestInFlight } from './networkStatus'; import { Observable, Observer, Subscription } from '../util/Observable'; diff --git a/src/core/QueryManager.ts b/src/core/QueryManager.ts index 334282fc518..49afeae97c1 100644 --- a/src/core/QueryManager.ts +++ b/src/core/QueryManager.ts @@ -14,9 +14,9 @@ import { hasDirectives, hasClientExports, } from '../utilities/graphql/directives'; -import { graphQLResultHasError } from '../utilities/util/errorHandling'; +import { graphQLResultHasError } from '../utilities/common/errorHandling'; import { removeConnectionDirectiveFromDocument } from '../utilities/graphql/transform'; -import { canUseWeakMap } from '../utilities/util/canUse'; +import { canUseWeakMap } from '../utilities/common/canUse'; import { isApolloError, ApolloError } from '../errors/ApolloError'; import { Observer, Subscription, Observable } from '../util/Observable'; import { QueryWithUpdater, DataStore } from '../data/store'; diff --git a/src/core/__tests__/ObservableQuery.ts b/src/core/__tests__/ObservableQuery.ts index 4bd3b07630a..fb2a8a7d0c1 100644 --- a/src/core/__tests__/ObservableQuery.ts +++ b/src/core/__tests__/ObservableQuery.ts @@ -16,7 +16,7 @@ import { ApolloClient } from '../../'; import wrap from '../../util/wrap'; import subscribeAndCount from '../../__tests__/utils/subscribeAndCount'; -import { stripSymbols } from '../../utilities/util/stripSymbols'; +import { stripSymbols } from '../../utilities/common/stripSymbols'; import { ApolloError } from '../../errors/ApolloError'; describe('ObservableQuery', () => { diff --git a/src/core/__tests__/QueryManager/index.ts b/src/core/__tests__/QueryManager/index.ts index 47f49af2138..23537c3a32c 100644 --- a/src/core/__tests__/QueryManager/index.ts +++ b/src/core/__tests__/QueryManager/index.ts @@ -37,7 +37,7 @@ import wrap from '../../../util/wrap'; import observableToPromise, { observableToPromiseAndSubscription, } from '../../../util/observableToPromise'; -import { stripSymbols } from '../../../utilities/util/stripSymbols'; +import { stripSymbols } from '../../../utilities/common/stripSymbols'; describe('QueryManager', () => { // Standard "get id from object" method. diff --git a/src/core/__tests__/QueryManager/links.ts b/src/core/__tests__/QueryManager/links.ts index 2eac60fd37f..a2c53e3c13b 100644 --- a/src/core/__tests__/QueryManager/links.ts +++ b/src/core/__tests__/QueryManager/links.ts @@ -4,7 +4,7 @@ import gql from 'graphql-tag'; import { Observable } from '../../../util/Observable'; import { ApolloLink } from '../../../link/core/ApolloLink'; import { InMemoryCache } from '../../../cache/inmemory/inMemoryCache'; -import { stripSymbols } from '../../../utilities/util/stripSymbols'; +import { stripSymbols } from '../../../utilities/common/stripSymbols'; // mocks import { MockSubscriptionLink } from '../../../__mocks__/mockLinks'; diff --git a/src/core/__tests__/QueryManager/live.ts b/src/core/__tests__/QueryManager/live.ts index b81bdc77b40..e46cf20bc6d 100644 --- a/src/core/__tests__/QueryManager/live.ts +++ b/src/core/__tests__/QueryManager/live.ts @@ -7,7 +7,7 @@ // externals import gql from 'graphql-tag'; import { InMemoryCache } from '../../../cache/inmemory/inMemoryCache'; -import { stripSymbols } from '../../../utilities/util/stripSymbols'; +import { stripSymbols } from '../../../utilities/common/stripSymbols'; import { MockSubscriptionLink } from '../../../__mocks__/mockLinks'; // core diff --git a/src/core/__tests__/QueryManager/multiple-results.ts b/src/core/__tests__/QueryManager/multiple-results.ts index 23fb951b9a0..38f1067ba89 100644 --- a/src/core/__tests__/QueryManager/multiple-results.ts +++ b/src/core/__tests__/QueryManager/multiple-results.ts @@ -1,7 +1,7 @@ // externals import gql from 'graphql-tag'; import { InMemoryCache } from '../../../cache/inmemory/inMemoryCache'; -import { stripSymbols } from '../../../utilities/util/stripSymbols'; +import { stripSymbols } from '../../../utilities/common/stripSymbols'; // mocks import { MockSubscriptionLink } from '../../../__mocks__/mockLinks'; diff --git a/src/core/__tests__/QueryManager/recycler.ts b/src/core/__tests__/QueryManager/recycler.ts index 2dbb4f0dd54..9a01aa76ae9 100644 --- a/src/core/__tests__/QueryManager/recycler.ts +++ b/src/core/__tests__/QueryManager/recycler.ts @@ -7,7 +7,7 @@ // externals import gql from 'graphql-tag'; import { InMemoryCache } from '../../../cache/inmemory/inMemoryCache'; -import { stripSymbols } from '../../../utilities/util/stripSymbols'; +import { stripSymbols } from '../../../utilities/common/stripSymbols'; import { MockSubscriptionLink } from '../../../__mocks__/mockLinks'; // core diff --git a/src/core/__tests__/fetchPolicies.ts b/src/core/__tests__/fetchPolicies.ts index c0280e5e09b..69c0fbe5af9 100644 --- a/src/core/__tests__/fetchPolicies.ts +++ b/src/core/__tests__/fetchPolicies.ts @@ -2,7 +2,7 @@ import gql from 'graphql-tag'; import { ApolloLink } from '../../link/core/ApolloLink'; import { InMemoryCache } from '../../cache/inmemory/inMemoryCache'; -import { stripSymbols } from '../../utilities/util/stripSymbols'; +import { stripSymbols } from '../../utilities/common/stripSymbols'; import { ApolloClient } from '../..'; import subscribeAndCount from '../../__tests__/utils/subscribeAndCount'; import { mockSingleLink } from '../../__mocks__/mockLinks'; diff --git a/src/core/__tests__/scheduler.ts b/src/core/__tests__/scheduler.ts index 0a34dfb7662..440469d5fc6 100644 --- a/src/core/__tests__/scheduler.ts +++ b/src/core/__tests__/scheduler.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { InMemoryCache } from '../../cache/inmemory/inMemoryCache'; -import { stripSymbols } from '../../utilities/util/stripSymbols'; +import { stripSymbols } from '../../utilities/common/stripSymbols'; import { QueryManager } from '../QueryManager'; import { WatchQueryOptions } from '../../core/watchQueryOptions'; diff --git a/src/data/queries.ts b/src/data/queries.ts index 73123d583c9..3fe9400cee2 100644 --- a/src/data/queries.ts +++ b/src/data/queries.ts @@ -1,7 +1,7 @@ import { DocumentNode, GraphQLError, ExecutionResult } from 'graphql'; import { invariant } from 'ts-invariant'; -import { isEqual } from '../utilities/util/isEqual'; +import { isEqual } from '../utilities/common/isEqual'; import { NetworkStatus } from '../core/networkStatus'; import { isNonEmptyArray } from '../util/arrays'; diff --git a/src/data/store.ts b/src/data/store.ts index db9ac8d6db7..4f5b45d8fd9 100644 --- a/src/data/store.ts +++ b/src/data/store.ts @@ -8,7 +8,7 @@ import { getOperationName } from '../utilities/graphql/getFromAST'; import { tryFunctionOrLogError, graphQLResultHasError, -} from '../utilities/util/errorHandling'; +} from '../utilities/common/errorHandling'; import { MutationQueryReducer } from '../core/types'; export type QueryWithUpdater = { diff --git a/src/index.ts b/src/index.ts index 15169be4464..c7fa9d45263 100644 --- a/src/index.ts +++ b/src/index.ts @@ -106,12 +106,12 @@ export * from './utilities/graphql/fragments'; export * from './utilities/graphql/getFromAST'; export * from './utilities/graphql/transform'; export * from './utilities/graphql/storeUtils'; -export * from './utilities/util/assign'; -export * from './utilities/util/canUse'; -export * from './utilities/util/cloneDeep'; -export * from './utilities/util/environment'; -export * from './utilities/util/errorHandling'; -export * from './utilities/util/isEqual'; -export * from './utilities/util/maybeDeepFreeze'; -export * from './utilities/util/mergeDeep'; -export * from './utilities/util/stripSymbols'; +export * from './utilities/common/assign'; +export * from './utilities/common/canUse'; +export * from './utilities/common/cloneDeep'; +export * from './utilities/common/environment'; +export * from './utilities/common/errorHandling'; +export * from './utilities/common/isEqual'; +export * from './utilities/common/maybeDeepFreeze'; +export * from './utilities/common/mergeDeep'; +export * from './utilities/common/stripSymbols'; diff --git a/src/react/testing/mocks/mockLink.ts b/src/react/testing/mocks/mockLink.ts index 668949cc543..50dc865cdba 100644 --- a/src/react/testing/mocks/mockLink.ts +++ b/src/react/testing/mocks/mockLink.ts @@ -13,8 +13,8 @@ import { removeClientSetsFromDocument, removeConnectionDirectiveFromDocument, } from '../../../utilities/graphql/transform'; -import { cloneDeep } from '../../../utilities/util/cloneDeep'; -import { isEqual } from '../../../utilities/util/isEqual'; +import { cloneDeep } from '../../../utilities/common/cloneDeep'; +import { isEqual } from '../../../utilities/common/isEqual'; import { MockedResponse, ResultFunction } from './types'; function requestToKey(request: GraphQLRequest, addTypename: Boolean): string { diff --git a/src/utilities/util/__tests__/assign.ts b/src/utilities/common/__tests__/assign.ts similarity index 100% rename from src/utilities/util/__tests__/assign.ts rename to src/utilities/common/__tests__/assign.ts diff --git a/src/utilities/util/__tests__/cloneDeep.ts b/src/utilities/common/__tests__/cloneDeep.ts similarity index 100% rename from src/utilities/util/__tests__/cloneDeep.ts rename to src/utilities/common/__tests__/cloneDeep.ts diff --git a/src/utilities/util/__tests__/environment.ts b/src/utilities/common/__tests__/environment.ts similarity index 100% rename from src/utilities/util/__tests__/environment.ts rename to src/utilities/common/__tests__/environment.ts diff --git a/src/utilities/util/__tests__/isEqual.ts b/src/utilities/common/__tests__/isEqual.ts similarity index 100% rename from src/utilities/util/__tests__/isEqual.ts rename to src/utilities/common/__tests__/isEqual.ts diff --git a/src/utilities/util/__tests__/maybeDeepFeeze.ts b/src/utilities/common/__tests__/maybeDeepFeeze.ts similarity index 100% rename from src/utilities/util/__tests__/maybeDeepFeeze.ts rename to src/utilities/common/__tests__/maybeDeepFeeze.ts diff --git a/src/utilities/util/__tests__/mergeDeep.ts b/src/utilities/common/__tests__/mergeDeep.ts similarity index 100% rename from src/utilities/util/__tests__/mergeDeep.ts rename to src/utilities/common/__tests__/mergeDeep.ts diff --git a/src/utilities/util/__tests__/stripSymbols.ts b/src/utilities/common/__tests__/stripSymbols.ts similarity index 100% rename from src/utilities/util/__tests__/stripSymbols.ts rename to src/utilities/common/__tests__/stripSymbols.ts diff --git a/src/utilities/util/assign.ts b/src/utilities/common/assign.ts similarity index 100% rename from src/utilities/util/assign.ts rename to src/utilities/common/assign.ts diff --git a/src/utilities/util/canUse.ts b/src/utilities/common/canUse.ts similarity index 100% rename from src/utilities/util/canUse.ts rename to src/utilities/common/canUse.ts diff --git a/src/utilities/util/cloneDeep.ts b/src/utilities/common/cloneDeep.ts similarity index 100% rename from src/utilities/util/cloneDeep.ts rename to src/utilities/common/cloneDeep.ts diff --git a/src/utilities/util/environment.ts b/src/utilities/common/environment.ts similarity index 100% rename from src/utilities/util/environment.ts rename to src/utilities/common/environment.ts diff --git a/src/utilities/util/errorHandling.ts b/src/utilities/common/errorHandling.ts similarity index 100% rename from src/utilities/util/errorHandling.ts rename to src/utilities/common/errorHandling.ts diff --git a/src/utilities/util/filterInPlace.ts b/src/utilities/common/filterInPlace.ts similarity index 100% rename from src/utilities/util/filterInPlace.ts rename to src/utilities/common/filterInPlace.ts diff --git a/src/utilities/util/isEqual.ts b/src/utilities/common/isEqual.ts similarity index 100% rename from src/utilities/util/isEqual.ts rename to src/utilities/common/isEqual.ts diff --git a/src/utilities/util/maybeDeepFreeze.ts b/src/utilities/common/maybeDeepFreeze.ts similarity index 100% rename from src/utilities/util/maybeDeepFreeze.ts rename to src/utilities/common/maybeDeepFreeze.ts diff --git a/src/utilities/util/mergeDeep.ts b/src/utilities/common/mergeDeep.ts similarity index 100% rename from src/utilities/util/mergeDeep.ts rename to src/utilities/common/mergeDeep.ts diff --git a/src/utilities/util/stripSymbols.ts b/src/utilities/common/stripSymbols.ts similarity index 100% rename from src/utilities/util/stripSymbols.ts rename to src/utilities/common/stripSymbols.ts diff --git a/src/utilities/graphql/getFromAST.ts b/src/utilities/graphql/getFromAST.ts index 769f444ab2d..906ec3f8098 100644 --- a/src/utilities/graphql/getFromAST.ts +++ b/src/utilities/graphql/getFromAST.ts @@ -7,7 +7,7 @@ import { import { invariant, InvariantError } from 'ts-invariant'; -import { assign } from '../util/assign'; +import { assign } from '../common/assign'; import { valueToObjectRepresentation, JsonValue } from './storeUtils'; diff --git a/src/utilities/graphql/transform.ts b/src/utilities/graphql/transform.ts index b786ae06a14..b63ed2680d6 100644 --- a/src/utilities/graphql/transform.ts +++ b/src/utilities/graphql/transform.ts @@ -21,7 +21,7 @@ import { getFragmentDefinitions, getMainDefinition, } from './getFromAST'; -import { filterInPlace } from '../util/filterInPlace'; +import { filterInPlace } from '../common/filterInPlace'; import { isField, isInlineFragment } from './storeUtils'; import { createFragmentMap, From 34c7f47ee7d5a6a4aaa2054d21e49063caecfdba Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 07:34:48 -0400 Subject: [PATCH 07/26] Stop exporting the `assign` utility (meant for internal use) --- src/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index c7fa9d45263..3f548da01d4 100644 --- a/src/index.ts +++ b/src/index.ts @@ -106,7 +106,6 @@ export * from './utilities/graphql/fragments'; export * from './utilities/graphql/getFromAST'; export * from './utilities/graphql/transform'; export * from './utilities/graphql/storeUtils'; -export * from './utilities/common/assign'; export * from './utilities/common/canUse'; export * from './utilities/common/cloneDeep'; export * from './utilities/common/environment'; From b297e37ddd008030848cde67867e7a780b98c968 Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 07:36:04 -0400 Subject: [PATCH 08/26] Stop exporting the `canUseWeakMap` utility (meant for internal use) --- src/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 3f548da01d4..6371b98ca2e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -106,7 +106,6 @@ export * from './utilities/graphql/fragments'; export * from './utilities/graphql/getFromAST'; export * from './utilities/graphql/transform'; export * from './utilities/graphql/storeUtils'; -export * from './utilities/common/canUse'; export * from './utilities/common/cloneDeep'; export * from './utilities/common/environment'; export * from './utilities/common/errorHandling'; From 96e9d25271e86bd2347c1485a164fbabdc7402a6 Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 07:37:03 -0400 Subject: [PATCH 09/26] Stop exporting the `cloneDeep` utility (meant for internal use) --- src/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 6371b98ca2e..2df5921aed3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -106,7 +106,6 @@ export * from './utilities/graphql/fragments'; export * from './utilities/graphql/getFromAST'; export * from './utilities/graphql/transform'; export * from './utilities/graphql/storeUtils'; -export * from './utilities/common/cloneDeep'; export * from './utilities/common/environment'; export * from './utilities/common/errorHandling'; export * from './utilities/common/isEqual'; From 5db7b40c517cb48759bf80f771b7e05041fb0a3b Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 07:38:28 -0400 Subject: [PATCH 10/26] Stop exporting `environment` utilities (meant for internal use) --- src/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 2df5921aed3..f4fed7e4231 100644 --- a/src/index.ts +++ b/src/index.ts @@ -106,7 +106,6 @@ export * from './utilities/graphql/fragments'; export * from './utilities/graphql/getFromAST'; export * from './utilities/graphql/transform'; export * from './utilities/graphql/storeUtils'; -export * from './utilities/common/environment'; export * from './utilities/common/errorHandling'; export * from './utilities/common/isEqual'; export * from './utilities/common/maybeDeepFreeze'; From 41ef5dd369dd928cf88e3013aa4605ec1cb2262e Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 07:40:00 -0400 Subject: [PATCH 11/26] Stop exporting the `errorHandling` utilities (meant for internal use) --- src/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index f4fed7e4231..6ef5a2fe61b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -106,7 +106,6 @@ export * from './utilities/graphql/fragments'; export * from './utilities/graphql/getFromAST'; export * from './utilities/graphql/transform'; export * from './utilities/graphql/storeUtils'; -export * from './utilities/common/errorHandling'; export * from './utilities/common/isEqual'; export * from './utilities/common/maybeDeepFreeze'; export * from './utilities/common/mergeDeep'; From 83e265c7ebb83b5358da39a282291422c091c9ff Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 07:41:11 -0400 Subject: [PATCH 12/26] Stop exporting the `isEqual` utility (meant for internal use) --- src/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 6ef5a2fe61b..1255b3d0488 100644 --- a/src/index.ts +++ b/src/index.ts @@ -106,7 +106,6 @@ export * from './utilities/graphql/fragments'; export * from './utilities/graphql/getFromAST'; export * from './utilities/graphql/transform'; export * from './utilities/graphql/storeUtils'; -export * from './utilities/common/isEqual'; export * from './utilities/common/maybeDeepFreeze'; export * from './utilities/common/mergeDeep'; export * from './utilities/common/stripSymbols'; From 836a38d9a93e9f3166832bee90b59ca3093315e2 Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 07:41:57 -0400 Subject: [PATCH 13/26] Stop exporting the `maybeDeepFreeze` utility (meant for internal use) --- src/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 1255b3d0488..3016f9420b4 100644 --- a/src/index.ts +++ b/src/index.ts @@ -106,6 +106,5 @@ export * from './utilities/graphql/fragments'; export * from './utilities/graphql/getFromAST'; export * from './utilities/graphql/transform'; export * from './utilities/graphql/storeUtils'; -export * from './utilities/common/maybeDeepFreeze'; export * from './utilities/common/mergeDeep'; export * from './utilities/common/stripSymbols'; From bf9161e0bfe935017dc6ba70ccde1159c7e603df Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 07:42:48 -0400 Subject: [PATCH 14/26] Stop exporting the `mergeDeep` utilities (meant for internal use) --- src/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 3016f9420b4..2945e0a7530 100644 --- a/src/index.ts +++ b/src/index.ts @@ -106,5 +106,4 @@ export * from './utilities/graphql/fragments'; export * from './utilities/graphql/getFromAST'; export * from './utilities/graphql/transform'; export * from './utilities/graphql/storeUtils'; -export * from './utilities/common/mergeDeep'; export * from './utilities/common/stripSymbols'; From 0ce921b32cf72e7b85cebc93dfafefbc1c377ab8 Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 07:43:41 -0400 Subject: [PATCH 15/26] Stop exporting the `stripSymbols` utility (meant for internal use) --- src/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 2945e0a7530..3826f26224c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -106,4 +106,3 @@ export * from './utilities/graphql/fragments'; export * from './utilities/graphql/getFromAST'; export * from './utilities/graphql/transform'; export * from './utilities/graphql/storeUtils'; -export * from './utilities/common/stripSymbols'; From db29456bca0a0c5eda5455d565d6d095f057c763 Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 07:55:19 -0400 Subject: [PATCH 16/26] Move test only `stripSymbols` utility out of the main bundle --- src/__tests__/ApolloClient.ts | 2 +- src/__tests__/client.ts | 2 +- src/__tests__/optimistic.ts | 2 +- src/{utilities/common => }/__tests__/stripSymbols.ts | 2 +- src/__tests__/subscribeToMore.ts | 2 +- src/{utilities/common => __tests__/utils}/stripSymbols.ts | 0 src/cache/inmemory/__tests__/cache.ts | 2 +- src/cache/inmemory/__tests__/readFromStore.ts | 2 +- src/core/__tests__/ObservableQuery.ts | 2 +- src/core/__tests__/QueryManager/index.ts | 2 +- src/core/__tests__/QueryManager/links.ts | 2 +- src/core/__tests__/QueryManager/live.ts | 2 +- src/core/__tests__/QueryManager/multiple-results.ts | 2 +- src/core/__tests__/QueryManager/recycler.ts | 2 +- src/core/__tests__/fetchPolicies.ts | 2 +- src/core/__tests__/scheduler.ts | 2 +- 16 files changed, 15 insertions(+), 15 deletions(-) rename src/{utilities/common => }/__tests__/stripSymbols.ts (86%) rename src/{utilities/common => __tests__/utils}/stripSymbols.ts (100%) diff --git a/src/__tests__/ApolloClient.ts b/src/__tests__/ApolloClient.ts index f3e30baff17..400bc2ead8b 100644 --- a/src/__tests__/ApolloClient.ts +++ b/src/__tests__/ApolloClient.ts @@ -5,7 +5,7 @@ import { ApolloLink } from '../link/core/ApolloLink'; import { HttpLink } from '../link/http/HttpLink'; import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; import { makeReference } from '../cache/inmemory/helpers'; -import { stripSymbols } from '../utilities/common/stripSymbols'; +import { stripSymbols } from './utils/stripSymbols'; import { withWarning } from '../util/wrap'; import { ApolloClient } from '../'; import { DefaultOptions } from '../ApolloClient'; diff --git a/src/__tests__/client.ts b/src/__tests__/client.ts index 3962df5f6e7..cab26dc7c6e 100644 --- a/src/__tests__/client.ts +++ b/src/__tests__/client.ts @@ -6,7 +6,7 @@ import { Observable } from '../util/Observable'; import { ApolloLink } from '../link/core/ApolloLink'; import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; import { PossibleTypesMap } from '../cache/inmemory/types'; -import { stripSymbols } from '../utilities/common/stripSymbols'; +import { stripSymbols } from './utils/stripSymbols'; import { WatchQueryOptions, FetchPolicy } from '../core/watchQueryOptions'; import { ApolloError } from '../errors/ApolloError'; import { ApolloClient } from '..'; diff --git a/src/__tests__/optimistic.ts b/src/__tests__/optimistic.ts index 55a388243e2..dc445e609c4 100644 --- a/src/__tests__/optimistic.ts +++ b/src/__tests__/optimistic.ts @@ -8,7 +8,7 @@ import { MutationQueryReducersMap } from '../core/types'; import { Subscription } from '../util/Observable'; import { ApolloClient } from '../'; import { addTypenameToDocument } from '../utilities/graphql/transform'; -import { stripSymbols } from '../utilities/common/stripSymbols'; +import { stripSymbols } from './utils/stripSymbols'; import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; import { makeReference } from '../cache/inmemory/helpers'; diff --git a/src/utilities/common/__tests__/stripSymbols.ts b/src/__tests__/stripSymbols.ts similarity index 86% rename from src/utilities/common/__tests__/stripSymbols.ts rename to src/__tests__/stripSymbols.ts index fd5594b89ef..7db611c1018 100644 --- a/src/utilities/common/__tests__/stripSymbols.ts +++ b/src/__tests__/stripSymbols.ts @@ -1,4 +1,4 @@ -import { stripSymbols } from '../stripSymbols'; +import { stripSymbols } from './utils/stripSymbols'; interface SymbolConstructor { (description?: string | number): symbol; diff --git a/src/__tests__/subscribeToMore.ts b/src/__tests__/subscribeToMore.ts index 0d05413c8dc..b0056257e6f 100644 --- a/src/__tests__/subscribeToMore.ts +++ b/src/__tests__/subscribeToMore.ts @@ -6,7 +6,7 @@ import { Operation } from '../link/core/types'; import { mockSingleLink, mockObservableLink } from '../__mocks__/mockLinks'; import { ApolloClient } from '../'; import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; -import { stripSymbols } from '../utilities/common/stripSymbols'; +import { stripSymbols } from './utils/stripSymbols'; const isSub = (operation: Operation) => (operation.query as DocumentNode).definitions diff --git a/src/utilities/common/stripSymbols.ts b/src/__tests__/utils/stripSymbols.ts similarity index 100% rename from src/utilities/common/stripSymbols.ts rename to src/__tests__/utils/stripSymbols.ts diff --git a/src/cache/inmemory/__tests__/cache.ts b/src/cache/inmemory/__tests__/cache.ts index 220a9320847..f606dab4c4f 100644 --- a/src/cache/inmemory/__tests__/cache.ts +++ b/src/cache/inmemory/__tests__/cache.ts @@ -1,6 +1,6 @@ import gql, { disableFragmentWarnings } from 'graphql-tag'; -import { stripSymbols } from '../../../utilities/common/stripSymbols'; +import { stripSymbols } from '../../../__tests__/utils/stripSymbols'; import { cloneDeep } from '../../../utilities/common/cloneDeep'; import { InMemoryCache, InMemoryCacheConfig } from '../inMemoryCache'; import { makeReference } from '../helpers'; diff --git a/src/cache/inmemory/__tests__/readFromStore.ts b/src/cache/inmemory/__tests__/readFromStore.ts index fd74e589d7b..73581240b03 100644 --- a/src/cache/inmemory/__tests__/readFromStore.ts +++ b/src/cache/inmemory/__tests__/readFromStore.ts @@ -1,7 +1,7 @@ import { assign, omit } from 'lodash'; import gql from 'graphql-tag'; -import { stripSymbols } from '../../../utilities/common/stripSymbols'; +import { stripSymbols } from '../../../__tests__/utils/stripSymbols'; import { StoreObject } from '../types'; import { StoreReader } from '../readFromStore'; import { defaultNormalizedCacheFactory } from '../entityCache'; diff --git a/src/core/__tests__/ObservableQuery.ts b/src/core/__tests__/ObservableQuery.ts index fb2a8a7d0c1..0a9a51d8825 100644 --- a/src/core/__tests__/ObservableQuery.ts +++ b/src/core/__tests__/ObservableQuery.ts @@ -16,7 +16,7 @@ import { ApolloClient } from '../../'; import wrap from '../../util/wrap'; import subscribeAndCount from '../../__tests__/utils/subscribeAndCount'; -import { stripSymbols } from '../../utilities/common/stripSymbols'; +import { stripSymbols } from '../../__tests__/utils/stripSymbols'; import { ApolloError } from '../../errors/ApolloError'; describe('ObservableQuery', () => { diff --git a/src/core/__tests__/QueryManager/index.ts b/src/core/__tests__/QueryManager/index.ts index 23537c3a32c..d2f271f2b17 100644 --- a/src/core/__tests__/QueryManager/index.ts +++ b/src/core/__tests__/QueryManager/index.ts @@ -37,7 +37,7 @@ import wrap from '../../../util/wrap'; import observableToPromise, { observableToPromiseAndSubscription, } from '../../../util/observableToPromise'; -import { stripSymbols } from '../../../utilities/common/stripSymbols'; +import { stripSymbols } from '../../../__tests__/utils/stripSymbols'; describe('QueryManager', () => { // Standard "get id from object" method. diff --git a/src/core/__tests__/QueryManager/links.ts b/src/core/__tests__/QueryManager/links.ts index a2c53e3c13b..9a2db17b343 100644 --- a/src/core/__tests__/QueryManager/links.ts +++ b/src/core/__tests__/QueryManager/links.ts @@ -4,7 +4,7 @@ import gql from 'graphql-tag'; import { Observable } from '../../../util/Observable'; import { ApolloLink } from '../../../link/core/ApolloLink'; import { InMemoryCache } from '../../../cache/inmemory/inMemoryCache'; -import { stripSymbols } from '../../../utilities/common/stripSymbols'; +import { stripSymbols } from '../../../__tests__/utils/stripSymbols'; // mocks import { MockSubscriptionLink } from '../../../__mocks__/mockLinks'; diff --git a/src/core/__tests__/QueryManager/live.ts b/src/core/__tests__/QueryManager/live.ts index e46cf20bc6d..dd3e5014a12 100644 --- a/src/core/__tests__/QueryManager/live.ts +++ b/src/core/__tests__/QueryManager/live.ts @@ -7,7 +7,7 @@ // externals import gql from 'graphql-tag'; import { InMemoryCache } from '../../../cache/inmemory/inMemoryCache'; -import { stripSymbols } from '../../../utilities/common/stripSymbols'; +import { stripSymbols } from '../../../__tests__/utils/stripSymbols'; import { MockSubscriptionLink } from '../../../__mocks__/mockLinks'; // core diff --git a/src/core/__tests__/QueryManager/multiple-results.ts b/src/core/__tests__/QueryManager/multiple-results.ts index 38f1067ba89..91deec8689d 100644 --- a/src/core/__tests__/QueryManager/multiple-results.ts +++ b/src/core/__tests__/QueryManager/multiple-results.ts @@ -1,7 +1,7 @@ // externals import gql from 'graphql-tag'; import { InMemoryCache } from '../../../cache/inmemory/inMemoryCache'; -import { stripSymbols } from '../../../utilities/common/stripSymbols'; +import { stripSymbols } from '../../../__tests__/utils/stripSymbols'; // mocks import { MockSubscriptionLink } from '../../../__mocks__/mockLinks'; diff --git a/src/core/__tests__/QueryManager/recycler.ts b/src/core/__tests__/QueryManager/recycler.ts index 9a01aa76ae9..846549deee7 100644 --- a/src/core/__tests__/QueryManager/recycler.ts +++ b/src/core/__tests__/QueryManager/recycler.ts @@ -7,7 +7,7 @@ // externals import gql from 'graphql-tag'; import { InMemoryCache } from '../../../cache/inmemory/inMemoryCache'; -import { stripSymbols } from '../../../utilities/common/stripSymbols'; +import { stripSymbols } from '../../../__tests__/utils/stripSymbols'; import { MockSubscriptionLink } from '../../../__mocks__/mockLinks'; // core diff --git a/src/core/__tests__/fetchPolicies.ts b/src/core/__tests__/fetchPolicies.ts index 69c0fbe5af9..4902da83772 100644 --- a/src/core/__tests__/fetchPolicies.ts +++ b/src/core/__tests__/fetchPolicies.ts @@ -2,7 +2,7 @@ import gql from 'graphql-tag'; import { ApolloLink } from '../../link/core/ApolloLink'; import { InMemoryCache } from '../../cache/inmemory/inMemoryCache'; -import { stripSymbols } from '../../utilities/common/stripSymbols'; +import { stripSymbols } from '../../__tests__/utils/stripSymbols'; import { ApolloClient } from '../..'; import subscribeAndCount from '../../__tests__/utils/subscribeAndCount'; import { mockSingleLink } from '../../__mocks__/mockLinks'; diff --git a/src/core/__tests__/scheduler.ts b/src/core/__tests__/scheduler.ts index 440469d5fc6..758714a37ca 100644 --- a/src/core/__tests__/scheduler.ts +++ b/src/core/__tests__/scheduler.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { InMemoryCache } from '../../cache/inmemory/inMemoryCache'; -import { stripSymbols } from '../../utilities/common/stripSymbols'; +import { stripSymbols } from '../../__tests__/utils/stripSymbols'; import { QueryManager } from '../QueryManager'; import { WatchQueryOptions } from '../../core/watchQueryOptions'; From 08699222b3ade834fbe50e140a5a518b118e8e85 Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 07:57:25 -0400 Subject: [PATCH 17/26] Remove duplicate `stripSymbols` utility --- src/react/testing/index.ts | 2 +- src/react/testing/utils/stripSymbols.ts | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) delete mode 100644 src/react/testing/utils/stripSymbols.ts diff --git a/src/react/testing/index.ts b/src/react/testing/index.ts index 5c311957c9e..55f2b111036 100644 --- a/src/react/testing/index.ts +++ b/src/react/testing/index.ts @@ -6,7 +6,7 @@ export { } from './mocks/mockSubscriptionLink'; export { createClient } from './utils/createClient'; -export { stripSymbols } from './utils/stripSymbols'; +export { stripSymbols } from '../../__tests__/utils/stripSymbols'; export { wait } from './utils/wait'; export * from './mocks/types'; diff --git a/src/react/testing/utils/stripSymbols.ts b/src/react/testing/utils/stripSymbols.ts deleted file mode 100644 index 1d2d6c0a27f..00000000000 --- a/src/react/testing/utils/stripSymbols.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Apollo-client adds Symbols to the data in the store. In order to make - * assertions in our tests easier we strip these Symbols from the data. - */ -export function stripSymbols(data: T): T { - return JSON.parse(JSON.stringify(data)); -} From 133d16ee3e379fb255470c06915420216760d873 Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 08:06:03 -0400 Subject: [PATCH 18/26] Move `arrays` utilities into `utilities/common` --- src/core/ObservableQuery.ts | 2 +- src/core/QueryManager.ts | 2 +- src/data/queries.ts | 2 +- src/errors/ApolloError.ts | 2 +- src/{util => utilities/common}/arrays.ts | 0 5 files changed, 4 insertions(+), 4 deletions(-) rename src/{util => utilities/common}/arrays.ts (100%) diff --git a/src/core/ObservableQuery.ts b/src/core/ObservableQuery.ts index 83058e57482..e5fdba184a8 100644 --- a/src/core/ObservableQuery.ts +++ b/src/core/ObservableQuery.ts @@ -17,7 +17,7 @@ import { ErrorPolicy, } from './watchQueryOptions'; import { QueryStoreValue } from '../data/queries'; -import { isNonEmptyArray } from '../util/arrays'; +import { isNonEmptyArray } from '../utilities/common/arrays'; export type ApolloCurrentQueryResult = { data: T | undefined; diff --git a/src/core/QueryManager.ts b/src/core/QueryManager.ts index 49afeae97c1..1e0fbc984ca 100644 --- a/src/core/QueryManager.ts +++ b/src/core/QueryManager.ts @@ -39,7 +39,7 @@ import { } from './types'; import { LocalState } from './LocalState'; import { asyncMap, multiplex } from '../util/observables'; -import { isNonEmptyArray } from '../util/arrays'; +import { isNonEmptyArray } from '../utilities/common/arrays'; const { hasOwnProperty } = Object.prototype; diff --git a/src/data/queries.ts b/src/data/queries.ts index 3fe9400cee2..5a67d0c9ead 100644 --- a/src/data/queries.ts +++ b/src/data/queries.ts @@ -3,7 +3,7 @@ import { invariant } from 'ts-invariant'; import { isEqual } from '../utilities/common/isEqual'; import { NetworkStatus } from '../core/networkStatus'; -import { isNonEmptyArray } from '../util/arrays'; +import { isNonEmptyArray } from '../utilities/common/arrays'; export type QueryStoreValue = { document: DocumentNode; diff --git a/src/errors/ApolloError.ts b/src/errors/ApolloError.ts index 622bfd30456..f378e2f21bc 100644 --- a/src/errors/ApolloError.ts +++ b/src/errors/ApolloError.ts @@ -1,6 +1,6 @@ import { GraphQLError } from 'graphql'; -import { isNonEmptyArray } from '../util/arrays'; +import { isNonEmptyArray } from '../utilities/common/arrays'; export function isApolloError(err: Error): err is ApolloError { return err.hasOwnProperty('graphQLErrors'); diff --git a/src/util/arrays.ts b/src/utilities/common/arrays.ts similarity index 100% rename from src/util/arrays.ts rename to src/utilities/common/arrays.ts From e748a0415b0f9aa546ac289b9947162d68fb715c Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 08:07:06 -0400 Subject: [PATCH 19/26] Move `capitalizeFirstLetter` into `utilities/common` --- src/core/LocalState.ts | 2 +- src/{util => utilities/common}/capitalizeFirstLetter.ts | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename src/{util => utilities/common}/capitalizeFirstLetter.ts (100%) diff --git a/src/core/LocalState.ts b/src/core/LocalState.ts index 8cd8c309697..8b88e0ca928 100644 --- a/src/core/LocalState.ts +++ b/src/core/LocalState.ts @@ -32,7 +32,7 @@ import { } from '../utilities/graphql/storeUtils'; import { ApolloClient } from '../ApolloClient'; import { Resolvers, OperationVariables } from './types'; -import { capitalizeFirstLetter } from '../util/capitalizeFirstLetter'; +import { capitalizeFirstLetter } from '../utilities/common/capitalizeFirstLetter'; export type Resolver = ( rootValue?: any, diff --git a/src/util/capitalizeFirstLetter.ts b/src/utilities/common/capitalizeFirstLetter.ts similarity index 100% rename from src/util/capitalizeFirstLetter.ts rename to src/utilities/common/capitalizeFirstLetter.ts From fa6bb8d47b1323bbb44c34033cda7c0dc6061f04 Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 08:12:16 -0400 Subject: [PATCH 20/26] Move the `observableToPromise` utility out of the main bundle It's only used by tests. --- src/{util => __tests__/utils}/observableToPromise.ts | 6 +++--- src/core/__tests__/QueryManager/index.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) rename src/{util => __tests__/utils}/observableToPromise.ts (94%) diff --git a/src/util/observableToPromise.ts b/src/__tests__/utils/observableToPromise.ts similarity index 94% rename from src/util/observableToPromise.ts rename to src/__tests__/utils/observableToPromise.ts index 857f11c9455..e09bdf4b677 100644 --- a/src/util/observableToPromise.ts +++ b/src/__tests__/utils/observableToPromise.ts @@ -1,6 +1,6 @@ -import { ObservableQuery } from '../core/ObservableQuery'; -import { ApolloQueryResult } from '../core/types'; -import { Subscription } from '../util/Observable'; +import { ObservableQuery } from '../../core/ObservableQuery'; +import { ApolloQueryResult } from '../../core/types'; +import { Subscription } from '../../util/Observable'; /** * diff --git a/src/core/__tests__/QueryManager/index.ts b/src/core/__tests__/QueryManager/index.ts index d2f271f2b17..b92e32416f5 100644 --- a/src/core/__tests__/QueryManager/index.ts +++ b/src/core/__tests__/QueryManager/index.ts @@ -36,7 +36,7 @@ import { Observer } from '../../../util/Observable'; import wrap from '../../../util/wrap'; import observableToPromise, { observableToPromiseAndSubscription, -} from '../../../util/observableToPromise'; +} from '../../../__tests__/utils/observableToPromise'; import { stripSymbols } from '../../../__tests__/utils/stripSymbols'; describe('QueryManager', () => { From 96b585224b78f5b747d7d7bdfd3810e3db5db08c Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 08:36:51 -0400 Subject: [PATCH 21/26] Move the test only `wrap` utilities out of the main bundle --- src/__tests__/ApolloClient.ts | 2 +- src/__tests__/client.ts | 2 +- src/__tests__/local-state/resolvers.ts | 2 +- src/__tests__/mutationResults.ts | 2 +- src/{util => __tests__/utils}/wrap.ts | 0 src/core/__tests__/ObservableQuery.ts | 2 +- src/core/__tests__/QueryManager/index.ts | 2 +- 7 files changed, 6 insertions(+), 6 deletions(-) rename src/{util => __tests__/utils}/wrap.ts (100%) diff --git a/src/__tests__/ApolloClient.ts b/src/__tests__/ApolloClient.ts index 400bc2ead8b..a2975ab585a 100644 --- a/src/__tests__/ApolloClient.ts +++ b/src/__tests__/ApolloClient.ts @@ -6,7 +6,7 @@ import { HttpLink } from '../link/http/HttpLink'; import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; import { makeReference } from '../cache/inmemory/helpers'; import { stripSymbols } from './utils/stripSymbols'; -import { withWarning } from '../util/wrap'; +import { withWarning } from './utils/wrap'; import { ApolloClient } from '../'; import { DefaultOptions } from '../ApolloClient'; import { FetchPolicy, QueryOptions } from '../core/watchQueryOptions'; diff --git a/src/__tests__/client.ts b/src/__tests__/client.ts index cab26dc7c6e..e7a75c25157 100644 --- a/src/__tests__/client.ts +++ b/src/__tests__/client.ts @@ -11,7 +11,7 @@ import { WatchQueryOptions, FetchPolicy } from '../core/watchQueryOptions'; import { ApolloError } from '../errors/ApolloError'; import { ApolloClient } from '..'; import subscribeAndCount from './utils/subscribeAndCount'; -import { withWarning } from '../util/wrap'; +import { withWarning } from './utils/wrap'; import { mockSingleLink } from '../__mocks__/mockLinks'; describe('client', () => { diff --git a/src/__tests__/local-state/resolvers.ts b/src/__tests__/local-state/resolvers.ts index 5aaf5fc44ff..098bd85671b 100644 --- a/src/__tests__/local-state/resolvers.ts +++ b/src/__tests__/local-state/resolvers.ts @@ -7,7 +7,7 @@ import { ApolloLink } from '../../link/core/ApolloLink'; import { ApolloClient } from '../..'; import mockQueryManager from '../../__mocks__/mockQueryManager'; import { Observer } from '../../util/Observable'; -import wrap from '../../util/wrap'; +import wrap from '../../__tests__/utils/wrap'; import { ApolloQueryResult, Resolvers } from '../../core/types'; import { WatchQueryOptions } from '../../core/watchQueryOptions'; import { LocalState } from '../../core/LocalState'; diff --git a/src/__tests__/mutationResults.ts b/src/__tests__/mutationResults.ts index c2cf90d3ac3..99fb1160449 100644 --- a/src/__tests__/mutationResults.ts +++ b/src/__tests__/mutationResults.ts @@ -7,7 +7,7 @@ import { mockSingleLink } from '../__mocks__/mockLinks'; import { ApolloClient } from '..'; import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; import { Subscription } from '../util/Observable'; -import { withWarning } from '../util/wrap'; +import { withWarning } from './utils/wrap'; describe('mutation results', () => { const query = gql` diff --git a/src/util/wrap.ts b/src/__tests__/utils/wrap.ts similarity index 100% rename from src/util/wrap.ts rename to src/__tests__/utils/wrap.ts diff --git a/src/core/__tests__/ObservableQuery.ts b/src/core/__tests__/ObservableQuery.ts index 0a9a51d8825..c8ab23c2140 100644 --- a/src/core/__tests__/ObservableQuery.ts +++ b/src/core/__tests__/ObservableQuery.ts @@ -14,7 +14,7 @@ import { QueryManager } from '../QueryManager'; import { DataStore } from '../../data/store'; import { ApolloClient } from '../../'; -import wrap from '../../util/wrap'; +import wrap from '../../__tests__/utils/wrap'; import subscribeAndCount from '../../__tests__/utils/subscribeAndCount'; import { stripSymbols } from '../../__tests__/utils/stripSymbols'; import { ApolloError } from '../../errors/ApolloError'; diff --git a/src/core/__tests__/QueryManager/index.ts b/src/core/__tests__/QueryManager/index.ts index b92e32416f5..e9f8d1101fd 100644 --- a/src/core/__tests__/QueryManager/index.ts +++ b/src/core/__tests__/QueryManager/index.ts @@ -33,7 +33,7 @@ import { DataStore } from '../../../data/store'; import { Observer } from '../../../util/Observable'; // testing utils -import wrap from '../../../util/wrap'; +import wrap from '../../../__tests__/utils/wrap'; import observableToPromise, { observableToPromiseAndSubscription, } from '../../../__tests__/utils/observableToPromise'; From fe8de17ecefb996163714751f90fd4aecaa2d679 Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 08:43:04 -0400 Subject: [PATCH 22/26] Move observable utilities into `utilities/observables` --- src/ApolloClient.ts | 2 +- src/__mocks__/mockLinks.ts | 2 +- src/__tests__/ApolloClient.ts | 2 +- src/__tests__/client.ts | 2 +- src/__tests__/local-state/export.ts | 2 +- src/__tests__/local-state/general.ts | 2 +- src/__tests__/local-state/resolvers.ts | 3 +-- src/__tests__/local-state/subscriptions.ts | 2 +- src/__tests__/mutationResults.ts | 3 +-- src/__tests__/optimistic.ts | 2 +- src/__tests__/utils/observableToPromise.ts | 2 +- src/__tests__/utils/subscribeAndCount.ts | 4 ++-- src/core/ObservableQuery.ts | 2 +- src/core/QueryManager.ts | 4 ++-- src/core/__tests__/ObservableQuery.ts | 2 +- src/core/__tests__/QueryManager/index.ts | 3 +-- src/core/__tests__/QueryManager/links.ts | 2 +- src/index.ts | 2 +- src/link/core/ApolloLink.ts | 2 +- src/link/core/__tests__/ApolloLink.ts | 2 +- src/link/core/types.ts | 2 +- src/link/http/__tests__/HttpLink.ts | 2 +- src/link/http/createHttpLink.ts | 2 +- src/link/utils/__tests__/toPromise.ts | 2 +- src/link/utils/fromError.ts | 2 +- src/link/utils/fromPromise.ts | 2 +- src/link/utils/toPromise.ts | 2 +- src/react/hooks/__tests__/useQuery.test.tsx | 2 +- src/react/testing/mocks/mockLink.ts | 2 +- src/react/testing/mocks/mockSubscriptionLink.ts | 2 +- src/react/types/types.ts | 2 +- src/{util => utilities/observables}/Observable.ts | 0 src/{util => utilities/observables}/observables.ts | 0 33 files changed, 33 insertions(+), 36 deletions(-) rename src/{util => utilities/observables}/Observable.ts (100%) rename src/{util => utilities/observables}/observables.ts (100%) diff --git a/src/ApolloClient.ts b/src/ApolloClient.ts index cb46ee0d88d..e4da59452dd 100644 --- a/src/ApolloClient.ts +++ b/src/ApolloClient.ts @@ -14,7 +14,7 @@ import { } from './core/types'; import { ObservableQuery } from './core/ObservableQuery'; import { LocalState, FragmentMatcher } from './core/LocalState'; -import { Observable } from './util/Observable'; +import { Observable } from './utilities/observables/Observable'; import { QueryOptions, WatchQueryOptions, diff --git a/src/__mocks__/mockLinks.ts b/src/__mocks__/mockLinks.ts index 470a327224d..dc3c271b15f 100644 --- a/src/__mocks__/mockLinks.ts +++ b/src/__mocks__/mockLinks.ts @@ -1,6 +1,6 @@ import { print } from 'graphql/language/printer'; -import { Observable } from '../util/Observable'; +import { Observable } from '../utilities/observables/Observable'; import { ApolloLink } from '../link/core/ApolloLink'; import { Operation, diff --git a/src/__tests__/ApolloClient.ts b/src/__tests__/ApolloClient.ts index a2975ab585a..88ac0633b7e 100644 --- a/src/__tests__/ApolloClient.ts +++ b/src/__tests__/ApolloClient.ts @@ -1,6 +1,6 @@ import gql from 'graphql-tag'; -import { Observable } from '../util/Observable'; +import { Observable } from '../utilities/observables/Observable'; import { ApolloLink } from '../link/core/ApolloLink'; import { HttpLink } from '../link/http/HttpLink'; import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; diff --git a/src/__tests__/client.ts b/src/__tests__/client.ts index e7a75c25157..5d84e40c56c 100644 --- a/src/__tests__/client.ts +++ b/src/__tests__/client.ts @@ -2,7 +2,7 @@ import { cloneDeep, assign } from 'lodash'; import { GraphQLError, ExecutionResult, DocumentNode } from 'graphql'; import gql from 'graphql-tag'; -import { Observable } from '../util/Observable'; +import { Observable } from '../utilities/observables/Observable'; import { ApolloLink } from '../link/core/ApolloLink'; import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; import { PossibleTypesMap } from '../cache/inmemory/types'; diff --git a/src/__tests__/local-state/export.ts b/src/__tests__/local-state/export.ts index 5d38eb37223..0238226bb4a 100644 --- a/src/__tests__/local-state/export.ts +++ b/src/__tests__/local-state/export.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { print } from 'graphql/language/printer'; -import { Observable } from '../../util/Observable'; +import { Observable } from '../../utilities/observables/Observable'; import { ApolloLink } from '../../link/core/ApolloLink'; import { ApolloClient } from '../..'; import { InMemoryCache } from '../../cache/inmemory/inMemoryCache'; diff --git a/src/__tests__/local-state/general.ts b/src/__tests__/local-state/general.ts index e2724130f04..2cb016f66e0 100644 --- a/src/__tests__/local-state/general.ts +++ b/src/__tests__/local-state/general.ts @@ -2,7 +2,7 @@ import gql from 'graphql-tag'; import { DocumentNode, GraphQLError } from 'graphql'; import { introspectionQuery } from 'graphql/utilities'; -import { Observable } from '../../util/Observable'; +import { Observable } from '../../utilities/observables/Observable'; import { ApolloLink } from '../../link/core/ApolloLink'; import { Operation } from '../../link/core/types'; import { ApolloClient } from '../..'; diff --git a/src/__tests__/local-state/resolvers.ts b/src/__tests__/local-state/resolvers.ts index 098bd85671b..0ac027c72de 100644 --- a/src/__tests__/local-state/resolvers.ts +++ b/src/__tests__/local-state/resolvers.ts @@ -2,11 +2,10 @@ import gql from 'graphql-tag'; import { DocumentNode, ExecutionResult } from 'graphql'; import { assign } from 'lodash'; -import { Observable } from '../../util/Observable'; +import { Observable, Observer } from '../../utilities/observables/Observable'; import { ApolloLink } from '../../link/core/ApolloLink'; import { ApolloClient } from '../..'; import mockQueryManager from '../../__mocks__/mockQueryManager'; -import { Observer } from '../../util/Observable'; import wrap from '../../__tests__/utils/wrap'; import { ApolloQueryResult, Resolvers } from '../../core/types'; import { WatchQueryOptions } from '../../core/watchQueryOptions'; diff --git a/src/__tests__/local-state/subscriptions.ts b/src/__tests__/local-state/subscriptions.ts index d340450e72c..e7e18b8ed22 100644 --- a/src/__tests__/local-state/subscriptions.ts +++ b/src/__tests__/local-state/subscriptions.ts @@ -1,6 +1,6 @@ import gql from 'graphql-tag'; -import { Observable } from '../../util/Observable'; +import { Observable } from '../../utilities/observables/Observable'; import { ApolloLink } from '../../link/core/ApolloLink'; import { ApolloClient } from '../..'; import { InMemoryCache } from '../../cache/inmemory/inMemoryCache'; diff --git a/src/__tests__/mutationResults.ts b/src/__tests__/mutationResults.ts index 99fb1160449..24351bd9f9f 100644 --- a/src/__tests__/mutationResults.ts +++ b/src/__tests__/mutationResults.ts @@ -1,12 +1,11 @@ import { cloneDeep } from 'lodash'; import gql from 'graphql-tag'; -import { Observable } from '../util/Observable'; +import { Observable, Subscription } from '../utilities/observables/Observable'; import { ApolloLink } from '../link/core/ApolloLink'; import { mockSingleLink } from '../__mocks__/mockLinks'; import { ApolloClient } from '..'; import { InMemoryCache } from '../cache/inmemory/inMemoryCache'; -import { Subscription } from '../util/Observable'; import { withWarning } from './utils/wrap'; describe('mutation results', () => { diff --git a/src/__tests__/optimistic.ts b/src/__tests__/optimistic.ts index dc445e609c4..ccb12a384ec 100644 --- a/src/__tests__/optimistic.ts +++ b/src/__tests__/optimistic.ts @@ -5,7 +5,7 @@ import gql from 'graphql-tag'; import { mockSingleLink } from '../__mocks__/mockLinks'; import { MutationQueryReducersMap } from '../core/types'; -import { Subscription } from '../util/Observable'; +import { Subscription } from '../utilities/observables/Observable'; import { ApolloClient } from '../'; import { addTypenameToDocument } from '../utilities/graphql/transform'; import { stripSymbols } from './utils/stripSymbols'; diff --git a/src/__tests__/utils/observableToPromise.ts b/src/__tests__/utils/observableToPromise.ts index e09bdf4b677..6847ae29591 100644 --- a/src/__tests__/utils/observableToPromise.ts +++ b/src/__tests__/utils/observableToPromise.ts @@ -1,6 +1,6 @@ import { ObservableQuery } from '../../core/ObservableQuery'; import { ApolloQueryResult } from '../../core/types'; -import { Subscription } from '../../util/Observable'; +import { Subscription } from '../../utilities/observables/Observable'; /** * diff --git a/src/__tests__/utils/subscribeAndCount.ts b/src/__tests__/utils/subscribeAndCount.ts index 02d3a0a52a5..22990d44bf4 100644 --- a/src/__tests__/utils/subscribeAndCount.ts +++ b/src/__tests__/utils/subscribeAndCount.ts @@ -1,7 +1,7 @@ import { ObservableQuery } from '../../core/ObservableQuery'; import { ApolloQueryResult } from '../../core/types'; -import { Subscription } from '../../util/Observable'; -import { asyncMap } from '../../util/observables'; +import { Subscription } from '../../utilities/observables/Observable'; +import { asyncMap } from '../../utilities/observables/observables'; export default function subscribeAndCount( done: jest.DoneCallback, diff --git a/src/core/ObservableQuery.ts b/src/core/ObservableQuery.ts index e5fdba184a8..41a0a458b0c 100644 --- a/src/core/ObservableQuery.ts +++ b/src/core/ObservableQuery.ts @@ -6,7 +6,7 @@ import { tryFunctionOrLogError } from '../utilities/common/errorHandling'; import { cloneDeep } from '../utilities/common/cloneDeep'; import { getOperationDefinition } from '../utilities/graphql/getFromAST'; import { NetworkStatus, isNetworkRequestInFlight } from './networkStatus'; -import { Observable, Observer, Subscription } from '../util/Observable'; +import { Observable, Observer, Subscription } from '../utilities/observables/Observable'; import { ApolloError } from '../errors/ApolloError'; import { QueryManager } from './QueryManager'; import { ApolloQueryResult, FetchType, OperationVariables } from './types'; diff --git a/src/core/QueryManager.ts b/src/core/QueryManager.ts index 1e0fbc984ca..38a66685de4 100644 --- a/src/core/QueryManager.ts +++ b/src/core/QueryManager.ts @@ -18,7 +18,7 @@ import { graphQLResultHasError } from '../utilities/common/errorHandling'; import { removeConnectionDirectiveFromDocument } from '../utilities/graphql/transform'; import { canUseWeakMap } from '../utilities/common/canUse'; import { isApolloError, ApolloError } from '../errors/ApolloError'; -import { Observer, Subscription, Observable } from '../util/Observable'; +import { Observer, Subscription, Observable } from '../utilities/observables/Observable'; import { QueryWithUpdater, DataStore } from '../data/store'; import { MutationStore } from '../data/mutations'; import { QueryStore, QueryStoreValue } from '../data/queries'; @@ -38,7 +38,7 @@ import { OperationVariables, } from './types'; import { LocalState } from './LocalState'; -import { asyncMap, multiplex } from '../util/observables'; +import { asyncMap, multiplex } from '../utilities/observables/observables'; import { isNonEmptyArray } from '../utilities/common/arrays'; const { hasOwnProperty } = Object.prototype; diff --git a/src/core/__tests__/ObservableQuery.ts b/src/core/__tests__/ObservableQuery.ts index c8ab23c2140..6e375024758 100644 --- a/src/core/__tests__/ObservableQuery.ts +++ b/src/core/__tests__/ObservableQuery.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { GraphQLError } from 'graphql'; -import { Observable } from '../../util/Observable'; +import { Observable } from '../../utilities/observables/Observable'; import { ApolloLink } from '../../link/core/ApolloLink'; import { InMemoryCache } from '../../cache/inmemory/inMemoryCache'; import mockQueryManager from '../../__mocks__/mockQueryManager'; diff --git a/src/core/__tests__/QueryManager/index.ts b/src/core/__tests__/QueryManager/index.ts index e9f8d1101fd..6fd0e65753f 100644 --- a/src/core/__tests__/QueryManager/index.ts +++ b/src/core/__tests__/QueryManager/index.ts @@ -5,7 +5,7 @@ import { assign } from 'lodash'; import gql from 'graphql-tag'; import { DocumentNode, ExecutionResult, GraphQLError } from 'graphql'; -import { Observable } from '../../../util/Observable'; +import { Observable, Observer } from '../../../utilities/observables/Observable'; import { ApolloLink } from '../../../link/core/ApolloLink'; import { Operation } from '../../../link/core/types'; import { InMemoryCache } from '../../../cache/inmemory/inMemoryCache'; @@ -30,7 +30,6 @@ import { QueryManager } from '../../QueryManager'; import { ApolloError } from '../../../errors/ApolloError'; import { DataStore } from '../../../data/store'; -import { Observer } from '../../../util/Observable'; // testing utils import wrap from '../../../__tests__/utils/wrap'; diff --git a/src/core/__tests__/QueryManager/links.ts b/src/core/__tests__/QueryManager/links.ts index 9a2db17b343..7cbc308a09f 100644 --- a/src/core/__tests__/QueryManager/links.ts +++ b/src/core/__tests__/QueryManager/links.ts @@ -1,7 +1,7 @@ // externals import gql from 'graphql-tag'; -import { Observable } from '../../../util/Observable'; +import { Observable } from '../../../utilities/observables/Observable'; import { ApolloLink } from '../../../link/core/ApolloLink'; import { InMemoryCache } from '../../../cache/inmemory/inMemoryCache'; import { stripSymbols } from '../../../__tests__/utils/stripSymbols'; diff --git a/src/index.ts b/src/index.ts index 3826f26224c..f762a4cd385 100644 --- a/src/index.ts +++ b/src/index.ts @@ -100,7 +100,7 @@ export { ServerError, throwServerError } from './link/utils/throwServerError'; /* Utilities */ -export { Observable } from './util/Observable'; +export { Observable } from './utilities/observables/Observable'; export * from './utilities/graphql/directives'; export * from './utilities/graphql/fragments'; export * from './utilities/graphql/getFromAST'; diff --git a/src/link/core/ApolloLink.ts b/src/link/core/ApolloLink.ts index dfa8debc758..3025b1374e5 100644 --- a/src/link/core/ApolloLink.ts +++ b/src/link/core/ApolloLink.ts @@ -1,6 +1,6 @@ import { InvariantError, invariant } from 'ts-invariant'; -import { Observable } from '../../util/Observable'; +import { Observable } from '../../utilities/observables/Observable'; import { NextLink, Operation, diff --git a/src/link/core/__tests__/ApolloLink.ts b/src/link/core/__tests__/ApolloLink.ts index eed1a9bb04c..fe769655154 100644 --- a/src/link/core/__tests__/ApolloLink.ts +++ b/src/link/core/__tests__/ApolloLink.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { print } from 'graphql/language/printer'; -import { Observable } from '../../../util/Observable'; +import { Observable } from '../../../utilities/observables/Observable'; import { FetchResult, Operation, NextLink, GraphQLRequest } from '../types'; import { ApolloLink } from '../ApolloLink'; diff --git a/src/link/core/types.ts b/src/link/core/types.ts index 4a15f5035c2..6c79d41d045 100644 --- a/src/link/core/types.ts +++ b/src/link/core/types.ts @@ -2,7 +2,7 @@ import { DocumentNode } from 'graphql/language/ast'; import { ExecutionResult } from 'graphql/execution/execute'; export { ExecutionResult, DocumentNode }; -import { Observable } from '../../util/Observable'; +import { Observable } from '../../utilities/observables/Observable'; export interface GraphQLRequest { query: DocumentNode; diff --git a/src/link/http/__tests__/HttpLink.ts b/src/link/http/__tests__/HttpLink.ts index 53274117c46..4f31d57c64f 100644 --- a/src/link/http/__tests__/HttpLink.ts +++ b/src/link/http/__tests__/HttpLink.ts @@ -2,7 +2,7 @@ import gql from 'graphql-tag'; import fetchMock from 'fetch-mock'; import { print } from 'graphql'; -import { Observable } from '../../../util/Observable'; +import { Observable } from '../../../utilities/observables/Observable'; import { ApolloLink } from '../../core/ApolloLink'; import { execute } from '../../core/execute'; import { HttpLink } from '../HttpLink'; diff --git a/src/link/http/createHttpLink.ts b/src/link/http/createHttpLink.ts index 7343495e469..80f8321a69a 100644 --- a/src/link/http/createHttpLink.ts +++ b/src/link/http/createHttpLink.ts @@ -1,6 +1,6 @@ import { DefinitionNode } from 'graphql'; -import { Observable } from '../../util/Observable'; +import { Observable } from '../../utilities/observables/Observable'; import { serializeFetchParameter } from './serializeFetchParameter'; import { selectURI } from './selectURI'; import { parseAndCheckHttpResponse } from './parseAndCheckHttpResponse'; diff --git a/src/link/utils/__tests__/toPromise.ts b/src/link/utils/__tests__/toPromise.ts index 9fc6a5a842d..aec407e3ac9 100644 --- a/src/link/utils/__tests__/toPromise.ts +++ b/src/link/utils/__tests__/toPromise.ts @@ -1,4 +1,4 @@ -import { Observable } from '../../../util/Observable'; +import { Observable } from '../../../utilities/observables/Observable'; import { toPromise } from '../toPromise'; import { fromError } from '../fromError'; diff --git a/src/link/utils/fromError.ts b/src/link/utils/fromError.ts index e6d2c52ece3..7d0a6ef0340 100644 --- a/src/link/utils/fromError.ts +++ b/src/link/utils/fromError.ts @@ -1,4 +1,4 @@ -import { Observable } from '../../util/Observable'; +import { Observable } from '../../utilities/observables/Observable'; export function fromError(errorValue: any): Observable { return new Observable(observer => { diff --git a/src/link/utils/fromPromise.ts b/src/link/utils/fromPromise.ts index 9ec31fd675f..8485c5d6364 100644 --- a/src/link/utils/fromPromise.ts +++ b/src/link/utils/fromPromise.ts @@ -1,4 +1,4 @@ -import { Observable } from '../../util/Observable'; +import { Observable } from '../../utilities/observables/Observable'; export function fromPromise(promise: Promise): Observable { return new Observable(observer => { diff --git a/src/link/utils/toPromise.ts b/src/link/utils/toPromise.ts index 13d9fcc5353..6ed43d5207a 100644 --- a/src/link/utils/toPromise.ts +++ b/src/link/utils/toPromise.ts @@ -1,6 +1,6 @@ import { invariant } from 'ts-invariant'; -import { Observable } from '../../util/Observable'; +import { Observable } from '../../utilities/observables/Observable'; export function toPromise(observable: Observable): Promise { let completed = false; diff --git a/src/react/hooks/__tests__/useQuery.test.tsx b/src/react/hooks/__tests__/useQuery.test.tsx index 062a681be0d..389488f2a07 100644 --- a/src/react/hooks/__tests__/useQuery.test.tsx +++ b/src/react/hooks/__tests__/useQuery.test.tsx @@ -3,7 +3,7 @@ import { DocumentNode, GraphQLError } from 'graphql'; import gql from 'graphql-tag'; import { render, cleanup, wait } from '@testing-library/react'; -import { Observable } from '../../../util/Observable'; +import { Observable } from '../../../utilities/observables/Observable'; import { ApolloLink } from '../../../link/core/ApolloLink'; import { MockedProvider, MockLink } from '../../testing'; import { ApolloClient } from '../../../ApolloClient'; diff --git a/src/react/testing/mocks/mockLink.ts b/src/react/testing/mocks/mockLink.ts index 50dc865cdba..1fc7ffee594 100644 --- a/src/react/testing/mocks/mockLink.ts +++ b/src/react/testing/mocks/mockLink.ts @@ -1,7 +1,7 @@ import { print } from 'graphql/language/printer'; import stringify from 'fast-json-stable-stringify'; -import { Observable } from '../../../util/Observable'; +import { Observable } from '../../../utilities/observables/Observable'; import { ApolloLink } from '../../../link/core/ApolloLink'; import { Operation, diff --git a/src/react/testing/mocks/mockSubscriptionLink.ts b/src/react/testing/mocks/mockSubscriptionLink.ts index 8a8a6a3954f..bbeeedecf7f 100644 --- a/src/react/testing/mocks/mockSubscriptionLink.ts +++ b/src/react/testing/mocks/mockSubscriptionLink.ts @@ -1,4 +1,4 @@ -import { Observable } from '../../../util/Observable'; +import { Observable } from '../../../utilities/observables/Observable'; import { ApolloLink } from '../../../link/core/ApolloLink'; import { FetchResult } from '../../../link/core/types'; import { MockedSubscriptionResult } from './types'; diff --git a/src/react/types/types.ts b/src/react/types/types.ts index 9fb967c9d25..3e082c5ed37 100644 --- a/src/react/types/types.ts +++ b/src/react/types/types.ts @@ -1,7 +1,7 @@ import { ReactNode } from 'react'; import { DocumentNode } from 'graphql'; -import { Observable } from '../../util/Observable'; +import { Observable } from '../../utilities/observables/Observable'; import { FetchResult } from '../../link/core/types'; import { ApolloClient } from '../../ApolloClient'; import { diff --git a/src/util/Observable.ts b/src/utilities/observables/Observable.ts similarity index 100% rename from src/util/Observable.ts rename to src/utilities/observables/Observable.ts diff --git a/src/util/observables.ts b/src/utilities/observables/observables.ts similarity index 100% rename from src/util/observables.ts rename to src/utilities/observables/observables.ts From 10ce7052604666d672c43a28b77cf36fb65a4564 Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 08:46:21 -0400 Subject: [PATCH 23/26] Stop exporting all graphql utilities Let's get these back to being internal utilities (to help reduce our public API). --- src/index.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/index.ts b/src/index.ts index f762a4cd385..e6243234906 100644 --- a/src/index.ts +++ b/src/index.ts @@ -101,8 +101,3 @@ export { ServerError, throwServerError } from './link/utils/throwServerError'; /* Utilities */ export { Observable } from './utilities/observables/Observable'; -export * from './utilities/graphql/directives'; -export * from './utilities/graphql/fragments'; -export * from './utilities/graphql/getFromAST'; -export * from './utilities/graphql/transform'; -export * from './utilities/graphql/storeUtils'; From 6fb8fedd9cef4be3756985a25162db5009e6f4f2 Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 08:51:47 -0400 Subject: [PATCH 24/26] Changelog update --- CHANGELOG.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aa6d8e6332b..32ed065312c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -53,8 +53,11 @@ - `QueryManager#startQuery` - `ObservableQuery#currentResult` -- `ApolloClient` is now only available as a named export. The default - `ApolloClient` export has been removed. +- `ApolloClient` is now only available as a named export. The default `ApolloClient` export has been removed.
+ [@hwillson](https://github.com/hwillson) in [#5425](https://github.com/apollographql/apollo-client/pull/5425) + +- Utilities that were previously externally available through the `apollo-utilities` package, are now internal only.
+ [@hwillson](https://github.com/hwillson) in [#TODO](https://github.com/apollographql/apollo-client/pull/TODO) ## Apollo Client (2.6.4) From df162c43d9f7a3b5406a3eb8fee49dbc981cc401 Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 08:57:26 -0400 Subject: [PATCH 25/26] Reduce bundlesize threshold --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8c6ccdcbca8..56aca5ae6e4 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ { "name": "apollo-client", "path": "./dist/apollo-client.cjs.min.js", - "maxSize": "24 kB" + "maxSize": "22.75 kB" } ], "peerDependencies": { From 5ac4a656f99e7256d560fe88f9938afd3984c378 Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 11 Oct 2019 12:13:06 -0400 Subject: [PATCH 26/26] Add `preserveModules` comment to `rollup.config.js` --- config/rollup.config.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/rollup.config.js b/config/rollup.config.js index ae881fd17b0..fa6d55685cd 100644 --- a/config/rollup.config.js +++ b/config/rollup.config.js @@ -38,6 +38,11 @@ function prepareESM() { format: 'esm', sourcemap: true, }, + // The purpose of this job is to ensure each `./dist` ESM file is run + // through the `invariantPlugin`, with any resulting changes added + // directly back into each ESM file. By setting `preserveModules` + // to `true`, we're making sure Rollup doesn't attempt to create a single + // combined ESM bundle with the final result of running this job. preserveModules: true, plugins: [ nodeResolve(),