dependency-cruiser
nx
dependency-cruiser | nx | |
---|---|---|
8 | 346 | |
4,965 | 22,004 | |
- | 1.5% | |
9.2 | 10.0 | |
21 days ago | 4 days ago | |
JavaScript | TypeScript | |
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.
nx
-
🍒 Cherry-Picked Nx v18.3 Updates
One notable feature is the ability to remember selected tabs. When you select a specific tab on a page, all other tabs on the page with the same name will also be selected. This selection will persist during your next visit to nx.dev.
-
Pitfalls of Deploying Hono Js App on Vercel
Hono does have a template application for Vercel, but in my case, my requirements were different (aren't they always 😅). I was working in a monorepo (using nx) because I wanted to manage my libs, tests, and examples all together in a single place, instead of having different repos.
- 🍒 Cherry-Picked Nx v18.1 Updates
-
How to setup semantic release with GitHub Actions.
Recently, My coworker is using Nx to automate his workflow, including automated release using semantic version. I found this method quite useful, so I want to re-implement on single GitHub repositories (without Nx).
-
🩹 Nx Crystal Plugin Picking the Essentials
I started a discussion on GitHub concerning that subject: Design Nx Plugin Project Crystal
-
Things I learned while building projects with NX
Nx
- Episode 24/09: Testing without TestBed, SSR & Hydration
-
Announcing AnalogJS 1.0 🚀
We are looking for companies to partner with on the Analog project to support development of the project. Thanks to Snyder Technologies for being an early adopter and promoter of Analog, Nx for joining us as a sponsor, House of Angular, and many other backers of the project.
-
Storybook 8
Additionally, thank you to all our community launch partners across the frontend ecosystem for helping us bring Storybook 8 to the world! Thanks to Chromatic, Figma, ViteConf, Omlet, DivRiots, story.to.design, StackBlitz, UXpin, Nx, Mock Service Worker, Anima, Zeplin, zeroheight, kickstartDS, and Kendo UI.
-
⏰ It’s time to talk about Import Map, Micro Frontend, and Nx Monorepo
The advent of esbuild, the native support for ES Modules in browsers, the widespread adoption of import map, the emergence of tools like Native Federation, and the Nx ecosystem all combine to forge a flexible and well-maintained Micro Frontend Architecture.
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.
turborepo - Incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust – including Turborepo and Turbopack. [Moved to: https://github.com/vercel/turbo]
madge - Create graphs from your CommonJS, AMD or ES6 module dependencies
single-spa - The router for easy microfrontends
flow-to-ts - Convert flow code to typescript
vite - Next generation frontend tooling. It's fast!
ts-migrate - A tool to help migrate JavaScript code quickly and conveniently to TypeScript
lerna - :dragon: Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository.
react-border-wrapper - A wrapper for placing elements along div borders.
create-react-app - Set up a modern web app by running one command.
vue-tsx-support - TSX (JSX for TypeScript) support library for Vue
pnpm - Fast, disk space efficient package manager