Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Spec compliant GraphQL Tools in Rust.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
NotificationsYou must be signed in to change notification settings

apollographql/apollo-rs

Rust tooling for manipulation of the GraphQL language.

Tools included

This project is intended to house a number of tools related to the low-levelworkings of GraphQL according to theGraphQL specification. Nothing inthese libraries is specific to Apollo, and can freely be used by otherprojects which need standards-compliant GraphQL tooling written in Rust. Thefollowing crates currently exist:

  • apollo-compiler - a library to manipulate, semantically analyze, and validate GraphQL schema definition and query language
  • apollo-parser - a library to parse the GraphQL (used byapollo-compiler)
  • apollo-smith - a test case generator to deterministically produce arbitrary GraphQL documents

Please check out their respective READMEs for usage examples.

Status

apollo-rs is a living project that keeps evolving and is being used in production.If you try outapollo-rs and run into trouble, we encourage you to open anissue.

Design Principles

  1. Prioritizing developer experience. Elegant and ergonomic APIs is thetheme for Rust as a language, and we want to make sure that all component APIswe provide are aligned with these principles.

  2. Stability and reliability. Spec-compliant, and idempotent APIswhich can be used safely in enterprise-grade codebases.

  3. Diagnostics. The tools are to be written in a way that will allow us toproduce detailed diagnostics. It does not panic or return early if there is alexical or a syntactic error. Instead, the parser is meant to gather as muchcontext and information as possible and return errors alongside the output thatis valid. Coincidentally, this allows for easily debuggable code for thosemaintaining this project.

  4. Extensibility. The parser is written to work with different use cases inour budding Rust GraphQL ecosystem, be it building schema-diagnostics for Rover,or writing out query planning and composition algorithms in Rust. These all havequite different requirements when it comes to document manipulation. We wanted tomake sure we account for them early on.

Rust versions

apollo-rs is tested on the latest stable version of Rust.Older version may or may not be compatible.

License

Licensed under either of

at your option.


[8]ページ先頭

©2009-2025 Movatter.jp