{"_id":"@kbrandwijk/swagger-to-graphql","_rev":"303992","name":"@kbrandwijk/swagger-to-graphql","description":"Swagger2GraphQL converts your existing Swagger schema to GraphQL types where resolvers perform HTTP calls to certain real endpoints.\r It allows you to move your API to GraphQL with nearly zero afford and maintain both: REST and GraphQL APIs.","dist-tags":{"latest":"2.4.3"},"maintainers":[{"name":"kbrandwijk","email":"kim.brandwijk@gmail.com"}],"time":{"modified":"2021-06-03T19:25:29.000Z","created":"2018-01-28T02:05:41.834Z","2.4.3":"2018-02-23T21:30:18.753Z","2.4.2":"2018-02-23T21:01:23.426Z","1.4.2":"2018-01-28T04:05:04.174Z","1.3.2":"2018-01-28T02:05:41.834Z"},"users":{},"author":{"name":"Roman Krivtsov"},"versions":{"2.4.3":{"name":"@kbrandwijk/swagger-to-graphql","version":"2.4.3","author":{"name":"Roman Krivtsov"},"contributors":[{"name":"Kim Brandwijk","email":"kim.brandwijk@gmail.com"}],"bin":{"swagger-to-graphql":"./bin/swagger2graphql"},"peerDependencies":{"graphql":"^0.12.0 || ^0.13.0"},"dependencies":{"babel-runtime":"^6.25.0","isomorphic-fetch":"^2.2.1","js-yaml":"^3.8.4","json-schema-ref-parser":"^3.1.2","lodash":"^4.16.4","node-request-by-swagger":"^1.0.6","request":"^2.75.0","request-promise":"^4.1.1","yargs":"^8.0.2"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-syntax-flow":"^6.18.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-0":"^6.24.1","eslint":"^3.19.0","eslint-config-airbnb-es5":"^1.1.0","eslint-plugin-react":"^6.5.0","express":"^4.15.3","express-graphql":"^0.6.6","flow-bin":"^0.47.0","graphql":"^0.12.3","mocha":"^3.1.2"},"keywords":["graphql","swagger"],"license":"MIT","main":"lib/index.js","scripts":{"build":"babel src -d lib","lint":"eslint src/","prepublish":"npm run build","start":"node example/app.js","test":"mocha"},"gitHead":"80bb1f73fbe84bcb3cd735937b87629ca58db3be","description":"Swagger2GraphQL converts your existing Swagger schema to GraphQL types where resolvers perform HTTP calls to certain real endpoints.\r It allows you to move your API to GraphQL with nearly zero afford and maintain both: REST and GraphQL APIs.","_id":"@kbrandwijk/swagger-to-graphql@2.4.3","_npmVersion":"5.6.0","_nodeVersion":"9.0.0","_npmUser":{"name":"kbrandwijk","email":"kim.brandwijk@gmail.com"},"dist":{"shasum":"7c0fb2410eb0b6b9cc81fad28cc20f9386153cf1","size":52694,"noattachment":false,"key":"/@kbrandwijk/swagger-to-graphql/-/@kbrandwijk/swagger-to-graphql-2.4.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@kbrandwijk/swagger-to-graphql/download/@kbrandwijk/swagger-to-graphql-2.4.3.tgz"},"maintainers":[{"name":"kbrandwijk","email":"kim.brandwijk@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/swagger-to-graphql_2.4.3_1519421418712_0.4072853205664122"},"_hasShrinkwrap":false,"publish_time":1519421418753,"_cnpm_publish_time":1519421418753},"2.4.2":{"name":"@kbrandwijk/swagger-to-graphql","version":"2.4.2","author":{"name":"Roman Krivtsov"},"contributors":[{"name":"Kim Brandwijk","email":"kim.brandwijk@gmail.com"}],"bin":{"swagger-to-graphql":"./bin/swagger2graphql"},"peerDependencies":{"graphql":"^0.12.3"},"dependencies":{"babel-runtime":"^6.25.0","isomorphic-fetch":"^2.2.1","js-yaml":"^3.8.4","json-schema-ref-parser":"^3.1.2","lodash":"^4.16.4","node-request-by-swagger":"^1.0.6","request":"^2.75.0","request-promise":"^4.1.1","yargs":"^8.0.2"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-syntax-flow":"^6.18.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-0":"^6.24.1","eslint":"^3.19.0","eslint-config-airbnb-es5":"^1.1.0","eslint-plugin-react":"^6.5.0","express":"^4.15.3","express-graphql":"^0.6.6","flow-bin":"^0.47.0","graphql":"^0.12.3","mocha":"^3.1.2"},"keywords":["graphql","swagger"],"license":"MIT","main":"lib/index.js","scripts":{"build":"babel src -d lib","lint":"eslint src/","prepublish":"npm run build","start":"node example/app.js","test":"mocha"},"gitHead":"cfc2f3966674b49be1afe8f6cfbeac3b41fc69cc","description":"Swagger2GraphQL converts your existing Swagger schema to GraphQL types where resolvers perform HTTP calls to certain real endpoints.\r It allows you to move your API to GraphQL with nearly zero afford and maintain both: REST and GraphQL APIs.","_id":"@kbrandwijk/swagger-to-graphql@2.4.2","_npmVersion":"5.6.0","_nodeVersion":"9.0.0","_npmUser":{"name":"kbrandwijk","email":"kim.brandwijk@gmail.com"},"dist":{"shasum":"1b1b0537cd94b31d1bd83091ac795740e231af19","size":52690,"noattachment":false,"key":"/@kbrandwijk/swagger-to-graphql/-/@kbrandwijk/swagger-to-graphql-2.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@kbrandwijk/swagger-to-graphql/download/@kbrandwijk/swagger-to-graphql-2.4.2.tgz"},"maintainers":[{"name":"kbrandwijk","email":"kim.brandwijk@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/swagger-to-graphql_2.4.2_1519419683350_0.56491402496047"},"_hasShrinkwrap":false,"publish_time":1519419683426,"_cnpm_publish_time":1519419683426},"1.4.2":{"name":"@kbrandwijk/swagger-to-graphql","version":"1.4.2","author":{"name":"Roman Krivtsov"},"contributors":[{"name":"Kim Brandwijk","email":"kim.brandwijk@gmail.com"}],"bin":{"swagger-to-graphql":"./bin/swagger2graphql"},"dependencies":{"babel-runtime":"^6.25.0","graphql":"^0.12.3","isomorphic-fetch":"^2.2.1","js-yaml":"^3.8.4","json-schema-ref-parser":"^3.1.2","lodash":"^4.16.4","node-request-by-swagger":"^1.0.6","request":"^2.75.0","request-promise":"^4.1.1","yargs":"^8.0.2"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-syntax-flow":"^6.18.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-0":"^6.24.1","eslint":"^3.19.0","eslint-config-airbnb-es5":"^1.1.0","eslint-plugin-react":"^6.5.0","express":"^4.15.3","express-graphql":"^0.6.6","flow-bin":"^0.47.0","mocha":"^3.1.2"},"keywords":["graphql","swagger"],"license":"MIT","main":"lib/index.js","scripts":{"build":"babel src -d lib","lint":"eslint src/","prepublish":"npm run build","start":"node example/app.js","test":"mocha"},"gitHead":"35f5101e42dd93279711ab419ee0e66005dac7a8","description":"Swagger2GraphQL converts your existing Swagger schema to GraphQL types where resolvers perform HTTP calls to certain real endpoints.\r It allows you to move your API to GraphQL with nearly zero afford and maintain both: REST and GraphQL APIs.","_id":"@kbrandwijk/swagger-to-graphql@1.4.2","_npmVersion":"5.6.0","_nodeVersion":"9.0.0","_npmUser":{"name":"kbrandwijk","email":"kim.brandwijk@gmail.com"},"dist":{"shasum":"3d15b9396cc0f519e81f156202dbb6c7147971c9","size":52618,"noattachment":false,"key":"/@kbrandwijk/swagger-to-graphql/-/@kbrandwijk/swagger-to-graphql-1.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@kbrandwijk/swagger-to-graphql/download/@kbrandwijk/swagger-to-graphql-1.4.2.tgz"},"maintainers":[{"name":"kbrandwijk","email":"kim.brandwijk@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/swagger-to-graphql-1.4.2.tgz_1517112303006_0.2386528893839568"},"directories":{},"publish_time":1517112304174,"_hasShrinkwrap":false,"_cnpm_publish_time":1517112304174},"1.3.2":{"name":"@kbrandwijk/swagger-to-graphql","version":"1.3.2","author":{"name":"Roman Krivtsov"},"contributors":[{"name":"Kim Brandwijk","email":"kim.brandwijk@gmail.com"}],"bin":{"swagger-to-graphql":"./bin/swagger2graphql"},"dependencies":{"babel-runtime":"^6.25.0","graphql":"^0.12.3","isomorphic-fetch":"^2.2.1","js-yaml":"^3.8.4","json-schema-ref-parser":"^3.1.2","lodash":"^4.16.4","node-request-by-swagger":"^1.0.6","request":"^2.75.0","request-promise":"^4.1.1","yargs":"^8.0.2"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-syntax-flow":"^6.18.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-0":"^6.24.1","eslint":"^3.19.0","eslint-config-airbnb-es5":"^1.1.0","eslint-plugin-react":"^6.5.0","express":"^4.15.3","express-graphql":"^0.6.6","flow-bin":"^0.47.0","mocha":"^3.1.2"},"keywords":["graphql","swagger"],"license":"MIT","main":"lib/index.js","scripts":{"build":"babel src -d lib","lint":"eslint src/","prepublish":"npm run build","start":"node example/app.js","test":"mocha"},"gitHead":"35f5101e42dd93279711ab419ee0e66005dac7a8","description":"Swagger2GraphQL converts your existing Swagger schema to GraphQL types where resolvers perform HTTP calls to certain real endpoints.\r It allows you to move your API to GraphQL with nearly zero afford and maintain both: REST and GraphQL APIs.","_id":"@kbrandwijk/swagger-to-graphql@1.3.2","_npmVersion":"5.6.0","_nodeVersion":"9.0.0","_npmUser":{"name":"kbrandwijk","email":"kim.brandwijk@gmail.com"},"dist":{"shasum":"037d8929d272fa702b66b744c3fbf030c5f9b2bc","size":52619,"noattachment":false,"key":"/@kbrandwijk/swagger-to-graphql/-/@kbrandwijk/swagger-to-graphql-1.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@kbrandwijk/swagger-to-graphql/download/@kbrandwijk/swagger-to-graphql-1.3.2.tgz"},"maintainers":[{"name":"kbrandwijk","email":"kim.brandwijk@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/swagger-to-graphql-1.3.2.tgz_1517105140674_0.426927785621956"},"directories":{},"publish_time":1517105141834,"_hasShrinkwrap":false,"_cnpm_publish_time":1517105141834}},"readme":"# Swagger2GraphQL\r\n\r\nSwagger2GraphQL converts your existing Swagger schema to GraphQL types where resolvers perform HTTP calls to certain real endpoints.\r\nIt allows you to move your API to GraphQL with nearly zero afford and maintain both: REST and GraphQL APIs.\r\n\r\n<a href=\"https://medium.com/@raxwunter/moving-existing-api-from-rest-to-graphql-205bab22c184\">Why?</a>\r\n\r\n# Usage\r\n\r\n## Basic server\r\n\r\n```js\r\nconst express = require('express');\r\nconst app = express();\r\nconst graphqlHTTP = require('express-graphql');\r\nconst graphQLSchema = require('swagger-to-graphql');\r\n\r\ngraphQLSchema('./petstore.json').then(schema => {\r\n  app.use('/graphql', graphqlHTTP(() => {\r\n    return {\r\n      schema,\r\n      context: {\r\n        GQLProxyBaseUrl: API_BASE_URL\r\n      },\r\n      graphiql: true\r\n    };\r\n  }));\r\n\r\n  app.listen(3009, 'localhost', () => {\r\n    console.info(`API is here localhost:3009/graphql`);\r\n  });\r\n}).catch(e => {\r\n  throw e;\r\n});\r\n```\r\n\r\n## CLI convertion\r\n\r\n```\r\nnpm i -g swagger-to-graphql\r\nswagger-to-graphql --swagger=/path/to/swagger_schema.json > ./types.graphql\r\n```\r\n## Authorization\r\n\r\nBasic Auth example:\r\n```js\r\n ...\r\n  context: {\r\n    GQLProxyBaseUrl: API_BASE_URL,\r\n    headers: {\r\n      Authorization: 'Basic YWRkOmJhc2ljQXV0aA==',\r\n      \"X-Custom\": 'customValue'\r\n    }\r\n    BearerToken: req.get('authorization')\r\n  },\r\n ...\r\n```\r\n\r\nBearer Token example:\r\n```js\r\n ...\r\n  context: {\r\n    GQLProxyBaseUrl: API_BASE_URL,\r\n    headers: {\r\n      Authorization: req.get('authorization'),\r\n      \"X-Custom\": 'customValue'\r\n    }\r\n  },\r\n ...\r\n```\r\n\r\n<a href=\"https://github.com/yarax/swagger-to-graphql/blob/master/src/types.js#L3\"> All context options </a>\r\n","_attachments":{},"license":"MIT"}