114 releases (58 stable)
2.9.0 | Aug 27, 2024 |
---|---|
2.8.4 | Jul 25, 2024 |
2.7.2 | Mar 21, 2024 |
2.6.2 | Dec 11, 2023 |
0.2.2 | Mar 30, 2021 |
#578 in HTTP server
1.5MB
750 lines
Harmonizer
This harmonizer offers the ability to invoke a bundled version of the
JavaScript library, @apollo/composition
, which composes multiple subgraphs
into a supergraph.
The bundled version of the federation library that is included is a JavaScript
Immediately Invoked Function Expression (IIFE) that is created by running the
esbuild bundler on the @apollo/composition
package.
When the harmonize
function that this crate provides is called with a
Vec<SubgraphDefinition>
(which is synonymous with the terminology and service list
notion that exists within the JavaScript composition library), this crate uses
deno_core
to invoke the JavaScript within V8. This is ultimately
accomplished using rusty_v8
's V8 bindings to V8.
While we intend for a future version of composition to be done natively within Rust, this allows us to provide a more stable transition using an already stable composition implementation while we work toward something else.
Dependencies
~86MB
~1.5M SLoC