json
Output the state of every instance of every dependency as a JSON object, one per line. This command is best used with tools like jq
for filtering and processing.
TypeScript
Section titled “TypeScript”Each instance printed by syncpack json
has the type JsonOutput
.
Examples
Section titled “Examples”# Output all dependencies as JSONsyncpack json# Output only AWS SDK dependenciessyncpack json --dependencies '@aws-sdk/**'# Count dependencies by typesyncpack json | jq -r '.dependencyType' | sort | uniq -c# See more examplessyncpack json --help# See a short summary of optionssyncpack json -h
Options
Section titled “Options”--config <file-path>
Section titled “--config ”syncpack
searches the monorepo root directory for a config file which follows its naming convention, but this can be overridden by providing a path to a specific configuration file instead.
The only requirement is that the file must have a file extension and that it is one of .cjs
, .cts
, .js
, .json
, .mjs
, .mts
, .ts
, .yaml
, or .yml
.
syncpack json --config ./config/syncpack.json
--dependencies <dependency-name-pattern>
Section titled “--dependencies ”Include dependencies whose name matches the given glob pattern.
To exclude, put a !
at the start of your query.
# Exact match for "react"
syncpack json --dependencies 'react'
# Substring match for "react"
syncpack json --dependencies '**react**'
# All dependencies under the AWS SDK scope
syncpack json --dependencies '@aws-sdk/**'
# Exact match for "react" or "webpack" (2 approaches)
syncpack json --dependencies 'react' --dependencies 'webpack'
syncpack json --dependencies '{react,webpack}'
# Substring match for "react" or "webpack" (2 approaches)
syncpack json --dependencies '**react**' --dependencies '**webpack**'
syncpack json --dependencies '**{react,webpack}**'
--dependency-types <comma-separated-dependency-type-names>
Section titled “--dependency-types ”Include dependencies of the given dependency types and/or custom types.
To exclude, put a !
at the start of your query.
# devDependencies only
syncpack json --dependency-types dev
# dependencies and devDependencies only
syncpack json --dependency-types dev,prod
# everything except peerDependencies
syncpack json --dependency-types '!peer'
--log-levels <comma-separated-log-level-names>
Section titled “--log-levels ”Control how detailed the log output should be
Level | What is written to this channel |
---|---|
info | The standard output which forms syncpack's UI, including lint issues |
warn | Possible mistakes in your setup, or highlights of known gaps in syncpack |
error | Fatal exceptions or errors outside the normal running of syncpack |
debug | Extremely verbose detail on why syncpack assigns each status code |
# Turn off logging completely
syncpack json --log-levels off
# Only show verbose debugging logs
syncpack json --log-levels debug
# Show everything
syncpack json --log-levels error,warn,info,debug
--no-ansi
Section titled “--no-ansi”Syncpack will print colours and clickable hyperlinks to the terminal using ANSI escape code unless this option is set.
syncpack json --no-ansi
--sort <choice>
Section titled “--sort ”Change the order in which dependencies are displayed
# Sort by count, in descending order
syncpack json --sort count
# Sort A-Z by name
syncpack json --sort name
--source <file-pattern>
Section titled “--source ”Only run syncpack json
on package.json files matching the provided pattern(s).
Syncpack will look in the following places for glob patterns matching package.json files, in this order of precedence, and stop looking when a match is found:
- If
--source
CLI options are provided, use those. - If
source
is defined in configuration, use that. - If using npm workspaces or Yarn workspaces, read
workspaces
from./package.json
. - If using pnpm, read
packages
from./pnpm-workspace.yaml
. - If using Lerna, read
packages
from./lerna.json
. - Default to
'package.json'
and'packages/*/package.json'
.
# only the root package
syncpack json --source 'package.json'
# only packages matching a glob
syncpack json --source 'packages/beta-*'
# multiple values can be provided
syncpack json --source 'package.json' --source 'packages/beta-*'
--specifier-types <comma-separated-specifier-type-names>
Section titled “--specifier-types ”Include only instances whose version specifiers are of the given specifier types.
To exclude, put a !
at the start of your query.
# Exact versions only
syncpack json --show instances --specifier-types exact
# Missing or unsupported versions
syncpack json --show instances --specifier-types missing,unsupported
# Latest or workspace protocol only
syncpack json --show instances --specifier-types latest,workspace-protocol
--help
Section titled “--help”Display a list of CLI options and other help information.
# Display a short summary of commands and options
syncpack json -h
# Display full help with examples
syncpack json --help