Home

Awesome

Contributors Forks Stargazers Issues MIT License

<!-- PROJECT LOGO --> <br /> <div align="center"> <h3 align="center">Graphql Shield Generator</h3> <p align="center"> <a href="https://github.com/omar-dulaimi/graphql-shield-generator"><strong>Explore the docs »</strong></a> <br /> <br /> <a href="https://github.com/omar-dulaimi/graphql-shield-generator/issues">Report Bug</a> · <a href="https://github.com/omar-dulaimi/graphql-shield-generator/issues">Request Feature</a> </p> </div> <p align="center"> <a href="https://www.buymeacoffee.com/omardulaimi"> <img src="https://cdn.buymeacoffee.com/buttons/default-yellow.png" alt="Buy Me A Coffee" height="41" width="174"> </a> </p> <!-- TABLE OF CONTENTS --> <details> <summary>Table of Contents</summary> <ol> <li> <a href="#overview">Overview</a> </li> <li> <a href="#installation">Installation</a> </li> <li><a href="#usage">Usage</a></li> <li><a href="#documentation">Documentation</a></li> <li><a href="#contributing">Contributing</a></li> </ol> </details>

Overview

Automatically generate a GraphQL Shield from your GraphQL Schema(or type definitions and resolvers).

<!-- GETTING STARTED -->

Installation

Using npm

npm install graphql-shield-generator

Using yarn

yarn add graphql-shield-generator

Usage

import { generateGraphqlShield } from 'graphql-shield-generator';

await generateGraphqlShield({
  schema,
  options: {
    outputDir: './permissions',
    fileName: 'shield',
    extension: 'js',
    moduleSystem: "CommonJS"
  },
});

// or

await generateGraphqlShield({
  schema: { typeDefs, resolvers },
  options: {
    outputDir: './permissions',
    fileName: 'shield',
    extension: 'ts',
    moduleSystem: "ES modules"
  },
});

Documentation

generateGraphqlShield(schema | { typeDefs, resolvers }, options)

Generates a GraphQL Shield.

options

PropertyRequiredDefaultDescription
outputDirfalsecurrent directoryDirectory that shield will be placed in
fileNamefalse'shield'File name of the generated shield
extensionfalse'js'File extension of the generated shield
moduleSystemfalse'CommonJS'Module system of the generated shield

Contributing

We are always looking for people to help us grow graphql-shield-generator! If you have an issue, feature request, or pull request, let us know!

<!-- MARKDOWN LINKS & IMAGES --> <!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->