
Security News
arXiv Is Rate Limiting Authors Following a Flood of AI Slop Submissions
arXiv now limits authors to two submissions a month as AI slop overwhelms moderators, delays good papers, and sparks debate over applying the limit to everyone.
nestlens-viewer
Advanced tools
Static architecture visualisation tool for NestJS projects — automatically parses NestJS source code using the TypeScript Compiler API and renders an interactive architecture dashboard.
See your NestJS architecture, clearly.
NestJS projects grow complex fast. Modules import other modules, controllers define dozens of routes, providers depend on each other — and suddenly you're lost in the code. NestLens solves this by automatically scanning your source code and showing you the full architecture as an interactive visual map. No manual documentation, no guesswork — just run it and see how everything connects.
| Without NestLens | With NestLens |
|---|---|
Manually trace @Module decorators to understand relationships | See modules, imports, controllers, and providers at a glance |
| Search files to find all routes and their HTTP methods | View all routes with color-coded method badges instantly |
| Guess which services a controller depends on | Inspect constructor-injected dependencies from the UI |
| Lose track of the big picture in large codebases | Get live summary statistics across the entire project |
NestLens reads your code without running it. The analysis engine uses the TypeScript Compiler API to build an in-memory version of your project, walks through the code structure, and finds every @Module, @Controller, and @Injectable decorator. From each one, it pulls out routes, dependencies, and relationships — then builds a clean JSON structure from it.
A lightweight Express server serves this data to a browser-based dashboard, where everything is rendered as an interactive visualization — no build tools, no bundler, no complexity.
| Concept | What It Does in NestLens |
|---|---|
| Abstract Syntax Tree (AST) | Represents source code as a tree structure — NestLens walks it to find decorated classes |
| TypeScript Compiler API | Compiles your project in memory, giving access to all files and type information |
| Decorator Pattern | NestJS decorators carry metadata — NestLens reads them to extract architecture |
| Static Analysis | Everything happens at compile time — your project never needs to run |
| Dependency Injection | Constructor parameters are inspected to map which services each class depends on |
| Express Server | A minimal HTTP server serves the API and the dashboard |
| Vanilla JavaScript | The entire UI is built from JSON data — no frameworks, no build step |
nestlens/
├── package.json
├── tsconfig.json
├── .gitignore
│
├── package/
│ ├── server.ts — Express server, runs analysis, serves dashboard on port 4000
│ ├── parser.ts — Core analysis engine using the TypeScript Compiler API
│ └── types.ts — TypeScript interfaces for the data model
│
└── dist/
└── package/
├── server.js
├── parser.js
├── types.js
└── client/
├── index.html — Interactive dashboard (HTML + CSS + JS, fully self-contained)
└── logo.png
The dashboard is a single-page application that runs entirely in your browser.
Live statistics — real-time counts for modules, controllers, providers, and routes.
Module graph — the root module sits at the center with SVG lines connecting to its imported child modules. Each card shows controller count, provider count, and imports.
Three layout modes:
Focus mode — click any module to highlight its relationships and dim everything else.
Detail modals — click a module to see its controllers, providers, and imports. Click a controller to see all routes with HTTP method badges. Click a provider to see its dependencies and public methods.
Color-coded HTTP methods — GET (green), POST (orange), PUT (blue), PATCH (purple), DELETE (red).
Search — filter modules in real time from the header bar.
Keyboard shortcuts — zoom, reset view, fullscreen, and more.
npm install nestlens-viewer
Navigate to your NestJS project root and run:
npx nest-viewer
NestLens will scan your src/app.module.ts and all files it imports, then open the dashboard automatically at http://localhost:4000.
Tip: If you're running NestLens from inside the project folder, it will automatically find your
src/app.module.ts.
| Shortcut | Action |
|---|---|
Ctrl + + | Zoom in |
Ctrl + - | Zoom out |
Ctrl + 0 | Reset view |
F11 | Toggle fullscreen |
Escape | Close modal / exit focus mode |
Click + Drag | Move cards around |
The interactive dashboard (dist/package/client/index.html) was designed and implemented with assistance from OpenCode AI, which helped generate the HTML, CSS, and JavaScript for the visualization layer.
NestLens is open-source and welcomes contributions from developers at any level.
Reporting bugs — open an issue with a clear description and steps to reproduce.
Suggesting features — open an issue describing what you need and how it should work.
Submitting pull requests — fix bugs, add features, improve docs, or write tests. Please open an issue first for significant changes so we can discuss the scope.
Improving documentation — corrections, clarifications, and translations are all welcome.
This project is licensed under the MIT License. See the LICENSE file for details.
Made with care by developers, for developers.
NestLens — See your NestJS architecture, clearly.
FAQs
Static architecture visualisation tool for NestJS projects — automatically parses NestJS source code using the TypeScript Compiler API and renders an interactive architecture dashboard.
We found that nestlens-viewer demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
arXiv now limits authors to two submissions a month as AI slop overwhelms moderators, delays good papers, and sparks debate over applying the limit to everyone.

Research
/Security News
A new GhostAction wave hits hundreds of GitHub repos, expanding CI/CD secret theft to cloud and AI credentials in source code and git history.

Research
/Security News
Tensorlake npm SDK version 0.5.144 was compromised in a ChainDrop / Shai-Hulud attack, delivering credential-stealing malware.