move TODOs into issues
This commit is contained in:
@@ -87,45 +87,3 @@ Khan Academy is a non-profit organization with a mission to provide a free, worl
|
||||
### Design
|
||||
|
||||
See [DESIGN.md](DESIGN.md) for documentation of major design decisions in this library.
|
||||
|
||||
### Major TODOs
|
||||
|
||||
(+) denotes things we further need before recommending anyone else use this in prod
|
||||
|
||||
Basic features:
|
||||
- redo support for interfaces, unions, fragments (see DESIGN)
|
||||
|
||||
Fancy features:
|
||||
- allow `__all` to request all fields (probably a terrible idea though)
|
||||
- plugin to make `_entities` queries for apollo federation easy (basically you would just write the fragment)
|
||||
- auto-caching -- if you `@genqlient(cache: true)` we cache (you can pass a cache into the client or something)
|
||||
|
||||
Generated code customization:
|
||||
- add flag(s) to make a field use a pointer (for optionality or perf; see DESIGN)
|
||||
- collapsing -- should be able to have `mutation { myMutation { error { code } } }` just return `(code string, err error)`
|
||||
- map a field to a particular Go type (if you want to use a named type for some string, say)
|
||||
- specify a particular name for a Go type, or for the helper function, or whatever else
|
||||
- include full query in generated godoc
|
||||
|
||||
Config options:
|
||||
- proper config/arguments setup (e.g. with [viper](https://github.com/spf13/viper))
|
||||
- (+) improve client_getter to be more usable (and document it), maybe by just saying it has to be a function that takes context, or flag it out for now.
|
||||
- get schema via GraphQL introspection (although honestly, it seems like SDL is becoming popular enough there may be no need)
|
||||
- whether names should be exported
|
||||
- default handling for optional fields? (maybe generate a HasFoo, you can always ignore if you don't care)
|
||||
- generate mocks?
|
||||
|
||||
Runtime:
|
||||
- (+) basic tests for graphql package
|
||||
- integration tests against common servers for graphql package
|
||||
- send hash rather than full query
|
||||
|
||||
Internal:
|
||||
- set up linting beyond `go vet`
|
||||
- switch to a snapshot testing lib (cupaloy looks good) for tests
|
||||
|
||||
Other:
|
||||
- (+) API cleanup (check godoc)
|
||||
- (+) improved validation and error checking
|
||||
- (+) documentation
|
||||
- get a designer to fix my bad logo-thing
|
||||
|
||||
Reference in New Issue
Block a user