{"id":14965807,"url":"https://github.com/jamiemason/syncpack","last_synced_at":"2026-03-07T20:10:56.027Z","repository":{"id":38710392,"uuid":"100626346","full_name":"JamieMason/syncpack","owner":"JamieMason","description":"Consistent dependency versions in large JavaScript Monorepos.","archived":false,"fork":false,"pushed_at":"2025-05-05T19:06:24.000Z","size":9169,"stargazers_count":1638,"open_issues_count":26,"forks_count":60,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-05-05T19:17:34.461Z","etag":null,"topics":["linter","monorepo","npm","nx","pnpm","semver","turborepo","version-management","version-manager","yarn"],"latest_commit_sha":null,"homepage":"https://jamiemason.github.io/syncpack/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JamieMason.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"JamieMason"}},"created_at":"2017-08-17T16:58:10.000Z","updated_at":"2025-05-05T19:06:27.000Z","dependencies_parsed_at":"2023-09-26T21:00:44.217Z","dependency_job_id":"96409452-4dae-49f1-ba24-aa2fbc1d0a2f","html_url":"https://github.com/JamieMason/syncpack","commit_stats":{"total_commits":482,"total_committers":27,"mean_commits":17.85185185185185,"dds":0.06846473029045641,"last_synced_commit":"35dea02dd20d7a04009826766ce1c19e544be66c"},"previous_names":[],"tags_count":96,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamieMason%2Fsyncpack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamieMason%2Fsyncpack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamieMason%2Fsyncpack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamieMason%2Fsyncpack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JamieMason","download_url":"https://codeload.github.com/JamieMason/syncpack/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253850279,"owners_count":21973661,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["linter","monorepo","npm","nx","pnpm","semver","turborepo","version-management","version-manager","yarn"],"created_at":"2024-09-24T13:35:20.301Z","updated_at":"2026-03-07T20:10:56.018Z","avatar_url":"https://github.com/JamieMason.png","language":"Rust","readme":"# syncpack\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://syncpack.dev/logo.svg\" width=\"134\" height=\"120\" alt=\"\"\u003e\n  \u003cbr\u003eConsistent dependency versions in large JavaScript Monorepos.\n  \u003cbr\u003e\u003ca href=\"https://syncpack.dev\"\u003ehttps://syncpack.dev\u003c/a\u003e\n\u003c/p\u003e\n\nSyncpack is used by [AWS](https://github.com/aws/aws-pdk), [Cloudflare](https://github.com/cloudflare/mcp-server-cloudflare), [DataDog](https://github.com/DataDog/datadog-ci), [Electron](https://github.com/electron/forge), [GoDaddy](https://github.com/godaddy/gasket), [LiveStore](https://github.com/livestorejs/livestore), [Lottie](https://github.com/LottieFiles/dotlottie-web), [Microsoft](https://github.com/microsoft/fluentui), [PostHog](https://github.com/PostHog/posthog), [Qwik](https://github.com/QwikDev/qwik), [Raycast](https://github.com/raycast/extensions), [Salesforce](https://github.com/SalesforceCommerceCloud/pwa-kit), [TopTal](https://github.com/toptal/picasso), [Vercel](https://github.com/vercel/vercel), [VoltAgent](https://github.com/VoltAgent/voltagent), [WooCommerce](https://github.com/woocommerce/woocommerce) and others.\n\n\n## Installation\n\n```bash\nnpm install --save-dev syncpack\n```\n\n## Guides\n\n- [Getting Started](https://syncpack.dev/)\n- [Migrate to 14](https://syncpack.dev/guide/migrate-v14/)\n\n## Commands\n\n\u003e All command line options can be combined to target packages and dependencies in multiple ways.\n\n### [lint](https://syncpack.dev/command/lint)\n\nEnsure that multiple packages requiring the same dependency define the same version, so that every package requires eg. `react@17.0.2`, instead of a combination of `react@17.0.2`, `react@16.8.3`, and `react@16.14.0`.\n\n#### Examples\n\n```bash\n# Find all issues in \"dependencies\" or \"devDependencies\"\nsyncpack lint --dependency-types prod,dev\n# Only lint issues in \"react\" specifically\nsyncpack lint --dependencies react\n# Look for issues in dependencies containing \"react\" in the name\nsyncpack lint --dependencies '**react**'\n# Find issues in scoped packages only\nsyncpack lint --dependencies '@types/**'\n# Find issues everywhere except \"peerDependencies\"\nsyncpack lint --dependency-types '!peer'\n# Only look for issues where an exact version is used (eg \"1.2.3\")\nsyncpack lint --specifier-types exact\n# Sort dependencies by how many times they are used\nsyncpack lint --sort count\n# See more examples\nsyncpack lint --help\n# See a short summary of options\nsyncpack lint -h\n```\n\n### [fix](https://syncpack.dev/command/fix)\n\nFix every autofixable issue found by `syncpack lint`.\n\n#### Examples\n\n```bash\n# Only fix issues in dependencies and devDependencies\nsyncpack fix --dependency-types prod,dev\n# Only fix inconsistencies with exact versions (eg \"1.2.3\")\nsyncpack fix --specifier-types exact\n# Only fix issues in \"react\" specifically\nsyncpack fix --dependencies react\n# See more examples\nsyncpack fix --help\n# See a short summary of options\nsyncpack fix -h\n```\n\n### [update](https://syncpack.dev/command/update)\n\nUpdate packages to the latest versions from the npm registry, wherever they are in your monorepo.\u003cbr/\u003eSemver range preferences are preserved when updating.\n\n#### Examples\n\n```bash\n# Accept any update in latest (x.x.x)\nsyncpack update --target latest\n# Only update minor versions (1.x.x)\nsyncpack update --target minor\n# Only update patch versions (1.2.x)\nsyncpack update --target patch\n# Check for outdated dependencies in one package\nsyncpack update --check --source 'packages/pingu/package.json'\n# Update dependencies and devDependencies in the whole monorepo\nsyncpack update --dependency-types dev,prod\n# Only update dependencies with a semver range specifier (^, ~, etc.)\nsyncpack update --specifier-types range\n# Update dependencies where name exactly matches 'react'\nsyncpack update --dependencies 'react'\n# Update dependencies where name contains 'react'\nsyncpack update --dependencies '**react**'\n# Update dependencies with the '@aws-sdk' scope\nsyncpack update --dependencies '@aws-sdk/**'\n# See more examples\nsyncpack update --help\n# See a short summary of options\nsyncpack update -h\n```\n\n### [format](https://syncpack.dev/command/format)\n\nOrganise 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.\n\n#### Examples\n\n```bash\n# Fix every formatting issue in the monorepo\nsyncpack format\n# List all formatting issues in the monorepo\nsyncpack format --check\n# Check the formatting of one package\nsyncpack format --check --source 'packages/pingu/package.json'\n# See more examples\nsyncpack format --help\n# See a short summary of options\nsyncpack format -h\n```\n\n### [list](https://syncpack.dev/command/list)\n\nQuery and inspect all dependencies in your project, both valid and invalid.\n\n#### Examples\n\n```bash\n# Sort dependencies by how many times they are used\nsyncpack list --sort count\n# Show every instance of each dependency, not just their names\nsyncpack list --show instances\n# Show dependencies ignored in your syncpack config\nsyncpack list --show ignored\n# Show highest level of detail\nsyncpack list --show all\n# Choose only some values\nsyncpack list --show hints,statuses\n# List all \"peerDependencies\"\nsyncpack list --dependency-types peer\n# List all types packages\nsyncpack list --dependencies '@types/**'\n# List instances of an exact version being used as a peer dependency\nsyncpack list --specifier-types exact --show instances --dependency-types peer\n# See more examples\nsyncpack list --help\n# See a short summary of options\nsyncpack list -h\n```\n\n### [json](https://syncpack.dev/command/json)\n\nOutput the state of every instance of every dependency as a JSON object, one per line. This command is best used with tools like [`jq`](https://jqlang.org/) for filtering and processing.\n\n#### Examples\n\n```bash\n# Output all dependencies as JSON\nsyncpack json\n# Output only AWS SDK dependencies\nsyncpack json --dependencies '@aws-sdk/**'\n# Count dependencies by type\nsyncpack json | jq -r '.dependencyType' | sort | uniq -c\n# See more examples\nsyncpack json --help\n# See a short summary of options\nsyncpack json -h\n```\n\n## Badges\n\n- [![support on ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/C0C4PY4P)\n- [![NPM version](http://img.shields.io/npm/v/syncpack.svg?style=flat-square)](https://www.npmjs.com/package/syncpack)\n- [![NPM downloads](http://img.shields.io/npm/dm/syncpack.svg?style=flat-square)](https://www.npmjs.com/package/syncpack)\n- [![Build Status](https://img.shields.io/github/actions/workflow/status/JamieMason/syncpack/ci.yaml?branch=main)](https://github.com/JamieMason/syncpack/actions)\n","funding_links":["https://github.com/sponsors/JamieMason","https://ko-fi.com/C0C4PY4P"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamiemason%2Fsyncpack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamiemason%2Fsyncpack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamiemason%2Fsyncpack/lists"}