Skip to content

A CLI tool to identify dependencies that can be safely moved to devDependencies

License

Notifications You must be signed in to change notification settings

sherwinski/depsort

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

depsort

A CLI tool that helps TypeScript library and app developers identify if packages in their dependencies can be safely moved to devDependencies. This helps end users save on their project bundle size by not importing unneeded dependencies.

Installation

npm install -g depsort

Or use with npx:

npx depsort

Usage

depsort [options]

Options:
  --fix              Automatically move packages to devDependencies
  --json             Output results as JSON
  --exclude <paths>  Exclude paths from analysis (glob patterns)
  --include <paths>  Only analyze specific paths (glob patterns)
  --help             Show help

How it works

depsort analyzes your TypeScript/JavaScript project to:

  1. Parse your package.json dependencies
  2. Scan all source files for imports
  3. Classify imports as:
    • Type-only imports (can be devDependency)
    • Runtime imports in test/dev files (can be devDependency)
    • Runtime imports in production code (must stay in dependencies)
  4. Report which packages can be safely moved to devDependencies

Example Output

Analyzing dependencies...

Found 3 packages that can be moved to devDependencies:

  @types/node          → devDependencies (type-only imports)
  jest                 → devDependencies (only in test files)
  typescript           → devDependencies (build tool, not in source)

Run with --fix to automatically update package.json

License

MIT

About

A CLI tool to identify dependencies that can be safely moved to devDependencies

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published