dagger-browser

by Snapchat

Snapchat / dagger-browser

Simple tool for browsing Dagger graphs generated via an SPI plugin

241 Stars 6 Forks Last release: Not found BSD 3-Clause "New" or "Revised" License 50 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

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:

  2. Add a dependency on

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

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

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

  6. Alternatively, build a Dagger Browser instance from source. Checkout out the

    dagger-browser
    project
    $: git clone [email protected]:Snapchat/dagger-browser.git
    
  7. Build Dagger Browser using your generated json files:

    cd dagger-browser
    ./run.sh ../my_project/
    

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.