alumbra is built upon a series of components that can be used and replaced individually.
This set of clojure.spec specifications describes the data structures and interfaces used by the different parts of the alumbra infrastructure. They are both documentation and means of verification, e.g. in tests.
Mainly used for parser verification, these test.check generators produce syntactically correct GraphQL queries based on the GraphQL working draft.
This component is built upon ANTLR4, providing a fast parser for both GraphQL query documents and schemas.
The analyzer converts raw GraphQL ASTs to formats suitable for validation and execution. Most importantly, it can combine a GraphQL schema and a GraphQL query document to produce a canonical, standalone format that an executor can handle without further knowledge of the original type system.
This component is based on invariant to provide validation for GraphQL query documents according to the GraphQL Working Draft.
Represent your data as claro resolvables and mutations to have them easily accessible via GraphQL. Additionally, you’ll benefit from the flexibility and optimizations claro provides out-of-the-box, including batching capabilities and engine extensibility.