Nestjs Spelunker

screenshot of Nestjs Spelunker
express
nestjs

A NestJS Module for generating a NestJS Applications Module Dependency Graph.

Overview

NestJS-Spelunker is an innovative module that digs deep into your NestJS application, analyzing and mapping out the dependency structure from a specified entry point. This module simplifies the exploration of your code by revealing what each module imports, provides, exports, and has controllers for, ensuring that you can grasp the relationships and dependencies within your application effortlessly. With its ability to recursively navigate through the dependency tree and present the data in an organized manner, NestJS-Spelunker is an invaluable tool for developers looking to understand and optimize their NestJS architecture.

Moreover, the features of NestJS-Spelunker make it not only a utility but also an essential resource for debugging and visualizing dependencies. Whether you want to troubleshoot issues with providers or visualize your module relationships, this module caters to a wide range of use cases, enhancing your development experience and efficiency.

Features

  • Installation: Easy to install with straightforward instructions, making it accessible for developers of all levels.
  • Exploration Mode: Allows you to explore modules after the Dependency Injection (DI) system has been set up without hindering the application's bootstrap process.
  • Graph Mode: Generates a visual representation of module inter-dependencies through a doubly-linked graph, which aids in comprehending complex relationships.
  • Debug Mode: Offers a debug feature to help diagnose issues with unresolved provider dependencies by examining the dependency tree of specific modules.
  • Custom Provider Insight: Analyzes custom providers, identifying their types (value, class, or factory) and detailing what values need to be injected.
  • Flexible Output Formats: Allows the output for graphs to be easily transformed into formats compatible with various visualization tools, such as Mermaid.
  • Recursive Search: Scans through all modules in depth, ensuring that nothing is overlooked in the dependency mapping process.
  • Meticulous Metadata Output: Outputs detailed metadata including dependencies, imports, exports, and controllers, providing comprehensive insights into your modules.
express
Express

Express.js is a simple Node.js framework for single, multi-page, and hybrid web applications.

nestjs
Nest

A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.