Synopkg JavaScript Monorepos.
Installation
npm install --save-dev synopkgCommands
fix-mismatches
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 ofreact@16.4.2,react@0.15.9, andreact@16.0.0`.
format
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
Lint all versions and ranges and exit with 0 or 1 based on whether all files match your Synopkg configuration file.
lint-semver-ranges
Check whether dependency versions used within "dependencies", "devDependencies", etc follow a consistent format.
list
List all dependencies required by your packages.
list-mismatches
List dependencies which are required by multiple packages, where the version is not the same across every package.
prompt
Displays a series of prompts to fix mismatches which synopkg cannot fix automatically.
set-semver-ranges
Ensure dependency versions used within "dependencies", "devDependencies" etc follow a consistent format.
update
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.
Supporting
The app will remain 100% free and open source. But due to the amount of traffic that the hosted instance gets, the lambda function usage is costing about $25/month. Any help with covering the costs via GitHub Sponsorship would be much appreciated. It's thanks to the support of the community that this project is able to be freely available for everyone :)
Contributors
Credit to the following users for contributing to Synopkg
|
NxPKG |
KhulnaSoft bot |
gitworkflows |
Sponsors
Huge thanks to these wonderful people, who sponsor me on GitHub, their support helps cover the costs required to keep Synopkg and my other projects free for everyone. Consider joining them, by sponsoring me on GitHub if you're able.