
Company News
Jerod Santo Joins Socket as Head of Media
Allow myself to introduce... myself.
@deplens/core
Advanced tools
Programmatic API for inspecting installed packages: runtime exports, parsed type signatures, and JSDoc.
npm i @deplens/core
import { runInspect, runDiff } from '@deplens/core';
const output = await runInspect({
target: 'ai',
showTypes: true,
filter: 'generate',
resolveFrom: process.cwd(),
});
console.log(output);
const diff = await runDiff({
package: 'express',
from: '4.18.0',
to: '4.19.0',
format: 'json',
});
console.log(diff.output);
runInspect returns a string when no custom writers are provided. If you pass write or writeError, it will stream to those instead.
target (string, required): package name or import path (e.g. react, next/server)filter (string): substring filter for export namesshowTypes (boolean): include type signatures from .d.tskind (string[]): filter by export kind (function, class, object, constant)runtime (boolean): import the package entrypoint for runtime exports; set false for static type/package inspectionanalyzeSource (boolean): include source complexity and implementation summariesdepth (number): object inspection depth (0–5)resolveFrom (string): base directory for module resolutioncwd (string): working directory for the inspectionwrite (function): output sink (defaults to collecting and returning a string)writeError (function): error output sinkJSDoc options:
jsdoc (string): off | compact | fulljsdocOutput (string): off | section | inline | onlyjsdocQuery (object):
symbols: string or string[]sections: summary | params | returns | tagstags.include / tags.exclude: string[]mode: compact | fullmaxLen: numbermaxParams: numberparamCursor: numbertruncate: none | sentence | wordExample: JSDoc focused on params/returns
await runInspect({
target: 'ai',
showTypes: true,
jsdocOutput: 'section',
jsdocQuery: {
symbols: 'generateText',
sections: ['params', 'returns'],
tags: { include: ['param', 'returns'] },
mode: 'compact',
truncate: 'sentence',
maxLen: 220,
maxParams: 5,
paramCursor: 0,
},
});
jsdocOutput: 'only' returns a focused jsdoc.entries projection in object/JSON mode
and renders the same entries in text mode. Plain jsdocQuery.symbols values match exact
export names; use * or /regex/ for broader matching.
Compact projections keep staticExports to a count unless explicitly selected, summarize
source analysis, and omit symbol inventories for focused docs/examples/JSDoc requests.
project-diff returns direct dependency changes by default; set includeTransitive: true
for the complete lockfile graph. pnpm peer suffixes are stripped before versions are compared.
Enriched package API results are compact by default and expose per-package pagination; use
maxChangesPerPackage (default 10) and packageCursors to page large upgrades independently.
Use packageOnly to avoid unrelated enrichment and projectSnapshot to persist canonical compact
analysis across calls; snapshots are fingerprinted against versions and analysis options.
Set strictPackageOnly: true to mark an unmatched package-only request as a structured project
diff error for automation.
maxChanges remains an alias for the per-package limit. The report includes detailLevel; pass
detail: 'full' to retain the rich runDiff result. Source analysis is focused by default and
only includes symbols when selected. Structured JSDoc omits the renderer-only text duplicate;
limited params expose parameterLimit and compatibility parameterPagination metadata with
nextCursor.
Cache pruning accepts maxSizeBytes and maxEntries, using lastUsedAt for LRU order while
skipping active lock entries. Dry-run prune results expose wouldRemove and
candidatesPreview; cache stats can omit packages with summary: true or page them with
maxEntries and cursor. Semantic compatibility separates isolated nominal identity noise from
actionable assignability diagnostics.
Fresh downloads populate size metadata from staging without calculating the optional integrity hash.
.d.ts declarations, not runtime JS.--resolve-from is essential in monorepos to avoid false negatives.MIT
FAQs
Core engine for inspecting installed package exports and types
We found that @deplens/core 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.

Company News
Allow myself to introduce... myself.

Research
/Security News
A Twitch browser extension on Chrome and Firefox forwards users’ live OAuth session tokens through proxies controlled by a Russian bot service.

Security News
Anthropic found biased reasoning and recklessness drove Claude Mythos 5 to publish malware on PyPI and compromise a security vendor.