Skip to content
This documentation is for v14 alpha, the docs for v13 stable are archived.

Dependency Types

Dependency types refer to the different locations in package.json files where dependencies can be defined.

The default dependency types in syncpack are the ones defined by npm, pnpm, and yarn:

NameProperty in package.json
devdevDependencies
localversion
overridesoverrides
peerpeerDependencies
pnpmOverridespnpm.overrides
proddependencies
resolutionsresolutions

You can extend the above list by defining your own custom types, such as:

  • Engine versions (engines)
  • Package manager versions (packageManager)
  • Any other nested property in package.json

Dependency types can be specified in these contexts:

Use the --dependency-types option to target specific types in commands:

Terminal window
# Only check production dependencies
syncpack lint --dependency-types prod
# Check both production and development dependencies
syncpack lint --dependency-types prod,dev
# Check everything except peer dependencies
syncpack lint --dependency-types '!peer'

Dependency types can be used to target and filter:

  1. Version Groups - Carve out specific version policies
  2. Semver Groups - Define which semver ranges to use with specific dependencies
  3. Dependency Groups - Merge and alias families of dependencies as one