- Update formatting
- Fix compatibility issue with
prettier@3.x
(format
became async) - Update deps
- Allow
prettier@3.x
and beyond as peer dependency (jayne-mast)
- Add
maxDepth
option andlimitDepth
function - Add support for parser options
maxTokens
andnoLocation
- Remove implicit dependency on
@types/ws
- Allow async
createContext
- Add basic GraphiQL HTML
- Update deps
- Fix headers not being passed in Express and Koa handlers
- Create context after successful parsing of execution args
- Pass parsed execution args to
createContext
- Add
GraphQLWebSocketClient.subscribeAsync
andGraphQLWebSocketClient.subscribeAsyncNamed
for async, callback-based subscriptions - Add
assert()
anddefined()
to browser build - Add React example
- Make nullable fields in generated operation types optional
- Update deps
- Support
typescript@5
(#5) - Improve error coercion in
toError
- Update deps
- Improve README and docs
- Chores in examples and scripts
- Update deps
- Fix calling
next
functions for both Koa and Express (sreedhap)
- Add option to write introspection to local file during code generation
- Add option to define scalar types without directives in client-side code generation
- Update deps
- Fix issue where bad requests would result in responses with status code 500
- Switch all tests to
fetch
- Update deps
- Add
getProjection
utility function to support efficient database lookups - Simplify builds
- Uplift
__typename
from fragments to simplify generated type system - Fix issue where no
__typename
in top-level operations lead to type system difficulties - Update deps
- Ignore internal types in
GraphQLSchemaManager.setDefaultFieldResolver
and.setResolverErrorHandler
- Improve performance of resolver error handlers
- Add GraphQL stitching support (emargollo)
- Code generation for directives and resolvers
- SDL resolvers
- Update deps
- Include JSON body (if any) in
GraphQLRequestError
- Add
errorFilter
toGraphQLClient
options - Improve error messages in
GraphQLClient
- Update deps
- Fix
GraphQLCLient.setHeaders
to safely reset headers - Export
GraphQLResultError
in browser build - Fix
GraphQLWebSocketClient.subscribe
typings
- Update deps
- Fall back to
unknown
for unmapped scalars - Add
OperationTypings
in client-side code generation for simplified client typing - Add
fetch
-based, type-safeGraphQLClient
for queries and mutations - Add type-safe
subscribeNamed
method toGraphQLWebSocketClient
- Add API documentation
- Support
fetch
in introspection and code generation - Add
getHeaders
option to introspection in code generation (e.g. to support auth)
- BREAKING CHANGES
- Upgrade to
graphql@16
- Upgrade to
ws@8
- Remove
AbstractClient
code generation in favor of operation tables - Rename
GraphQLServer
toGraphQLHttpServer
GraphQLHttpServer
now requires a context type and acreateContext
function- Move
src/execute
modules tosrc/server
- Remove specific subscription resolver options (add subscription resolvers to regular resolver map)
- Code generation now automatically creates
_ts.gql
with the@ts
directive definition - Refactor
buildExecutableSchema
into staticGraphQLServer.bootstrap
method (bootstraps complete server) - Refactor
GraphQLSchemaManager
methods
- Upgrade to
- Add
GraphQLServer
class, combining HTTP and web socket server setup - Add
DirectivesMap
(maps directive names to their arguments) to code generation - Add simplified request handlers for Express and Koa
- Allow lists of resolvers in
GraphQLServer.bootstrap
, merged via new utilitymergeResolvers
function
- Update dependencies
- Fix audit
- Switch to Jest
- Add tests
- Add Node.js 16.x to pipeline
- Include
src
in NPM package for better source map support
- Move documentation to GitHub wikis
- Add tests
- Chores and clean-ups
- Update dependencies
- Normalize error handling (thanks TypeScript!)
- Export
AsyncPushIterator
in browser build - Fix bug where subscriptions where not closed when returned client-side
- Make
typeRef<T>
always return an object for chaining
- Fix generation of operation names if some type of operation is unused
- Add generation of client operation tables
- Operation name to document (const)
- Operation name to variables type (interface)
- Operation name to data type (interface)
- Operation name to data type (interface)
- Operation name types
- Rename
certain
helper totypeRef
(breaking change) - Ignore non-GraphQL files in watch mode
- Refactor web socket package
- Allow creating a context per web socket subscription (breaking change)
- Refactor auto-reconnect API in client web sockets (breaking change)
- Improve auto-reconnection in client web sockets
- Refactor package structure
- Fix UMD build
- Improved types for resolver maps
- Add some doc-block comments
- Enable subscriptions in example GraphiQL
- Drop "opinionated" in README and description
- Fix watch mode
- Turn optional dependencies into peer dependencies
- Initial version