Skip to content

set-semver-ranges

Ensure dependency versions used within "dependencies", "devDependencies" etc follow a consistent format.

CLI Options

source

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

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

filter

Only run syncpack set-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 set-semver-ranges --filter 'react'
# only include typescript or eslint packages
syncpack set-semver-ranges --filter 'typescript|eslint'

config

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

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

specs

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

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

types

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

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

indent

Override your indent configuration, which is 2 spaces by default.

# four spaces
syncpack set-semver-ranges --indent "    "
# one tab
syncpack set-semver-ranges --indent '	'
# \t is converted into a tab
syncpack set-semver-ranges --indent '\t'

help

Display a list of CLI options and other help information.

syncpack set-semver-ranges --help

Troubleshooting

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

SYNCPACK_VERBOSE=true syncpack set-semver-ranges