{"id":13495281,"url":"https://github.com/JamieMason/syncpack","last_synced_at":"2025-03-28T16:32:06.710Z","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":"2024-10-29T13:16:35.000Z","size":8601,"stargazers_count":1427,"open_issues_count":40,"forks_count":50,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-10-29T14:51:21.596Z","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":"TypeScript","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},"funding":{"github":"JamieMason"}},"created_at":"2017-08-17T16:58:10.000Z","updated_at":"2024-10-29T10:21:28.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":333,"total_committers":15,"mean_commits":22.2,"dds":0.06306306306306309,"last_synced_commit":"2f1ffba70ccd27599780b2e602283755490087d6"},"previous_names":[],"tags_count":81,"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":222395794,"owners_count":16977624,"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-07-31T19:01:33.153Z","updated_at":"2025-03-28T16:32:06.680Z","avatar_url":"https://github.com/JamieMason.png","language":"TypeScript","readme":"# syncpack\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://jamiemason.github.io/syncpack/logo.svg\" width=\"200\" height=\"179\" alt=\"\"\u003e\n  \u003cbr\u003eConsistent dependency versions in large JavaScript Monorepos.\n  \u003cbr\u003e\u003ca href=\"https://jamiemason.github.io/syncpack\"\u003ehttps://jamiemason.github.io/syncpack\u003c/a\u003e\n\u003c/p\u003e\n\n\u003e [!TIP]\n\u003e 🦀 A Rust rewrite is available to try at [`npm install -g syncpack@alpha`](https://github.com/JamieMason/syncpack/releases?q=14.0.0)\n\n## Installation\n\n```bash\nnpm install --save-dev syncpack\n```\n\n## Commands\n\n### [fix-mismatches](https://jamiemason.github.io/syncpack/command/fix-mismatches)\n\nEnsure 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`.\n\n### [format](https://jamiemason.github.io/syncpack/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### [lint](https://jamiemason.github.io/syncpack/command/lint)\n\nLint all versions and ranges and exit with 0 or 1 based on whether all files match your Syncpack configuration file.\n\n### [lint-semver-ranges](https://jamiemason.github.io/syncpack/command/lint-semver-ranges)\n\nCheck whether dependency versions used within \"dependencies\", \"devDependencies\", etc follow a consistent format.\n\n### [list](https://jamiemason.github.io/syncpack/command/list)\n\nList all dependencies required by your packages.\n\n### [list-mismatches](https://jamiemason.github.io/syncpack/command/list-mismatches)\n\nList dependencies which are required by multiple packages, where the version is not the same across every package.\n\n### [prompt](https://jamiemason.github.io/syncpack/command/prompt)\n\nDisplays a series of prompts to fix mismatches which syncpack cannot fix automatically.\n\n### [set-semver-ranges](https://jamiemason.github.io/syncpack/command/set-semver-ranges)\n\nEnsure dependency versions used within `\"dependencies\"`, `\"devDependencies\"` etc follow a consistent format.\n\n### [update](https://jamiemason.github.io/syncpack/command/update)\n\nInteractively 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.\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":["Toolings with pnpm support","仓库管理工具","Uncategorized","Rust","TypeScript","npm","FpTs"],"sub_categories":["Uncategorized","JamieMason/syncpack"],"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"}