@teambit/graphql 1.0.546 → 1.0.547

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.
@@ -12,9 +12,11 @@ type ClientOptions = {
12
12
  state?: NormalizedCacheObject;
13
13
  /** endpoint for websocket connections */
14
14
  subscriptionUri?: string;
15
+ /** host extension id (workspace or scope). Used to configure the client */
16
+ host?: string;
15
17
  };
16
18
  export declare class GraphqlUI {
17
- createClient(uri: string, { state, subscriptionUri }?: ClientOptions): ApolloClient<NormalizedCacheObject>;
19
+ createClient(uri: string, { state, subscriptionUri, host }?: ClientOptions): ApolloClient<NormalizedCacheObject>;
18
20
  createSsrClient({ serverUrl, headers }: {
19
21
  serverUrl: string;
20
22
  headers: any;
@@ -107,15 +107,28 @@ class GraphqlUI {
107
107
  }
108
108
  createClient(uri, {
109
109
  state,
110
- subscriptionUri
110
+ subscriptionUri,
111
+ host
111
112
  } = {}) {
113
+ const defaultOptions = host === 'teambit.workspace/workspace' ? {
114
+ query: {
115
+ fetchPolicy: 'network-only'
116
+ },
117
+ watchQuery: {
118
+ fetchPolicy: 'network-only'
119
+ },
120
+ mutate: {
121
+ fetchPolicy: 'network-only'
122
+ }
123
+ } : undefined;
112
124
  const client = new (_client().ApolloClient)({
113
125
  link: this.createLink(uri, {
114
126
  subscriptionUri
115
127
  }),
116
128
  cache: this.createCache({
117
129
  state
118
- })
130
+ }),
131
+ defaultOptions
119
132
  });
120
133
  return client;
121
134
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","_interopRequireDefault","require","_ui","_client","_ws","_error","_crossFetch","_createLink","_graphqlProvider","_graphql","_renderLifecycle","_logging","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GraphqlUI","constructor","client","children","createElement","GraphQLProvider","GraphqlRenderPlugins","createClient","uri","state","subscriptionUri","ApolloClient","link","createLink","cache","createCache","createSsrClient","serverUrl","headers","ApolloLink","from","onError","logError","createHttpLink","credentials","fetch","crossFetch","ssrMode","InMemoryCache","restore","httpLink","HttpLink","subsLink","WebSocketLink","options","reconnect","undefined","hybridLink","createSplitLink","errorLogger","provider","graphqlUI","exports","UIRuntime","GraphqlAspect","addRuntime"],"sources":["graphql.ui.runtime.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { UIRuntime } from '@teambit/ui';\n\nimport { InMemoryCache, ApolloClient, ApolloLink, HttpLink, createHttpLink } from '@apollo/client';\nimport type { NormalizedCacheObject } from '@apollo/client';\nimport { WebSocketLink } from '@apollo/client/link/ws';\nimport { onError } from '@apollo/client/link/error';\n\nimport crossFetch from 'cross-fetch';\n\nimport { createSplitLink } from './create-link';\nimport { GraphQLProvider } from './graphql-provider';\nimport { GraphqlAspect } from './graphql.aspect';\nimport { GraphqlRenderPlugins } from './render-lifecycle';\nimport { logError } from './logging';\n\n/**\n * Type of gql client.\n * Used to abstract Apollo client, so consumers could import the type from graphql.ui, and not have to depend on @apollo/client directly\n * */\nexport type GraphQLClient<T> = ApolloClient<T>;\n\ntype ClientOptions = {\n /** Preset in-memory cache with state (e.g. continue state from SSR) */\n state?: NormalizedCacheObject;\n /** endpoint for websocket connections */\n subscriptionUri?: string;\n};\n\nexport class GraphqlUI {\n createClient(uri: string, { state, subscriptionUri }: ClientOptions = {}) {\n const client = new ApolloClient({\n link: this.createLink(uri, { subscriptionUri }),\n cache: this.createCache({ state }),\n });\n\n return client;\n }\n\n createSsrClient({ serverUrl, headers }: { serverUrl: string; headers: any }) {\n const link = ApolloLink.from([\n onError(logError),\n createHttpLink({\n credentials: 'include',\n uri: serverUrl,\n headers,\n fetch: crossFetch,\n }),\n ]);\n\n const client = new ApolloClient({\n ssrMode: true,\n link,\n cache: this.createCache(),\n });\n\n return client;\n }\n\n private createCache({ state }: { state?: NormalizedCacheObject } = {}) {\n const cache = new InMemoryCache();\n\n if (state) cache.restore(state);\n\n return cache;\n }\n\n private createLink(uri: string, { subscriptionUri }: { subscriptionUri?: string } = {}) {\n const httpLink = new HttpLink({ credentials: 'include', uri });\n const subsLink = subscriptionUri\n ? new WebSocketLink({\n uri: subscriptionUri,\n options: { reconnect: true },\n })\n : undefined;\n\n const hybridLink = subsLink ? createSplitLink(httpLink, subsLink) : httpLink;\n const errorLogger = onError(logError);\n\n return ApolloLink.from([errorLogger, hybridLink]);\n }\n\n /**\n * get the graphQL provider\n */\n getProvider = ({ client, children }: { client: GraphQLClient<any>; children: ReactNode }) => {\n return <GraphQLProvider client={client}>{children}</GraphQLProvider>;\n };\n\n readonly renderPlugins = new GraphqlRenderPlugins(this);\n\n static runtime = UIRuntime;\n static dependencies = [];\n static slots = [];\n\n static async provider() {\n const graphqlUI = new GraphqlUI();\n\n return graphqlUI;\n }\n}\n\nGraphqlAspect.addRuntime(GraphqlUI);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","data","_interopRequireDefault","require","_ui","_client","_ws","_error","_crossFetch","_createLink","_graphqlProvider","_graphql","_renderLifecycle","_logging","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GraphqlUI","constructor","client","children","createElement","GraphQLProvider","GraphqlRenderPlugins","createClient","uri","state","subscriptionUri","host","defaultOptions","query","fetchPolicy","watchQuery","mutate","undefined","ApolloClient","link","createLink","cache","createCache","createSsrClient","serverUrl","headers","ApolloLink","from","onError","logError","createHttpLink","credentials","fetch","crossFetch","ssrMode","InMemoryCache","restore","httpLink","HttpLink","subsLink","WebSocketLink","options","reconnect","hybridLink","createSplitLink","errorLogger","provider","graphqlUI","exports","UIRuntime","GraphqlAspect","addRuntime"],"sources":["graphql.ui.runtime.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { UIRuntime } from '@teambit/ui';\n\nimport { InMemoryCache, ApolloClient, ApolloLink, HttpLink, createHttpLink } from '@apollo/client';\nimport type { DefaultOptions, NormalizedCacheObject } from '@apollo/client';\nimport { WebSocketLink } from '@apollo/client/link/ws';\nimport { onError } from '@apollo/client/link/error';\n\nimport crossFetch from 'cross-fetch';\n\nimport { createSplitLink } from './create-link';\nimport { GraphQLProvider } from './graphql-provider';\nimport { GraphqlAspect } from './graphql.aspect';\nimport { GraphqlRenderPlugins } from './render-lifecycle';\nimport { logError } from './logging';\n\n/**\n * Type of gql client.\n * Used to abstract Apollo client, so consumers could import the type from graphql.ui, and not have to depend on @apollo/client directly\n * */\nexport type GraphQLClient<T> = ApolloClient<T>;\n\ntype ClientOptions = {\n /** Preset in-memory cache with state (e.g. continue state from SSR) */\n state?: NormalizedCacheObject;\n /** endpoint for websocket connections */\n subscriptionUri?: string;\n /** host extension id (workspace or scope). Used to configure the client */\n host?: string;\n};\n\nexport class GraphqlUI {\n createClient(uri: string, { state, subscriptionUri, host }: ClientOptions = {}) {\n const defaultOptions: DefaultOptions | undefined = host === 'teambit.workspace/workspace' ? {\n query: {\n fetchPolicy: 'network-only',\n },\n watchQuery: {\n fetchPolicy: 'network-only',\n },\n mutate: {\n fetchPolicy: 'network-only'\n }\n } : undefined;\n const client = new ApolloClient({\n link: this.createLink(uri, { subscriptionUri }),\n cache: this.createCache({ state }),\n defaultOptions\n });\n\n return client;\n }\n\n createSsrClient({ serverUrl, headers }: { serverUrl: string; headers: any }) {\n const link = ApolloLink.from([\n onError(logError),\n createHttpLink({\n credentials: 'include',\n uri: serverUrl,\n headers,\n fetch: crossFetch,\n }),\n ]);\n\n const client = new ApolloClient({\n ssrMode: true,\n link,\n cache: this.createCache(),\n });\n\n return client;\n }\n\n private createCache({ state }: { state?: NormalizedCacheObject } = {}) {\n const cache = new InMemoryCache();\n\n if (state) cache.restore(state);\n\n return cache;\n }\n\n private createLink(uri: string, { subscriptionUri }: { subscriptionUri?: string } = {}) {\n const httpLink = new HttpLink({ credentials: 'include', uri });\n const subsLink = subscriptionUri\n ? new WebSocketLink({\n uri: subscriptionUri,\n options: { reconnect: true },\n })\n : undefined;\n\n const hybridLink = subsLink ? createSplitLink(httpLink, subsLink) : httpLink;\n const errorLogger = onError(logError);\n\n return ApolloLink.from([errorLogger, hybridLink]);\n }\n\n /**\n * get the graphQL provider\n */\n getProvider = ({ client, children }: { client: GraphQLClient<any>; children: ReactNode }) => {\n return <GraphQLProvider client={client}>{children}</GraphQLProvider>;\n };\n\n readonly renderPlugins = new GraphqlRenderPlugins(this);\n\n static runtime = UIRuntime;\n static dependencies = [];\n static slots = [];\n\n static async provider() {\n const graphqlUI = new GraphqlUI();\n\n return graphqlUI;\n }\n}\n\nGraphqlAspect.addRuntime(GraphqlUI);\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_graphql@1.0.546/dist/graphql.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_graphql@1.0.546/dist/graphql.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_graphql@1.0.547/dist/graphql.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_graphql@1.0.547/dist/graphql.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -26,6 +26,8 @@ export declare class GraphqlRenderPlugins implements SSR.RenderPlugin<RenderCont
26
26
  private _client;
27
27
  browserInit: ({ state }?: {
28
28
  state?: NormalizedCacheObject;
29
+ }, { host }?: {
30
+ host?: string;
29
31
  }) => {
30
32
  client: ApolloClient<NormalizedCacheObject>;
31
33
  };
@@ -113,6 +113,8 @@ class GraphqlRenderPlugins {
113
113
  _defineProperty(this, "_client", undefined);
114
114
  _defineProperty(this, "browserInit", ({
115
115
  state
116
+ } = {}, {
117
+ host
116
118
  } = {}) => {
117
119
  const {
118
120
  location
@@ -121,7 +123,8 @@ class GraphqlRenderPlugins {
121
123
  const wsUrl = `${isInsecure ? 'ws:' : 'wss:'}//${location.host}/subscriptions`;
122
124
  const client = this.graphqlUI.createClient('/graphql', {
123
125
  state,
124
- subscriptionUri: wsUrl
126
+ subscriptionUri: wsUrl,
127
+ host
125
128
  });
126
129
  this._client = client;
127
130
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","_interopRequireDefault","require","_ssr","_server","_lodash","_uiFoundationUi","_graphqlProvider","_graphql","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ALLOWED_HEADERS","GraphqlRenderPlugins","constructor","graphqlUI","GraphqlAspect","id","browser","port","location","serverUrl","client","createSsrClient","headers","pick","ctx","app","getMarkupFromTree","tree","renderFunction","ReactDOMServer","renderToStaticMarkup","undefined","json","JSON","stringify","extract","raw","state","parse","console","error","window","isInsecure","protocol","wsUrl","host","createClient","subscriptionUri","_client","renderCtx","children","createElement","getProvider","isBrowser","BrowserGqlProvider","ServerGqlProvider","getClient","browserInit","exports","GraphQLProvider"],"sources":["render-lifecycle.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\n// Calling getMarkupFromTree instead of getDataFromTree so we can control the render function\n// This is required since upgrade to @apollo/client v3.6.9 because otherwise the ssr is not working since\n// webpack is not bundling the react-dom/server\nimport { getMarkupFromTree } from '@apollo/client/react/ssr';\nimport ReactDOMServer from 'react-dom/server';\nimport type { ApolloClient, NormalizedCacheObject } from '@apollo/client';\nimport { pick } from 'lodash';\n\nimport { isBrowser } from '@teambit/ui-foundation.ui.is-browser';\nimport type { SSR } from '@teambit/ui';\n\nimport type { GraphqlUI, GraphQLClient } from './graphql.ui.runtime';\nimport { GraphQLProvider } from './graphql-provider';\nimport { GraphqlAspect } from './graphql.aspect';\n\ntype RenderContext = {\n client: GraphQLClient<any>;\n};\n\nconst ALLOWED_HEADERS = ['cookie'];\n\nexport class GraphqlRenderPlugins implements SSR.RenderPlugin<RenderContext, { state?: NormalizedCacheObject }> {\n constructor(private graphqlUI: GraphqlUI) {}\n\n key = GraphqlAspect.id;\n\n serverInit = ({ browser }: SSR.SsrSession) => {\n const port = browser?.location.port || 3000;\n const serverUrl = `http://localhost:${port}/graphql`;\n\n const client = this.graphqlUI.createSsrClient({\n serverUrl,\n headers: pick(browser?.headers, ALLOWED_HEADERS),\n });\n\n const ctx: RenderContext = { client };\n return ctx;\n };\n\n /**\n * Eagerly and recursively execute all gql queries in the app.\n * Data will be available in gqlClient.extract()\n */\n onBeforeRender = async (ctx: RenderContext, app: ReactNode) => {\n await getMarkupFromTree({ tree: app, renderFunction: ReactDOMServer.renderToStaticMarkup });\n };\n\n serialize = (ctx?: RenderContext) => {\n const client = ctx?.client;\n if (!client) return undefined;\n\n return {\n json: JSON.stringify(client.extract()),\n };\n };\n\n deserialize = (raw?: string) => {\n if (!raw) return { state: undefined };\n let state: NormalizedCacheObject | undefined;\n try {\n state = JSON.parse(raw);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('[GraphQL] failed deserializing state from DOM', e);\n }\n\n return { state };\n };\n\n private _client: ApolloClient<NormalizedCacheObject> | undefined = undefined;\n\n browserInit = ({ state }: { state?: NormalizedCacheObject } = {}) => {\n const { location } = window;\n const isInsecure = location.protocol === 'http:';\n const wsUrl = `${isInsecure ? 'ws:' : 'wss:'}//${location.host}/subscriptions`;\n\n const client = this.graphqlUI.createClient('/graphql', { state, subscriptionUri: wsUrl });\n this._client = client;\n\n return { client };\n };\n\n getClient() {\n if (!this._client) return this.browserInit().client;\n return this._client;\n }\n\n private BrowserGqlProvider = ({ renderCtx, children }: { renderCtx?: RenderContext; children: ReactNode }) => {\n if (!renderCtx?.client) throw new TypeError('GQL client is not initialized, make sure `.browserInit()` executes');\n\n return <this.graphqlUI.getProvider client={renderCtx?.client}>{children}</this.graphqlUI.getProvider>;\n };\n\n reactContext = isBrowser ? this.BrowserGqlProvider : ServerGqlProvider;\n}\n\nfunction ServerGqlProvider({ renderCtx, children }: { renderCtx?: RenderContext; children: ReactNode }) {\n if (!renderCtx?.client)\n throw new TypeError('GQL client has not been initialized during SSR, make sure `.serverInit()` executes');\n\n const { client } = renderCtx;\n return <GraphQLProvider client={client}>{children}</GraphQLProvider>;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","data","_interopRequireDefault","require","_ssr","_server","_lodash","_uiFoundationUi","_graphqlProvider","_graphql","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ALLOWED_HEADERS","GraphqlRenderPlugins","constructor","graphqlUI","GraphqlAspect","id","browser","port","location","serverUrl","client","createSsrClient","headers","pick","ctx","app","getMarkupFromTree","tree","renderFunction","ReactDOMServer","renderToStaticMarkup","undefined","json","JSON","stringify","extract","raw","state","parse","console","error","host","window","isInsecure","protocol","wsUrl","createClient","subscriptionUri","_client","renderCtx","children","createElement","getProvider","isBrowser","BrowserGqlProvider","ServerGqlProvider","getClient","browserInit","exports","GraphQLProvider"],"sources":["render-lifecycle.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\n// Calling getMarkupFromTree instead of getDataFromTree so we can control the render function\n// This is required since upgrade to @apollo/client v3.6.9 because otherwise the ssr is not working since\n// webpack is not bundling the react-dom/server\nimport { getMarkupFromTree } from '@apollo/client/react/ssr';\nimport ReactDOMServer from 'react-dom/server';\nimport type { ApolloClient, NormalizedCacheObject } from '@apollo/client';\nimport { pick } from 'lodash';\n\nimport { isBrowser } from '@teambit/ui-foundation.ui.is-browser';\nimport type { SSR } from '@teambit/ui';\n\nimport type { GraphqlUI, GraphQLClient } from './graphql.ui.runtime';\nimport { GraphQLProvider } from './graphql-provider';\nimport { GraphqlAspect } from './graphql.aspect';\n\ntype RenderContext = {\n client: GraphQLClient<any>;\n};\n\nconst ALLOWED_HEADERS = ['cookie'];\n\nexport class GraphqlRenderPlugins implements SSR.RenderPlugin<RenderContext, { state?: NormalizedCacheObject }> {\n constructor(private graphqlUI: GraphqlUI) { }\n\n key = GraphqlAspect.id;\n\n serverInit = ({ browser }: SSR.SsrSession) => {\n const port = browser?.location.port || 3000;\n const serverUrl = `http://localhost:${port}/graphql`;\n\n const client = this.graphqlUI.createSsrClient({\n serverUrl,\n headers: pick(browser?.headers, ALLOWED_HEADERS),\n });\n\n const ctx: RenderContext = { client };\n return ctx;\n };\n\n /**\n * Eagerly and recursively execute all gql queries in the app.\n * Data will be available in gqlClient.extract()\n */\n onBeforeRender = async (ctx: RenderContext, app: ReactNode) => {\n await getMarkupFromTree({ tree: app, renderFunction: ReactDOMServer.renderToStaticMarkup });\n };\n\n serialize = (ctx?: RenderContext) => {\n const client = ctx?.client;\n if (!client) return undefined;\n\n return {\n json: JSON.stringify(client.extract()),\n };\n };\n\n deserialize = (raw?: string) => {\n if (!raw) return { state: undefined };\n let state: NormalizedCacheObject | undefined;\n try {\n state = JSON.parse(raw);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('[GraphQL] failed deserializing state from DOM', e);\n }\n\n return { state };\n };\n\n private _client: ApolloClient<NormalizedCacheObject> | undefined = undefined;\n\n browserInit = ({ state }: { state?: NormalizedCacheObject } = {}, { host }: { host?: string } = {}) => {\n const { location } = window;\n const isInsecure = location.protocol === 'http:';\n const wsUrl = `${isInsecure ? 'ws:' : 'wss:'}//${location.host}/subscriptions`;\n\n const client = this.graphqlUI.createClient('/graphql', { state, subscriptionUri: wsUrl, host });\n this._client = client;\n\n return { client };\n };\n\n getClient() {\n if (!this._client) return this.browserInit().client;\n return this._client;\n }\n\n private BrowserGqlProvider = ({ renderCtx, children }: { renderCtx?: RenderContext; children: ReactNode }) => {\n if (!renderCtx?.client) throw new TypeError('GQL client is not initialized, make sure `.browserInit()` executes');\n\n return <this.graphqlUI.getProvider client={renderCtx?.client}>{children}</this.graphqlUI.getProvider>;\n };\n\n reactContext = isBrowser ? this.BrowserGqlProvider : ServerGqlProvider;\n}\n\nfunction ServerGqlProvider({ renderCtx, children }: { renderCtx?: RenderContext; children: ReactNode }) {\n if (!renderCtx?.client)\n throw new TypeError('GQL client has not been initialized during SSR, make sure `.serverInit()` executes');\n\n const { client } = renderCtx;\n return <GraphQLProvider client={client}>{children}</GraphQLProvider>;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import React, { ReactNode } from 'react';
2
2
  import { UIRuntime } from '@teambit/ui';
3
3
 
4
4
  import { InMemoryCache, ApolloClient, ApolloLink, HttpLink, createHttpLink } from '@apollo/client';
5
- import type { NormalizedCacheObject } from '@apollo/client';
5
+ import type { DefaultOptions, NormalizedCacheObject } from '@apollo/client';
6
6
  import { WebSocketLink } from '@apollo/client/link/ws';
7
7
  import { onError } from '@apollo/client/link/error';
8
8
 
@@ -25,13 +25,27 @@ type ClientOptions = {
25
25
  state?: NormalizedCacheObject;
26
26
  /** endpoint for websocket connections */
27
27
  subscriptionUri?: string;
28
+ /** host extension id (workspace or scope). Used to configure the client */
29
+ host?: string;
28
30
  };
29
31
 
30
32
  export class GraphqlUI {
31
- createClient(uri: string, { state, subscriptionUri }: ClientOptions = {}) {
33
+ createClient(uri: string, { state, subscriptionUri, host }: ClientOptions = {}) {
34
+ const defaultOptions: DefaultOptions | undefined = host === 'teambit.workspace/workspace' ? {
35
+ query: {
36
+ fetchPolicy: 'network-only',
37
+ },
38
+ watchQuery: {
39
+ fetchPolicy: 'network-only',
40
+ },
41
+ mutate: {
42
+ fetchPolicy: 'network-only'
43
+ }
44
+ } : undefined;
32
45
  const client = new ApolloClient({
33
46
  link: this.createLink(uri, { subscriptionUri }),
34
47
  cache: this.createCache({ state }),
48
+ defaultOptions
35
49
  });
36
50
 
37
51
  return client;
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/graphql",
3
- "version": "1.0.546",
3
+ "version": "1.0.547",
4
4
  "homepage": "https://bit.cloud/teambit/harmony/graphql",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.harmony",
8
8
  "name": "graphql",
9
- "version": "1.0.546"
9
+ "version": "1.0.547"
10
10
  },
11
11
  "dependencies": {
12
12
  "@graphql-modules/core": "0.7.17",
@@ -32,10 +32,10 @@
32
32
  "bufferutil": "4.0.3",
33
33
  "@teambit/harmony": "0.4.6",
34
34
  "@teambit/ui-foundation.ui.is-browser": "0.0.500",
35
- "@teambit/cli": "0.0.1123",
36
- "@teambit/logger": "0.0.1216",
35
+ "@teambit/cli": "0.0.1124",
36
+ "@teambit/logger": "0.0.1217",
37
37
  "@teambit/toolbox.network.get-port": "1.0.10",
38
- "@teambit/ui": "1.0.546"
38
+ "@teambit/ui": "1.0.547"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/cors": "2.8.10",
@@ -21,7 +21,7 @@ type RenderContext = {
21
21
  const ALLOWED_HEADERS = ['cookie'];
22
22
 
23
23
  export class GraphqlRenderPlugins implements SSR.RenderPlugin<RenderContext, { state?: NormalizedCacheObject }> {
24
- constructor(private graphqlUI: GraphqlUI) {}
24
+ constructor(private graphqlUI: GraphqlUI) { }
25
25
 
26
26
  key = GraphqlAspect.id;
27
27
 
@@ -70,12 +70,12 @@ export class GraphqlRenderPlugins implements SSR.RenderPlugin<RenderContext, { s
70
70
 
71
71
  private _client: ApolloClient<NormalizedCacheObject> | undefined = undefined;
72
72
 
73
- browserInit = ({ state }: { state?: NormalizedCacheObject } = {}) => {
73
+ browserInit = ({ state }: { state?: NormalizedCacheObject } = {}, { host }: { host?: string } = {}) => {
74
74
  const { location } = window;
75
75
  const isInsecure = location.protocol === 'http:';
76
76
  const wsUrl = `${isInsecure ? 'ws:' : 'wss:'}//${location.host}/subscriptions`;
77
77
 
78
- const client = this.graphqlUI.createClient('/graphql', { state, subscriptionUri: wsUrl });
78
+ const client = this.graphqlUI.createClient('/graphql', { state, subscriptionUri: wsUrl, host });
79
79
  this._client = client;
80
80
 
81
81
  return { client };