Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Escape-Technologies/graphman

Quikly scaffold a postman collection for a GraphQL API. Compatible with Postman & Insomnia.
https://github.com/Escape-Technologies/graphman

api deno escape graphql graphql-tools insomnia postman typescript

Last synced: about 2 months ago
JSON representation

Quikly scaffold a postman collection for a GraphQL API. Compatible with Postman & Insomnia.

Awesome Lists containing this project

README

        

# GraphMan





Quickly scaffold a postman collection for a GraphQL API.

---

GraphMan CLI generates an complete collection from a GraphQL endpoint,
containing one request per query & mutation, with pre filled fields, parameters
and variables.

_Note: GraphMan is designed for the postman-collection spec 2.1_

✨GraphMan is fully compatible with the Insomnia API Client out of the box!✨

### Status

![Version](https://img.shields.io/github/v/release/Escape-Technologies/graphman)
[![CD](https://github.com/Escape-Technologies/graphman/actions/workflows/cd.yaml/badge.svg)](https://github.com/Escape-Technologies/graphman/actions/workflows/cd.yaml)
[![Checks](https://github.com/Escape-Technologies/graphman/actions/workflows/check.yml/badge.svg)](https://github.com/Escape-Technologies/graphman/actions/workflows/check.yml)

## Motivation

Visualizing and exploring existing graphql APIs can be quite daunting. Using
postman to manage all your apis is pretty standard, however creating and
maintaining collections is difficult. GraphMan makes thoses things easy, helping
you for:

- Graph discovery
- Graph testing
- Collection updating

## Usage

### Run from url

_GraphMan uses deno as a javascript / typescript runtime. That allows to run the
CLI from the file url._ To get started:

1. [Install deno](https://deno.land/#installation)
2. Run:
`deno run https://deno.land/x/[email protected]/src/cli.ts `
3. Import the generated `[...].postman_collection.json` file in postman.

### Install GraphMan

If you want to access graphman easly you can "install" it on your machine:

1. [Install deno](https://deno.land/#installation)
2. Run:
`deno install -r -f --allow-net --allow-write -n graphman https://deno.land/x/[email protected]/src/cli.ts`
3. The command will output `export PATH="..."` copy paste it in your `~/.bashrc`
or `~/.zshrc` file to add graphman to your path. You can now run graphman
using the `graphman ` command! πŸŽ‰ To **update** GraphMan just
reproduce the **step 2**.

_Note: this is not a real installation, it just creates a script that basically
aliases the run form url command._

### Run locally

1. Clone the repo
2. Run `deno run src/index.ts `

_Note that deno will ask for network and file-system permissions as it's runtime
is secure by default_

The relases are mirrored at https://deno.land/x/graphman@VERSION, you can use
previous versions if needed.

### CLI Options

- Custom output filename: `--out=FILENAME`
- Headers: `-H="header: value"`, can be used multiple times.
- Global Postman collection authorization header: `--AuthHeader="header: value"`
or `-A="header: value"`
- Get help: `--help` or `-h`

### Examples

You can try graphman on public graphql APIs, and it is a great way to get
started with graphQL:

- Rick&Morty API:
`deno run https://deno.land/x/[email protected]/src/cli.ts https://rickandmortyapi.com/graphql`

| |
| :----------------------------------------------------------------------------------------------------------------: |
| _GraphMan collection for the Rick and morty API_ |

| |
| :-----------------------------------------------------------------------------------------------------------: |
| _Character query for the Rick and morty API collection_ |

## Issues and contributions

- Please open an issue if you encounter bugs, with reproduction steps and error
message.
- For feature requests, please open an issue too
- Feel free to create merge requests to improve GraphMan !