dependency-cruiser
madge
Our great sponsors
dependency-cruiser | madge | |
---|---|---|
8 | 8 | |
4,955 | 8,515 | |
- | - | |
9.3 | 6.3 | |
14 days ago | 11 days ago | |
JavaScript | JavaScript | |
MIT License | MIT License |
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.
dependency-cruiser
-
Taking Frontend Architecture Serious with dependency-cruiser
With dependency-cruiser, you can enforce which imports are allowed. This enables you to create an architecture fitness function that ensures your code continues to adhere to the initial design. You can also visualize your dependencies to gain a clearer understanding of your code's actual structure, allowing you to compare it with your mental model and make improvements where necessary.
-
Visualisation tool
something like https://github.com/sverweij/dependency-cruiser maybe https://github.com/pahen/madge or https://github.com/antoine-coulon/skott
-
[AskJS] What ESLint rules do you use to achieve better isolation of components?
I've personally fallen in love with Dependency Cruiser, which lets you set any arbitrary import rules you want on your repository. With it, you can enforce common things, like, "You can only import through the index file, if one exists", but you can also make custom-tailored rules for your specific project. For example, maybe your project is divided into three large folders - folder1 is allowed to import from folder2 and folder3, folder2 can import from folder3, and folder3 can not import from anyone else. Well, you can enforce that too, or whatever you need.
-
Best Practices for TypeScript Monorepo
Dependency Cruiser works great, can even render visuals:
https://github.com/sverweij/dependency-cruiser
NX[0] also has logic for handling this issue
[0]: https://nx.dev/
-
how to automatically run a script / yarn command before each dev hot-reload build
I have a dependency-cruiser script that enforces codebase import rules, which I want checked on each dev hot-reload build and prod build.
-
Deprank: Use PageRank to find the most important files in your codebase
Great project!
One feature request: Running the npx command searched only for the js files, not for the ts files. When I built deprank locally with yarn, it also showed the ts files. After looking at dependency-cruiser figure it has to do with what typescript compilers are available where.
It would be great if the npx command you provide in your readme would work regardless of my local setup - dependency-cruiser has documentation and one example of a suitable npx command here: https://github.com/sverweij/dependency-cruiser/blob/develop/...
My suggestion would be to check if any ts file is part of the extension option (i.e. --ext=".js,.jsx, .ts, .tsx") and only then do the magic needed to also show ts files.
-
How We Migrated from Javascript and Flow to TypeScript at Osome
The first step is to install dependency-cruiser.
-
Is it possible to generate a flow diagram from Javascript code?
You may have a look at dependency cruiser.
madge
- Madge: Create graphs from your CommonJS, AMD or ES6 module dependencies
-
Visualisation tool
something like https://github.com/sverweij/dependency-cruiser maybe https://github.com/pahen/madge or https://github.com/antoine-coulon/skott
-
Thoughts on Svelte
You can render dependency graphs with Madge [0] (works with both TS and JS).
[0] https://github.com/pahen/madge
-
Would anyone find a visual representation of their React component tree like this be helpful?
It would be interesting to somehow overlay this graph on top of the typescript import graph (generated by something like madge). I suspect it might highlight some poorly organized regions of the codebase, because it would be obvious which component trees depend on multiple clusters of files.
- Tools to visualize the dependency graph between files of a github repo?
-
Set your project up for success
So far, I've always used a tool called madge, which saved my ass countless times.
-
ts-helper - Fast dependency cycle checker
I've also noticed that eslint cycle checking is slow for large projects, we currently use madge (https://github.com/pahen/madge) for cycle checking and its very fast and is working pretty well.
-
Is it possible to generate a flow diagram from Javascript code?
There's no VS Code extension for it AFAIK, but it's the best (and almost only) tool that I know which can do it for JavaScript code. There's also madge and emerge, in case the first one doesn't fit your needs.
What are some alternatives?
emerge - Emerge is a browser-based interactive codebase and dependency visualization tool for many different programming languages. It supports some basic code quality and graph metrics and provides a simple and intuitive way to explore and analyze a codebase by using graph structures.
vue-component-analyzer - Analyze dependency tree for Vue.js SFC (Single File Component)
flow-to-ts - Convert flow code to typescript
eslint-plugin-import - ESLint plugin with rules that help validate proper imports.
react-border-wrapper - A wrapper for placing elements along div borders.
parcel - The zero configuration build tool for the web. 📦🚀
ts-migrate - A tool to help migrate JavaScript code quickly and conveniently to TypeScript
stylelint - A mighty CSS linter that helps you avoid errors and enforce conventions.
vue-tsx-support - TSX (JSX for TypeScript) support library for Vue
style-resources - Style Resources for Nuxt 3
prettier-plugin-organize-imports - Make Prettier organize your imports using the TypeScript language service API.