* add GRAPHIQL_HEADER_EDITOR_ENABLED setting with False default
* use GRAPHIQL_HEADER_EDITOR_ENABLED to set headerEditorEnabled GraphiQL option
* update graphQLFetcher and httpClient in static/graphiql.js to support custom query/mutation headers
* Add new setting to create unique enum names
* Add specific tests for name generation
* Add schema test
* Rename settings field
* Rename setting
* Add custom function setting
* Add documentation
* Use format instead of f strings
* Update graphene_django/converter.py
Co-Authored-By: Syrus Akbary <me@syrusakbary.com>
* Fix tests
* Update docs
* Import function through import_string function
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
When we use the `graphql_schema` management command, the output can vary from run to run depending on arbitrary factors (because there is no guarantee made about the order used to output JSON dictionary keys). This makes it difficult to compare two schema's at different points in time.
We address this by including a new `canonical` flag to the command, which uses standard `json.dump` funcitonality to sort dictionary keys and force pretty-printed output.