depp
dep-tree
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
depp
-
Depp - How it was built
I did this using something I built for an older project which is a modification of go standard library's [Glob](https://github.com/CryogenicPlanet/depp/blob/master/utils.go#L79-L87) This modification allow me to easily find all nested package.json and source files
- A javascript unused and duplicate dependency checker built on top of esbuild
-
A fast unused and duplicate dependency checker for node modules
It is fully open-source and you can try it out https://github.com/CryogenicPlanet/depp
-
Show HN: A fast unused and duplicate dependency checker
Hey
I recently wrote a mini tool that servers as a unused and duplicate dependency checker. It uses golang and esbuild under the hood so is quite fast.
It also built to support monorepo, something I found a lot of tools didn't support well.
It is fully open source and you can try it out https://github.com/CryogenicPlanet/depp
Fair warning, it is likely quite buggy and might have some issues and it is very new but it worked decently on our internal codebase
- A fast unused and duplicate dependency checker
dep-tree
-
Show HN: Visualize the complexity of a Golang codebase with a 3D force graph
Hi HN!
I want to share a project for which Golang support was just added:
https://github.com/gabotechs/dep-tree
This is a tool that allows users to visualize the complexity of a code base using a 3D force-directed graph:
It will take a Golang codebase entrypoint, typically `main.go`, it will parse the file and gather other files in which this file depends on (by resolving function names, types, etc...)
It will recursively perform this operation with all the dependant files, until the full graph with all the source files is formed.
It will render the graph using a force-directed layout, and all the source files will be placed in a three-dimensional space simulating some attraction/repulsion forces based on the dependencies between them.
Clean and loosely coupled codebases will tend to form clusters of nodes in the 3d space separated from each other, while tightly coupled and messy codebases will be rendered with all the nodes grouped together without clear sense of separation.
Here are some examples of rendering this graph for some well known projects:
- Docker compose: https://dep-tree-explorer.vercel.app/api?repo=https%3A%2F%2F...
-
Show HN: Visualize the Entropy of a Codebase with a 3D Force-Directed Graph
The portion of the code in charge of rendering lives inside the `internal/entropy` (https://github.com/gabotechs/dep-tree/tree/main/internal/ent...).
Force-directed is an algorithm for displaying graphs in a 2d or 3d space, which simulates attraction/repulsion based on the dependencies between the nodes, the wikipedia page explains it really well https://en.wikipedia.org/wiki/Force-directed_graph_drawing
> Love it, I think dependency trees are super underused data for static analysis.
Definitely, specially for evaluating "the big picture" of a codebase
- Show HN: I Made a Tool for Visualizing the Entropy of a Code Base in the Browser
- Show HN: I Made a Tool for Visualizing the Entropy of a Code Base
-
About Software Complexity...
If you like Dep Tree, feel free to stop by the GitHub repository and give it a star. Check out the README and you will find out that Dep Tree is far more than just a cool visualization tool; it can actually help you enforce your code base decoupling!
- Show HN: Render your JS or TS project's file dependency graph in the terminal
-
Rendering a Rust project's file dependency tree in the terminal
I am working on dep-tree, a CLI tool for rendering and linting source code file dependency trees, https://github.com/gabotechs/dep-tree, and I recently added support for the Rust language (previously, only TypeScript and JavaScript where supported).
- dep-tree - a tui application for rendering your TS/JS project's dependency tree written in Go
What are some alternatives?
darwin - An ever-evolving collection of code, words, and ideas
protolint - A pluggable linter and fixer to enforce Protocol Buffer style and conventions.
socialify - 💞 Socialify your project. 🌐 Share with the world!
typex - [TOOL/CLI] - Filter and examine Go type structures, interfaces and their transitive dependencies and relationships. Export structural types as TypeScript value object or bare type representations.
ratchet - A tool for securing CI/CD workflows with version pinning.
slack-term - Slack client for your terminal
viddy - 👀 A modern watch command. Time machine and pager etc.
do - ⚙️ A dependency injection toolkit based on Go 1.18+ Generics.
git-of-theseus - Analyze how a Git repo grows over time
warp - A super-easy, composable, web server framework for warp speeds.