dagger-browser
dagger-browser copied to clipboard
Simple tool for browsing Dagger graphs generated via an SPI plugin
Dagger Browser
Dagger Browser is a progressive web app for easily navigating a project's Dagger graph. The graph data is populated from a Dagger SPI plugin, and the browser is built using CRA (create-react-app) with Typescript.
Trying a sample
Check out the demo site built from the open source Plaid app.
The plugin/sample directory contains a fork of a simple example from the Dagger repo.
You can run ./run.sh to generate the dagger components manifest for this example and display in the Dagger Browser.
Using Dagger Browser in your app
To build a Dagger Browser site for your project, you'll need to generate json files for your project's Dagger components.
To get started:
-
Look up the latest version of the processor plugin in Maven Central:
-
Add a dependency on
com.snap.daggerbrowser:daggerbrowser-processorto any Gradle modules in your project that process Dagger components:
allprojects {
repositories {
mavenCentral()
}
}
dependencies {
kapt "com.snap.daggerbrowser:daggerbrowser-processor:LATEST_VERSION"
}
-
Build your project. The plugin will generate json files for each Dagger component.
-
Use scripts/mkmanifest.sh to aggregate the component json files into a ComponentsManifest.json.
-
Open a Dagger Browser instance, and drag-and-drop your ComponentsManifest.json file to load it.
-
Alternatively, build a Dagger Browser instance from source. Checkout out the
dagger-browserproject
$: git clone [email protected]:Snapchat/dagger-browser.git
- Build Dagger Browser using your generated json files:
cd dagger-browser
./run.sh ../my_project/