You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Allow using #[derive(GraphQLQuery)] without depending on serde
This PR makes the serde derives emitted by `#[derive(GraphQLQuery)]` use
a private re-export of the serde crate instead of relying on users of
this crate having added serde to their `Cargo.toml`.
Serde allows you to add an annotation
#[serde(crate = "<path to crate>")]
for exactly this reason so most of this PR is just plumbing the correct
path through the codegen crate to the correct annotation.
Details
-------
- There is a new `#[doc(hidden)] mod _private` declaration in the
`graphql_client` crate. All re-exports (which is just serde) have been
placed there.
- I have added a new `serde_path` field to `GraphQLCodegenOptions` which
defaults to `::serde`. This means that the code generated by the CLI
should remain effectively unchanged.
- The rest is just applying `#[serde(crate = ...)]` annotations where
appropriate.
Fixes#427
0 commit comments