syncpack 15.1.1 → 15.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs CHANGED
@@ -15,7 +15,7 @@ const pathToBinary = resolveBinaryPath();
15
15
  process.exit(
16
16
  spawnSync(pathToBinary, args, {
17
17
  cwd: process.cwd(),
18
- stdio: ['ignore', 'inherit', 'inherit'],
18
+ stdio: 'inherit',
19
19
  env: process.env,
20
20
  }).status || 0,
21
21
  );
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "syncpack",
3
3
  "description": "Consistent dependency versions in large JavaScript Monorepos",
4
- "version": "15.1.1",
4
+ "version": "15.2.0",
5
5
  "author": "Jamie Mason <jamie@foldleft.io> (https://github.com/JamieMason)",
6
6
  "bugs": "https://github.com/JamieMason/syncpack/issues",
7
7
  "contributors": [
@@ -65,6 +65,7 @@
65
65
  "yarn"
66
66
  ],
67
67
  "license": "MIT",
68
+ "packageManager": "pnpm@10.33.4",
68
69
  "repository": {
69
70
  "type": "git",
70
71
  "url": "git+https://github.com/JamieMason/syncpack.git"
@@ -73,14 +74,14 @@
73
74
  "syncpack": "./index.cjs"
74
75
  },
75
76
  "optionalDependencies": {
76
- "syncpack-linux-x64": "15.1.1",
77
- "syncpack-linux-x64-musl": "15.1.1",
78
- "syncpack-linux-arm64": "15.1.1",
79
- "syncpack-linux-arm64-musl": "15.1.1",
80
- "syncpack-darwin-x64": "15.1.1",
81
- "syncpack-darwin-arm64": "15.1.1",
82
- "syncpack-windows-x64": "15.1.1",
83
- "syncpack-windows-arm64": "15.1.1"
77
+ "syncpack-linux-x64": "15.2.0",
78
+ "syncpack-linux-x64-musl": "15.2.0",
79
+ "syncpack-linux-arm64": "15.2.0",
80
+ "syncpack-linux-arm64-musl": "15.2.0",
81
+ "syncpack-darwin-x64": "15.2.0",
82
+ "syncpack-darwin-arm64": "15.2.0",
83
+ "syncpack-windows-x64": "15.2.0",
84
+ "syncpack-windows-arm64": "15.2.0"
84
85
  },
85
86
  "types": "./syncpack.d.ts"
86
87
  }
package/schema.json CHANGED
@@ -262,6 +262,14 @@
262
262
  "see": "https://syncpack.dev/config/source",
263
263
  "type": "array"
264
264
  },
265
+ "sourceMode": {
266
+ "enum": [
267
+ "replace",
268
+ "extend"
269
+ ],
270
+ "see": "https://syncpack.dev/config/source-mode",
271
+ "type": "string"
272
+ },
265
273
  "strict": {
266
274
  "see": "https://syncpack.dev/config/strict",
267
275
  "type": "boolean"
@@ -477,6 +485,15 @@
477
485
  ],
478
486
  "type": "object"
479
487
  },
488
+ "Severity": {
489
+ "enum": [
490
+ "fix",
491
+ "warn",
492
+ "error"
493
+ ],
494
+ "see": "https://syncpack.dev/severity/",
495
+ "type": "string"
496
+ },
480
497
  "UpdateGroup.Any": {
481
498
  "anyOf": [
482
499
  {
@@ -670,6 +687,9 @@
670
687
  {
671
688
  "$ref": "#/definitions/VersionGroup.Banned"
672
689
  },
690
+ {
691
+ "$ref": "#/definitions/VersionGroup.Catalog"
692
+ },
673
693
  {
674
694
  "$ref": "#/definitions/VersionGroup.Ignored"
675
695
  },
@@ -739,6 +759,16 @@
739
759
  "see": "https://syncpack.dev/version-groups/highest-semver/#packages",
740
760
  "type": "array"
741
761
  },
762
+ "severity": {
763
+ "additionalProperties": false,
764
+ "properties": {
765
+ "IsBanned": {
766
+ "$ref": "#/definitions/Severity"
767
+ }
768
+ },
769
+ "see": "https://syncpack.dev/version-groups/banned/#severity",
770
+ "type": "object"
771
+ },
742
772
  "specifierTypes": {
743
773
  "items": {
744
774
  "anyOf": [
@@ -777,6 +807,106 @@
777
807
  ],
778
808
  "type": "object"
779
809
  },
810
+ "VersionGroup.Catalog": {
811
+ "additionalProperties": false,
812
+ "properties": {
813
+ "dependencies": {
814
+ "items": {
815
+ "type": "string"
816
+ },
817
+ "see": "https://syncpack.dev/version-groups/highest-semver/#dependencies",
818
+ "type": "array"
819
+ },
820
+ "dependencyTypes": {
821
+ "items": {
822
+ "anyOf": [
823
+ {
824
+ "type": "string"
825
+ },
826
+ {
827
+ "enum": [
828
+ "dev",
829
+ "local",
830
+ "overrides",
831
+ "peer",
832
+ "pnpmOverrides",
833
+ "prod",
834
+ "resolutions"
835
+ ],
836
+ "type": "string"
837
+ }
838
+ ]
839
+ },
840
+ "see": "https://syncpack.dev/version-groups/highest-semver/#dependencytypes",
841
+ "type": "array"
842
+ },
843
+ "label": {
844
+ "see": "https://syncpack.dev/version-groups/highest-semver/#label",
845
+ "type": "string"
846
+ },
847
+ "packages": {
848
+ "items": {
849
+ "type": "string"
850
+ },
851
+ "see": "https://syncpack.dev/version-groups/highest-semver/#packages",
852
+ "type": "array"
853
+ },
854
+ "policy": {
855
+ "const": "catalog",
856
+ "see": "https://syncpack.dev/version-groups/catalog/#policy",
857
+ "type": "string"
858
+ },
859
+ "severity": {
860
+ "additionalProperties": false,
861
+ "properties": {
862
+ "MissingFromCatalog": {
863
+ "$ref": "#/definitions/Severity"
864
+ },
865
+ "NotUsingCatalog": {
866
+ "$ref": "#/definitions/Severity"
867
+ }
868
+ },
869
+ "see": "https://syncpack.dev/version-groups/catalog/#severity",
870
+ "type": "object"
871
+ },
872
+ "specifierTypes": {
873
+ "items": {
874
+ "anyOf": [
875
+ {
876
+ "type": "string"
877
+ },
878
+ {
879
+ "enum": [
880
+ "alias",
881
+ "exact",
882
+ "file",
883
+ "git",
884
+ "latest",
885
+ "major",
886
+ "minor",
887
+ "missing",
888
+ "range",
889
+ "range-complex",
890
+ "range-major",
891
+ "range-minor",
892
+ "tag",
893
+ "unsupported",
894
+ "url",
895
+ "workspace-protocol"
896
+ ],
897
+ "type": "string"
898
+ }
899
+ ]
900
+ },
901
+ "see": "https://syncpack.dev/version-groups/highest-semver/#specifiertypes",
902
+ "type": "array"
903
+ }
904
+ },
905
+ "required": [
906
+ "policy"
907
+ ],
908
+ "type": "object"
909
+ },
780
910
  "VersionGroup.Ignored": {
781
911
  "additionalProperties": false,
782
912
  "properties": {
@@ -912,6 +1042,25 @@
912
1042
  "see": "https://syncpack.dev/version-groups/pinned/#pinversion",
913
1043
  "type": "string"
914
1044
  },
1045
+ "severity": {
1046
+ "additionalProperties": false,
1047
+ "properties": {
1048
+ "DiffersToPin": {
1049
+ "$ref": "#/definitions/Severity"
1050
+ },
1051
+ "PinOverridesSemverRange": {
1052
+ "$ref": "#/definitions/Severity"
1053
+ },
1054
+ "PinOverridesSemverRangeMismatch": {
1055
+ "$ref": "#/definitions/Severity"
1056
+ },
1057
+ "RefuseToPinLocal": {
1058
+ "$ref": "#/definitions/Severity"
1059
+ }
1060
+ },
1061
+ "see": "https://syncpack.dev/version-groups/pinned/#severity",
1062
+ "type": "object"
1063
+ },
915
1064
  "specifierTypes": {
916
1065
  "items": {
917
1066
  "anyOf": [
@@ -999,6 +1148,25 @@
999
1148
  "see": "https://syncpack.dev/version-groups/same-minor/#policy",
1000
1149
  "type": "string"
1001
1150
  },
1151
+ "severity": {
1152
+ "additionalProperties": false,
1153
+ "properties": {
1154
+ "DiffersToHighestOrLowestSemverMinor": {
1155
+ "$ref": "#/definitions/Severity"
1156
+ },
1157
+ "SameMinorOverridesSemverRange": {
1158
+ "$ref": "#/definitions/Severity"
1159
+ },
1160
+ "SameMinorOverridesSemverRangeMismatch": {
1161
+ "$ref": "#/definitions/Severity"
1162
+ },
1163
+ "SemverRangeMismatch": {
1164
+ "$ref": "#/definitions/Severity"
1165
+ }
1166
+ },
1167
+ "see": "https://syncpack.dev/version-groups/same-minor/#severity",
1168
+ "type": "object"
1169
+ },
1002
1170
  "specifierTypes": {
1003
1171
  "items": {
1004
1172
  "anyOf": [
@@ -1086,6 +1254,16 @@
1086
1254
  "see": "https://syncpack.dev/version-groups/same-range/#policy",
1087
1255
  "type": "string"
1088
1256
  },
1257
+ "severity": {
1258
+ "additionalProperties": false,
1259
+ "properties": {
1260
+ "SemverRangeMismatch": {
1261
+ "$ref": "#/definitions/Severity"
1262
+ }
1263
+ },
1264
+ "see": "https://syncpack.dev/version-groups/same-range/#severity",
1265
+ "type": "object"
1266
+ },
1089
1267
  "specifierTypes": {
1090
1268
  "items": {
1091
1269
  "anyOf": [
@@ -1168,6 +1346,22 @@
1168
1346
  "see": "https://syncpack.dev/version-groups/highest-semver/#packages",
1169
1347
  "type": "array"
1170
1348
  },
1349
+ "severity": {
1350
+ "additionalProperties": false,
1351
+ "properties": {
1352
+ "DiffersToSnapTarget": {
1353
+ "$ref": "#/definitions/Severity"
1354
+ },
1355
+ "RefuseToSnapLocal": {
1356
+ "$ref": "#/definitions/Severity"
1357
+ },
1358
+ "SemverRangeMismatch": {
1359
+ "$ref": "#/definitions/Severity"
1360
+ }
1361
+ },
1362
+ "see": "https://syncpack.dev/version-groups/snapped-to/#severity",
1363
+ "type": "object"
1364
+ },
1171
1365
  "snapTo": {
1172
1366
  "items": {
1173
1367
  "type": "string"
@@ -1265,6 +1459,25 @@
1265
1459
  "see": "https://syncpack.dev/version-groups/lowest-semver/#preferversion",
1266
1460
  "type": "string"
1267
1461
  },
1462
+ "severity": {
1463
+ "additionalProperties": false,
1464
+ "properties": {
1465
+ "DiffersToCatalog": {
1466
+ "$ref": "#/definitions/Severity"
1467
+ },
1468
+ "DiffersToHighestOrLowestSemver": {
1469
+ "$ref": "#/definitions/Severity"
1470
+ },
1471
+ "DiffersToLocal": {
1472
+ "$ref": "#/definitions/Severity"
1473
+ },
1474
+ "SemverRangeMismatch": {
1475
+ "$ref": "#/definitions/Severity"
1476
+ }
1477
+ },
1478
+ "see": "https://syncpack.dev/version-groups/highest-semver/#severity",
1479
+ "type": "object"
1480
+ },
1268
1481
  "specifierTypes": {
1269
1482
  "items": {
1270
1483
  "anyOf": [
package/syncpack.d.ts CHANGED
@@ -37,6 +37,8 @@ export interface RcFile {
37
37
  sortPackages?: boolean;
38
38
  /** @see https://syncpack.dev/config/source */
39
39
  source?: string[];
40
+ /** @see https://syncpack.dev/config/source-mode */
41
+ sourceMode?: 'replace' | 'extend';
40
42
  /** @see https://syncpack.dev/config/strict */
41
43
  strict?: boolean;
42
44
  /** @see https://syncpack.dev/version-groups */
@@ -104,6 +106,10 @@ declare namespace VersionGroup {
104
106
  interface Banned extends GroupSelector {
105
107
  /** @see https://syncpack.dev/version-groups/banned/#isbanned */
106
108
  isBanned: true;
109
+ /** @see https://syncpack.dev/version-groups/banned/#severity */
110
+ severity?: {
111
+ IsBanned?: Severity;
112
+ };
107
113
  }
108
114
  interface Ignored extends GroupSelector {
109
115
  /** @see https://syncpack.dev/version-groups/ignored/#isignored */
@@ -112,24 +118,64 @@ declare namespace VersionGroup {
112
118
  interface Pinned extends GroupSelector {
113
119
  /** @see https://syncpack.dev/version-groups/pinned/#pinversion */
114
120
  pinVersion: string;
121
+ /** @see https://syncpack.dev/version-groups/pinned/#severity */
122
+ severity?: {
123
+ DiffersToPin?: Severity;
124
+ PinOverridesSemverRange?: Severity;
125
+ PinOverridesSemverRangeMismatch?: Severity;
126
+ RefuseToPinLocal?: Severity;
127
+ };
115
128
  }
116
129
  interface SnappedTo extends GroupSelector {
117
130
  /** @see https://syncpack.dev/version-groups/snapped-to/#snapto */
118
131
  snapTo: string[];
132
+ /** @see https://syncpack.dev/version-groups/snapped-to/#severity */
133
+ severity?: {
134
+ DiffersToSnapTarget?: Severity;
135
+ SemverRangeMismatch?: Severity;
136
+ RefuseToSnapLocal?: Severity;
137
+ };
119
138
  }
120
139
  interface SameRange extends GroupSelector {
121
140
  /** @see https://syncpack.dev/version-groups/same-range/#policy */
122
141
  policy: 'sameRange';
142
+ /** @see https://syncpack.dev/version-groups/same-range/#severity */
143
+ severity?: {
144
+ SemverRangeMismatch?: Severity;
145
+ };
123
146
  }
124
147
  interface SameMinor extends GroupSelector {
125
148
  /** @see https://syncpack.dev/version-groups/same-minor/#policy */
126
149
  policy: 'sameMinor';
150
+ /** @see https://syncpack.dev/version-groups/same-minor/#severity */
151
+ severity?: {
152
+ DiffersToHighestOrLowestSemverMinor?: Severity;
153
+ SemverRangeMismatch?: Severity;
154
+ SameMinorOverridesSemverRange?: Severity;
155
+ SameMinorOverridesSemverRangeMismatch?: Severity;
156
+ };
127
157
  }
128
158
  interface Standard extends GroupSelector {
129
159
  /** @see https://syncpack.dev/version-groups/lowest-semver/#preferversion */
130
160
  preferVersion?: 'highestSemver' | 'lowestSemver';
161
+ /** @see https://syncpack.dev/version-groups/highest-semver/#severity */
162
+ severity?: {
163
+ SemverRangeMismatch?: Severity;
164
+ DiffersToLocal?: Severity;
165
+ DiffersToCatalog?: Severity;
166
+ DiffersToHighestOrLowestSemver?: Severity;
167
+ };
131
168
  }
132
- type Any = Banned | Ignored | Pinned | SameRange | SameMinor | SnappedTo | Standard;
169
+ interface Catalog extends GroupSelector {
170
+ /** @see https://syncpack.dev/version-groups/catalog/#policy */
171
+ policy: 'catalog';
172
+ /** @see https://syncpack.dev/version-groups/catalog/#severity */
173
+ severity?: {
174
+ NotUsingCatalog?: Severity;
175
+ MissingFromCatalog?: Severity;
176
+ };
177
+ }
178
+ type Any = Banned | Catalog | Ignored | Pinned | SameRange | SameMinor | SnappedTo | Standard;
133
179
  }
134
180
  declare namespace CustomType {
135
181
  interface NameAndVersionProps {
@@ -161,6 +207,11 @@ declare namespace CustomType {
161
207
  type Any = NameAndVersionProps | NamedVersionString | UnnamedVersionString | VersionsByName;
162
208
  }
163
209
  type SemverRange = '' | '*' | '>' | '>=' | '.x' | '<' | '<=' | '^' | '~';
210
+ /** @see https://syncpack.dev/severity/ */
211
+ export type Severity = 'fix' | 'warn' | 'error';
212
+ /** Severity values that appear in JSON output. `'none'` is emitted for Valid
213
+ * instances in `syncpack json` and is not writable in rcfile severity maps. */
214
+ export type JsonSeverity = Severity | 'none';
164
215
  type DependencyType = 'dev' | 'local' | 'overrides' | 'peer' | 'pnpmOverrides' | 'prod' | 'resolutions' | AnyString;
165
216
  type SpecifierType = 'alias' | 'exact' | 'file' | 'git' | 'latest' | 'major' | 'minor' | 'missing' | 'range' | 'range-complex' | 'range-major' | 'range-minor' | 'tag' | 'unsupported' | 'url' | 'workspace-protocol' | AnyString;
166
217
  type AnyString = string & {};
@@ -176,6 +227,8 @@ export type JsonOutput = {
176
227
  preferredSemverRange: SemverRange | null;
177
228
  statusCode: StatusCode;
178
229
  statusType: StatusType;
230
+ /** @see https://syncpack.dev/config/severity/ */
231
+ severity: JsonSeverity;
179
232
  actual: {
180
233
  raw: string;
181
234
  type: SpecifierType;
@@ -194,6 +247,6 @@ export type FormatJsonOutput = {
194
247
  statusCode: FormatStatusCode;
195
248
  };
196
249
  export type FormatStatusCode = 'BugsPropertyIsNotFormatted' | 'RepositoryPropertyIsNotFormatted' | 'PropertyIsNotSortedAz' | 'PackagePropertiesAreNotSorted' | 'ExportsPropertyIsNotSorted';
197
- export type VersionGroupVariant = 'Banned' | 'HighestSemver' | 'Ignored' | 'LowestSemver' | 'Pinned' | 'SameRange' | 'SameMinor' | 'SnappedTo';
198
- export type StatusCode = 'IsHighestOrLowestSemver' | 'IsIdenticalToLocal' | 'IsIdenticalToPin' | 'IsIdenticalToSnapTarget' | 'IsIgnored' | 'IsLocalAndValid' | 'IsNonSemverButIdentical' | 'SatisfiesHighestOrLowestSemver' | 'SatisfiesLocal' | 'SatisfiesSameRangeGroup' | 'SatisfiesSameMinorGroup' | 'SatisfiesSnapTarget' | 'DiffersToHighestOrLowestSemver' | 'DiffersToLocal' | 'DiffersToNpmRegistry' | 'DiffersToPin' | 'DiffersToSnapTarget' | 'IsBanned' | 'PinOverridesSemverRange' | 'PinOverridesSemverRangeMismatch' | 'SameMinorOverridesSemverRange' | 'SameMinorOverridesSemverRangeMismatch' | 'SemverRangeMismatch' | 'DependsOnInvalidLocalPackage' | 'NonSemverMismatch' | 'SameRangeMismatch' | 'SameMinorMismatch' | 'DependsOnMissingSnapTarget' | 'InvalidLocalVersion' | 'RefuseToBanLocal' | 'RefuseToPinLocal' | 'RefuseToSnapLocal' | 'MatchConflictsWithHighestOrLowestSemver' | 'MatchConflictsWithLocal' | 'MatchConflictsWithSnapTarget' | 'MismatchConflictsWithHighestOrLowestSemver' | 'MismatchConflictsWithLocal' | 'MismatchConflictsWithSnapTarget';
250
+ export type VersionGroupVariant = 'Banned' | 'Catalog' | 'HighestSemver' | 'Ignored' | 'LowestSemver' | 'Pinned' | 'SameRange' | 'SameMinor' | 'SnappedTo';
251
+ export type StatusCode = 'IsHighestOrLowestSemver' | 'IsIdenticalToLocal' | 'IsIdenticalToPin' | 'IsIdenticalToSnapTarget' | 'IsIgnored' | 'IsLocalAndValid' | 'IsNonSemverButIdentical' | 'SatisfiesHighestOrLowestSemver' | 'SatisfiesLocal' | 'SatisfiesSameRangeGroup' | 'SatisfiesSameMinorGroup' | 'SatisfiesSnapTarget' | 'DiffersToCatalog' | 'DiffersToHighestOrLowestSemver' | 'DiffersToHighestOrLowestSemverMinor' | 'DiffersToLocal' | 'DiffersToNpmRegistry' | 'DiffersToPin' | 'DiffersToSnapTarget' | 'IsBanned' | 'MissingFromCatalog' | 'NotUsingCatalog' | 'PinOverridesSemverRange' | 'PinOverridesSemverRangeMismatch' | 'SameMinorOverridesSemverRange' | 'SameMinorOverridesSemverRangeMismatch' | 'SemverRangeMismatch' | 'DependsOnInvalidLocalPackage' | 'NonSemverMismatch' | 'SameRangeMismatch' | 'SameMinorMismatch' | 'DependsOnMissingSnapTarget' | 'InvalidLocalVersion' | 'RefuseToBanLocal' | 'RefuseToPinLocal' | 'RefuseToSnapLocal' | 'MatchConflictsWithHighestOrLowestSemver' | 'MatchConflictsWithLocal' | 'MatchConflictsWithSnapTarget' | 'MismatchConflictsWithHighestOrLowestSemver' | 'MismatchConflictsWithLocal' | 'MismatchConflictsWithSnapTarget';
199
252
  export {};