@cedarjs/web 6.0.3-next.227 → 6.0.3-next.296

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,17 +1,17 @@
1
1
  import React from 'react';
2
- import type { ApolloCache, setLogVerbosity } from '@apollo/client';
2
+ import type { InMemoryCache, setLogVerbosity } from '@apollo/client';
3
3
  import type { UseAuth } from '@cedarjs/auth';
4
4
  import type { GraphQLClientConfigProp } from './apolloLinkTypes.js';
5
5
  interface Props {
6
6
  config: Omit<GraphQLClientConfigProp, 'cacheConfig' | 'cache'> & {
7
- cache: ApolloCache;
7
+ cache: InMemoryCache;
8
8
  };
9
9
  /**
10
10
  * Builds a fresh cache from the same cache configuration and fragment
11
11
  * registry as `config.cache`. Used to give every client
12
12
  * `useCreateApolloClient` creates its own cache.
13
13
  */
14
- createCache: () => ApolloCache;
14
+ createCache: () => InMemoryCache;
15
15
  useAuth?: UseAuth;
16
16
  logLevel: ReturnType<typeof setLogVerbosity>;
17
17
  children: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"ApolloProviderWithFetchConfig.d.ts","sourceRoot":"","sources":["../../src/apollo/ApolloProviderWithFetchConfig.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAgB,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAchF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAQ5C,OAAO,KAAK,EAEV,uBAAuB,EACxB,MAAM,sBAAsB,CAAA;AAqC7B,UAAU,KAAK;IACb,MAAM,EAAE,IAAI,CAAC,uBAAuB,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG;QAC/D,KAAK,EAAE,WAAW,CAAA;KACnB,CAAA;IACD;;;;OAIG;IACH,WAAW,EAAE,MAAM,WAAW,CAAA;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;IAC5C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,wBAAgB,6BAA6B,CAAC,EAC5C,MAAM,EACN,WAAW,EACX,QAAQ,EACR,OAAmB,EACnB,QAAQ,GACT,EAAE,KAAK,qBAsMP"}
1
+ {"version":3,"file":"ApolloProviderWithFetchConfig.d.ts","sourceRoot":"","sources":["../../src/apollo/ApolloProviderWithFetchConfig.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAEV,aAAa,EACb,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAcvB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAQ5C,OAAO,KAAK,EAEV,uBAAuB,EACxB,MAAM,sBAAsB,CAAA;AAqC7B,UAAU,KAAK;IACb,MAAM,EAAE,IAAI,CAAC,uBAAuB,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG;QAC/D,KAAK,EAAE,aAAa,CAAA;KACrB,CAAA;IACD;;;;OAIG;IACH,WAAW,EAAE,MAAM,aAAa,CAAA;IAChC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;IAC5C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,wBAAgB,6BAA6B,CAAC,EAC5C,MAAM,EACN,WAAW,EACX,QAAQ,EACR,OAAmB,EACnB,QAAQ,GACT,EAAE,KAAK,qBAsMP"}
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import type { DocumentNode, setLogVerbosity } from '@apollo/client';
3
3
  import type { UseAuth } from '@cedarjs/auth';
4
4
  import type { GraphQLClientConfigProp } from './apolloLinkTypes.js';
5
+ import './typeOverrides.js';
5
6
  export type { ApolloClientCacheConfig, CedarApolloLink, CedarApolloLinkFactory, CedarApolloLinkName, CedarApolloLinks, GraphQLClientConfigProp, } from './apolloLinkTypes.js';
6
7
  interface Props {
7
8
  graphQLClientConfig?: GraphQLClientConfigProp;
@@ -1 +1 @@
1
- {"version":3,"file":"CedarApolloProvider.d.ts","sourceRoot":"","sources":["../../src/apollo/CedarApolloProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAe,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGhF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAK5C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAInE,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,sBAAsB,CAAA;AAE7B,UAAU,KAAK;IACb,mBAAmB,CAAC,EAAE,uBAAuB,CAAA;IAC7C,SAAS,CAAC,EAAE,YAAY,EAAE,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,wBAAgB,mBAAmB,CAAC,EAClC,mBAAmB,EACnB,SAAS,EACT,OAAmB,EACnB,QAAkB,EAClB,QAAQ,GACT,EAAE,KAAK,qBAqCP"}
1
+ {"version":3,"file":"CedarApolloProvider.d.ts","sourceRoot":"","sources":["../../src/apollo/CedarApolloProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAK5C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAInE,OAAO,oBAAoB,CAAA;AAE3B,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,sBAAsB,CAAA;AAE7B,UAAU,KAAK;IACb,mBAAmB,CAAC,EAAE,uBAAuB,CAAA;IAC7C,SAAS,CAAC,EAAE,YAAY,EAAE,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,wBAAgB,mBAAmB,CAAC,EAClC,mBAAmB,EACnB,SAAS,EACT,OAAmB,EACnB,QAAkB,EAClB,QAAQ,GACT,EAAE,KAAK,qBAsCP"}
@@ -4,6 +4,8 @@ import { useNoAuth } from "@cedarjs/auth";
4
4
  import { FetchConfigProvider } from "../components/FetchConfigProvider.js";
5
5
  import { ApolloProviderWithFetchConfig } from "./ApolloProviderWithFetchConfig.js";
6
6
  import { fragmentRegistry } from "./fragmentRegistry.js";
7
+ import { withParsedScalars } from "./parsedScalars.js";
8
+ import "./typeOverrides.js";
7
9
  function CedarApolloProvider({
8
10
  graphQLClientConfig,
9
11
  fragments,
@@ -18,8 +20,9 @@ function CedarApolloProvider({
18
20
  const createCache = () => {
19
21
  return new InMemoryCache({
20
22
  fragments: fragmentRegistry,
21
- possibleTypes: cacheConfig?.possibleTypes,
22
- ...cacheConfig
23
+ // Includes possibleTypes, along with every other option the caller set
24
+ // in cacheConfig
25
+ ...withParsedScalars(cacheConfig)
23
26
  });
24
27
  };
25
28
  const cache = createCache().restore(globalThis?.__CEDAR__APOLLO_STATE ?? {});
@@ -1,4 +1,4 @@
1
- import type { ApolloCache, ApolloClient, ApolloLink, HttpLink, InMemoryCacheConfig } from '@apollo/client';
1
+ import type { ApolloClient, ApolloLink, HttpLink, InMemoryCache, InMemoryCacheConfig } from '@apollo/client';
2
2
  export type ApolloClientCacheConfig = InMemoryCacheConfig;
3
3
  export type CedarApolloLinkName = 'withToken' | 'authMiddleware' | 'updateDataApolloLink' | 'httpLink';
4
4
  export type CedarApolloLink<Name extends CedarApolloLinkName, Link extends ApolloLink = ApolloLink> = {
@@ -13,7 +13,12 @@ export type CedarApolloLinks = [
13
13
  ];
14
14
  export type CedarApolloLinkFactory = (links: CedarApolloLinks) => ApolloLink;
15
15
  export type GraphQLClientConfigProp = Omit<ApolloClient.Options, 'cache' | 'link'> & {
16
- cache?: ApolloCache;
16
+ /**
17
+ * Replace the `InMemoryCache` that `CedarApolloProvider` creates with one
18
+ * of your own. Apollo Client is told (via `TypeOverrides`) that its cache
19
+ * is always an `InMemoryCache`, so a cache passed here has to be one too.
20
+ */
21
+ cache?: InMemoryCache;
17
22
  /**
18
23
  * Configuration for Apollo Client's `InMemoryCache`.
19
24
  * See https://www.apollographql.com/docs/react/caching/cache-configuration/.
@@ -1 +1 @@
1
- {"version":3,"file":"apolloLinkTypes.d.ts","sourceRoot":"","sources":["../../src/apollo/apolloLinkTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,mBAAmB,EACpB,MAAM,gBAAgB,CAAA;AAEvB,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAA;AAEzD,MAAM,MAAM,mBAAmB,GAC7B,WAAW,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,UAAU,CAAA;AAEtE,MAAM,MAAM,eAAe,CACzB,IAAI,SAAS,mBAAmB,EAChC,IAAI,SAAS,UAAU,GAAG,UAAU,IAClC;IACF,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,CAAC,WAAW,CAAC;IAC5B,eAAe,CAAC,gBAAgB,CAAC;IACjC,eAAe,CAAC,sBAAsB,CAAC;IACvC,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,CAAC;CACnD,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,UAAU,CAAA;AAE5E,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,YAAY,CAAC,OAAO,EACpB,OAAO,GAAG,MAAM,CACjB,GAAG;IACF,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAA;IACrC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAA;IACjC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,sBAAsB,CAAA;CAC3C,CAAA"}
1
+ {"version":3,"file":"apolloLinkTypes.d.ts","sourceRoot":"","sources":["../../src/apollo/apolloLinkTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,aAAa,EACb,mBAAmB,EACpB,MAAM,gBAAgB,CAAA;AAEvB,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAA;AAEzD,MAAM,MAAM,mBAAmB,GAC7B,WAAW,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,UAAU,CAAA;AAEtE,MAAM,MAAM,eAAe,CACzB,IAAI,SAAS,mBAAmB,EAChC,IAAI,SAAS,UAAU,GAAG,UAAU,IAClC;IACF,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,CAAC,WAAW,CAAC;IAC5B,eAAe,CAAC,gBAAgB,CAAC;IACjC,eAAe,CAAC,sBAAsB,CAAC;IACvC,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,CAAC;CACnD,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,UAAU,CAAA;AAE5E,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,YAAY,CAAC,OAAO,EACpB,OAAO,GAAG,MAAM,CACjB,GAAG;IACF;;;;OAIG;IACH,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAA;IACrC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAA;IACjC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,sBAAsB,CAAA;CAC3C,CAAA"}
@@ -0,0 +1,36 @@
1
+ import type { InMemoryCacheConfig } from '@apollo/client';
2
+ /**
3
+ * The cache config that `vite-plugin-cedar-parsed-scalars` builds from the
4
+ * project's GraphQL schema and the `graphql.parsedScalars` setting in
5
+ * `cedar.toml`, and puts on `globalThis.__CEDAR__PARSED_SCALARS`.
6
+ */
7
+ export interface ParsedScalarsCacheConfig {
8
+ /**
9
+ * The scalars to parse, and the type each is parsed into
10
+ */
11
+ scalars: Record<string, string>;
12
+ /**
13
+ * The fields that hold a parsed scalar
14
+ */
15
+ typePolicies: Record<string, {
16
+ fields: Record<string, {
17
+ scalar: string;
18
+ }>;
19
+ }>;
20
+ /**
21
+ * The input objects that hold a parsed scalar, directly or through another
22
+ * input object
23
+ */
24
+ inputObjects: Record<string, {
25
+ fields: Record<string, string>;
26
+ }>;
27
+ }
28
+ /**
29
+ * Adds the scalars in `graphql.parsedScalars` to the cache config, so that
30
+ * Apollo Client's cache parses them when it reads a response and serializes
31
+ * them in a query's variables. Anything the app configured for the same
32
+ * scalar, field or input object takes precedence. Returns the config as it is
33
+ * when no scalar is parsed.
34
+ */
35
+ export declare function withParsedScalars(cacheConfig?: InMemoryCacheConfig): InMemoryCacheConfig | undefined;
36
+ //# sourceMappingURL=parsedScalars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsedScalars.d.ts","sourceRoot":"","sources":["../../src/apollo/parsedScalars.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAgB,MAAM,gBAAgB,CAAA;AAEvE;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAA;IAC5E;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAAA;CACjE;AAmFD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,CAAC,EAAE,mBAAmB,GAChC,mBAAmB,GAAG,SAAS,CAmDjC"}
@@ -0,0 +1,75 @@
1
+ import { Scalar } from "@apollo/client";
2
+ const SCALAR_TYPES = {
3
+ Date: new Scalar({
4
+ parse: (serialized) => new Date(serialized),
5
+ serialize: (parsed) => parsed.toISOString(),
6
+ is: (value) => value instanceof Date
7
+ })
8
+ };
9
+ function mergeFieldPolicies(typeName, generated, configured = {}) {
10
+ const fields = { ...configured };
11
+ for (const [name, policy] of Object.entries(generated)) {
12
+ const configuredPolicy = configured[name];
13
+ const hasReadOrMerge = typeof configuredPolicy === "function" || configuredPolicy?.read !== void 0 || configuredPolicy?.merge !== void 0;
14
+ if (hasReadOrMerge) {
15
+ throw new Error(
16
+ `${typeName}.${name} holds a parsed ${policy.scalar} scalar and has a \`read\` or \`merge\` field policy. Apollo Client drops a field policy's \`read\` and \`merge\` the moment \`scalar\` is also set on it, so they can\u2019t both apply. Move the \`read\`/\`merge\` logic to a different field, for example one backed by a \`@requires\`-style resolver, or stop parsing this scalar.`
17
+ );
18
+ }
19
+ fields[name] = {
20
+ ...policy,
21
+ ...configuredPolicy
22
+ };
23
+ }
24
+ return fields;
25
+ }
26
+ function mergeInputObjects(generated, configured = {}) {
27
+ const inputObjects = { ...configured };
28
+ for (const [name, { fields }] of Object.entries(generated)) {
29
+ inputObjects[name] = {
30
+ ...configured[name],
31
+ fields: { ...fields, ...configured[name]?.fields }
32
+ };
33
+ }
34
+ return inputObjects;
35
+ }
36
+ function withParsedScalars(cacheConfig) {
37
+ const parsed = globalThis.__CEDAR__PARSED_SCALARS;
38
+ if (!parsed) {
39
+ return cacheConfig;
40
+ }
41
+ const scalars = Object.fromEntries(
42
+ Object.entries(parsed.scalars).map(([name, type]) => {
43
+ const scalarType = SCALAR_TYPES[type];
44
+ if (!scalarType) {
45
+ throw new Error(
46
+ `Can't parse the ${name} scalar into ${JSON.stringify(type)}. Supported: ` + Object.keys(SCALAR_TYPES).map((supported) => JSON.stringify(supported)).join(", ")
47
+ );
48
+ }
49
+ return [name, scalarType];
50
+ })
51
+ );
52
+ const typePolicies = { ...cacheConfig?.typePolicies };
53
+ for (const [typeName, { fields }] of Object.entries(parsed.typePolicies)) {
54
+ typePolicies[typeName] = {
55
+ ...typePolicies[typeName],
56
+ fields: mergeFieldPolicies(
57
+ typeName,
58
+ fields,
59
+ typePolicies[typeName]?.fields
60
+ )
61
+ };
62
+ }
63
+ return {
64
+ ...cacheConfig,
65
+ scalars: { ...scalars, ...cacheConfig?.scalars },
66
+ typePolicies,
67
+ inputObjects: mergeInputObjects(
68
+ parsed.inputObjects,
69
+ cacheConfig?.inputObjects
70
+ )
71
+ };
72
+ }
73
+ export {
74
+ withParsedScalars
75
+ };
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import type { ApolloClient as ApolloClientBase, HttpLink, InMemoryCacheConfig, setLogVerbosity } from '@apollo/client';
3
3
  import { ApolloLink } from '@apollo/client';
4
4
  import { InMemoryCache } from '@apollo/client-react-streaming';
5
+ import './typeOverrides.js';
5
6
  import type { UseAuth } from '@cedarjs/auth';
6
7
  import type { RedwoodApolloLink, RedwoodApolloLinkFactory, RedwoodApolloLinkName, RedwoodApolloLinks } from './links.js';
7
8
  export type ApolloClientCacheConfig = InMemoryCacheConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"suspense.d.ts","sourceRoot":"","sources":["../../src/apollo/suspense.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,EACV,YAAY,IAAI,gBAAgB,EAChC,QAAQ,EACR,mBAAmB,EACnB,eAAe,EAChB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,UAAU,EAEX,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAEL,aAAa,EAEd,MAAM,gCAAgC,CAAA;AAGvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAa5C,OAAO,KAAK,EACV,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,YAAY,CAAA;AASnB,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAA;AAEzD,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,GACnB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,gBAAgB,CAAC,OAAO,EACxB,OAAO,GAAG,MAAM,CACjB,GAAG;IACF,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAA;IACrC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAA;IACjC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,wBAAwB,CAAA;CAC7C,CAAA;AAqHD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACxD,mBAAmB,CAAC,EAAE,uBAAuB,CAAA;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAsCA,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB;0BAhDV,uBAAuB;cACnC,OAAO;eACN,UAAU,CAAC,OAAO,eAAe,CAAC;cACnC,KAAK,CAAC,SAAS;EA6C6B,CAAA"}
1
+ {"version":3,"file":"suspense.d.ts","sourceRoot":"","sources":["../../src/apollo/suspense.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,EACV,YAAY,IAAI,gBAAgB,EAChC,QAAQ,EACR,mBAAmB,EACnB,eAAe,EAChB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,UAAU,EAEX,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAEL,aAAa,EAEd,MAAM,gCAAgC,CAAA;AAGvC,OAAO,oBAAoB,CAAA;AAE3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAa5C,OAAO,KAAK,EACV,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,YAAY,CAAA;AAUnB,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAA;AAEzD,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,GACnB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,gBAAgB,CAAC,OAAO,EACxB,OAAO,GAAG,MAAM,CACjB,GAAG;IACF,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAA;IACrC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAA;IACjC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,wBAAwB,CAAA;CAC7C,CAAA;AAqHD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACxD,mBAAmB,CAAC,EAAE,uBAAuB,CAAA;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAsCA,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB;0BAhDV,uBAAuB;cACnC,OAAO;eACN,UAAU,CAAC,OAAO,eAAe,CAAC;cACnC,KAAK,CAAC,SAAS;EA6C6B,CAAA"}
@@ -11,6 +11,7 @@ import {
11
11
  WrapApolloProvider
12
12
  } from "@apollo/client-react-streaming";
13
13
  import { buildManualDataTransport } from "@apollo/client-react-streaming/manual-transport";
14
+ import "./typeOverrides.js";
14
15
  import { useNoAuth } from "@cedarjs/auth";
15
16
  import { ServerAuthContext } from "@cedarjs/auth/dist/AuthProvider/ServerAuthProvider.js";
16
17
  import {
@@ -27,6 +28,7 @@ import {
27
28
  createTokenLink,
28
29
  createUpdateDataLink
29
30
  } from "./links.js";
31
+ import { withParsedScalars } from "./parsedScalars.js";
30
32
  const WrappedApolloProvider = WrapApolloProvider(
31
33
  buildManualDataTransport({
32
34
  useInsertHtml() {
@@ -100,7 +102,7 @@ const CedarApolloProvider = ({
100
102
  const createCache = () => {
101
103
  return new InMemoryCache({
102
104
  fragments: fragmentRegistry,
103
- ...cacheConfig
105
+ ...withParsedScalars(cacheConfig)
104
106
  });
105
107
  };
106
108
  const cache = createCache().restore(globalThis?.__CEDAR__APOLLO_STATE ?? {});
@@ -0,0 +1,8 @@
1
+ import type { InMemoryCache } from '@apollo/client';
2
+ declare module '@apollo/client' {
3
+ interface TypeOverrides {
4
+ cache: InMemoryCache;
5
+ }
6
+ }
7
+ export {};
8
+ //# sourceMappingURL=typeOverrides.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeOverrides.d.ts","sourceRoot":"","sources":["../../src/apollo/typeOverrides.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAanD,OAAO,QAAQ,gBAAgB,CAAC;IAC9B,UAAU,aAAa;QACrB,KAAK,EAAE,aAAa,CAAA;KACrB;CACF;AAED,OAAO,EAAE,CAAA"}
File without changes
@@ -1,6 +1,6 @@
1
- import type { ApolloCache, ApolloClient, NormalizedCacheObject, Reference, StoreObject } from '@apollo/client';
1
+ import type { ApolloClient, InMemoryCache, NormalizedCacheObject, Reference, StoreObject } from '@apollo/client';
2
2
  type useCacheType = {
3
- cache: ApolloCache;
3
+ cache: InMemoryCache;
4
4
  evict: (object: StoreObject | Reference) => boolean;
5
5
  extract: (optimistic?: boolean) => NormalizedCacheObject;
6
6
  identify: (object: StoreObject | Reference) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useCache.d.ts","sourceRoot":"","sources":["../../src/apollo/useCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,SAAS,EACT,WAAW,EACZ,MAAM,gBAAgB,CAAA;AAGvB,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,KAAK,OAAO,CAAA;IACnD,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,qBAAqB,CAAA;IACxD,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,KAAK;QAAE,EAAE,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;IACzE,MAAM,EAAE,CACN,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACxB,OAAO,CAAA;IACZ,UAAU,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IACjE,UAAU,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;CAClE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,QAAO,YAmE3B,CAAA"}
1
+ {"version":3,"file":"useCache.d.ts","sourceRoot":"","sources":["../../src/apollo/useCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,SAAS,EACT,WAAW,EACZ,MAAM,gBAAgB,CAAA;AAGvB,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,aAAa,CAAA;IACpB,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,KAAK,OAAO,CAAA;IACnD,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,qBAAqB,CAAA;IACxD,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,KAAK;QAAE,EAAE,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;IACzE,MAAM,EAAE,CACN,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACxB,OAAO,CAAA;IACZ,UAAU,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IACjE,UAAU,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;CAClE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,QAAO,YAmE3B,CAAA"}
@@ -1487,7 +1487,7 @@ var global_default = (
1487
1487
  );
1488
1488
 
1489
1489
  // ../../node_modules/@apollo/client/version.js
1490
- var version = "4.3.0";
1490
+ var version = "4.3.1";
1491
1491
 
1492
1492
  // ../../node_modules/@apollo/client/utilities/internal/makeUniqueId.js
1493
1493
  var prefixCounts = /* @__PURE__ */ new Map();
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import './global.web-auto-imports.js';
2
+ import './apollo/typeOverrides.js';
2
3
  import './config.js';
3
4
  export { FatalErrorBoundary } from './components/FatalErrorBoundary.js';
4
5
  export { FetchConfigProvider, useFetchConfig, } from './components/FetchConfigProvider.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,8BAA8B,CAAA;AACrC,OAAO,aAAa,CAAA;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAEvE,OAAO,EACL,mBAAmB,EACnB,cAAc,GACf,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,YAAY,EACV,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,8BAA8B,CAAA;AAErC,cAAc,uCAAuC,CAAA;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAE5E,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,GACX,MAAM,gCAAgC,CAAA;AAEvC,cAAc,cAAc,CAAA;AAE5B,cAAc,+BAA+B,CAAA;AAE7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,EAAE,CAAA;AAEjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AAErC,cAAc,8BAA8B,CAAA;AAE5C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,8BAA8B,CAAA;AACrC,OAAO,2BAA2B,CAAA;AAClC,OAAO,aAAa,CAAA;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAEvE,OAAO,EACL,mBAAmB,EACnB,cAAc,GACf,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,YAAY,EACV,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,8BAA8B,CAAA;AAErC,cAAc,uCAAuC,CAAA;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAE5E,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,GACX,MAAM,gCAAgC,CAAA;AAEvC,cAAc,cAAc,CAAA;AAE5B,cAAc,+BAA+B,CAAA;AAE7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,EAAE,CAAA;AAEjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AAErC,cAAc,8BAA8B,CAAA;AAE5C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import "./global.web-auto-imports.js";
2
+ import "./apollo/typeOverrides.js";
2
3
  import "./config.js";
3
4
  import { FatalErrorBoundary } from "./components/FatalErrorBoundary.js";
4
5
  import {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cedarjs/web",
3
- "version": "6.0.3-next.227",
3
+ "version": "6.0.3-next.296",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/cedarjs/cedar.git",
@@ -78,16 +78,16 @@
78
78
  "test:watch": "vitest watch"
79
79
  },
80
80
  "dependencies": {
81
- "@apollo/client": "4.3.0",
82
- "@cedarjs/server-store": "6.0.3-next.227",
81
+ "@apollo/client": "4.3.1",
82
+ "@cedarjs/server-store": "6.0.3-next.296",
83
83
  "@dr.pogodin/react-helmet": "2.0.4",
84
- "@whatwg-node/fetch": "0.10.13",
84
+ "@whatwg-node/fetch": "0.12.0",
85
85
  "apollo-upload-client": "19.0.0",
86
86
  "cookie": "1.1.1",
87
87
  "graphql": "16.14.2",
88
88
  "graphql-sse": "2.6.1",
89
89
  "graphql-tag": "2.12.7",
90
- "react-hot-toast": "2.6.0",
90
+ "react-hot-toast": "2.6.1",
91
91
  "rxjs": "7.8.2",
92
92
  "stacktracey": "2.2.0",
93
93
  "ts-toolbelt": "9.6.0"
@@ -95,10 +95,10 @@
95
95
  "devDependencies": {
96
96
  "@apollo/client-react-streaming": "0.14.5",
97
97
  "@arethetypeswrong/cli": "0.18.5",
98
- "@cedarjs/auth": "6.0.3-next.227",
99
- "@cedarjs/framework-tools": "6.0.3-next.227",
100
- "@cedarjs/internal": "6.0.3-next.227",
101
- "@testing-library/dom": "10.4.1",
98
+ "@cedarjs/auth": "6.0.3-next.296",
99
+ "@cedarjs/framework-tools": "6.0.3-next.296",
100
+ "@cedarjs/internal": "6.0.3-next.296",
101
+ "@testing-library/dom": "10.4.2",
102
102
  "@testing-library/jest-dom": "6.9.1",
103
103
  "@testing-library/react": "16.3.3",
104
104
  "@types/apollo-upload-client": "^19",
@@ -114,7 +114,7 @@
114
114
  "vitest": "4.1.11"
115
115
  },
116
116
  "peerDependencies": {
117
- "@cedarjs/auth": "6.0.3-next.227",
117
+ "@cedarjs/auth": "6.0.3-next.296",
118
118
  "react": "19.3.0",
119
119
  "react-dom": "19.3.0"
120
120
  },