Skip to content

list-mismatches

List dependencies which are required by multiple packages, where the version is not the same across every package.

CLI Options

source

Override your source configuration to run syncpack list-mismatches on only some package.json files.

# only the root package
syncpack list-mismatches --source 'package.json'
# only packages matching a glob
syncpack list-mismatches --source 'packages/beta-*'
# multiple values can be provided
syncpack list-mismatches --source 'package.json' --source 'packages/beta-*'

filter

Only run syncpack list-mismatches on dependencies whose names match the given string, which will be passed to new RegExp().

# only include react, react-dom, preact etc
syncpack list-mismatches --filter 'react'
# only include typescript or eslint packages
syncpack list-mismatches --filter 'typescript|eslint'

config

Syncpack uses cosmiconfig to discover your config file, but a custom location can be provided instead.

syncpack list-mismatches --config ./config/.syncpackrc

specs

Override your specifierTypes configuration to run syncpack list-mismatches against dependency instances with version specifiers of the given types, such as exact, range, or workspace-protocol.

# only include exact versions
syncpack list-mismatches --specs 'exact'
# only include latest and range versions
syncpack list-mismatches --specs 'latest,range'
# exclude unsupported versions
syncpack list-mismatches --specs '!unsupported'

types

Override your dependencyTypes configuration to run syncpack list-mismatches on only eg. peerDependencies in every package in your monorepo.

# only include peerDependencies
syncpack list-mismatches --types 'peer'
# only include dependencies and devDependencies
syncpack list-mismatches --types 'prod,dev'
# exclude local package.json versions
syncpack list-mismatches --types '!local'

help

Display a list of CLI options and other help information.

syncpack list-mismatches --help

Troubleshooting

Verbose logging can be enabled by prefixing syncpack with the following environment variable:

SYNCPACK_VERBOSE=true syncpack list-mismatches