Commit graph

1275 commits

Author SHA1 Message Date
tyranron
63f6f8fae4
Prepare 0.16.0 release of juniper_codegen crate (#1198) 2024-03-20 17:07:43 +02:00
Kai Ren
ec0d7d8097
Rework Book (#1230)
- rework and update existing chapters
- mention correct case transformation for GraphQL enums (#1029)
- document N+1 mitigation techniques and look-ahead features (#234, #444)
- mention all integration crates (#867)
- fix Book links (#679, #974, #1056)
- remove old version of Book (#1168)

Additionally:
- disable `bson`, `url`, `uuid` and `schema-language` Cargo features by default in `juniper` crate

Co-authored-by: Christian Legnitto <LegNeato@users.noreply.github.com>
2024-03-20 15:53:25 +01:00
tyranron
86b5319315
Fix unit tests for latest nightly 2024-03-12 16:53:09 +02:00
dependabot[bot]
847a38a4c6
Upgrade softprops/action-gh-release GitHub Action from 1 to 2 version (#1248)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-12 14:18:14 +01:00
tyranron
ac6e60987f
Fix codegen failure tests for 1.76.0 Rust 2024-02-09 17:23:01 +02:00
tyranron
2ce7dae298
Fix minimal-versions check for bson crate integration 2024-02-09 16:46:27 +02:00
tyranron
b9fe911d1f
Make Clippy happy for 1.76 Rust 2024-02-09 16:22:13 +02:00
dependabot[bot]
f33406f3ce
Upgrade GraphiQL from 3.1.0 to 3.1.1 version (#1246)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kai Ren <tyranron@gmail.com>
2024-02-02 17:05:53 +01:00
Kien Dang
d6297f493a
Use production distribution of React in GraphiQL (#1243) 2024-01-31 13:03:16 +00:00
Kai Ren
f363b0d79e
Preserve input body when attribute macro expansion fails (#1245, #1244) 2024-01-30 16:41:11 +01:00
Audun Halland
8a69e14c8b
Avoid copying Span when evaluating validation rules (#1242) 2024-01-29 17:18:59 +01:00
dependabot[bot]
f213d5193c
Update env_logger crate from 0.10 to 0.11 version (#1241)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-23 12:32:33 +01:00
Audun Halland
507a66a3bf
Replace futures-enum crate with auto_enums to ged rid of syn 1 (#1240) 2024-01-18 16:34:38 +01:00
Audun Halland
a1bc775e00
Sort order as "type-then-name" in introspection output (#1239, #1134) 2024-01-17 14:04:17 +00:00
Audun Halland
c54137f7b4
Rework look-ahead machinery as lazy-evaluated (#1212)
- make `LookAheadValue::List` to contain new iterable `LookAheadList` type
- make `LookAheadValue::Object` to contain new iterable `LookAheadObject` type
- remove `LookAheadMethods` trait and redundant `ConcreteLookAheadSelection` struct making all APIs accessible as inherent methods on `LookAheadSelection` and `LookAheadChildren` decoupled types
- move `LookAheadMethods::child_names()` to `LookAheadChildren::names()`
- move `LookAheadMethods::has_children()` to `LookAheadChildren::is_empty()`
- move `LookAheadMethods::select_child()` to `LookAheadChildren::select()`
- move `LookAheadSelection::for_explicit_type()` to `LookAheadSelection::children_for_explicit_type()`
- make `LookAheadSelection::arguments()` returning iterator over `LookAheadArgument`
- make `LookAheadSelection::children()` returning `LookAheadChildren`

Co-authored-by: Kai Ren <tyranron@gmail.com>
2024-01-16 19:17:07 +00:00
Kai Ren
e64287cfc8
Sort order as "type-then-name" in generated schema's SDL (#1237, #1134)
- rename `RootNode::as_schema_language()` method as `RootNode::as_sdl()`
- rename `RootNode::as_parser_document()` method as `RootNode::as_document()`
- merge `graphql-parser` and `schema-language` Cargo features

Co-authored-by: Michael Groble <mike@groble.me>
2024-01-15 17:26:12 +01:00
dependabot[bot]
b1b31ff8c0
Upgrade actix-identity crate from 0.6 to 0.7 version (#1236)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-11 16:33:44 +01:00
dependabot[bot]
b7be55fb4b
Upgrade actix-cors crate from 0.6 to 0.7 version (#1234)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kai Ren <tyranron@gmail.com>
2024-01-08 20:06:28 +01:00
dependabot[bot]
31c468dd65
Upgrade GraphiQL from 3.0.10 to 3.1.0 version (#1235)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kai Ren <tyranron@gmail.com>
2024-01-08 19:33:00 +01:00
dependabot[bot]
d75f940625
Upgrade serial_test crate from 2.0 to 3.0 version (#1233)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-08 18:55:47 +01:00
tyranron
57e6c9813c
Fix codegen tests for 1.75.0 Rust 2024-01-02 16:03:49 +01:00
tyranron
df24749727
Update copyright notices to 2024 year 2024-01-02 15:59:19 +01:00
tyranron
dc1f3e0c79
Backport changes of 0.15.12 juniper release 2024-01-02 15:34:29 +01:00
tyranron
2a27a54160
Release juniper 0.15.12 2024-01-02 15:27:32 +01:00
tyranron
5dec22ad7b
Fix minimal version of fnv dependency crate 2024-01-02 15:26:13 +01:00
Kai Ren
9420f3c19e
Allow top-level #[graphql] attribute in attribute macros (#1232) 2023-12-11 20:31:04 +00:00
dependabot[bot]
c0e1b3eae3
Upgrade tokio-tungstenite crate from 0.20 to 0.21 version (#1231)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-08 19:59:11 +01:00
Zak
ace693585d
Improve validation errors for input values (#811, #693)
Co-authored-by: Kai Ren <tyranron@gmail.com>
2023-11-30 20:51:08 +00:00
Kai Ren
7c03f922e0
Implement Clone and PartialEq for GraphQLResponse (#1228, #103) 2023-11-28 16:54:50 +00:00
Kai Ren
f98bdf1a50
Allow disabling introspection (#1227, #456)
- implement `validation::rules::disable_introspection`
- add `RootNode::disable_introspection()` and `RootNode::enable_introspection()` methods
2023-11-28 16:49:26 +01:00
Kai Ren
58ae682f91
Upgrade axum crate from 0.6 to 0.7 version (#1224) 2023-11-27 13:14:02 +00:00
Kai Ren
bd8dc582a4
Fix handling GET request in juniper_rocket example (#1223, #1098)
- rework `rocket_server` example as `simple`
- provide example in `GraphQLRequest` API docs
- mention GET query format in  `GraphQLRequest` API docs and `simple` example

Additionally:
- fix `operationName` query parameter handling
- make `graphiql_source()` and `playground_source()` polymorphic over `subscriptions_endpoint_url` argument
- provide examples in `graphiql_source()` and `playground_source()` API docs
- move integration HTTP tests to a separate file
- test both sync and async `juniper_rocket` in integration HTTP tests
- polish `FromForm` unit tests
2023-11-24 17:51:32 +00:00
dependabot[bot]
add0e23c5f
Remove hyper for juniper_axum dependencies (#1219)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kai Ren <tyranron@gmail.com>
2023-11-23 18:10:03 +00:00
Kai Ren
4ef8cf7de9
Fix Rejection handling in juniper_warp filters (#1222, #1177)
- rework `make_graphql_filter()` and `make_graphql_filter_sync()` to execute `context_extractor` only once
- handle all non-recoverable `Rejection`s in `make_graphql_filter()` and `make_graphql_filter_sync()`
- relax requirement for `context_extractor` to be a `BoxedFilter` only
- remove `JoinError` from public API
- provide example of fallible `context_extractor` in `make_graphql_filter()` API docs

Additionally:
- split  `juniper_warp` modules into separate files
- add @tyranron as `juniper_warp` co-author
2023-11-23 17:39:12 +00:00
dependabot[bot]
904d9cdbb6
Upgrade rocket crate to 0.5 version (#1220)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kai Ren <tyranron@gmail.com>
2023-11-20 18:45:45 +01:00
dependabot[bot]
5b58b85a37
Upgrade GraphiQL from 3.0.9 to 3.0.10 version (#1221)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kai Ren <tyranron@gmail.com>
2023-11-20 16:43:53 +00:00
tyranron
3645df27b6
Stop Clippy from enforcing # Errors and # Panics sections in GraphQL descriptions 2023-11-17 21:38:17 +01:00
dependabot[bot]
813c0d1210
Upgrade juniper_hyper to 1.0 hyper (#1217)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kai Ren <tyranron@gmail.com>
2023-11-17 13:04:37 +00:00
tyranron
9f776fd0a1
Remove redundant juniper_actix dependencies 2023-11-16 21:15:30 +01:00
tyranron
a515d4b8b9
Fix codegen tests for 1.74 Rust 2023-11-16 21:14:50 +01:00
Kai Ren
316b1887b2
Provide anyhow crate integration (#1215, #988)
- implement `IntoFieldError` for `anyhow::Error`
- add `anyhow` and `backtrace` Cargo features
2023-11-15 19:29:59 +01:00
dependabot[bot]
2215cd0e0b
Upgrade itertools crate from 0.11 to 0.12 version (#1214)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-15 14:38:04 +00:00
Kai Ren
d7103e2ef2
Remove iron integration (#1210) 2023-11-09 23:52:24 -04:00
Audun Halland
e75cf26995
Add Span to meta::Arguments and LookAheadArguments (#1206, #1209) 2023-11-09 18:18:46 +01:00
Audun Halland
d0fc062892
Abstract Spanning::start and Spanning::end into Span (#1207, #1208) 2023-11-09 15:04:30 +01:00
Benno Tielen
761710205a
Provide axum integration (#1088, #986, #1184)
- create `juniper_axum` crate in Cargo workspace
- implement `graphql` default `axum` handler for processing GraphQL requests
- implement `extract::JuniperRequest` and `response::JuniperResponse` for custom processing GraphQL requests
- implement `subscriptions::graphql_transport_ws()` default `axum` handler for processing the new `graphql-transport-ws` GraphQL over WebSocket Protocol
- implement `subscriptions::graphql_ws()` default `axum` handler for processing the legacy `graphql-ws` GraphQL over WebSocket Protocol
- implement `subscriptions::serve_graphql_transport_ws()` function for custom processing the new `graphql-transport-ws` GraphQL over WebSocket Protocol
- implement `subscriptions::serve_graphql_ws()` function for custom processing the legacy `graphql-ws` GraphQL over WebSocket Protocol
- provide `examples/simple.rs` of default `juniper_axum` integration
- provide `examples/custom.rs` of custom `juniper_axum` integration

Additionally:
- fix `junper_actix` crate MSRV to 1.73
- add `test_post_with_variables()` case to integration `juniper::http::tests`

Co-authored-by: ilslv <ilya.solovyiov@gmail.com>
Co-authored-by: Christian Legnitto <LegNeato@users.noreply.github.com>
Co-authored-by: Kai Ren <tyranron@gmail.com>
2023-11-09 11:57:00 +01:00
dependabot[bot]
ba59c953a7
Upgrade rocket crate to 0.5.0-rc.4 version (#1205)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kai Ren <tyranron@gmail.com>
2023-11-03 13:37:51 +01:00
dependabot[bot]
d0f50e73e0
Update GraphiQL from 3.0.8 to 3.0.9 version (#1204)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kai Ren <tyranron@gmail.com>
2023-11-02 20:51:34 +00:00
Sören Meier
8b530ebc12
Return slice in LookAheadMethods::children() instead of Vec (#1200) 2023-11-02 13:55:38 +00:00
Sören Meier
da005fcb41
Add field_original_name and field_alias to LookAheadMethods (#1199)
Co-authored-by: Kai Ren <tyranron@gmail.com>
2023-11-02 12:57:00 +00:00