0.1.4 • Published 5 years ago

graphql-persist-query v0.1.4

Weekly downloads
-
License
MIT
Repository
-
Last release
5 years ago

Persist GraphQL

一个通过静态分析编译时生成graphQL查询map映射表的工具,通过映射表可以实现服务器端query白名单及query保持能力。

工具可以提取 .graphql 文件中的GraphQL查询,然后为每个查询分配一个ID值(或者叫hash),最后输出一个映射表的JSON文件。客户端和服务端可以利用这个文件进行白名单和query映射,客户端只需要发送查询的响应id/hash,服务器可以映射出响应的真正查询。

Installation

安装graphql-persist-query为依赖,并在node项目中使用:

yarn add graphql-persist-query -D

Build Tool

使用方式:

import { extractGQL, extractGQLInMem } from "graphql-persist-query";

// extract map from file
const inputFilePath = "...";
// optional
const outputFilePath = "...";
// optional
const addTypeName = false;
const options = {
  inputFilePath,
  outputFilePath,
  addTypeName,
};
extractGQL(options);

// or extract from a string
const queryString = `
query getPersons {
  getPerson {
    name
  }
}
query getItems {
  getItem {
    title
  }
}
`
const outputMap = extractGQLInMem(queryString);