The first update to the Silverfish IDP sees JavaScript and TypeScript support added
The roadmap for the Silverfish IDP lists adding support for component discovery for more languages as part of the
short-term aims for improving the product. The likely order of implementation had JavaScript at the top of the
list, and this week sees that support added.
Deep Dive: How the Silverfish IDP Analyzes JavaScript & TypeScript Repositories
The Silverfish IDP now offers comprehensive analysis of JavaScript and TypeScript codebases, extracting critical
metadata about components, dependencies, and language versions.
The Challenge
Modern web development spans multiple tools, frameworks, and package managers. A
single repository might contain frontend and backend services, use different packaging tools, mix JavaScript and
TypeScript, and span multiple isolated workspace packages. Understanding this complexity requires sophisticated code
analysis that goes far beyond simple file scanning.
The Solution
Our new JS/TS analysis engine automatically detects:
Which package manager was used — npm, Yarn, pnpm or Bun — by examining lock files, configuration files, and the
packageManager field in package.json
What type each component is — whether it’s a publishable package or internal library, frontend application or backend
service. For now, whether it is a package or internal library is then reported to the Dashboard.
The exact tech stack — including TypeScript support, language versions, Node.js requirements, and runtime targets
Complete dependency graphs — resolving direct, transitive, and internal workspace dependencies from lock files
How It Works
Package Discovery — the system locates all package.json files, including those in nested monorepo workspaces
Component Classification — each package is analyzed to determine if it’s a frontend application (React, Vue,
Angular), a backend service (Express, Koa, NestJS), a fullstack framework (Next.js, Nuxt, Remix), or a shared library
Packaging Tool Detection — intelligent detection of npm, Yarn, pnpm, or Bun, including conflict detection when
multiple lock files exist
Dependency Resolution — parses lock files to extract resolved versions and build the complete dependency tree
Language Analysis — identifies JavaScript, TypeScript, or hybrid codebases, and extracts compiler configuration and
version constraints
Why This Matters
Understanding your repository’s structure is the first step toward effective dependency management, security scanning
and upgrade planning. Silverfish’s automated analysis eliminates the manual process of catalogue-building, providing
you with instantly-queryable component metadata across your entire codebase.