npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

graphql-faker-programmatic

v1.2.7

Published

Mock or extend your GraphQL API with faked data. No coding required

Downloads

11

Readme

Just a programmatic version of https://github.com/APIs-guru/graphql-faker to use in create-native-graphql-app.

GraphQL Faker logo

GraphQL Faker

npm David David npm

Mock your future API or extend the existing API with realistic data from faker.js. No coding required. All you need is to write GraphQL IDL. Don't worry, we will provide you with examples in our IDL editor.

In the GIF bellow we add fields to types inside real GitHub API and you can make queries from GraphiQL, Apollo, Relay, etc. and receive real data mixed with mock data. demo-gif

How does it work?

We use @fake directive to let you specify how to fake data. And if 60+ fakers is not enough for you, just use @examples directive to provide examples. Just add a directive to any field or custom scalar definition:

type Person {
  name: String @fake(type: firstName)
  gender: String @examples(values: ["male", "female"])
}

No need to remember or read any docs. Autocompletion is included!

Features

  • 60+ different types of faked data e.g. streetAddress, firstName, lastName, imageUrl, lorem, semver
  • Comes with multiple locales supported
  • Runs as a local server (can be called from browser, cURL, your app, etc.)
  • Interactive editor with autocompletion for directives with GraphiQL embeded
  • ✨ Support for proxying existing GraphQL API and extending it with faked data Extend mode diagram

Install

npm install -g graphql-faker

or

yarn global add graphql-faker

TL;DR

Mock GraphQL API based on example IDL and open interactive editor:

graphql-faker --open

Note: You can specify non-existing IDL file names - Faker will use example IDL which you can edit in interactive editor.

Extend real data from SWAPI with faked data based on extension IDL:

graphql-faker ./ext-swapi.grqphql --extend http://swapi.apis.guru

Extend real data from GitHub API with faked data based on extension IDL (you can get token here):

graphql-faker ./ext-gh.graphql --extend https://api.github.com/graphql \
--header "Authorization: bearer <TOKEN>"

Usage

graphql-faker [options] [IDL file]

[IDL file] - path to file with IDL. If this argument is omited Faker uses default file name.

Options

  • -p, --port HTTP Port [default: 9002]
  • -e, --extend URL to existing GraphQL server to extend
  • -o, --open Open page with IDL editor and GraphiQL in browser
  • -H, --header Specify headers to the proxied server in cURL format, e.g.: Authorization: bearer XXXXXXXXX
  • --co, --cors-origin CORS: Specify the origin for the Access-Control-Allow-Origin header
  • -h, --help Show help

Development

npm install
npm run build:all
npm run start