Skip to content

Commit de8dcb2

Browse files
committed
feat(core): update command line API
BREAKING CHANGE: The previous commands have been replaced.
1 parent 372aa68 commit de8dcb2

2 files changed

Lines changed: 8 additions & 103 deletions

File tree

README.md

Lines changed: 5 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,11 @@
55
[![Dependency Status](http://img.shields.io/david/JamieMason/syncpack.svg?style=flat-square)](https://david-dm.org/JamieMason/syncpack)
66
[![Gitter Chat for syncpack](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/JamieMason/syncpack)
77
[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-blue.svg)](https://www.paypal.me/foldleft)
8-
[![Donate via Gratipay](https://img.shields.io/gratipay/user/JamieMason.svg)](https://gratipay.com/~JamieMason/)
98
[![Analytics](https://ga-beacon.appspot.com/UA-45466560-5/syncpack?flat&useReferer)](https://github.com/igrigorik/ga-beacon)
109
[![Follow JamieMason on GitHub](https://img.shields.io/github/followers/JamieMason.svg?style=social&label=Follow)](https://github.com/JamieMason)
1110
[![Follow fold_left on Twitter](https://img.shields.io/twitter/follow/fold_left.svg?style=social&label=Follow)](https://twitter.com/fold_left)
1211

13-
Synchronises the contents of multiple `package.json` files, such as `packages/*/package.json` in
14-
[Lerna](https://lernajs.io) Monorepos.
15-
16-
## Contents
17-
18-
* [Installation](#installation)
19-
* [Usage](#usage)
20-
* [`sync-versions`](#sync-versions)
21-
* [`copy-values`](#copy-values)
12+
Manage multiple `package.json` files, such as `packages/*/package.json` in [Lerna](https://lernajs.io) Monorepos.
2213

2314
## Installation
2415

@@ -38,95 +29,8 @@ Options:
3829
3930
Commands:
4031
41-
sync-versions synchronise dependency versions between packages
42-
copy-values <keys...> copy values from eg. ./package.json to ./packages/*/package.json
43-
help [cmd] display help for [cmd]
44-
```
45-
46-
### `sync-versions`
47-
48-
```
49-
Usage: syncpack sync-versions [options]
50-
51-
Options:
52-
53-
-p, --packages <glob> location of packages. defaults to ./packages/*/package.json
54-
-h, --help output usage information
55-
```
56-
57-
Imagine the packages `guybrush`, `herman`, and `elaine` all have `react` as a dependency, but
58-
versions `'15.4.0'`, `'15.5.4'`, and `'15.6.1'` respectively.
59-
60-
```
61-
/Users/foldleft/Dev/monorepo/packages/
62-
├── guybrush
63-
│   └── package.json
64-
├── herman
65-
│   └── package.json
66-
└── elaine
67-
└── package.json
68-
```
69-
70-
To update each `package.json` to use version `'15.6.1'` of `react` in `dependencies`,
71-
`devDependencies`, and `peerDependencies` (as needed) you can run
72-
73-
```
74-
syncpack sync-versions
75-
```
76-
77-
### `copy-values`
78-
79-
```
80-
Usage: syncpack copy-values [options] <keys...>
81-
82-
Options:
83-
84-
-p, --packages <glob> location of packages. defaults to ./packages/*/package.json
85-
-s, --source <glob> location of source. defaults to ./package.json
86-
-h, --help output usage information
87-
```
88-
89-
Imagine the packages `carla` and `murray` were previously hosted at their own repositories, but are
90-
now part of your new Monorepo.
91-
92-
```
93-
/Users/foldleft/Dev/monorepo/packages/
94-
├── carla
95-
│   └── package.json
96-
└── murray
97-
└── package.json
98-
```
99-
100-
With the following contents
101-
102-
```
103-
"bugs": "https://github.com/Scumm/carla/issues",
104-
"homepage": "https://github.com/Scumm/carla#readme",
105-
"repository": "Scumm/carla",
106-
```
107-
108-
```
109-
"bugs": "https://github.com/Scumm/murray/issues",
110-
"homepage": "https://github.com/Scumm/murray#readme",
111-
"repository": "Scumm/murray",
112-
```
113-
114-
To copy these fields from your Monorepo's `package.json` to each of its packages, you can run
115-
116-
```
117-
syncpack copy-values bugs homepage repository
118-
```
119-
120-
to copy the value of those properties, leaving them like so
121-
122-
```
123-
"bugs": "https://github.com/Scumm/monorepo/issues",
124-
"homepage": "https://github.com/Scumm/monorepo#readme",
125-
"repository": "Scumm/monorepo",
126-
```
127-
128-
to copy deeply nested values, pass the path to the key as follows
129-
130-
```
131-
syncpack copy-values scripts.test
32+
fix-mismatches set dependencies used with different versions to the same version
33+
list list every dependency used in your packages
34+
list-mismatches list every dependency used with different versions in your packages
35+
help [cmd] display help for [cmd]
13236
```

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55
"author": "Jamie Mason <jamie@foldleft.io> (https://github.com/JamieMason)",
66
"bin": {
77
"syncpack": "dist/bin.js",
8-
"syncpack-sync-versions": "dist/bin-sync-versions.js",
9-
"syncpack-copy-values": "dist/bin-copy-values.js"
8+
"syncpack-fix-mismatches": "dist/bin-fix-mismatches.js",
9+
"syncpack-list-mismatches": "dist/bin-list-mismatches.js",
10+
"syncpack-list": "dist/bin-list.js"
1011
},
1112
"bugs": "https://github.com/JamieMason/syncpack/issues",
1213
"dependencies": {

0 commit comments

Comments
 (0)