Skip to content

Simple tool for browsing Dagger graphs generated via an SPI plugin

License

Notifications You must be signed in to change notification settings

reddit/dagger-browser

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

  1. Look up the latest version of the processor plugin in Maven Central:

  1. Add a dependency on com.snap.daggerbrowser:daggerbrowser-processor to any Gradle modules in your project that process Dagger components:
allprojects {
  repositories {
    mavenCentral()
  }
}
dependencies {
  kapt "com.snap.daggerbrowser:daggerbrowser-processor:LATEST_VERSION"
}  
  1. Build your project. The plugin will generate json files for each Dagger component.

  2. Use scripts/mkmanifest.sh to aggregate the component json files into a ComponentsManifest.json.

  3. Open a Dagger Browser instance, and drag-and-drop your ComponentsManifest.json file to load it.

  4. Alternatively, build a Dagger Browser instance from source. Checkout out the dagger-browser project

$: git clone [email protected]:Snapchat/dagger-browser.git
  1. Build Dagger Browser using your generated json files:
cd dagger-browser
./run.sh ../my_project/

About

Simple tool for browsing Dagger graphs generated via an SPI plugin

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 77.2%
  • Java 8.8%
  • CSS 7.1%
  • Shell 3.2%
  • HTML 1.8%
  • Kotlin 1.5%
  • JavaScript 0.4%