
Security News
npm ‘is’ Package Hijacked in Expanding Supply Chain Attack
The ongoing npm phishing campaign escalates as attackers hijack the popular 'is' package, embedding malware in multiple versions.
Syncpack is a tool for managing multiple package.json files in a monorepo or multi-package repository. It helps ensure consistency across dependencies, scripts, and other configurations.
List Dependencies
Lists all dependencies across multiple package.json files, helping you identify inconsistencies.
const { list } = require('syncpack');
list();
Fix Versions
Fixes version mismatches across multiple package.json files, ensuring all packages use the same version of a dependency.
const { fix } = require('syncpack');
fix();
Set Version
Sets a specific version for a dependency across all package.json files.
const { set } = require('syncpack');
set('react', '17.0.2');
Format
Formats all package.json files to ensure a consistent style.
const { format } = require('syncpack');
format();
Lerna is a tool for managing JavaScript projects with multiple packages. It optimizes the workflow around managing multi-package repositories with git and npm. Compared to Syncpack, Lerna offers more comprehensive features for managing monorepos, including versioning and publishing.
Yarn is a package manager that doubles down as a project manager. It offers workspaces that can manage multiple packages within a single repository. While Syncpack focuses on consistency across package.json files, Yarn provides a broader set of features for dependency management and project workflows.
pnpm is a fast, disk space-efficient package manager. It also supports workspaces for managing multiple packages in a monorepo. Compared to Syncpack, pnpm is more focused on performance and efficient storage, while Syncpack is specialized in ensuring consistency across package.json files.
Consistent dependency versions in large JavaScript Monorepos.
https://jamiemason.github.io/syncpack
[!NOTE] This is the README for v13, it will be replaced by a Rust rewrite which is available to try at
npm install -g syncpack@alpha
npm install --save-dev syncpack@13
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.
FAQs
Consistent dependency versions in large JavaScript Monorepos
The npm package syncpack receives a total of 690,384 weekly downloads. As such, syncpack popularity was classified as popular.
We found that syncpack demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The ongoing npm phishing campaign escalates as attackers hijack the popular 'is' package, embedding malware in multiple versions.
Security News
A critical flaw in the popular npm form-data package could allow HTTP parameter pollution, affecting millions of projects until patched versions are adopted.
Security News
Bun 1.2.19 introduces isolated installs for smoother monorepo workflows, along with performance boosts, new tooling, and key compatibility fixes.