Lerna with eslint & esbuild drives two npm packages:
graphistry-client
: rxjs-based vanilla reactive JS API with minimal dependenciesgraphistry-client-react
: React wrapper aroundgraphistry-client
We strive to keep the libraries compatible across RxJS and React versions:
graphistry-client
: Bundles its own tree-shakenrxjs
version, and it is unpinned so you can also reuse in your own packages. Noreact
dependency. For convenience, we reexport a minimal useful set ofrxjs
methods.graphistry-client-react
: Depends ongraphistry-client
, including for any use ofrxjs
. Version ofreact
is unpinned.
Builds are containerized, including for local dev, and automated via github actions
Docs are automated via JSDocs (graphistry-client
) and Storybook (graphistry-client
+ graphistry-client-react
)
They auto-publish to graphistry.github.io/graphistry-js as branch #docs
Both libraries bundle into multiple formats (esm, cjs, iife), optional minification, and optional externing (rxjs+react) as part of the npm publish
Every Graphistry enterprise release hosts the coordinated JS library versions
The docs run in multiple locations: