@teambit/graphql 0.0.1168 → 1.0.0

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.
@@ -74,11 +74,11 @@ async function getRemoteSchema({
74
74
  }) {
75
75
  const wrappingLink = new (_apolloLink().ApolloLink)((operation, forward) => {
76
76
  return forward(operation).map(response => {
77
- var _context$response, _context$response$hea;
77
+ var _context$response;
78
78
  const context = operation.getContext();
79
- if (context !== null && context !== void 0 && (_context$response = context.response) !== null && _context$response !== void 0 && (_context$response$hea = _context$response.headers) !== null && _context$response$hea !== void 0 && _context$response$hea.get('set-cookie')) {
80
- var _context$graphqlConte, _context$graphqlConte2, _context$response2, _context$response2$he;
81
- context === null || context === void 0 ? void 0 : (_context$graphqlConte = context.graphqlContext) === null || _context$graphqlConte === void 0 ? void 0 : (_context$graphqlConte2 = _context$graphqlConte.res) === null || _context$graphqlConte2 === void 0 ? void 0 : _context$graphqlConte2.setHeader('set-cookie', context === null || context === void 0 ? void 0 : (_context$response2 = context.response) === null || _context$response2 === void 0 ? void 0 : (_context$response2$he = _context$response2.headers) === null || _context$response2$he === void 0 ? void 0 : _context$response2$he.get('set-cookie'));
79
+ if (context !== null && context !== void 0 && (_context$response = context.response) !== null && _context$response !== void 0 && (_context$response = _context$response.headers) !== null && _context$response !== void 0 && _context$response.get('set-cookie')) {
80
+ var _context$graphqlConte, _context$response2;
81
+ context === null || context === void 0 || (_context$graphqlConte = context.graphqlContext) === null || _context$graphqlConte === void 0 || (_context$graphqlConte = _context$graphqlConte.res) === null || _context$graphqlConte === void 0 || _context$graphqlConte.setHeader('set-cookie', context === null || context === void 0 || (_context$response2 = context.response) === null || _context$response2 === void 0 || (_context$response2 = _context$response2.headers) === null || _context$response2 === void 0 ? void 0 : _context$response2.get('set-cookie'));
82
82
  }
83
83
  return response;
84
84
  });
@@ -91,7 +91,7 @@ async function getRemoteSchema({
91
91
  const httpLink = (0, _apolloLinkContext().setContext)((request, previousContext) => {
92
92
  var _previousContext$grap;
93
93
  return {
94
- headers: previousContext === null || previousContext === void 0 ? void 0 : (_previousContext$grap = previousContext.graphqlContext) === null || _previousContext$grap === void 0 ? void 0 : _previousContext$grap.headers
94
+ headers: previousContext === null || previousContext === void 0 || (_previousContext$grap = previousContext.graphqlContext) === null || _previousContext$grap === void 0 ? void 0 : _previousContext$grap.headers
95
95
  };
96
96
  }).concat(wrappingLink).concat(http);
97
97
  if (!subscriptionsUri) {
@@ -1 +1 @@
1
- {"version":3,"names":["_nodeFetch","data","_interopRequireDefault","require","_apolloLinkContext","_apolloLinkHttp","_apolloServer","_apolloLinkWs","_apolloLink","_apolloUtilities","_subscriptionsTransportWs","_ws","obj","__esModule","default","getRemoteSchema","uri","subscriptionsUri","wrappingLink","ApolloLink","operation","forward","map","response","_context$response","_context$response$hea","context","getContext","headers","get","_context$graphqlConte","_context$graphqlConte2","_context$response2","_context$response2$he","graphqlContext","res","setHeader","http","HttpLink","fetch","httpLink","setContext","request","previousContext","_previousContext$grap","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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"}
1
+ {"version":3,"names":["_nodeFetch","data","_interopRequireDefault","require","_apolloLinkContext","_apolloLinkHttp","_apolloServer","_apolloLinkWs","_apolloLink","_apolloUtilities","_subscriptionsTransportWs","_ws","obj","__esModule","default","getRemoteSchema","uri","subscriptionsUri","wrappingLink","ApolloLink","operation","forward","map","response","_context$response","context","getContext","headers","get","_context$graphqlConte","_context$response2","graphqlContext","res","setHeader","http","HttpLink","fetch","httpLink","setContext","request","previousContext","_previousContext$grap","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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"}
@@ -205,14 +205,14 @@ class GraphqlMain {
205
205
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
206
206
  (0, _expressGraphql().graphqlHTTP)((request, res, params) => ({
207
207
  customFormatErrorFn: err => {
208
- var _err$originalError, _err$originalError$er, _err$originalError2, _err$originalError2$c, _err$originalError3, _err$originalError3$e, _err$originalError4;
208
+ var _err$originalError, _err$originalError2, _err$originalError3, _err$originalError4;
209
209
  this.logger.error('graphql got an error during running the following query:', params);
210
210
  this.logger.error('graphql error ', err);
211
211
  return Object.assign(err, {
212
212
  // @ts-ignore
213
- ERR_CODE: (err === null || err === void 0 ? void 0 : (_err$originalError = err.originalError) === null || _err$originalError === void 0 ? void 0 : (_err$originalError$er = _err$originalError.errors) === null || _err$originalError$er === void 0 ? void 0 : _err$originalError$er[0].ERR_CODE) || ((_err$originalError2 = err.originalError) === null || _err$originalError2 === void 0 ? void 0 : (_err$originalError2$c = _err$originalError2.constructor) === null || _err$originalError2$c === void 0 ? void 0 : _err$originalError2$c.name),
213
+ ERR_CODE: (err === null || err === void 0 || (_err$originalError = err.originalError) === null || _err$originalError === void 0 || (_err$originalError = _err$originalError.errors) === null || _err$originalError === void 0 ? void 0 : _err$originalError[0].ERR_CODE) || ((_err$originalError2 = err.originalError) === null || _err$originalError2 === void 0 || (_err$originalError2 = _err$originalError2.constructor) === null || _err$originalError2 === void 0 ? void 0 : _err$originalError2.name),
214
214
  // @ts-ignore
215
- HTTP_CODE: (err === null || err === void 0 ? void 0 : (_err$originalError3 = err.originalError) === null || _err$originalError3 === void 0 ? void 0 : (_err$originalError3$e = _err$originalError3.errors) === null || _err$originalError3$e === void 0 ? void 0 : _err$originalError3$e[0].HTTP_CODE) || ((_err$originalError4 = err.originalError) === null || _err$originalError4 === void 0 ? void 0 : _err$originalError4.code)
215
+ HTTP_CODE: (err === null || err === void 0 || (_err$originalError3 = err.originalError) === null || _err$originalError3 === void 0 || (_err$originalError3 = _err$originalError3.errors) === null || _err$originalError3 === void 0 ? void 0 : _err$originalError3[0].HTTP_CODE) || ((_err$originalError4 = err.originalError) === null || _err$originalError4 === void 0 ? void 0 : _err$originalError4.code)
216
216
  });
217
217
  },
218
218
  schema,
@@ -341,7 +341,7 @@ class GraphqlMain {
341
341
  context: session => {
342
342
  var _session$headers;
343
343
  return _objectSpread(_objectSpread({}, session), {}, {
344
- verb: (session === null || session === void 0 ? void 0 : (_session$headers = session.headers) === null || _session$headers === void 0 ? void 0 : _session$headers['x-verb']) || Verb.READ
344
+ verb: (session === null || session === void 0 || (_session$headers = session.headers) === null || _session$headers === void 0 ? void 0 : _session$headers['x-verb']) || Verb.READ
345
345
  });
346
346
  }
347
347
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_schema","data","require","_core","_cli","_harmony","_logger","_express","_interopRequireDefault","_expressGraphql","_toolboxNetwork","_graphql","_graphqlSubscriptions","_http","_httpProxy","_subscriptionsTransportWs","_cors","_createRemoteSchemas","_graphql2","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","Verb","exports","GraphqlMain","constructor","config","moduleSlot","context","logger","graphQLServerSlot","pubSubSlot","Map","pubsub","pubSubSlots","values","PubSub","getSchema","aspectId","get","getSchemas","aspectIds","toArray","includes","map","schema","createServer","options","graphiql","localSchema","createRootModule","schemaSlot","remoteSchemas","createRemoteSchemas","schemas","concat","x","mergeSchemas","app","express","use","cors","origin","callback","credentials","graphqlHTTP","request","params","customFormatErrorFn","err","_err$originalError","_err$originalError$er","_err$originalError2","_err$originalError2$c","_err$originalError3","_err$originalError3$e","_err$originalError4","error","assign","ERR_CODE","originalError","errors","name","HTTP_CODE","code","rootValue","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","execute","subscribe","onConnect","onWsConnect","path","proxServer","httpProxy","createProxyServer","on","req","socket","head","url","ws","host","modules","buildModules","GraphQLModule","imports","schemaSlots","extensionId","moduleDeps","getModuleDependencies","module","typeDefs","resolvers","schemaDirectives","session","_session$headers","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 { 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};\n\nexport type GraphQLServerSlot = SlotRegistry<GraphQLServer>;\n\nexport type SchemaSlot = SlotRegistry<Schema>;\n\nexport type PubSubSlot = SlotRegistry<PubSubEngine>;\n\nexport type GraphQLServerOptions = {\n schemaSlot?: SchemaSlot;\n app?: Express;\n graphiql?: boolean;\n remoteSchemas?: GraphQLServer[];\n subscriptionsPortRange?: number[];\n onWsConnect?: Function;\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) {\n return this.moduleSlot.get(aspectId);\n }\n\n /**\n * get multiple schema by aspect ids.\n */\n getSchemas(aspectIds: string[]) {\n return this.moduleSlot\n .toArray()\n .filter(([aspectId]) => {\n return aspectIds.includes(aspectId);\n })\n .map(([, schema]) => {\n return schema;\n });\n }\n\n async createServer(options: GraphQLServerOptions) {\n const { graphiql = true } = 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 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 app.use(\n '/graphql',\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n graphqlHTTP((request, res, params) => ({\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 }))\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 */\n register(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, schema]) => {\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 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 return graphqlMain;\n }\n}\n\nGraphqlAspect.addRuntime(GraphqlMain);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_schema","data","require","_core","_cli","_harmony","_logger","_express","_interopRequireDefault","_expressGraphql","_toolboxNetwork","_graphql","_graphqlSubscriptions","_http","_httpProxy","_subscriptionsTransportWs","_cors","_createRemoteSchemas","_graphql2","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","Verb","exports","GraphqlMain","constructor","config","moduleSlot","context","logger","graphQLServerSlot","pubSubSlot","Map","pubsub","pubSubSlots","values","PubSub","getSchema","aspectId","get","getSchemas","aspectIds","toArray","includes","map","schema","createServer","options","graphiql","localSchema","createRootModule","schemaSlot","remoteSchemas","createRemoteSchemas","schemas","concat","x","mergeSchemas","app","express","use","cors","origin","callback","credentials","graphqlHTTP","request","params","customFormatErrorFn","err","_err$originalError","_err$originalError2","_err$originalError3","_err$originalError4","error","assign","ERR_CODE","originalError","errors","name","HTTP_CODE","code","rootValue","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","execute","subscribe","onConnect","onWsConnect","path","proxServer","httpProxy","createProxyServer","on","req","socket","head","url","ws","host","modules","buildModules","GraphQLModule","imports","schemaSlots","extensionId","moduleDeps","getModuleDependencies","module","typeDefs","resolvers","schemaDirectives","session","_session$headers","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 { 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};\n\nexport type GraphQLServerSlot = SlotRegistry<GraphQLServer>;\n\nexport type SchemaSlot = SlotRegistry<Schema>;\n\nexport type PubSubSlot = SlotRegistry<PubSubEngine>;\n\nexport type GraphQLServerOptions = {\n schemaSlot?: SchemaSlot;\n app?: Express;\n graphiql?: boolean;\n remoteSchemas?: GraphQLServer[];\n subscriptionsPortRange?: number[];\n onWsConnect?: Function;\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) {\n return this.moduleSlot.get(aspectId);\n }\n\n /**\n * get multiple schema by aspect ids.\n */\n getSchemas(aspectIds: string[]) {\n return this.moduleSlot\n .toArray()\n .filter(([aspectId]) => {\n return aspectIds.includes(aspectId);\n })\n .map(([, schema]) => {\n return schema;\n });\n }\n\n async createServer(options: GraphQLServerOptions) {\n const { graphiql = true } = 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 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 app.use(\n '/graphql',\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n graphqlHTTP((request, res, params) => ({\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 }))\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 */\n register(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, schema]) => {\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 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 return graphqlMain;\n }\n}\n\nGraphqlAspect.addRuntime(GraphqlMain);\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_graphql@0.0.1168/dist/graphql.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_graphql@0.0.1168/dist/graphql.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_graphql@1.0.0/dist/graphql.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_graphql@1.0.0/dist/graphql.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/graphql",
3
- "version": "0.0.1168",
3
+ "version": "1.0.0",
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": "0.0.1168"
9
+ "version": "1.0.0"
10
10
  },
11
11
  "dependencies": {
12
12
  "@graphql-modules/core": "0.7.17",
@@ -29,12 +29,14 @@
29
29
  "ws": "7.4.2",
30
30
  "utf-8-validate": "5.0.5",
31
31
  "bufferutil": "4.0.3",
32
+ "core-js": "^3.0.0",
33
+ "@babel/runtime": "7.20.0",
32
34
  "@teambit/harmony": "0.4.6",
33
- "@teambit/cli": "0.0.779",
34
- "@teambit/logger": "0.0.872",
35
- "@teambit/toolbox.network.get-port": "1.0.0",
36
- "@teambit/ui": "0.0.1168",
37
- "@teambit/ui-foundation.ui.is-browser": "0.0.496"
35
+ "@teambit/cli": "0.0.782",
36
+ "@teambit/logger": "0.0.875",
37
+ "@teambit/toolbox.network.get-port": "1.0.2",
38
+ "@teambit/ui": "1.0.0",
39
+ "@teambit/ui-foundation.ui.is-browser": "0.0.498"
38
40
  },
39
41
  "devDependencies": {
40
42
  "@types/react": "^17.0.8",
@@ -51,7 +53,7 @@
51
53
  "peerDependencies": {
52
54
  "@apollo/client": "^3.6.0",
53
55
  "graphql": "15.8.0",
54
- "@teambit/legacy": "1.0.564",
56
+ "@teambit/legacy": "1.0.566",
55
57
  "react": "^16.8.0 || ^17.0.0",
56
58
  "react-dom": "^16.8.0 || ^17.0.0"
57
59
  },