Skip to content

lint-semver-ranges

Check whether dependency versions used within “dependencies”, “devDependencies” etc follow a consistent format.

CLI Options

source

Override your source configuration to run syncpack lint-semver-ranges on only some package.json files.

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

filter

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

# only include react, react-dom, preact etc
syncpack lint-semver-ranges --filter 'react'
# only include typescript or eslint packages
syncpack lint-semver-ranges --filter 'typescript|eslint'

config

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

syncpack lint-semver-ranges --config ./config/.syncpackrc

specs

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

# only include exact versions
syncpack lint-semver-ranges --specs 'exact'
# only include latest and range versions
syncpack lint-semver-ranges --specs 'latest,range'
# exclude unsupported versions
syncpack lint-semver-ranges --specs '!unsupported'

types

Override your dependencyTypes configuration to run syncpack lint-semver-ranges on only eg. peerDependencies in every package in your monorepo.

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

help

Display a list of CLI options and other help information.

syncpack lint-semver-ranges --help

Troubleshooting

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

SYNCPACK_VERBOSE=true syncpack lint-semver-ranges