96 releases (47 stable)
new 2.7.4 | Apr 22, 2024 |
---|---|
2.7.2 | Mar 21, 2024 |
2.6.2 | Dec 11, 2023 |
2.6.1 | Nov 27, 2023 |
0.2.2 | Mar 30, 2021 |
#252 in HTTP server
239 downloads per month
1.5MB
692 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
~95MB
~2M SLoC