0.1.4 • Published 5 years ago
graphql-persist-query v0.1.4
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);