22 releases

0.1.0-alpha.2 Apr 13, 2023
0.1.0-alpha.1 Mar 29, 2023
0.0.25 Apr 6, 2024
0.0.24 Mar 7, 2024
0.0.10 Jul 24, 2023

#493 in HTTP server

Download history 1252/week @ 2023-12-22 1167/week @ 2023-12-29 2270/week @ 2024-01-05 1054/week @ 2024-01-12 699/week @ 2024-01-19 97/week @ 2024-01-26 8/week @ 2024-02-02 3/week @ 2024-02-09 21/week @ 2024-02-16 36/week @ 2024-02-23 129/week @ 2024-03-01 100/week @ 2024-03-08 38/week @ 2024-03-15 5/week @ 2024-03-22 45/week @ 2024-03-29 178/week @ 2024-04-05

278 downloads per month
Used in 4 crates

MIT license

200KB
6K SLoC

GraphQL 3K SLoC Rust 2.5K SLoC // 0.0% comments

wasmer-api

GraphQL API client for the Wasmer backend.

Development

This client is built on the cynic crate, a GraphQL client library that allows tight integration between Rust and GraphQL types.

It was chosen over other implementations like graphql-client because it significantly reduces boilerplate and improves the development experience.

The downside is that the underlying GraphQL queries are much less obvious when looking at the code. This can be remedied with some strategies mentioned below.

Consult the Cynic docs at cynic-rs.dev for more information.

Backend GraphQL Schema

The GraphQL schema for the backend is stored in ./schema.graphql.

To update the schema, simply download the latest version and replace the local file.

It can be retrieved from https://github.com/wasmerio/wapm.io-backend/blob/master/backend/graphql/schema.graphql.

Writing/Updating Queries

You can use the Cynic web UI to easily create the types for new queries.

Simply upload the local schema from ./schema.graphql and use the UI to build your desired query.

NOTE: Where possible, do not duplicate types that are already defined, and instead reuse/extend them where possible.

This is not always sensible though, depending on which nested data you want to fetch.

Dependencies

~16–33MB
~482K SLoC