node_modules symlinks, and lets you scope output to a single package.
Workspace detection is automatic. If your repo has a
workspaces field in package.json or a pnpm-workspace.yaml file, fallow will find and analyze all packages.Workspace auto-detection
Fallow detects workspaces from these sources:| Source | Example |
|---|---|
package.json workspaces field | "workspaces": ["packages/*"] |
pnpm-workspace.yaml | packages: ["packages/*", "apps/*"] |
Cross-workspace imports
When packageapps/web imports from @myorg/ui, fallow resolves the import through the node_modules symlink back to the workspace source files. Symlinked paths are canonicalized so that usage is tracked against the real source location, not the node_modules copy.
apps/web/src/App.tsx
Pnpm content-addressable store
Pnpm uses a content-addressable store with a.pnpm virtual store inside node_modules. Fallow detects these .pnpm virtual store paths and maps them back to the original workspace source files, so cross-package usage is tracked correctly even with pnpm’s strict isolation mode.
Package exports resolution
Fallow resolves theexports field in each package’s package.json, including subpath patterns:
packages/ui/package.json
@myorg/ui/icons resolves to packages/ui/src/icons/index.ts.
Output directory mapping
When a package’sexports or main field points to a build output directory (dist, build, out, esm, cjs), fallow maps it back to the corresponding source file. It tries the same relative path under src/ with source extensions (.ts, .tsx, .js, .jsx).
packages/utils/package.json
dist/index.js back to src/index.ts (or .js, .tsx, etc.) if the source file exists.
Per-package tsconfig.json
Fallow discoverstsconfig.json files in each workspace package automatically (TsconfigDiscovery::Auto). Path aliases defined in each package’s tsconfig.json are used when resolving imports within that package.
packages/ui/tsconfig.json
Scoping output to a single package
Use-w / --workspace to focus output on a single package. Fallow still analyzes the full monorepo graph but only reports issues within the specified package.
$ fallow check -w packages/ui
Per-package config overrides
Override any configuration field for specific workspace packages in your root config file:See also
Configuration
Full config file reference including all available fields.
fallow check
CLI reference for running analysis across workspaces.