syncpack

Consistent dependency versions in large JavaScript Monorepos.
GitHub
1.44k
Created 7 years ago, last commit 17 days ago
29 contributors
483 commits
Stars added on GitHub, per day, on average
Yesterday
+1
Last week
+0.7
/day
Last month
+0.7
/day
npmPackage on NPM
syncpack
13.0.0
Monthly downloads on NPM
11
12
1
2
3
4
5
6
7
8
9
10
2023
2024
README

syncpack


Consistent dependency versions in large JavaScript Monorepos.
https://jamiemason.github.io/syncpack

Tip

🦀 A Rust rewrite is available to try at npm install -g syncpack@14.0.0-alpha.1

Installation

npm install --save-dev syncpack

Commands

Ensure that multiple packages requiring the same dependency define the same version, so that every package requires eg. react@16.4.2, instead of a combination of react@16.4.2, react@0.15.9, and react@16.0.0.

Organise package.json files according to a conventional format, where fields appear in a predictable order and nested fields are ordered alphabetically. Shorthand properties are used where available, such as the "repository" and "bugs" fields.

Lint all versions and ranges and exit with 0 or 1 based on whether all files match your Syncpack configuration file.

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

List all dependencies required by your packages.

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

Displays a series of prompts to fix mismatches which syncpack cannot fix automatically.

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

Interactively update packages to the latest versions from the npm registry, wherever they are in your monorepo. You can update every dependency, just dev/peer/prod dependencies, just packages which match a name filter, and more.

Badges

  • support on ko-fi
  • NPM version
  • NPM downloads
  • Build Status