@teambit/graphql 1.0.666 → 1.0.668

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.
@@ -7,7 +7,7 @@ import { split, ApolloLink } from 'apollo-link';
7
7
  import { getMainDefinition } from 'apollo-utilities';
8
8
  import { SubscriptionClient } from 'subscriptions-transport-ws';
9
9
  import ws from 'ws';
10
- import { GraphQLServer } from '../graphql-server';
10
+ import type { GraphQLServer } from '../graphql-server';
11
11
 
12
12
  async function getRemoteSchema({ uri, subscriptionsUri }) {
13
13
  const wrappingLink = new ApolloLink((operation, forward) => {
@@ -1,4 +1,4 @@
1
- import { HttpLink } from '@apollo/client';
1
+ import type { HttpLink } from '@apollo/client';
2
2
  import type { WebSocketLink } from '@apollo/client/link/ws';
3
3
  /**
4
4
  * create a link which splits routes data depending on type of operation.
@@ -1 +1 @@
1
- {"version":3,"names":["_client","data","require","_utilities","createSplitLink","httpLink","wsLink","split","query","definition","getMainDefinition","kind","operation"],"sources":["create-link.ts"],"sourcesContent":["import { HttpLink, split } from '@apollo/client';\nimport { getMainDefinition } from '@apollo/client/utilities';\nimport type { WebSocketLink } from '@apollo/client/link/ws';\n\n/**\n * create a link which splits routes data depending on type of operation.\n * @param httpLink http link for apollo graphql\n * @param wsLink web socket link for apollo graphql\n */\nexport function createSplitLink(httpLink: HttpLink, wsLink: WebSocketLink) {\n return split(\n // split based on operation type\n ({ query }) => {\n const definition = getMainDefinition(query);\n return definition.kind === 'OperationDefinition' && definition.operation === 'subscription';\n },\n wsLink,\n httpLink\n );\n}\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,WAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,UAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACO,SAASG,eAAeA,CAACC,QAAkB,EAAEC,MAAqB,EAAE;EACzE,OAAO,IAAAC,eAAK;EACV;EACA,CAAC;IAAEC;EAAM,CAAC,KAAK;IACb,MAAMC,UAAU,GAAG,IAAAC,8BAAiB,EAACF,KAAK,CAAC;IAC3C,OAAOC,UAAU,CAACE,IAAI,KAAK,qBAAqB,IAAIF,UAAU,CAACG,SAAS,KAAK,cAAc;EAC7F,CAAC,EACDN,MAAM,EACND,QACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["_client","data","require","_utilities","createSplitLink","httpLink","wsLink","split","query","definition","getMainDefinition","kind","operation"],"sources":["create-link.ts"],"sourcesContent":["import type { HttpLink } from '@apollo/client';\nimport { split } from '@apollo/client';\nimport { getMainDefinition } from '@apollo/client/utilities';\nimport type { WebSocketLink } from '@apollo/client/link/ws';\n\n/**\n * create a link which splits routes data depending on type of operation.\n * @param httpLink http link for apollo graphql\n * @param wsLink web socket link for apollo graphql\n */\nexport function createSplitLink(httpLink: HttpLink, wsLink: WebSocketLink) {\n return split(\n // split based on operation type\n ({ query }) => {\n const definition = getMainDefinition(query);\n return definition.kind === 'OperationDefinition' && definition.operation === 'subscription';\n },\n wsLink,\n httpLink\n );\n}\n"],"mappings":";;;;;;AACA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,WAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,UAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACO,SAASG,eAAeA,CAACC,QAAkB,EAAEC,MAAqB,EAAE;EACzE,OAAO,IAAAC,eAAK;EACV;EACA,CAAC;IAAEC;EAAM,CAAC,KAAK;IACb,MAAMC,UAAU,GAAG,IAAAC,8BAAiB,EAACF,KAAK,CAAC;IAC3C,OAAOC,UAAU,CAACE,IAAI,KAAK,qBAAqB,IAAIF,UAAU,CAACG,SAAS,KAAK,cAAc;EAC7F,CAAC,EACDN,MAAM,EACND,QACF,CAAC;AACH","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import { GraphQLServer } from '../graphql-server';
1
+ import type { GraphQLServer } from '../graphql-server';
2
2
  export declare function createRemoteSchemas(servers: GraphQLServer[]): Promise<import("graphql").GraphQLSchema[]>;
@@ -1 +1 @@
1
- {"version":3,"names":["_nodeFetch","data","_interopRequireDefault","require","_apolloLinkContext","_apolloLinkHttp","_apolloServer","_apolloLinkWs","_apolloLink","_apolloUtilities","_subscriptionsTransportWs","_ws","e","__esModule","default","getRemoteSchema","uri","subscriptionsUri","wrappingLink","ApolloLink","operation","forward","map","response","context","getContext","headers","get","graphqlContext","res","setHeader","http","HttpLink","fetch","httpLink","setContext","request","previousContext","concat","makeRemoteExecutableSchema","schema","introspectSchema","link","client","SubscriptionClient","reconnect","ws","wsLink","WebSocketLink","split","definition","getMainDefinition","query","kind","createRemoteSchemas","servers","schemasP","server","Promise","all"],"sources":["create-remote-schemas.ts"],"sourcesContent":["import fetch from 'node-fetch';\nimport { setContext } from 'apollo-link-context';\nimport { HttpLink } from 'apollo-link-http';\nimport { makeRemoteExecutableSchema, introspectSchema } from 'apollo-server';\nimport { WebSocketLink } from 'apollo-link-ws';\nimport { split, ApolloLink } from 'apollo-link';\nimport { getMainDefinition } from 'apollo-utilities';\nimport { SubscriptionClient } from 'subscriptions-transport-ws';\nimport ws from 'ws';\nimport { GraphQLServer } from '../graphql-server';\n\nasync function getRemoteSchema({ uri, subscriptionsUri }) {\n const wrappingLink = new ApolloLink((operation, forward) => {\n return forward(operation).map((response) => {\n const context = operation.getContext();\n if (context?.response?.headers?.get('set-cookie')) {\n context?.graphqlContext?.res?.setHeader('set-cookie', context?.response?.headers?.get('set-cookie'));\n }\n return response;\n });\n });\n // @ts-ignore\n const http = new HttpLink({ uri, fetch });\n const httpLink = setContext((request, previousContext) => {\n return {\n headers: previousContext?.graphqlContext?.headers,\n };\n })\n .concat(wrappingLink)\n .concat(http);\n\n if (!subscriptionsUri) {\n return makeRemoteExecutableSchema({\n schema: await introspectSchema(httpLink),\n link: httpLink,\n });\n }\n\n // Create WebSocket link with custom client\n const client = new SubscriptionClient(subscriptionsUri, { reconnect: true }, ws);\n const wsLink = new WebSocketLink(client);\n\n // Using the ability to split links, we can send data to each link\n // depending on what kind of operation is being sent\n const link = split(\n (operation) => {\n const definition = getMainDefinition(operation.query);\n return definition.kind === 'OperationDefinition' && definition.operation === 'subscription';\n },\n wsLink,\n httpLink\n );\n\n return makeRemoteExecutableSchema({\n schema: await introspectSchema(httpLink),\n link,\n });\n}\n\nexport async function createRemoteSchemas(servers: GraphQLServer[]) {\n const schemasP = servers.map(async (server) => {\n return getRemoteSchema({\n uri: server.uri,\n subscriptionsUri: server.subscriptionsUri,\n });\n });\n\n return Promise.all(schemasP);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_nodeFetch","data","_interopRequireDefault","require","_apolloLinkContext","_apolloLinkHttp","_apolloServer","_apolloLinkWs","_apolloLink","_apolloUtilities","_subscriptionsTransportWs","_ws","e","__esModule","default","getRemoteSchema","uri","subscriptionsUri","wrappingLink","ApolloLink","operation","forward","map","response","context","getContext","headers","get","graphqlContext","res","setHeader","http","HttpLink","fetch","httpLink","setContext","request","previousContext","concat","makeRemoteExecutableSchema","schema","introspectSchema","link","client","SubscriptionClient","reconnect","ws","wsLink","WebSocketLink","split","definition","getMainDefinition","query","kind","createRemoteSchemas","servers","schemasP","server","Promise","all"],"sources":["create-remote-schemas.ts"],"sourcesContent":["import fetch from 'node-fetch';\nimport { setContext } from 'apollo-link-context';\nimport { HttpLink } from 'apollo-link-http';\nimport { makeRemoteExecutableSchema, introspectSchema } from 'apollo-server';\nimport { WebSocketLink } from 'apollo-link-ws';\nimport { split, ApolloLink } from 'apollo-link';\nimport { getMainDefinition } from 'apollo-utilities';\nimport { SubscriptionClient } from 'subscriptions-transport-ws';\nimport ws from 'ws';\nimport type { GraphQLServer } from '../graphql-server';\n\nasync function getRemoteSchema({ uri, subscriptionsUri }) {\n const wrappingLink = new ApolloLink((operation, forward) => {\n return forward(operation).map((response) => {\n const context = operation.getContext();\n if (context?.response?.headers?.get('set-cookie')) {\n context?.graphqlContext?.res?.setHeader('set-cookie', context?.response?.headers?.get('set-cookie'));\n }\n return response;\n });\n });\n // @ts-ignore\n const http = new HttpLink({ uri, fetch });\n const httpLink = setContext((request, previousContext) => {\n return {\n headers: previousContext?.graphqlContext?.headers,\n };\n })\n .concat(wrappingLink)\n .concat(http);\n\n if (!subscriptionsUri) {\n return makeRemoteExecutableSchema({\n schema: await introspectSchema(httpLink),\n link: httpLink,\n });\n }\n\n // Create WebSocket link with custom client\n const client = new SubscriptionClient(subscriptionsUri, { reconnect: true }, ws);\n const wsLink = new WebSocketLink(client);\n\n // Using the ability to split links, we can send data to each link\n // depending on what kind of operation is being sent\n const link = split(\n (operation) => {\n const definition = getMainDefinition(operation.query);\n return definition.kind === 'OperationDefinition' && definition.operation === 'subscription';\n },\n wsLink,\n httpLink\n );\n\n return makeRemoteExecutableSchema({\n schema: await introspectSchema(httpLink),\n link,\n });\n}\n\nexport async function createRemoteSchemas(servers: GraphQLServer[]) {\n const schemasP = servers.map(async (server) => {\n return getRemoteSchema({\n uri: server.uri,\n subscriptionsUri: server.subscriptionsUri,\n });\n });\n\n return Promise.all(schemasP);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import type { ReactNode } from 'react';
2
2
  import type { GraphQLClient } from '../graphql.ui.runtime';
3
3
  export type GraphQLProviderProps = {
4
4
  client: GraphQLClient<any>;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","_interopRequireDefault","require","_client","e","__esModule","default","GraphQLProvider","client","children","createElement","ApolloProvider"],"sources":["graphql-provider.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { ApolloProvider } from '@apollo/client';\nimport type { GraphQLClient } from '../graphql.ui.runtime';\n\nexport type GraphQLProviderProps = {\n client: GraphQLClient<any>;\n children: ReactNode;\n};\n\nexport function GraphQLProvider({ client, children }: GraphQLProviderProps) {\n return <ApolloProvider client={client}>{children}</ApolloProvider>;\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAgD,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQzC,SAASG,eAAeA,CAAC;EAAEC,MAAM;EAAEC;AAA+B,CAAC,EAAE;EAC1E,oBAAOV,MAAA,GAAAO,OAAA,CAAAI,aAAA,CAACP,OAAA,GAAAQ,cAAc;IAACH,MAAM,EAAEA;EAAO,GAAEC,QAAyB,CAAC;AACpE","ignoreList":[]}
1
+ {"version":3,"names":["_react","data","_interopRequireDefault","require","_client","e","__esModule","default","GraphQLProvider","client","children","createElement","ApolloProvider"],"sources":["graphql-provider.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport React from 'react';\nimport { ApolloProvider } from '@apollo/client';\nimport type { GraphQLClient } from '../graphql.ui.runtime';\n\nexport type GraphQLProviderProps = {\n client: GraphQLClient<any>;\n children: ReactNode;\n};\n\nexport function GraphQLProvider({ client, children }: GraphQLProviderProps) {\n return <ApolloProvider client={client}>{children}</ApolloProvider>;\n}\n"],"mappings":";;;;;;AACA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAgD,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQzC,SAASG,eAAeA,CAAC;EAAEC,MAAM;EAAEC;AAA+B,CAAC,EAAE;EAC1E,oBAAOV,MAAA,GAAAO,OAAA,CAAAI,aAAA,CAACP,OAAA,GAAAQ,cAAc;IAACH,MAAM,EAAEA;EAAO,GAAEC,QAAyB,CAAC;AACpE","ignoreList":[]}
@@ -1,11 +1,11 @@
1
- import { Harmony, SlotRegistry } from '@teambit/harmony';
2
- import { Logger, LoggerMain } from '@teambit/logger';
3
- import { Express } from 'express';
1
+ import type { Harmony, SlotRegistry } from '@teambit/harmony';
2
+ import type { Logger, LoggerMain } from '@teambit/logger';
3
+ import type { Express } from 'express';
4
4
  import { execute } from 'graphql';
5
- import { PubSubEngine } from 'graphql-subscriptions';
6
- import { Server } from 'http';
7
- import { GraphQLServer } from './graphql-server';
8
- import { Schema } from './schema';
5
+ import type { PubSubEngine } from 'graphql-subscriptions';
6
+ import type { Server } from 'http';
7
+ import type { GraphQLServer } from './graphql-server';
8
+ import type { Schema } from './schema';
9
9
  export declare enum Verb {
10
10
  WRITE = "write",
11
11
  READ = "read"
@@ -1 +1 @@
1
- {"version":3,"names":["_schema","data","require","_graphqlDisableIntrospection","_interopRequireDefault","_core","_cli","_harmony","_logger","_express","_expressGraphql","_toolboxNetwork","_graphql","_graphqlSubscriptions","_http","_httpProxy","_subscriptionsTransportWs","_cors","_createRemoteSchemas","_graphql2","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","Verb","exports","GraphqlMain","constructor","config","moduleSlot","context","logger","graphQLServerSlot","pubSubSlot","Map","pubsub","pubSubSlots","values","PubSub","getSchema","aspectId","schemaOrFunc","get","undefined","schema","execute","getSchemas","aspectIds","toArray","includes","map","createServer","options","graphiql","disableIntrospection","localSchema","createRootModule","schemaSlot","remoteSchemas","createRemoteSchemas","schemas","concat","x","mergeSchemas","app","express","disableCors","use","cors","origin","callback","credentials","graphqlHTTP","request","res","params","customExecuteFn","customFormatErrorFn","err","error","assign","ERR_CODE","originalError","errors","name","HTTP_CODE","code","rootValue","validationRules","NoIntrospection","server","subscriptionsPort","subscriptionsPortRange","subscriptionServerPort","getPort","port","createSubscription","proxySubscription","registerServer","register","registerPubSub","Error","listen","serverPort","subServer","info","subscriptionsPath","range","from","to","Port","websocketServer","response","writeHead","end","debug","SubscriptionServer","subscribe","onConnect","onWsConnect","path","proxServer","httpProxy","createProxyServer","on","req","socket","head","url","ws","target","host","modules","buildModules","GraphQLModule","imports","schemaSlots","extensionId","moduleDeps","getModuleDependencies","module","typeDefs","resolvers","schemaDirectives","session","verb","headers","READ","set","extension","extensions","deps","getDependencies","ids","dep","id","Array","entries","depId","provider","loggerFactory","createLogger","GraphqlAspect","graphqlMain","Slot","withType","MainRuntime","LoggerAspect","addRuntime"],"sources":["graphql.main.runtime.ts"],"sourcesContent":["import { mergeSchemas } from '@graphql-tools/schema';\nimport NoIntrospection from 'graphql-disable-introspection';\nimport { GraphQLModule } from '@graphql-modules/core';\nimport { MainRuntime } from '@teambit/cli';\nimport { Harmony, Slot, SlotRegistry } from '@teambit/harmony';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport express, { Express } from 'express';\nimport { graphqlHTTP } from 'express-graphql';\nimport { Port } from '@teambit/toolbox.network.get-port';\nimport { execute, subscribe } from 'graphql';\nimport { PubSubEngine, PubSub } from 'graphql-subscriptions';\nimport { createServer, Server } from 'http';\nimport httpProxy from 'http-proxy';\nimport { SubscriptionServer } from 'subscriptions-transport-ws';\nimport cors from 'cors';\nimport { GraphQLServer } from './graphql-server';\nimport { createRemoteSchemas } from './create-remote-schemas';\nimport { GraphqlAspect } from './graphql.aspect';\nimport { Schema } from './schema';\n\nexport enum Verb {\n WRITE = 'write',\n READ = 'read',\n}\n\nexport type GraphQLConfig = {\n port: number;\n subscriptionsPortRange: number[];\n subscriptionsPath: string;\n disableCors?: boolean;\n};\n\nexport type GraphQLServerSlot = SlotRegistry<GraphQLServer>;\n\nexport type SchemaSlot = SlotRegistry<Schema | (() => Schema)>;\n\nexport type PubSubSlot = SlotRegistry<PubSubEngine>;\n\nexport type GraphQLServerOptions = {\n schemaSlot?: SchemaSlot;\n app?: Express;\n graphiql?: boolean;\n disableIntrospection?: boolean;\n remoteSchemas?: GraphQLServer[];\n subscriptionsPortRange?: number[];\n onWsConnect?: Function;\n customExecuteFn?: (args: any) => Promise<any>;\n};\n\nexport class GraphqlMain {\n constructor(\n /**\n * extension config\n */\n readonly config: GraphQLConfig,\n\n /**\n * slot for registering graphql modules\n */\n private moduleSlot: SchemaSlot,\n\n /**\n * harmony context.\n */\n private context: Harmony,\n\n /**\n * logger extension.\n */\n readonly logger: Logger,\n\n private graphQLServerSlot: GraphQLServerSlot,\n\n /**\n * graphql pubsub. allows to emit events to clients.\n */\n private pubSubSlot: PubSubSlot\n ) {}\n\n get pubsub(): PubSubEngine {\n const pubSubSlots = this.pubSubSlot.values();\n if (pubSubSlots.length) return pubSubSlots[0];\n return new PubSub();\n }\n\n private modules = new Map<string, GraphQLModule>();\n\n /**\n * returns the schema for a specific aspect by its id.\n */\n getSchema(aspectId: string): Schema | undefined {\n const schemaOrFunc = this.moduleSlot.get(aspectId);\n if (!schemaOrFunc) return undefined;\n const schema = typeof schemaOrFunc === 'function' ? schemaOrFunc() : schemaOrFunc;\n return schema;\n }\n\n get execute() {\n return execute;\n }\n\n /**\n * get multiple schema by aspect ids.\n * used by the cloud.\n */\n getSchemas(aspectIds: string[]): Schema[] {\n return this.moduleSlot\n .toArray()\n .filter(([aspectId]) => {\n return aspectIds.includes(aspectId);\n })\n .map(([, schemaOrFunc]) => {\n return typeof schemaOrFunc === 'function' ? schemaOrFunc() : schemaOrFunc;\n });\n }\n\n async createServer(options: GraphQLServerOptions) {\n const { graphiql = true, disableIntrospection } = options;\n const localSchema = this.createRootModule(options.schemaSlot);\n const remoteSchemas = await createRemoteSchemas(options.remoteSchemas || this.graphQLServerSlot.values());\n const schemas = [localSchema.schema].concat(remoteSchemas).filter((x) => x);\n const schema = mergeSchemas({\n schemas,\n });\n\n // TODO: @guy please consider to refactor to express extension.\n const app = options.app || express();\n if (!this.config.disableCors) {\n app.use(\n // @ts-ignore todo: it's not clear what's the issue.\n cors({\n origin(origin, callback) {\n callback(null, true);\n },\n credentials: true,\n })\n );\n }\n\n app.use(\n '/graphql',\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n graphqlHTTP((request, res, params) => ({\n customExecuteFn: options.customExecuteFn,\n customFormatErrorFn: (err) => {\n this.logger.error('graphql got an error during running the following query:', params);\n this.logger.error('graphql error ', err);\n return Object.assign(err, {\n // @ts-ignore\n ERR_CODE: err?.originalError?.errors?.[0].ERR_CODE || err.originalError?.constructor?.name,\n // @ts-ignore\n HTTP_CODE: err?.originalError?.errors?.[0].HTTP_CODE || err.originalError?.code,\n });\n },\n schema,\n rootValue: request,\n graphiql,\n validationRules: disableIntrospection ? [NoIntrospection] : undefined,\n }))\n );\n\n const server = createServer(app);\n const subscriptionsPort = options.subscriptionsPortRange || this.config.subscriptionsPortRange;\n const subscriptionServerPort = await this.getPort(subscriptionsPort);\n const { port } = await this.createSubscription(options, subscriptionServerPort);\n this.proxySubscription(server, port);\n\n return server;\n }\n\n /**\n * register a new graphql server.\n */\n registerServer(server: GraphQLServer) {\n this.graphQLServerSlot.register(server);\n return this;\n }\n\n /**\n * register a pubsub client\n */\n registerPubSub(pubsub: PubSubEngine) {\n const pubSubSlots = this.pubSubSlot.toArray();\n if (pubSubSlots.length) throw new Error('can not register more then one pubsub provider');\n this.pubSubSlot.register(pubsub);\n return this;\n }\n\n /**\n * start a graphql server.\n */\n async listen(port?: number, server?: Server, app?: Express) {\n const serverPort = port || this.config.port;\n const subServer = server || (await this.createServer({ app }));\n\n subServer.listen(serverPort, () => {\n this.logger.info(`API Server over HTTP is now running on http://localhost:${serverPort}`);\n this.logger.info(\n `API Server over web socket with subscriptions is now running on ws://localhost:${serverPort}/${this.config.subscriptionsPath}`\n );\n });\n }\n\n /**\n * register a new graphql module.\n * @param schema a function that returns Schema. avoid passing the Schema directly, it's supported only for backward\n * compatibility but really bad for performance. it pulls the entire graphql library.\n */\n register(schema: Schema | (() => Schema)) {\n // const module = new GraphQLModule(schema);\n this.moduleSlot.register(schema);\n return this;\n }\n\n private async getPort(range: number[]) {\n const [from, to] = range;\n return Port.getPort(from, to);\n }\n\n /** create Subscription server with different port */\n\n private async createSubscription(options: GraphQLServerOptions, port: number) {\n // Create WebSocket listener server\n const websocketServer = createServer((request, response) => {\n response.writeHead(404);\n response.end();\n });\n\n // Bind it to port and start listening\n websocketServer.listen(port, () =>\n this.logger.debug(`Websocket Server is now running on http://localhost:${port}`)\n );\n\n const localSchema = this.createRootModule(options.schemaSlot);\n const remoteSchemas = await createRemoteSchemas(options.remoteSchemas || this.graphQLServerSlot.values());\n const schemas = [localSchema.schema].concat(remoteSchemas).filter((x) => x);\n const schema = mergeSchemas({\n schemas,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const subServer = new SubscriptionServer(\n {\n execute,\n subscribe,\n schema,\n onConnect: options.onWsConnect,\n },\n {\n server: websocketServer,\n path: this.config.subscriptionsPath,\n }\n );\n return { subServer, port };\n }\n /** proxy ws Subscription server to avoid conflict with different websocket connections */\n\n private proxySubscription(server: Server, port: number) {\n const proxServer = httpProxy.createProxyServer();\n const subscriptionsPath = this.config.subscriptionsPath;\n server.on('upgrade', function (req, socket, head) {\n if (req.url === subscriptionsPath) {\n proxServer.ws(req, socket, head, { target: { host: 'localhost', port } });\n }\n });\n }\n\n private createRootModule(schemaSlot?: SchemaSlot) {\n const modules = this.buildModules(schemaSlot);\n\n return new GraphQLModule({\n imports: modules,\n });\n }\n\n private buildModules(schemaSlot?: SchemaSlot) {\n const schemaSlots = schemaSlot ? schemaSlot.toArray() : this.moduleSlot.toArray();\n return schemaSlots.map(([extensionId, schemaOrFunc]) => {\n const schema = typeof schemaOrFunc === 'function' ? schemaOrFunc() : schemaOrFunc;\n const moduleDeps = this.getModuleDependencies(extensionId);\n\n const module = new GraphQLModule({\n typeDefs: schema.typeDefs,\n resolvers: schema.resolvers,\n schemaDirectives: schema.schemaDirectives,\n imports: moduleDeps,\n context: (session) => {\n return {\n ...session,\n verb: session?.headers?.['x-verb'] || Verb.READ,\n };\n },\n });\n\n this.modules.set(extensionId, module);\n\n return module;\n });\n }\n\n private getModuleDependencies(extensionId: string): GraphQLModule[] {\n const extension = this.context.extensions.get(extensionId);\n if (!extension) throw new Error(`aspect ${extensionId} was not found`);\n const deps = this.context.getDependencies(extension);\n const ids = deps.map((dep) => dep.id);\n\n // @ts-ignore check :TODO why types are breaking here.\n return Array.from(this.modules.entries())\n .map(([depId, module]) => {\n const dep = ids.includes(depId);\n if (!dep) return undefined;\n return module;\n })\n .filter((module) => !!module);\n }\n\n static slots = [Slot.withType<Schema>(), Slot.withType<GraphQLServer>(), Slot.withType<PubSubSlot>()];\n\n static defaultConfig = {\n port: 4000,\n subscriptionsPortRange: [2000, 2100],\n disableCors: false,\n subscriptionsPath: '/subscriptions',\n };\n\n static runtime = MainRuntime;\n static dependencies = [LoggerAspect];\n\n static async provider(\n [loggerFactory]: [LoggerMain],\n config: GraphQLConfig,\n [moduleSlot, graphQLServerSlot, pubSubSlot]: [SchemaSlot, GraphQLServerSlot, PubSubSlot],\n context: Harmony\n ) {\n const logger = loggerFactory.createLogger(GraphqlAspect.id);\n const graphqlMain = new GraphqlMain(config, moduleSlot, context, logger, graphQLServerSlot, pubSubSlot);\n graphqlMain.registerPubSub(new PubSub());\n return graphqlMain;\n }\n}\n\nGraphqlAspect.addRuntime(GraphqlMain);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_schema","data","require","_graphqlDisableIntrospection","_interopRequireDefault","_core","_cli","_harmony","_logger","_express","_expressGraphql","_toolboxNetwork","_graphql","_graphqlSubscriptions","_http","_httpProxy","_subscriptionsTransportWs","_cors","_createRemoteSchemas","_graphql2","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","Verb","exports","GraphqlMain","constructor","config","moduleSlot","context","logger","graphQLServerSlot","pubSubSlot","Map","pubsub","pubSubSlots","values","PubSub","getSchema","aspectId","schemaOrFunc","get","undefined","schema","execute","getSchemas","aspectIds","toArray","includes","map","createServer","options","graphiql","disableIntrospection","localSchema","createRootModule","schemaSlot","remoteSchemas","createRemoteSchemas","schemas","concat","x","mergeSchemas","app","express","disableCors","use","cors","origin","callback","credentials","graphqlHTTP","request","res","params","customExecuteFn","customFormatErrorFn","err","error","assign","ERR_CODE","originalError","errors","name","HTTP_CODE","code","rootValue","validationRules","NoIntrospection","server","subscriptionsPort","subscriptionsPortRange","subscriptionServerPort","getPort","port","createSubscription","proxySubscription","registerServer","register","registerPubSub","Error","listen","serverPort","subServer","info","subscriptionsPath","range","from","to","Port","websocketServer","response","writeHead","end","debug","SubscriptionServer","subscribe","onConnect","onWsConnect","path","proxServer","httpProxy","createProxyServer","on","req","socket","head","url","ws","target","host","modules","buildModules","GraphQLModule","imports","schemaSlots","extensionId","moduleDeps","getModuleDependencies","module","typeDefs","resolvers","schemaDirectives","session","verb","headers","READ","set","extension","extensions","deps","getDependencies","ids","dep","id","Array","entries","depId","provider","loggerFactory","createLogger","GraphqlAspect","graphqlMain","Slot","withType","MainRuntime","LoggerAspect","addRuntime"],"sources":["graphql.main.runtime.ts"],"sourcesContent":["import { mergeSchemas } from '@graphql-tools/schema';\nimport NoIntrospection from 'graphql-disable-introspection';\nimport { GraphQLModule } from '@graphql-modules/core';\nimport { MainRuntime } from '@teambit/cli';\nimport type { Harmony, SlotRegistry } from '@teambit/harmony';\nimport { Slot } from '@teambit/harmony';\nimport type { Logger, LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } from '@teambit/logger';\nimport type { Express } from 'express';\nimport express from 'express';\nimport { graphqlHTTP } from 'express-graphql';\nimport { Port } from '@teambit/toolbox.network.get-port';\nimport { execute, subscribe } from 'graphql';\nimport type { PubSubEngine } from 'graphql-subscriptions';\nimport { PubSub } from 'graphql-subscriptions';\nimport type { Server } from 'http';\nimport { createServer } from 'http';\nimport httpProxy from 'http-proxy';\nimport { SubscriptionServer } from 'subscriptions-transport-ws';\nimport cors from 'cors';\nimport type { GraphQLServer } from './graphql-server';\nimport { createRemoteSchemas } from './create-remote-schemas';\nimport { GraphqlAspect } from './graphql.aspect';\nimport type { Schema } from './schema';\n\nexport enum Verb {\n WRITE = 'write',\n READ = 'read',\n}\n\nexport type GraphQLConfig = {\n port: number;\n subscriptionsPortRange: number[];\n subscriptionsPath: string;\n disableCors?: boolean;\n};\n\nexport type GraphQLServerSlot = SlotRegistry<GraphQLServer>;\n\nexport type SchemaSlot = SlotRegistry<Schema | (() => Schema)>;\n\nexport type PubSubSlot = SlotRegistry<PubSubEngine>;\n\nexport type GraphQLServerOptions = {\n schemaSlot?: SchemaSlot;\n app?: Express;\n graphiql?: boolean;\n disableIntrospection?: boolean;\n remoteSchemas?: GraphQLServer[];\n subscriptionsPortRange?: number[];\n onWsConnect?: Function;\n customExecuteFn?: (args: any) => Promise<any>;\n};\n\nexport class GraphqlMain {\n constructor(\n /**\n * extension config\n */\n readonly config: GraphQLConfig,\n\n /**\n * slot for registering graphql modules\n */\n private moduleSlot: SchemaSlot,\n\n /**\n * harmony context.\n */\n private context: Harmony,\n\n /**\n * logger extension.\n */\n readonly logger: Logger,\n\n private graphQLServerSlot: GraphQLServerSlot,\n\n /**\n * graphql pubsub. allows to emit events to clients.\n */\n private pubSubSlot: PubSubSlot\n ) {}\n\n get pubsub(): PubSubEngine {\n const pubSubSlots = this.pubSubSlot.values();\n if (pubSubSlots.length) return pubSubSlots[0];\n return new PubSub();\n }\n\n private modules = new Map<string, GraphQLModule>();\n\n /**\n * returns the schema for a specific aspect by its id.\n */\n getSchema(aspectId: string): Schema | undefined {\n const schemaOrFunc = this.moduleSlot.get(aspectId);\n if (!schemaOrFunc) return undefined;\n const schema = typeof schemaOrFunc === 'function' ? schemaOrFunc() : schemaOrFunc;\n return schema;\n }\n\n get execute() {\n return execute;\n }\n\n /**\n * get multiple schema by aspect ids.\n * used by the cloud.\n */\n getSchemas(aspectIds: string[]): Schema[] {\n return this.moduleSlot\n .toArray()\n .filter(([aspectId]) => {\n return aspectIds.includes(aspectId);\n })\n .map(([, schemaOrFunc]) => {\n return typeof schemaOrFunc === 'function' ? schemaOrFunc() : schemaOrFunc;\n });\n }\n\n async createServer(options: GraphQLServerOptions) {\n const { graphiql = true, disableIntrospection } = options;\n const localSchema = this.createRootModule(options.schemaSlot);\n const remoteSchemas = await createRemoteSchemas(options.remoteSchemas || this.graphQLServerSlot.values());\n const schemas = [localSchema.schema].concat(remoteSchemas).filter((x) => x);\n const schema = mergeSchemas({\n schemas,\n });\n\n // TODO: @guy please consider to refactor to express extension.\n const app = options.app || express();\n if (!this.config.disableCors) {\n app.use(\n // @ts-ignore todo: it's not clear what's the issue.\n cors({\n origin(origin, callback) {\n callback(null, true);\n },\n credentials: true,\n })\n );\n }\n\n app.use(\n '/graphql',\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n graphqlHTTP((request, res, params) => ({\n customExecuteFn: options.customExecuteFn,\n customFormatErrorFn: (err) => {\n this.logger.error('graphql got an error during running the following query:', params);\n this.logger.error('graphql error ', err);\n return Object.assign(err, {\n // @ts-ignore\n ERR_CODE: err?.originalError?.errors?.[0].ERR_CODE || err.originalError?.constructor?.name,\n // @ts-ignore\n HTTP_CODE: err?.originalError?.errors?.[0].HTTP_CODE || err.originalError?.code,\n });\n },\n schema,\n rootValue: request,\n graphiql,\n validationRules: disableIntrospection ? [NoIntrospection] : undefined,\n }))\n );\n\n const server = createServer(app);\n const subscriptionsPort = options.subscriptionsPortRange || this.config.subscriptionsPortRange;\n const subscriptionServerPort = await this.getPort(subscriptionsPort);\n const { port } = await this.createSubscription(options, subscriptionServerPort);\n this.proxySubscription(server, port);\n\n return server;\n }\n\n /**\n * register a new graphql server.\n */\n registerServer(server: GraphQLServer) {\n this.graphQLServerSlot.register(server);\n return this;\n }\n\n /**\n * register a pubsub client\n */\n registerPubSub(pubsub: PubSubEngine) {\n const pubSubSlots = this.pubSubSlot.toArray();\n if (pubSubSlots.length) throw new Error('can not register more then one pubsub provider');\n this.pubSubSlot.register(pubsub);\n return this;\n }\n\n /**\n * start a graphql server.\n */\n async listen(port?: number, server?: Server, app?: Express) {\n const serverPort = port || this.config.port;\n const subServer = server || (await this.createServer({ app }));\n\n subServer.listen(serverPort, () => {\n this.logger.info(`API Server over HTTP is now running on http://localhost:${serverPort}`);\n this.logger.info(\n `API Server over web socket with subscriptions is now running on ws://localhost:${serverPort}/${this.config.subscriptionsPath}`\n );\n });\n }\n\n /**\n * register a new graphql module.\n * @param schema a function that returns Schema. avoid passing the Schema directly, it's supported only for backward\n * compatibility but really bad for performance. it pulls the entire graphql library.\n */\n register(schema: Schema | (() => Schema)) {\n // const module = new GraphQLModule(schema);\n this.moduleSlot.register(schema);\n return this;\n }\n\n private async getPort(range: number[]) {\n const [from, to] = range;\n return Port.getPort(from, to);\n }\n\n /** create Subscription server with different port */\n\n private async createSubscription(options: GraphQLServerOptions, port: number) {\n // Create WebSocket listener server\n const websocketServer = createServer((request, response) => {\n response.writeHead(404);\n response.end();\n });\n\n // Bind it to port and start listening\n websocketServer.listen(port, () =>\n this.logger.debug(`Websocket Server is now running on http://localhost:${port}`)\n );\n\n const localSchema = this.createRootModule(options.schemaSlot);\n const remoteSchemas = await createRemoteSchemas(options.remoteSchemas || this.graphQLServerSlot.values());\n const schemas = [localSchema.schema].concat(remoteSchemas).filter((x) => x);\n const schema = mergeSchemas({\n schemas,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const subServer = new SubscriptionServer(\n {\n execute,\n subscribe,\n schema,\n onConnect: options.onWsConnect,\n },\n {\n server: websocketServer,\n path: this.config.subscriptionsPath,\n }\n );\n return { subServer, port };\n }\n /** proxy ws Subscription server to avoid conflict with different websocket connections */\n\n private proxySubscription(server: Server, port: number) {\n const proxServer = httpProxy.createProxyServer();\n const subscriptionsPath = this.config.subscriptionsPath;\n server.on('upgrade', function (req, socket, head) {\n if (req.url === subscriptionsPath) {\n proxServer.ws(req, socket, head, { target: { host: 'localhost', port } });\n }\n });\n }\n\n private createRootModule(schemaSlot?: SchemaSlot) {\n const modules = this.buildModules(schemaSlot);\n\n return new GraphQLModule({\n imports: modules,\n });\n }\n\n private buildModules(schemaSlot?: SchemaSlot) {\n const schemaSlots = schemaSlot ? schemaSlot.toArray() : this.moduleSlot.toArray();\n return schemaSlots.map(([extensionId, schemaOrFunc]) => {\n const schema = typeof schemaOrFunc === 'function' ? schemaOrFunc() : schemaOrFunc;\n const moduleDeps = this.getModuleDependencies(extensionId);\n\n const module = new GraphQLModule({\n typeDefs: schema.typeDefs,\n resolvers: schema.resolvers,\n schemaDirectives: schema.schemaDirectives,\n imports: moduleDeps,\n context: (session) => {\n return {\n ...session,\n verb: session?.headers?.['x-verb'] || Verb.READ,\n };\n },\n });\n\n this.modules.set(extensionId, module);\n\n return module;\n });\n }\n\n private getModuleDependencies(extensionId: string): GraphQLModule[] {\n const extension = this.context.extensions.get(extensionId);\n if (!extension) throw new Error(`aspect ${extensionId} was not found`);\n const deps = this.context.getDependencies(extension);\n const ids = deps.map((dep) => dep.id);\n\n // @ts-ignore check :TODO why types are breaking here.\n return Array.from(this.modules.entries())\n .map(([depId, module]) => {\n const dep = ids.includes(depId);\n if (!dep) return undefined;\n return module;\n })\n .filter((module) => !!module);\n }\n\n static slots = [Slot.withType<Schema>(), Slot.withType<GraphQLServer>(), Slot.withType<PubSubSlot>()];\n\n static defaultConfig = {\n port: 4000,\n subscriptionsPortRange: [2000, 2100],\n disableCors: false,\n subscriptionsPath: '/subscriptions',\n };\n\n static runtime = MainRuntime;\n static dependencies = [LoggerAspect];\n\n static async provider(\n [loggerFactory]: [LoggerMain],\n config: GraphQLConfig,\n [moduleSlot, graphQLServerSlot, pubSubSlot]: [SchemaSlot, GraphQLServerSlot, PubSubSlot],\n context: Harmony\n ) {\n const logger = loggerFactory.createLogger(GraphqlAspect.id);\n const graphqlMain = new GraphqlMain(config, moduleSlot, context, logger, graphQLServerSlot, pubSubSlot);\n graphqlMain.registerPubSub(new PubSub());\n return graphqlMain;\n }\n}\n\nGraphqlAspect.addRuntime(GraphqlMain);\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_chai","data","_interopRequireWildcard","require","_harmonyTesting","_workspace","_workspaceTesting","_graphql","_lanes","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","chai","use","describe","timeout","graphql","workspaceData","before","mockWorkspace","workspacePath","harmony","loadManyAspects","WorkspaceAspect","GraphqlAspect","LanesAspect","id","after","destroyWorkspace","it","schemas","getSchemas","expect","to","be","an","have","lengthOf","not","schema","getSchema"],"sources":["graphql.spec.ts"],"sourcesContent":["import chai, { expect } from 'chai';\nimport { loadManyAspects } from '@teambit/harmony.testing.load-aspect';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport { mockWorkspace, destroyWorkspace, WorkspaceData } from '@teambit/workspace.testing.mock-workspace';\nimport { GraphqlAspect } from './graphql.aspect';\nimport { GraphqlMain } from './graphql.main.runtime';\nimport { LanesAspect } from '@teambit/lanes';\n\nchai.use(require('chai-fs'));\n\ndescribe('GraphQL Aspect', function () {\n this.timeout(0);\n\n describe('getSchemas and getSchema APIs', () => {\n let graphql: GraphqlMain;\n let workspaceData: WorkspaceData;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n const harmony = await loadManyAspects([WorkspaceAspect, GraphqlAspect, LanesAspect], workspacePath);\n graphql = harmony.get<GraphqlMain>(GraphqlAspect.id);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should bring the schemas when calling getSchemas API', async () => {\n const schemas = graphql.getSchemas([LanesAspect.id]);\n expect(schemas).to.be.an('array');\n expect(schemas).to.have.lengthOf(1);\n expect(schemas[0]).to.be.an('object');\n expect(schemas[0]).to.not.be.an('function');\n });\n it('should bring the schemas when calling getSchema API', async () => {\n const schema = graphql.getSchema(LanesAspect.id);\n expect(schema).to.be.an('object');\n expect(schema).to.not.be.an('function');\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chai","data","_interopRequireWildcard","require","_harmonyTesting","_workspace","_workspaceTesting","_graphql","_lanes","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","chai","use","describe","timeout","graphql","workspaceData","before","mockWorkspace","workspacePath","harmony","loadManyAspects","WorkspaceAspect","GraphqlAspect","LanesAspect","id","after","destroyWorkspace","it","schemas","getSchemas","expect","to","be","an","have","lengthOf","not","schema","getSchema"],"sources":["graphql.spec.ts"],"sourcesContent":["import chai, { expect } from 'chai';\nimport { loadManyAspects } from '@teambit/harmony.testing.load-aspect';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { WorkspaceData } from '@teambit/workspace.testing.mock-workspace';\nimport { mockWorkspace, destroyWorkspace } from '@teambit/workspace.testing.mock-workspace';\nimport { GraphqlAspect } from './graphql.aspect';\nimport type { GraphqlMain } from './graphql.main.runtime';\nimport { LanesAspect } from '@teambit/lanes';\n\nchai.use(require('chai-fs'));\n\ndescribe('GraphQL Aspect', function () {\n this.timeout(0);\n\n describe('getSchemas and getSchema APIs', () => {\n let graphql: GraphqlMain;\n let workspaceData: WorkspaceData;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n const harmony = await loadManyAspects([WorkspaceAspect, GraphqlAspect, LanesAspect], workspacePath);\n graphql = harmony.get<GraphqlMain>(GraphqlAspect.id);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should bring the schemas when calling getSchemas API', async () => {\n const schemas = graphql.getSchemas([LanesAspect.id]);\n expect(schemas).to.be.an('array');\n expect(schemas).to.have.lengthOf(1);\n expect(schemas[0]).to.be.an('object');\n expect(schemas[0]).to.not.be.an('function');\n });\n it('should bring the schemas when calling getSchema API', async () => {\n const schema = graphql.getSchema(LanesAspect.id);\n expect(schema).to.be.an('object');\n expect(schema).to.not.be.an('function');\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import type { ReactNode } from 'react';
2
2
  import { ApolloClient } from '@apollo/client';
3
3
  import type { NormalizedCacheObject } from '@apollo/client';
4
4
  import { GraphqlRenderPlugins } from './render-lifecycle';
@@ -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","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 =\n host === 'teambit.workspace/workspace'\n ? {\n query: {\n fetchPolicy: 'network-only',\n },\n watchQuery: {\n fetchPolicy: 'network-only',\n },\n mutate: {\n fetchPolicy: 'network-only',\n },\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
+ {"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 type { ReactNode } from 'react';\nimport React 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 =\n host === 'teambit.workspace/workspace'\n ? {\n query: {\n fetchPolicy: 'network-only',\n },\n watchQuery: {\n fetchPolicy: 'network-only',\n },\n mutate: {\n fetchPolicy: 'network-only',\n },\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":[]}
package/dist/logging.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { ErrorResponse } from '@apollo/client/link/error';
1
+ import type { ErrorResponse } from '@apollo/client/link/error';
2
2
  export declare function logError({ graphQLErrors, networkError, operation }: ErrorResponse): void;
@@ -1 +1 @@
1
- {"version":3,"names":["logError","graphQLErrors","networkError","operation","forEach","message","locations","path","console","error","operationName"],"sources":["logging.ts"],"sourcesContent":["import { ErrorResponse } from '@apollo/client/link/error';\n\nexport function logError({ graphQLErrors, networkError, operation }: ErrorResponse) {\n if (graphQLErrors)\n graphQLErrors.forEach(({ message, locations, path }) =>\n // eslint-disable-next-line no-console\n console.error(`[gql] error on \"${operation.operationName}\" - \"${message}\"`, locations, path)\n );\n\n // eslint-disable-next-line no-console\n if (networkError) console.error('[gql] network error', `\"${operation.operationName}\"`, networkError);\n}\n\n// // // a fetch monkey patch with logs. useful to debug gql\n// function loggingCrossFetch(...p: Parameters<typeof fetch>) {\n// const [url, init] = p;\n// const headers = init?.headers;\n// const body = init?.body;\n\n// console.debug('[gql]', 'fetching', url, body, { headers });\n// const promise = crossFetch(...p);\n// promise\n// .then((result) => console.debug('[gql]', 'finished', result))\n// .catch((err) => console.debug('[gql]', 'error', err));\n// return promise;\n// }\n"],"mappings":";;;;;;AAEO,SAASA,QAAQA,CAAC;EAAEC,aAAa;EAAEC,YAAY;EAAEC;AAAyB,CAAC,EAAE;EAClF,IAAIF,aAAa,EACfA,aAAa,CAACG,OAAO,CAAC,CAAC;IAAEC,OAAO;IAAEC,SAAS;IAAEC;EAAK,CAAC;EACjD;EACAC,OAAO,CAACC,KAAK,CAAC,mBAAmBN,SAAS,CAACO,aAAa,QAAQL,OAAO,GAAG,EAAEC,SAAS,EAAEC,IAAI,CAC7F,CAAC;;EAEH;EACA,IAAIL,YAAY,EAAEM,OAAO,CAACC,KAAK,CAAC,qBAAqB,EAAE,IAAIN,SAAS,CAACO,aAAa,GAAG,EAAER,YAAY,CAAC;AACtG;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["logError","graphQLErrors","networkError","operation","forEach","message","locations","path","console","error","operationName"],"sources":["logging.ts"],"sourcesContent":["import type { ErrorResponse } from '@apollo/client/link/error';\n\nexport function logError({ graphQLErrors, networkError, operation }: ErrorResponse) {\n if (graphQLErrors)\n graphQLErrors.forEach(({ message, locations, path }) =>\n // eslint-disable-next-line no-console\n console.error(`[gql] error on \"${operation.operationName}\" - \"${message}\"`, locations, path)\n );\n\n // eslint-disable-next-line no-console\n if (networkError) console.error('[gql] network error', `\"${operation.operationName}\"`, networkError);\n}\n\n// // // a fetch monkey patch with logs. useful to debug gql\n// function loggingCrossFetch(...p: Parameters<typeof fetch>) {\n// const [url, init] = p;\n// const headers = init?.headers;\n// const body = init?.body;\n\n// console.debug('[gql]', 'fetching', url, body, { headers });\n// const promise = crossFetch(...p);\n// promise\n// .then((result) => console.debug('[gql]', 'finished', result))\n// .catch((err) => console.debug('[gql]', 'error', err));\n// return promise;\n// }\n"],"mappings":";;;;;;AAEO,SAASA,QAAQA,CAAC;EAAEC,aAAa;EAAEC,YAAY;EAAEC;AAAyB,CAAC,EAAE;EAClF,IAAIF,aAAa,EACfA,aAAa,CAACG,OAAO,CAAC,CAAC;IAAEC,OAAO;IAAEC,SAAS;IAAEC;EAAK,CAAC;EACjD;EACAC,OAAO,CAACC,KAAK,CAAC,mBAAmBN,SAAS,CAACO,aAAa,QAAQL,OAAO,GAAG,EAAEC,SAAS,EAAEC,IAAI,CAC7F,CAAC;;EAEH;EACA,IAAIL,YAAY,EAAEM,OAAO,CAACC,KAAK,CAAC,qBAAqB,EAAE,IAAIN,SAAS,CAACO,aAAa,GAAG,EAAER,YAAY,CAAC;AACtG;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_graphql@1.0.666/dist/graphql.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_graphql@1.0.666/dist/graphql.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_graphql@1.0.668/dist/graphql.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_graphql@1.0.668/dist/graphql.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import type { ReactNode } from 'react';
2
2
  import type { ApolloClient, NormalizedCacheObject } from '@apollo/client';
3
3
  import type { SSR } from '@teambit/ui';
4
4
  import type { GraphqlUI, GraphQLClient } from './graphql.ui.runtime';
@@ -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","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":[]}
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 type { ReactNode } from 'react';\nimport React 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":[]}
@@ -1,4 +1,5 @@
1
- import React, { ReactNode } from 'react';
1
+ import type { ReactNode } from 'react';
2
+ import React from 'react';
2
3
  import { ApolloProvider } from '@apollo/client';
3
4
  import type { GraphQLClient } from '../graphql.ui.runtime';
4
5
 
@@ -1,4 +1,5 @@
1
- import React, { ReactNode } from 'react';
1
+ import type { ReactNode } from 'react';
2
+ import React from 'react';
2
3
  import { UIRuntime } from '@teambit/ui';
3
4
 
4
5
  import { InMemoryCache, ApolloClient, ApolloLink, HttpLink, createHttpLink } from '@apollo/client';
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/graphql",
3
- "version": "1.0.666",
3
+ "version": "1.0.668",
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.666"
9
+ "version": "1.0.668"
10
10
  },
11
11
  "dependencies": {
12
12
  "@graphql-modules/core": "0.7.17",
@@ -33,9 +33,9 @@
33
33
  "@teambit/harmony": "0.4.7",
34
34
  "@teambit/toolbox.network.get-port": "1.0.10",
35
35
  "@teambit/ui-foundation.ui.is-browser": "0.0.500",
36
- "@teambit/cli": "0.0.1243",
37
- "@teambit/logger": "0.0.1336",
38
- "@teambit/ui": "1.0.666"
36
+ "@teambit/cli": "0.0.1245",
37
+ "@teambit/logger": "0.0.1338",
38
+ "@teambit/ui": "1.0.668"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/cors": "2.8.10",
@@ -44,11 +44,11 @@
44
44
  "@types/lodash": "4.14.165",
45
45
  "@types/node-fetch": "2.5.12",
46
46
  "@types/mocha": "9.1.0",
47
- "@teambit/harmony.testing.load-aspect": "0.0.316",
48
- "@teambit/workspace.testing.mock-workspace": "0.0.99",
49
47
  "@teambit/harmony.envs.core-aspect-env": "0.0.72",
50
- "@teambit/lanes": "1.0.667",
51
- "@teambit/workspace": "1.0.666"
48
+ "@teambit/harmony.testing.load-aspect": "0.0.317",
49
+ "@teambit/lanes": "1.0.669",
50
+ "@teambit/workspace.testing.mock-workspace": "0.0.101",
51
+ "@teambit/workspace": "1.0.668"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "@apollo/client": "^3.6.0",
@@ -1,4 +1,5 @@
1
- import React, { ReactNode } from 'react';
1
+ import type { ReactNode } from 'react';
2
+ import React from 'react';
2
3
  // Calling getMarkupFromTree instead of getDataFromTree so we can control the render function
3
4
  // This is required since upgrade to @apollo/client v3.6.9 because otherwise the ssr is not working since
4
5
  // webpack is not bundling the react-dom/server