difflicious
difflicious copied to clipboard
GUI for viewing diffs
For diffs from larger data structures, users need a more interactive way to explore the diff as text diffs can get too overwhelming.
Requirements
- Explore difflicious diff output
- Parts of the diff can be expanded and minimise. This applies to both parts that are the same (no diff) or different
Architecture
- Frontend in scala.js
- Backend (server) will register new diffs from failed tests, and serve the frontend via an API.
Reporting diff errors
Ideally, we want minimal code change in the tests to enable reporting to the backend.
Possible approaches:
- Using Implicits/givens, the "diff server reporter" is brought in via an import
- Use some sort of ServiceLoader mechanism to automatically load the reporter if it's on the classpath, activated if an env var / system property is set.
- Does not require code modification
- Not cross platform