112 releases (56 stable)

new 2.8.4 Jul 25, 2024
2.8.2 Jun 28, 2024
2.7.2 Mar 21, 2024
2.6.2 Dec 11, 2023
0.2.2 Mar 30, 2021

#339 in HTTP server

Download history 41/week @ 2024-03-31 89/week @ 2024-04-07 165/week @ 2024-04-14 179/week @ 2024-04-21 310/week @ 2024-04-28 365/week @ 2024-05-05 483/week @ 2024-05-12 186/week @ 2024-05-19 164/week @ 2024-05-26 54/week @ 2024-06-02 70/week @ 2024-06-09 167/week @ 2024-06-16 157/week @ 2024-06-23 20/week @ 2024-06-30 159/week @ 2024-07-07 31/week @ 2024-07-14

378 downloads per month

Elastic-2.0

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

~95MB
~2M SLoC