Sort JSON GraphQL schemas for commit consistency. Useful when using Relay with non-deterministically auto-generated schemas.
Runs on Node v6 or higher.
npm install sort-graphql-schema --save-dev
or install globally for CLI usage:
npm install -g sort-graphql-schema
API:
const fs = require('fs')
const { graphql } = require('graphql');
const { introspectionQuery } = require('graphql/utilities');
const sortSchema = require('sort-graphql-schema');
const schema = require('./path/to/schema');
graphql(schema, introspectionQuery)
.then(result => {
fs.writeFileSync('/path/to/output.json', JSON.stringify(sortSchema(result), null, 2));
console.log('Done!');
});
CLI:
sort-graphql-schema schema.json
Yes, thank you. Please lint, update/write tests and add your name to the package.json file before you PR.
MIT