syncpack 9.1.2 → 9.7.4

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.
Files changed (92) hide show
  1. package/dist/bin-fix-mismatches/fix-mismatches-cli.js +4 -4
  2. package/dist/bin-fix-mismatches/fix-mismatches.js +14 -15
  3. package/dist/bin-fix-mismatches/index.js +50 -48
  4. package/dist/bin-format/format-cli.js +4 -4
  5. package/dist/bin-format/format.js +19 -18
  6. package/dist/bin-format/index.js +43 -46
  7. package/dist/bin-lint-semver-ranges/index.js +59 -48
  8. package/dist/bin-lint-semver-ranges/lint-semver-ranges-cli.js +4 -4
  9. package/dist/bin-lint-semver-ranges/lint-semver-ranges.js +15 -37
  10. package/dist/bin-list/index.js +43 -46
  11. package/dist/bin-list/list-cli.js +4 -4
  12. package/dist/bin-list/list.js +26 -29
  13. package/dist/bin-list-mismatches/index.js +46 -47
  14. package/dist/bin-list-mismatches/list-mismatches-cli.js +4 -4
  15. package/dist/bin-list-mismatches/list-mismatches.js +51 -40
  16. package/dist/bin-set-semver-ranges/index.js +62 -49
  17. package/dist/bin-set-semver-ranges/set-semver-ranges-cli.js +4 -4
  18. package/dist/bin-set-semver-ranges/set-semver-ranges.js +4 -4
  19. package/dist/bin.js +8 -8
  20. package/dist/constants.d.ts +2 -1
  21. package/dist/constants.js +6 -5
  22. package/dist/get-context/$R.js +14 -36
  23. package/dist/get-context/get-all-instances.js +3 -3
  24. package/dist/get-context/get-config/get-core-types.js +11 -41
  25. package/dist/get-context/get-config/get-custom-types.js +7 -19
  26. package/dist/get-context/get-config/get-enabled-types.js +9 -11
  27. package/dist/get-context/get-config/index.js +29 -59
  28. package/dist/get-context/get-config/path-strategy/index.js +8 -8
  29. package/dist/get-context/get-config/path-strategy/lib/get-non-empty-string-prop.js +6 -6
  30. package/dist/get-context/get-config/path-strategy/name-and-version-props.js +23 -49
  31. package/dist/get-context/get-config/path-strategy/name-and-version-string.js +26 -42
  32. package/dist/get-context/get-config/path-strategy/types.js +1 -1
  33. package/dist/get-context/get-config/path-strategy/version-string.js +25 -41
  34. package/dist/get-context/get-config/path-strategy/versions-by-name.js +14 -30
  35. package/dist/get-context/get-config/schema/base-group.d.ts +2 -1
  36. package/dist/get-context/get-config/schema/base-group.js +5 -4
  37. package/dist/get-context/get-config/schema/index.d.ts +374 -148
  38. package/dist/get-context/get-config/schema/index.js +40 -63
  39. package/dist/get-context/get-config/schema/paths.js +12 -12
  40. package/dist/get-context/get-config/schema/semver-group.d.ts +42 -24
  41. package/dist/get-context/get-config/schema/semver-group.js +11 -18
  42. package/dist/get-context/get-config/schema/semver-range.js +4 -4
  43. package/dist/get-context/get-config/schema/version-group.d.ts +91 -24
  44. package/dist/get-context/get-config/schema/version-group.js +20 -21
  45. package/dist/get-context/get-groups/base-group.d.ts +4 -1
  46. package/dist/get-context/get-groups/base-group.js +18 -19
  47. package/dist/get-context/get-groups/index.d.ts +2 -1
  48. package/dist/get-context/get-groups/index.js +31 -37
  49. package/dist/get-context/get-groups/semver-group.d.ts +0 -1
  50. package/dist/get-context/get-groups/semver-group.js +23 -66
  51. package/dist/get-context/get-groups/version-group/index.d.ts +2 -1
  52. package/dist/get-context/get-groups/version-group/index.js +29 -68
  53. package/dist/get-context/get-groups/version-group/instance-group/get-highest-version.d.ts +3 -1
  54. package/dist/get-context/get-groups/version-group/instance-group/get-highest-version.js +36 -45
  55. package/dist/get-context/get-groups/version-group/instance-group/index.d.ts +2 -1
  56. package/dist/get-context/get-groups/version-group/instance-group/index.js +55 -47
  57. package/dist/get-context/get-groups/version-group/instance-group/lib/clean.d.ts +2 -0
  58. package/dist/get-context/get-groups/version-group/instance-group/lib/clean.js +13 -0
  59. package/dist/get-context/get-groups/version-group/instance-group/lib/compare-semver.d.ts +2 -0
  60. package/dist/get-context/get-groups/version-group/instance-group/lib/compare-semver.js +22 -0
  61. package/dist/get-context/get-groups/version-group/instance-group/lib/get-range-score.d.ts +2 -0
  62. package/dist/get-context/get-groups/version-group/instance-group/lib/get-range-score.js +23 -0
  63. package/dist/get-context/get-package-json-files/get-file-paths.js +18 -19
  64. package/dist/get-context/get-package-json-files/get-patterns/get-lerna-patterns.js +9 -12
  65. package/dist/get-context/get-package-json-files/get-patterns/get-pnpm-patterns.js +9 -11
  66. package/dist/get-context/get-package-json-files/get-patterns/get-yarn-patterns.js +10 -13
  67. package/dist/get-context/get-package-json-files/get-patterns/index.js +15 -42
  68. package/dist/get-context/get-package-json-files/get-patterns/lib/get-array-of-strings.js +4 -6
  69. package/dist/get-context/get-package-json-files/get-patterns/props.js +9 -33
  70. package/dist/get-context/get-package-json-files/get-patterns/read-json-safe.js +6 -9
  71. package/dist/get-context/get-package-json-files/get-patterns/read-yaml-safe.js +4 -4
  72. package/dist/get-context/get-package-json-files/index.js +7 -7
  73. package/dist/get-context/get-package-json-files/package-json-file/index.js +32 -55
  74. package/dist/get-context/get-package-json-files/package-json-file/instance.js +14 -15
  75. package/dist/get-context/index.js +19 -24
  76. package/dist/lib/disk.js +28 -29
  77. package/dist/lib/error.js +13 -31
  78. package/dist/lib/exit-if-invalid.js +1 -1
  79. package/dist/lib/is-semver.d.ts +1 -1
  80. package/dist/lib/is-semver.js +15 -7
  81. package/dist/lib/log.d.ts +4 -2
  82. package/dist/lib/log.js +44 -60
  83. package/dist/lib/newlines.js +11 -11
  84. package/dist/lib/print-strings.js +2 -2
  85. package/dist/lib/set-semver-range.js +8 -8
  86. package/dist/lib/show-help-on-error.js +31 -8
  87. package/dist/lib/sort-by-name.js +1 -1
  88. package/dist/lib/write-if-changed.js +3 -3
  89. package/dist/option.js +8 -13
  90. package/dist/types.d.ts +2 -0
  91. package/dist/types.js +1 -1
  92. package/package.json +20 -16
@@ -1,20 +1,20 @@
1
1
  "use strict";
2
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setSemverRange = void 0;
4
- var constants_1 = require("../constants");
5
- var is_semver_1 = require("./is-semver");
4
+ const constants_1 = require("../constants");
5
+ const is_semver_1 = require("./is-semver");
6
6
  function setSemverRange(semverRange, version) {
7
7
  if (!(0, is_semver_1.isSemver)(version) || !(0, is_semver_1.isValidSemverRange)(semverRange))
8
8
  return version;
9
9
  if (semverRange === '*')
10
10
  return semverRange;
11
- var nextVersion = (0, is_semver_1.isLooseSemver)(version)
11
+ const nextVersion = (0, is_semver_1.isLooseSemver)(version)
12
12
  ? version.replace(/\.x/g, '.0')
13
13
  : version;
14
- var from1stNumber = nextVersion.search(/[0-9]/);
15
- var from1stDot = nextVersion.indexOf('.');
14
+ const from1stNumber = nextVersion.search(/[0-9]/);
15
+ const from1stDot = nextVersion.indexOf('.');
16
16
  return semverRange === constants_1.RANGE.LOOSE
17
- ? "".concat(nextVersion.slice(from1stNumber, from1stDot), ".x.x")
18
- : "".concat(semverRange).concat(nextVersion.slice(from1stNumber));
17
+ ? `${nextVersion.slice(from1stNumber, from1stDot)}.x.x`
18
+ : `${semverRange}${nextVersion.slice(from1stNumber)}`;
19
19
  }
20
20
  exports.setSemverRange = setSemverRange;
@@ -1,16 +1,39 @@
1
1
  "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
5
- };
6
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
7
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
4
  };
9
- exports.__esModule = true;
5
+ Object.defineProperty(exports, "__esModule", { value: true });
10
6
  exports.showHelpOnError = void 0;
11
- var chalk_1 = __importDefault(require("chalk"));
7
+ const chalk_1 = __importDefault(require("chalk"));
12
8
  function showHelpOnError(program) {
13
- program.showHelpAfterError((0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n1. The following options were replaced in syncpack@9.0.0:\n{red\n -p, --prod include dependencies\n -d, --dev include devDependencies\n -P, --peer include peerDependencies\n -R, --resolutions include resolutions (yarn)\n -o, --overrides include overrides (npm)\n -O, --pnpmOverrides include overrides (pnpm)\n -w, --workspace include locally developed package versions\n}\n Instead use the new {green --types} option like so:\n\n {green --types dev,prod,peer}\n\n2. In .syncpackrc, the following options were replaced:\n{red\n \"dev\": true,\n \"overrides\": true,\n \"peer\": true,\n \"pnpmOverrides\": true,\n \"prod\": true,\n \"resolutions\": true,\n \"workspace\": true,\n}\n Instead use the new {green dependencyTypes} array like so:\n {green\n \"dependencyTypes\": [\"dev\", \"prod\", \"peer\"]\n}"], ["\n1. The following options were replaced in syncpack@9.0.0:\n{red\n -p, --prod include dependencies\n -d, --dev include devDependencies\n -P, --peer include peerDependencies\n -R, --resolutions include resolutions (yarn)\n -o, --overrides include overrides (npm)\n -O, --pnpmOverrides include overrides (pnpm)\n -w, --workspace include locally developed package versions\n}\n Instead use the new {green --types} option like so:\n\n {green --types dev,prod,peer}\n\n2. In .syncpackrc, the following options were replaced:\n{red\n \"dev\": true,\n \"overrides\": true,\n \"peer\": true,\n \"pnpmOverrides\": true,\n \"prod\": true,\n \"resolutions\": true,\n \"workspace\": true,\n}\n Instead use the new {green dependencyTypes} array like so:\n {green\n \"dependencyTypes\": [\"dev\", \"prod\", \"peer\"]\n}"]))));
9
+ program.showHelpAfterError((0, chalk_1.default) `
10
+ 1. The following options were replaced in syncpack@9.0.0:
11
+ {red
12
+ -p, --prod include dependencies
13
+ -d, --dev include devDependencies
14
+ -P, --peer include peerDependencies
15
+ -R, --resolutions include resolutions (yarn)
16
+ -o, --overrides include overrides (npm)
17
+ -O, --pnpmOverrides include overrides (pnpm)
18
+ -w, --workspace include locally developed package versions
19
+ }
20
+ Instead use the new {green --types} option like so:
21
+
22
+ {green --types dev,prod,peer}
23
+
24
+ 2. In .syncpackrc, the following options were replaced:
25
+ {red
26
+ "dev": true,
27
+ "overrides": true,
28
+ "peer": true,
29
+ "pnpmOverrides": true,
30
+ "prod": true,
31
+ "resolutions": true,
32
+ "workspace": true,
33
+ }
34
+ Instead use the new {green dependencyTypes} array like so:
35
+ {green
36
+ "dependencyTypes": ["dev", "prod", "peer"]
37
+ }`);
14
38
  }
15
39
  exports.showHelpOnError = showHelpOnError;
16
- var templateObject_1;
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sortByName = void 0;
4
4
  function sortByName(a, b) {
5
5
  if (a.name < b.name) {
@@ -22,11 +22,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- exports.__esModule = true;
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.writeIfChanged = void 0;
27
- var log = __importStar(require("./log"));
27
+ const log = __importStar(require("./log"));
28
28
  function writeIfChanged(ctx) {
29
- ctx.packageJsonFiles.forEach(function (packageJsonFile) {
29
+ ctx.packageJsonFiles.forEach((packageJsonFile) => {
30
30
  if (packageJsonFile.hasChanged()) {
31
31
  packageJsonFile.write();
32
32
  log.fixed(packageJsonFile.shortPath);
package/dist/option.js CHANGED
@@ -1,28 +1,24 @@
1
1
  "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
5
- };
6
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
7
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
4
  };
9
- exports.__esModule = true;
5
+ Object.defineProperty(exports, "__esModule", { value: true });
10
6
  exports.option = void 0;
11
- var chalk_1 = __importDefault(require("chalk"));
12
- var constants_1 = require("./constants");
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const constants_1 = require("./constants");
13
9
  exports.option = {
14
10
  config: ['-c, --config <path>', 'path to a syncpack config file'],
15
11
  filter: [
16
12
  '-f, --filter [pattern]',
17
- (0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["only include dependencies whose {yellow name} matches this regex"], ["only include dependencies whose {yellow name} matches this regex"]))),
13
+ (0, chalk_1.default) `only include dependencies whose {yellow name} matches this regex`,
18
14
  ],
19
15
  indent: [
20
16
  '-i, --indent [value]',
21
- "override indentation. defaults to \"".concat(constants_1.DEFAULT_CONFIG.indent, "\""),
17
+ `override indentation. defaults to "${constants_1.DEFAULT_CONFIG.indent}"`,
22
18
  ],
23
19
  semverRange: [
24
20
  '-r, --semver-range <range>',
25
- "see supported ranges below. defaults to \"".concat(constants_1.DEFAULT_CONFIG.semverRange, "\""),
21
+ `see supported ranges below. defaults to "${constants_1.DEFAULT_CONFIG.semverRange}"`,
26
22
  ],
27
23
  source: [
28
24
  '-s, --source [pattern]',
@@ -32,10 +28,9 @@ exports.option = {
32
28
  ],
33
29
  types: [
34
30
  '-t, --types <names>',
35
- (0, chalk_1["default"])(templateObject_2 || (templateObject_2 = __makeTemplateObject(["only include dependencies matching these types (eg. {yellow types=dev,prod,myCustomType})"], ["only include dependencies matching these types (eg. {yellow types=dev,prod,myCustomType})"]))),
36
- ]
31
+ (0, chalk_1.default) `only include dependencies matching these types (eg. {yellow types=dev,prod,myCustomType})`,
32
+ ],
37
33
  };
38
34
  function collect(value, previous) {
39
35
  return previous.concat([value]);
40
36
  }
41
- var templateObject_1, templateObject_2;
package/dist/types.d.ts CHANGED
@@ -78,6 +78,8 @@ export declare namespace Syncpack {
78
78
  export type Ignored = z.infer<T['ignored']>;
79
79
  /** Override the version of dependencies in this group to always be this */
80
80
  export type Pinned = z.infer<T['pinned']>;
81
+ /** Use these named packages as the source of truth for versions */
82
+ export type SnappedTo = z.infer<T['snappedTo']>;
81
83
  /** @private */
82
84
  export type Default = z.infer<T['base']>;
83
85
  /** Every valid type of VersionGroup */
package/dist/types.js CHANGED
@@ -1,2 +1,2 @@
1
1
  "use strict";
2
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "syncpack",
3
3
  "description": "Manage multiple package.json files, such as in Lerna Monorepos and Yarn/Pnpm Workspaces",
4
- "version": "9.1.2",
4
+ "version": "9.7.4",
5
5
  "author": "Jamie Mason <jamie@foldleft.io> (https://github.com/JamieMason)",
6
6
  "bin": {
7
7
  "syncpack": "dist/bin.js",
@@ -33,52 +33,56 @@
33
33
  "expect-more": "1.3.0",
34
34
  "fs-extra": "11.1.0",
35
35
  "glob": "8.1.0",
36
- "minimatch": "6.1.6",
36
+ "minimatch": "6.2.0",
37
37
  "read-yaml-file": "2.1.0",
38
38
  "semver": "7.3.8",
39
39
  "zod": "3.20.6"
40
40
  },
41
41
  "devDependencies": {
42
+ "@tsconfig/node14": "1.0.3",
42
43
  "@types/fs-extra": "11.0.1",
43
44
  "@types/glob": "8.0.1",
44
45
  "@types/jest": "29.4.0",
45
- "@types/node": "18.11.19",
46
+ "@types/node": "14.18.36",
46
47
  "@types/semver": "7.3.13",
47
- "@typescript-eslint/eslint-plugin": "5.51.0",
48
- "@typescript-eslint/parser": "5.51.0",
49
- "eslint": "8.33.0",
48
+ "@typescript-eslint/eslint-plugin": "5.52.0",
49
+ "@typescript-eslint/parser": "5.52.0",
50
+ "eslint": "8.34.0",
50
51
  "eslint-plugin-import": "2.27.5",
51
52
  "eslint-plugin-jest": "27.2.1",
52
53
  "expect-more-jest": "5.5.0",
53
- "jest": "29.4.1",
54
- "prettier": "2.8.3",
54
+ "jest": "29.4.3",
55
+ "prettier": "2.8.4",
55
56
  "rimraf": "4.1.2",
56
57
  "ts-jest": "29.0.5",
57
58
  "ts-node": "10.9.1",
58
59
  "typescript": "4.9.5"
59
60
  },
60
61
  "engines": {
61
- "node": ">=10"
62
+ "node": ">=14"
62
63
  },
63
64
  "files": [
64
65
  "dist"
65
66
  ],
66
67
  "homepage": "https://github.com/JamieMason/syncpack#readme",
67
68
  "keywords": [
68
- "cli",
69
- "dependency-manager",
69
+ "dependencies",
70
+ "exact-versions",
70
71
  "lerna",
71
72
  "lernajs",
72
73
  "monorepo",
73
- "multi-package",
74
- "nodejs",
75
74
  "npm",
76
- "package",
75
+ "nx",
77
76
  "package-json",
78
77
  "packages",
79
78
  "pnpm",
80
79
  "semver",
81
- "workspace",
80
+ "sort-package-json",
81
+ "turbo",
82
+ "turborepo",
83
+ "version-linter",
84
+ "versions",
85
+ "workspaces",
82
86
  "yarn"
83
87
  ],
84
88
  "license": "MIT",
@@ -93,6 +97,6 @@
93
97
  "format:source": "prettier --write .",
94
98
  "lint": "eslint --ext .ts .",
95
99
  "prepack": "yarn build",
96
- "test": "jest src"
100
+ "test": "jest src test"
97
101
  }
98
102
  }