Skip to content

v0.4.1 — explain an empty dependency graph

Choose a tag to compare

@anishmoncivarghese anishmoncivarghese released this 30 Aug 18:42
· 9 commits to main since this release

A patch release fixing one confusing case in sonde doc.

What was wrong

Run sonde doc on a TypeScript project with no tsconfig.json and it listed every module and no dependencies at all — as if nothing in the codebase referenced anything else.

The result was technically honest: TypeScript module resolution needs a tsconfig.json, so nothing resolved, and Sonde does not invent edges it cannot evidence. But a document asserting a codebase has no internal structure reads like a broken tool, not like an honest one. That is exactly the silent-degradation case Sonde's own invariant 8 exists to prevent — degrade with a warning, never fail silently.

What changed

The document now says so in its header:

No tsconfig.json was found. TypeScript module resolution needs one, so cross-module references may be missing from this document.

The note appears only when TypeScript sources are actually indexed, so Python- and Swift-only repositories are unaffected. Nothing changes for a repository that already has a tsconfig.json.

How it was found

By installing 0.4.0 from npm and running it on a throwaway project — not by tests or review. This repository has always had a tsconfig.json, so the failure was invisible from inside it. The same check caught an analogous problem in 0.3.0, where the question was whether pyright could resolve from an installed package.