Components

alumbra is built upon a series of components that can be used and replaced individually.

Specification (clojure.spec)

Build Status Clojars Project

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.

Go to Repository

Generators (test.check)

Build Status Clojars Project

Mainly used for parser verification, these test.check generators produce syntactically correct GraphQL queries based on the GraphQL working draft.

Go to Repository

Parser

Build Status Clojars Project

This component is built upon ANTLR4, providing a fast parser for both GraphQL query documents and schemas.

Go to Repository

Analyzer

Build Status Clojars Project

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.

Go to Repository

Validator

Build Status Clojars Project

This component is based on invariant to provide validation for GraphQL query documents according to the GraphQL Working Draft.

Go to Repository

Executor

Build Status Clojars Project

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.

Go to Repository

Ring Handlers

Build Status Clojars Project

This library provides Ring handlers for both executing GraphQL queries and exposing an interactive GraphiQL environment.

Go to Repository