Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
graphql-to-postman
Advanced tools
Supercharge your API workflow. Modern software is built on APIs. Postman helps you develop APIs faster.
To use the converter as a Node module, you need to have a copy of the NodeJS runtime. The easiest way to do this is through npm. If you have NodeJS installed you have npm installed as well.
$ npm install graphql-to-postman
If you want to use the converter in the CLI, install it globally with NPM:
$ npm i -g graphql-to-postman
The converter can be used as a CLI tool as well. The following command line options are available.
gql2postman [options]
-s <source>
, --spec <source>
Used to specify the GraphQL specification (file path) which is to be converted
-o <destination>
, --output <destination>
Used to specify the destination file in which the collection is to be written
-p
, --pretty
Used to pretty print the collection object while writing to a file
-i
, --interface-version
Specifies the interface version of the converter to be used. Value can be 'v2' or 'v1'. Default is 'v2'.
-O
, --options
Used to supply options to the converter, for complete options details see here
-c
, --options-config
Used to supply options to the converter through config file, for complete options details see here
-t
, --test
Used to test the collection with an in-built sample specification
-v
, --version
Specifies the version of the converter
-h
, --help
Specifies all the options along with a few usage examples on the terminal
$ gql2postman -s spec.yaml -o collection.json -p -O depth=3,includeDeprecatedFields=true
$ gql2postman -s spec.yaml -o collection.json -p -c ./examples/cli-options-config.json
$ gql2postman -s spec.yaml -o collection.json -p -O depth=7,includeDeprecatedFields=true,optimizeConversion=false
$ gql2postman --test
In order to use the convert in your node application, you need to import the package using require
.
var Converter = require('graphql-to-postman')
The converter provides the following functions:
The convert function takes in your GraphQL schema or SDL and converts it to a Postman collection.
Signature: convert (data, options, callback);
data:
{ type: 'file', data: 'filepath' }
OR
{ type: 'string', data: '<entire GraphQL string - schema or SDL>' }
options:
{
depth: 4,
includeDeprecatedFields: false,
optimizeConversion: false
}
/*
All three properties are optional. Check the options section below for possible values for each option.
*/
callback:
function (err, result) {
/*
result = {
result: true,
output: [
{
type: 'collection',
data: {..collection object..}
}
]
}
*/
}
depth
- The number of levels of information that should be returned. (A depth level of “1” returns that object and
its properties. A depth of “2” will return all the nodes connected to the level 1 node, etc.)
includeDeprecatedFields
- Generated queries will include deprecated fields or not.
optimizeConversion
- Optimizes conversion for schemas with complex and nested input objects by reducing the depth to
which input objects are resolved in GraphQL variables.
result
- Flag responsible for providing a status whether the conversion was successful or not.
reason
- Provides the reason for an unsuccessful conversion, defined only if result if false
.
output
- Contains an array of Postman objects, each one with a type
and data
. The only type currently supported is collection
.
const fs = require('fs'),
Converter = require('graphql-to-postman'),
gqlData = fs.readFileSync('sample-spec.yaml', {encoding: 'UTF8'});
Converter.convert({ type: 'string', data: gqlData },
{}, (err, conversionResult) => {
if (!conversionResult.result) {
console.log('Could not convert', conversionResult.reason);
}
else {
console.log('The collection object is: ', conversionResult.output[0].data);
}
}
);
The validate function is meant to ensure that the data that is being passed to the convert function is a valid JSON object or a valid (YAML/JSON) string.
The validate function is synchronous and returns a status object which conforms to the following schema
{
type: 'object',
properties: {
result: { type: 'boolean'},
reason: { type: 'string' }
},
required: ['result']
}
result
- true if the data is valid GraphQL and can be passed to the convert function
reason
- Provides a reason for an unsuccessful validation of the specification
[v0.3.0] - 2024-07-10
FAQs
Generates a Postman Collection from a GraphQL schema.
The npm package graphql-to-postman receives a total of 2,431 weekly downloads. As such, graphql-to-postman popularity was classified as popular.
We found that graphql-to-postman demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.