syncpack 5.8.15 → 6.0.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.
Files changed (130) hide show
  1. package/README.md +211 -91
  2. package/dist/bin-fix-mismatches/fix-mismatches.d.ts +3 -0
  3. package/dist/bin-fix-mismatches/fix-mismatches.js +58 -0
  4. package/dist/bin-fix-mismatches/get-highest-version.d.ts +1 -0
  5. package/dist/{commands/lib → bin-fix-mismatches}/get-highest-version.js +16 -19
  6. package/dist/bin-fix-mismatches/get-workspace-version.d.ts +6 -0
  7. package/dist/bin-fix-mismatches/get-workspace-version.js +17 -0
  8. package/dist/{bin-fix-mismatches.d.ts → bin-fix-mismatches/index.d.ts} +0 -0
  9. package/dist/bin-fix-mismatches/index.js +66 -0
  10. package/dist/bin-format/format.d.ts +3 -0
  11. package/dist/bin-format/format.js +44 -0
  12. package/dist/{bin-format.d.ts → bin-format/index.d.ts} +0 -0
  13. package/dist/bin-format/index.js +56 -0
  14. package/dist/{bin-lint-semver-ranges.d.ts → bin-lint-semver-ranges/index.d.ts} +0 -0
  15. package/dist/bin-lint-semver-ranges/index.js +66 -0
  16. package/dist/bin-lint-semver-ranges/lint-semver-ranges.d.ts +2 -0
  17. package/dist/bin-lint-semver-ranges/lint-semver-ranges.js +52 -0
  18. package/dist/bin-lint-semver-ranges/list-semver-group-mismatches.d.ts +2 -0
  19. package/dist/bin-lint-semver-ranges/list-semver-group-mismatches.js +12 -0
  20. package/dist/{bin-list.d.ts → bin-list/index.d.ts} +0 -0
  21. package/dist/bin-list/index.js +64 -0
  22. package/dist/bin-list/list-version-groups.d.ts +3 -0
  23. package/dist/bin-list/list-version-groups.js +40 -0
  24. package/dist/bin-list/list.d.ts +9 -0
  25. package/dist/bin-list/list.js +46 -0
  26. package/dist/{bin-list-mismatches.d.ts → bin-list-mismatches/index.d.ts} +0 -0
  27. package/dist/bin-list-mismatches/index.js +64 -0
  28. package/dist/bin-list-mismatches/list-mismatches.d.ts +2 -0
  29. package/dist/bin-list-mismatches/list-mismatches.js +44 -0
  30. package/dist/{bin-set-semver-ranges.d.ts → bin-set-semver-ranges/index.d.ts} +0 -0
  31. package/dist/bin-set-semver-ranges/index.js +68 -0
  32. package/dist/bin-set-semver-ranges/set-semver-ranges.d.ts +3 -0
  33. package/dist/bin-set-semver-ranges/set-semver-ranges.js +37 -0
  34. package/dist/bin.js +19 -6
  35. package/dist/constants.d.ts +53 -32
  36. package/dist/constants.js +23 -19
  37. package/dist/lib/collect.d.ts +1 -1
  38. package/dist/lib/collect.js +2 -2
  39. package/dist/lib/disk.d.ts +10 -0
  40. package/dist/lib/disk.js +32 -0
  41. package/dist/lib/get-input/get-config.d.ts +9 -0
  42. package/dist/lib/get-input/get-config.js +112 -0
  43. package/dist/lib/get-input/get-instances.d.ts +21 -0
  44. package/dist/lib/get-input/get-instances.js +133 -0
  45. package/dist/lib/get-input/get-wrappers/get-file-paths.d.ts +15 -0
  46. package/dist/lib/get-input/get-wrappers/get-file-paths.js +48 -0
  47. package/dist/lib/get-input/get-wrappers/get-patterns/get-lerna-patterns.d.ts +3 -0
  48. package/dist/lib/get-input/get-wrappers/get-patterns/get-lerna-patterns.js +36 -0
  49. package/dist/lib/get-input/get-wrappers/get-patterns/get-pnpm-patterns.d.ts +3 -0
  50. package/dist/lib/get-input/get-wrappers/get-patterns/get-pnpm-patterns.js +41 -0
  51. package/dist/lib/get-input/get-wrappers/get-patterns/get-yarn-patterns.d.ts +3 -0
  52. package/dist/lib/get-input/get-wrappers/get-patterns/get-yarn-patterns.js +42 -0
  53. package/dist/lib/get-input/get-wrappers/get-patterns/index.d.ts +13 -0
  54. package/dist/lib/get-input/get-wrappers/get-patterns/index.js +72 -0
  55. package/dist/lib/get-input/get-wrappers/get-patterns/props.d.ts +7 -0
  56. package/dist/lib/get-input/get-wrappers/get-patterns/props.js +39 -0
  57. package/dist/lib/get-input/get-wrappers/get-patterns/read-json-safe.d.ts +4 -0
  58. package/dist/lib/get-input/get-wrappers/get-patterns/read-json-safe.js +37 -0
  59. package/dist/lib/get-input/get-wrappers/get-patterns/read-yaml-safe.d.ts +3 -0
  60. package/dist/lib/get-input/get-wrappers/get-patterns/read-yaml-safe.js +30 -0
  61. package/dist/lib/get-input/get-wrappers/index.d.ts +34 -0
  62. package/dist/lib/get-input/get-wrappers/index.js +36 -0
  63. package/dist/lib/get-input/get-wrappers/readonly.d.ts +4 -0
  64. package/dist/lib/get-input/get-wrappers/readonly.js +10 -0
  65. package/dist/lib/get-input/get-wrappers/tap.d.ts +5 -0
  66. package/dist/lib/get-input/get-wrappers/tap.js +39 -0
  67. package/dist/lib/get-input/get-wrappers/try-catch.d.ts +5 -0
  68. package/dist/lib/get-input/get-wrappers/try-catch.js +13 -0
  69. package/dist/lib/get-input/index.d.ts +18 -0
  70. package/dist/lib/get-input/index.js +33 -0
  71. package/dist/lib/group-by.d.ts +1 -0
  72. package/dist/lib/group-by.js +11 -0
  73. package/dist/lib/is-semver.d.ts +4 -0
  74. package/dist/{commands/lib → lib}/is-semver.js +11 -11
  75. package/dist/lib/matches-filter.d.ts +3 -0
  76. package/dist/{commands/lib → lib}/matches-filter.js +4 -4
  77. package/dist/lib/set-semver-range.d.ts +2 -0
  78. package/dist/lib/set-semver-range.js +19 -0
  79. package/dist/lib/sort-by-name.d.ts +5 -0
  80. package/dist/{commands/lib/installations → lib}/sort-by-name.js +2 -2
  81. package/dist/lib/write-if-changed.d.ts +10 -0
  82. package/dist/lib/write-if-changed.js +23 -0
  83. package/dist/option.d.ts +12 -0
  84. package/dist/option.js +42 -0
  85. package/package.json +34 -37
  86. package/CHANGELOG.md +0 -429
  87. package/dist/bin-fix-mismatches.js +0 -57
  88. package/dist/bin-format.js +0 -49
  89. package/dist/bin-lint-semver-ranges.js +0 -57
  90. package/dist/bin-list-mismatches.js +0 -55
  91. package/dist/bin-list.js +0 -55
  92. package/dist/bin-set-semver-ranges.js +0 -59
  93. package/dist/commands/fix-mismatches.d.ts +0 -6
  94. package/dist/commands/fix-mismatches.js +0 -58
  95. package/dist/commands/format.d.ts +0 -6
  96. package/dist/commands/format.js +0 -49
  97. package/dist/commands/lib/get-dependency-types.d.ts +0 -8
  98. package/dist/commands/lib/get-dependency-types.js +0 -14
  99. package/dist/commands/lib/get-highest-version.d.ts +0 -1
  100. package/dist/commands/lib/get-wrappers.d.ts +0 -47
  101. package/dist/commands/lib/get-wrappers.js +0 -53
  102. package/dist/commands/lib/installations/get-dependencies.d.ts +0 -19
  103. package/dist/commands/lib/installations/get-dependencies.js +0 -121
  104. package/dist/commands/lib/installations/get-grouped-mismatched-dependencies.d.ts +0 -4
  105. package/dist/commands/lib/installations/get-grouped-mismatched-dependencies.js +0 -133
  106. package/dist/commands/lib/installations/get-installations-of.d.ts +0 -4
  107. package/dist/commands/lib/installations/get-installations-of.js +0 -105
  108. package/dist/commands/lib/installations/get-installations.d.ts +0 -6
  109. package/dist/commands/lib/installations/get-installations.js +0 -105
  110. package/dist/commands/lib/installations/get-mismatched-dependencies.d.ts +0 -4
  111. package/dist/commands/lib/installations/get-mismatched-dependencies.js +0 -131
  112. package/dist/commands/lib/installations/sort-by-name.d.ts +0 -2
  113. package/dist/commands/lib/is-semver.d.ts +0 -4
  114. package/dist/commands/lib/log.d.ts +0 -2
  115. package/dist/commands/lib/log.js +0 -32
  116. package/dist/commands/lib/matches-filter.d.ts +0 -5
  117. package/dist/commands/lib/set-semver-range.d.ts +0 -4
  118. package/dist/commands/lib/set-semver-range.js +0 -20
  119. package/dist/commands/lib/write-if-changed.d.ts +0 -2
  120. package/dist/commands/lib/write-if-changed.js +0 -27
  121. package/dist/commands/lint-semver-ranges.d.ts +0 -9
  122. package/dist/commands/lint-semver-ranges.js +0 -65
  123. package/dist/commands/list-mismatches.d.ts +0 -7
  124. package/dist/commands/list-mismatches.js +0 -39
  125. package/dist/commands/list.d.ts +0 -6
  126. package/dist/commands/list.js +0 -42
  127. package/dist/commands/set-semver-ranges.d.ts +0 -6
  128. package/dist/commands/set-semver-ranges.js +0 -49
  129. package/dist/lib/get-config.d.ts +0 -2
  130. package/dist/lib/get-config.js +0 -43
@@ -1,55 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
4
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
5
- return cooked;
6
- };
7
- var __read = (this && this.__read) || function (o, n) {
8
- var m = typeof Symbol === "function" && o[Symbol.iterator];
9
- if (!m) return o;
10
- var i = m.call(o), r, ar = [], e;
11
- try {
12
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
13
- }
14
- catch (error) { e = { error: error }; }
15
- finally {
16
- try {
17
- if (r && !r.done && (m = i["return"])) m.call(i);
18
- }
19
- finally { if (e) throw e.error; }
20
- }
21
- return ar;
22
- };
23
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
24
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
25
- to[j] = from[i];
26
- return to;
27
- };
28
- var __importDefault = (this && this.__importDefault) || function (mod) {
29
- return (mod && mod.__esModule) ? mod : { "default": mod };
30
- };
31
- var _a, _b, _c, _d;
32
- exports.__esModule = true;
33
- var chalk_1 = __importDefault(require("chalk"));
34
- var list_mismatches_1 = require("./commands/list-mismatches");
35
- var constants_1 = require("./constants");
36
- var get_config_1 = require("./lib/get-config");
37
- var commander_1 = require("commander");
38
- commander_1.program.description("\n List dependencies which are required by multiple packages, where the version\n is not the same across every package.".replace(/^\n/, ''));
39
- commander_1.program.on('--help', function () {
40
- console.log(chalk_1["default"](templateObject_1 || (templateObject_1 = __makeTemplateObject(["\nExamples:\n {dim # uses defaults for resolving packages}\n syncpack list-mismatches\n {dim # uses packages defined by --source when provided}\n syncpack list-mismatches --source {yellow \"apps/*/package.json\"}\n {dim # multiple globs can be provided like this}\n syncpack list-mismatches --source {yellow \"apps/*/package.json\"} --source {yellow \"core/*/package.json\"}\n {dim # uses dependencies regular expression defined by --filter when provided}\n syncpack list-mismatches --filter {yellow \"typescript|tslint\"}\n {dim # only inspect \"devDependencies\"}\n syncpack list-mismatches --dev\n {dim # only inspect \"devDependencies\" and \"peerDependencies\"}\n syncpack list-mismatches --dev --peer\n\nResolving Packages:\n 1. If {yellow --source} globs are provided, use those.\n 2. If using Pnpm Workspaces, read {yellow packages} from {yellow pnpm-workspace.yaml} in the root of the project.\n 3. If using Yarn Workspaces, read {yellow workspaces} from {yellow package.json}.\n 4. If using Lerna, read {yellow packages} from {yellow lerna.json}.\n 5. Default to {yellow \"package.json\"} and {yellow \"packages/*/package.json\"}.\n\nReference:\n globs {blue.underline https://github.com/isaacs/node-glob#glob-primer}\n lerna.json {blue.underline https://github.com/lerna/lerna#lernajson}\n Yarn Workspaces {blue.underline https://yarnpkg.com/lang/en/docs/workspaces}\n Pnpm Workspaces {blue.underline https://pnpm.js.org/en/workspaces}\n"], ["\nExamples:\n {dim # uses defaults for resolving packages}\n syncpack list-mismatches\n {dim # uses packages defined by --source when provided}\n syncpack list-mismatches --source {yellow \"apps/*/package.json\"}\n {dim # multiple globs can be provided like this}\n syncpack list-mismatches --source {yellow \"apps/*/package.json\"} --source {yellow \"core/*/package.json\"}\n {dim # uses dependencies regular expression defined by --filter when provided}\n syncpack list-mismatches --filter {yellow \"typescript|tslint\"}\n {dim # only inspect \"devDependencies\"}\n syncpack list-mismatches --dev\n {dim # only inspect \"devDependencies\" and \"peerDependencies\"}\n syncpack list-mismatches --dev --peer\n\nResolving Packages:\n 1. If {yellow --source} globs are provided, use those.\n 2. If using Pnpm Workspaces, read {yellow packages} from {yellow pnpm-workspace.yaml} in the root of the project.\n 3. If using Yarn Workspaces, read {yellow workspaces} from {yellow package.json}.\n 4. If using Lerna, read {yellow packages} from {yellow lerna.json}.\n 5. Default to {yellow \"package.json\"} and {yellow \"packages/*/package.json\"}.\n\nReference:\n globs {blue.underline https://github.com/isaacs/node-glob#glob-primer}\n lerna.json {blue.underline https://github.com/lerna/lerna#lernajson}\n Yarn Workspaces {blue.underline https://yarnpkg.com/lang/en/docs/workspaces}\n Pnpm Workspaces {blue.underline https://pnpm.js.org/en/workspaces}\n"]))));
41
- });
42
- (_a = (_b = (_c = (_d = commander_1.program
43
- .option.apply(commander_1.program, __spreadArray([], __read(constants_1.option.source))))
44
- .option.apply(_d, __spreadArray([], __read(constants_1.option.prod))))
45
- .option.apply(_c, __spreadArray([], __read(constants_1.option.dev))))
46
- .option.apply(_b, __spreadArray([], __read(constants_1.option.peer))))
47
- .option.apply(_a, __spreadArray([], __read(constants_1.option.filter))).parse(process.argv);
48
- list_mismatches_1.listMismatchesFromDisk(get_config_1.getConfig({
49
- dev: commander_1.program.opts().dev,
50
- filter: commander_1.program.opts().filter,
51
- peer: commander_1.program.opts().peer,
52
- prod: commander_1.program.opts().prod,
53
- source: commander_1.program.opts().source
54
- }));
55
- var templateObject_1;
package/dist/bin-list.js DELETED
@@ -1,55 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
4
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
5
- return cooked;
6
- };
7
- var __read = (this && this.__read) || function (o, n) {
8
- var m = typeof Symbol === "function" && o[Symbol.iterator];
9
- if (!m) return o;
10
- var i = m.call(o), r, ar = [], e;
11
- try {
12
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
13
- }
14
- catch (error) { e = { error: error }; }
15
- finally {
16
- try {
17
- if (r && !r.done && (m = i["return"])) m.call(i);
18
- }
19
- finally { if (e) throw e.error; }
20
- }
21
- return ar;
22
- };
23
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
24
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
25
- to[j] = from[i];
26
- return to;
27
- };
28
- var __importDefault = (this && this.__importDefault) || function (mod) {
29
- return (mod && mod.__esModule) ? mod : { "default": mod };
30
- };
31
- var _a, _b, _c, _d;
32
- exports.__esModule = true;
33
- var chalk_1 = __importDefault(require("chalk"));
34
- var list_1 = require("./commands/list");
35
- var constants_1 = require("./constants");
36
- var get_config_1 = require("./lib/get-config");
37
- var commander_1 = require("commander");
38
- commander_1.program.description(' List all dependencies required by your packages.');
39
- commander_1.program.on('--help', function () {
40
- console.log(chalk_1["default"](templateObject_1 || (templateObject_1 = __makeTemplateObject(["\nExamples:\n {dim # uses defaults for resolving packages}\n syncpack list\n {dim # uses packages defined by --source when provided}\n syncpack list --source {yellow \"apps/*/package.json\"}\n {dim # multiple globs can be provided like this}\n syncpack list --source {yellow \"apps/*/package.json\"} --source {yellow \"core/*/package.json\"}\n {dim # uses dependencies regular expression defined by --filter when provided}\n syncpack list --filter {yellow \"typescript|tslint\"}\n {dim # only inspect \"devDependencies\"}\n syncpack list --dev\n {dim # only inspect \"devDependencies\" and \"peerDependencies\"}\n syncpack list --dev --peer\n\nResolving Packages:\n 1. If {yellow --source} globs are provided, use those.\n 2. If using Pnpm Workspaces, read {yellow packages} from {yellow pnpm-workspace.yaml} in the root of the project.\n 3. If using Yarn Workspaces, read {yellow workspaces} from {yellow package.json}.\n 4. If using Lerna, read {yellow packages} from {yellow lerna.json}.\n 5. Default to {yellow \"package.json\"} and {yellow \"packages/*/package.json\"}.\n\nReference:\n globs {blue.underline https://github.com/isaacs/node-glob#glob-primer}\n lerna.json {blue.underline https://github.com/lerna/lerna#lernajson}\n Yarn Workspaces {blue.underline https://yarnpkg.com/lang/en/docs/workspaces}\n Pnpm Workspaces {blue.underline https://pnpm.js.org/en/workspaces}\n"], ["\nExamples:\n {dim # uses defaults for resolving packages}\n syncpack list\n {dim # uses packages defined by --source when provided}\n syncpack list --source {yellow \"apps/*/package.json\"}\n {dim # multiple globs can be provided like this}\n syncpack list --source {yellow \"apps/*/package.json\"} --source {yellow \"core/*/package.json\"}\n {dim # uses dependencies regular expression defined by --filter when provided}\n syncpack list --filter {yellow \"typescript|tslint\"}\n {dim # only inspect \"devDependencies\"}\n syncpack list --dev\n {dim # only inspect \"devDependencies\" and \"peerDependencies\"}\n syncpack list --dev --peer\n\nResolving Packages:\n 1. If {yellow --source} globs are provided, use those.\n 2. If using Pnpm Workspaces, read {yellow packages} from {yellow pnpm-workspace.yaml} in the root of the project.\n 3. If using Yarn Workspaces, read {yellow workspaces} from {yellow package.json}.\n 4. If using Lerna, read {yellow packages} from {yellow lerna.json}.\n 5. Default to {yellow \"package.json\"} and {yellow \"packages/*/package.json\"}.\n\nReference:\n globs {blue.underline https://github.com/isaacs/node-glob#glob-primer}\n lerna.json {blue.underline https://github.com/lerna/lerna#lernajson}\n Yarn Workspaces {blue.underline https://yarnpkg.com/lang/en/docs/workspaces}\n Pnpm Workspaces {blue.underline https://pnpm.js.org/en/workspaces}\n"]))));
41
- });
42
- (_a = (_b = (_c = (_d = commander_1.program
43
- .option.apply(commander_1.program, __spreadArray([], __read(constants_1.option.source))))
44
- .option.apply(_d, __spreadArray([], __read(constants_1.option.prod))))
45
- .option.apply(_c, __spreadArray([], __read(constants_1.option.dev))))
46
- .option.apply(_b, __spreadArray([], __read(constants_1.option.peer))))
47
- .option.apply(_a, __spreadArray([], __read(constants_1.option.filter))).parse(process.argv);
48
- list_1.listFromDisk(get_config_1.getConfig({
49
- dev: commander_1.program.opts().dev,
50
- filter: commander_1.program.opts().filter,
51
- peer: commander_1.program.opts().peer,
52
- prod: commander_1.program.opts().prod,
53
- source: commander_1.program.opts().source
54
- }));
55
- var templateObject_1;
@@ -1,59 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
4
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
5
- return cooked;
6
- };
7
- var __read = (this && this.__read) || function (o, n) {
8
- var m = typeof Symbol === "function" && o[Symbol.iterator];
9
- if (!m) return o;
10
- var i = m.call(o), r, ar = [], e;
11
- try {
12
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
13
- }
14
- catch (error) { e = { error: error }; }
15
- finally {
16
- try {
17
- if (r && !r.done && (m = i["return"])) m.call(i);
18
- }
19
- finally { if (e) throw e.error; }
20
- }
21
- return ar;
22
- };
23
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
24
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
25
- to[j] = from[i];
26
- return to;
27
- };
28
- var __importDefault = (this && this.__importDefault) || function (mod) {
29
- return (mod && mod.__esModule) ? mod : { "default": mod };
30
- };
31
- var _a, _b, _c, _d, _e, _f;
32
- exports.__esModule = true;
33
- var chalk_1 = __importDefault(require("chalk"));
34
- var set_semver_ranges_1 = require("./commands/set-semver-ranges");
35
- var constants_1 = require("./constants");
36
- var get_config_1 = require("./lib/get-config");
37
- var commander_1 = require("commander");
38
- commander_1.program.description("\n Ensure dependency versions used within \"dependencies\", \"devDependencies\", and\n \"peerDependencies\" follow a consistent format.".replace(/^\n/, ''));
39
- commander_1.program.on('--help', function () {
40
- console.log(chalk_1["default"](templateObject_1 || (templateObject_1 = __makeTemplateObject(["\nExamples:\n {dim # uses defaults for resolving packages}\n syncpack set-semver-ranges\n {dim # uses packages defined by --source when provided}\n syncpack set-semver-ranges --source {yellow \"apps/*/package.json\"}\n {dim # multiple globs can be provided like this}\n syncpack set-semver-ranges --source {yellow \"apps/*/package.json\"} --source {yellow \"core/*/package.json\"}\n {dim # uses dependencies regular expression defined by --filter when provided}\n syncpack set-semver-ranges --filter {yellow \"typescript|tslint\"}\n {dim # use ~ range instead of default \"\"}\n syncpack set-semver-ranges --semver-range ~\n {dim # set ~ range in \"devDependencies\"}\n syncpack set-semver-ranges --dev --semver-range ~\n {dim # set ~ range in \"devDependencies\" and \"peerDependencies\"}\n syncpack set-semver-ranges --dev --peer --semver-range ~\n {dim # indent package.json with 4 spaces instead of 2}\n syncpack set-semver-ranges --indent {yellow \" \"}\n\nSupported Ranges:\n < {dim <1.4.2}\n <= {dim <=1.4.2}\n \"\" {dim 1.4.2}\n ~ {dim ~1.4.2}\n ^ {dim ^1.4.2}\n >= {dim >=1.4.2}\n > {dim >1.4.2}\n * {dim *}\n\nResolving Packages:\n 1. If {yellow --source} globs are provided, use those.\n 2. If using Pnpm Workspaces, read {yellow packages} from {yellow pnpm-workspace.yaml} in the root of the project.\n 3. If using Yarn Workspaces, read {yellow workspaces} from {yellow package.json}.\n 4. If using Lerna, read {yellow packages} from {yellow lerna.json}.\n 5. Default to {yellow \"package.json\"} and {yellow \"packages/*/package.json\"}.\n\nReference:\n globs {blue.underline https://github.com/isaacs/node-glob#glob-primer}\n lerna.json {blue.underline https://github.com/lerna/lerna#lernajson}\n Yarn Workspaces {blue.underline https://yarnpkg.com/lang/en/docs/workspaces}\n Pnpm Workspaces {blue.underline https://pnpm.js.org/en/workspaces}\n"], ["\nExamples:\n {dim # uses defaults for resolving packages}\n syncpack set-semver-ranges\n {dim # uses packages defined by --source when provided}\n syncpack set-semver-ranges --source {yellow \"apps/*/package.json\"}\n {dim # multiple globs can be provided like this}\n syncpack set-semver-ranges --source {yellow \"apps/*/package.json\"} --source {yellow \"core/*/package.json\"}\n {dim # uses dependencies regular expression defined by --filter when provided}\n syncpack set-semver-ranges --filter {yellow \"typescript|tslint\"}\n {dim # use ~ range instead of default \"\"}\n syncpack set-semver-ranges --semver-range ~\n {dim # set ~ range in \"devDependencies\"}\n syncpack set-semver-ranges --dev --semver-range ~\n {dim # set ~ range in \"devDependencies\" and \"peerDependencies\"}\n syncpack set-semver-ranges --dev --peer --semver-range ~\n {dim # indent package.json with 4 spaces instead of 2}\n syncpack set-semver-ranges --indent {yellow \" \"}\n\nSupported Ranges:\n < {dim <1.4.2}\n <= {dim <=1.4.2}\n \"\" {dim 1.4.2}\n ~ {dim ~1.4.2}\n ^ {dim ^1.4.2}\n >= {dim >=1.4.2}\n > {dim >1.4.2}\n * {dim *}\n\nResolving Packages:\n 1. If {yellow --source} globs are provided, use those.\n 2. If using Pnpm Workspaces, read {yellow packages} from {yellow pnpm-workspace.yaml} in the root of the project.\n 3. If using Yarn Workspaces, read {yellow workspaces} from {yellow package.json}.\n 4. If using Lerna, read {yellow packages} from {yellow lerna.json}.\n 5. Default to {yellow \"package.json\"} and {yellow \"packages/*/package.json\"}.\n\nReference:\n globs {blue.underline https://github.com/isaacs/node-glob#glob-primer}\n lerna.json {blue.underline https://github.com/lerna/lerna#lernajson}\n Yarn Workspaces {blue.underline https://yarnpkg.com/lang/en/docs/workspaces}\n Pnpm Workspaces {blue.underline https://pnpm.js.org/en/workspaces}\n"]))));
41
- });
42
- (_a = (_b = (_c = (_d = (_e = (_f = commander_1.program
43
- .option.apply(commander_1.program, __spreadArray([], __read(constants_1.option.source))))
44
- .option.apply(_f, __spreadArray([], __read(constants_1.option.prod))))
45
- .option.apply(_e, __spreadArray([], __read(constants_1.option.dev))))
46
- .option.apply(_d, __spreadArray([], __read(constants_1.option.peer))))
47
- .option.apply(_c, __spreadArray([], __read(constants_1.option.filter))))
48
- .option.apply(_b, __spreadArray([], __read(constants_1.option.indent))))
49
- .option.apply(_a, __spreadArray([], __read(constants_1.option.semverRange))).parse(process.argv);
50
- set_semver_ranges_1.setSemverRangesToDisk(get_config_1.getConfig({
51
- dev: commander_1.program.opts().dev,
52
- filter: commander_1.program.opts().filter,
53
- indent: commander_1.program.opts().indent,
54
- peer: commander_1.program.opts().peer,
55
- prod: commander_1.program.opts().prod,
56
- semverRange: commander_1.program.opts().semverRange,
57
- source: commander_1.program.opts().source
58
- }));
59
- var templateObject_1;
@@ -1,6 +0,0 @@
1
- import { SyncpackConfig } from '../constants';
2
- import { SourceWrapper } from './lib/get-wrappers';
3
- declare type Options = Pick<SyncpackConfig, 'dev' | 'filter' | 'indent' | 'peer' | 'prod' | 'source' | 'versionGroups'>;
4
- export declare const fixMismatches: (wrappers: SourceWrapper[], options: Options) => void;
5
- export declare const fixMismatchesToDisk: (options: Options) => void;
6
- export {};
@@ -1,58 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- exports.__esModule = true;
6
- exports.fixMismatchesToDisk = exports.fixMismatches = void 0;
7
- var chalk_1 = __importDefault(require("chalk"));
8
- var fs_extra_1 = require("fs-extra");
9
- var os_1 = require("os");
10
- var path_1 = require("path");
11
- var get_highest_version_1 = require("./lib/get-highest-version");
12
- var get_wrappers_1 = require("./lib/get-wrappers");
13
- var get_mismatched_dependencies_1 = require("./lib/installations/get-mismatched-dependencies");
14
- var log_1 = require("./lib/log");
15
- var matches_filter_1 = require("./lib/matches-filter");
16
- var getWorkspaceVersion = function (name, wrappers) {
17
- var _a;
18
- var local = wrappers.find(function (wrapper) { return wrapper.contents.name === name; });
19
- return ((_a = local === null || local === void 0 ? void 0 : local.contents) === null || _a === void 0 ? void 0 : _a.version) || null;
20
- };
21
- var fixMismatches = function (wrappers, options) {
22
- var iterator = get_mismatched_dependencies_1.getMismatchedDependencies(wrappers, options);
23
- var mismatches = Array.from(iterator).filter(matches_filter_1.matchesFilter(options));
24
- mismatches.forEach(function (installedPackage) {
25
- var versions = installedPackage.installations.map(function (installation) { return installation.version; });
26
- var nextVersion = getWorkspaceVersion(installedPackage.name, wrappers) || get_highest_version_1.getHighestVersion(versions);
27
- if (nextVersion !== null) {
28
- installedPackage.installations.forEach(function (_a) {
29
- var type = _a.type, name = _a.name, source = _a.source;
30
- var dependencies = source.contents[type];
31
- if (dependencies) {
32
- dependencies[name] = nextVersion;
33
- }
34
- });
35
- }
36
- });
37
- };
38
- exports.fixMismatches = fixMismatches;
39
- var fixMismatchesToDisk = function (options) {
40
- var indent = options.indent, source = options.source;
41
- var toJson = function (wrapper) { return "" + JSON.stringify(wrapper.contents, null, indent) + os_1.EOL; };
42
- var wrappers = get_wrappers_1.getWrappers({ source: source });
43
- var allBefore = wrappers.map(toJson);
44
- exports.fixMismatches(wrappers, options);
45
- wrappers.forEach(function (wrapper, i) {
46
- var shortPath = path_1.relative(process.cwd(), wrapper.filePath);
47
- var before = allBefore[i];
48
- var after = toJson(wrapper);
49
- if (before !== after) {
50
- fs_extra_1.writeFileSync(wrapper.filePath, after);
51
- log_1.log(chalk_1["default"].green('✓'), shortPath);
52
- }
53
- else {
54
- log_1.log(chalk_1["default"].dim('-', shortPath));
55
- }
56
- });
57
- };
58
- exports.fixMismatchesToDisk = fixMismatchesToDisk;
@@ -1,6 +0,0 @@
1
- import { SyncpackConfig } from '../constants';
2
- import { Source, SourceWrapper } from './lib/get-wrappers';
3
- declare type Options = Pick<SyncpackConfig, 'indent' | 'sortAz' | 'sortFirst' | 'source'>;
4
- export declare const format: (wrapper: SourceWrapper, options: Options) => Source;
5
- export declare const formatToDisk: (options: Options) => void;
6
- export {};
@@ -1,49 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.formatToDisk = exports.format = void 0;
4
- var get_wrappers_1 = require("./lib/get-wrappers");
5
- var write_if_changed_1 = require("./lib/write-if-changed");
6
- var sortObject = function (sortedKeys, obj) {
7
- sortedKeys.forEach(function (key) {
8
- var value = obj[key];
9
- delete obj[key];
10
- obj[key] = value;
11
- });
12
- };
13
- var sortAlphabetically = function (value) {
14
- if (Array.isArray(value)) {
15
- value.sort();
16
- }
17
- else if (value && typeof value === 'object') {
18
- sortObject(Object.keys(value).sort(), value);
19
- }
20
- };
21
- var format = function (wrapper, options) {
22
- var sortAz = options.sortAz, sortFirst = options.sortFirst;
23
- var contents = wrapper.contents;
24
- var sortedKeys = Object.keys(contents).sort();
25
- var keys = new Set(sortFirst.concat(sortedKeys));
26
- if (contents.bugs && typeof contents.bugs === 'object' && contents.bugs.url) {
27
- contents.bugs = contents.bugs.url;
28
- }
29
- if (contents.repository && typeof contents.repository === 'object' && contents.repository.url) {
30
- if (contents.repository.url.includes('github.com')) {
31
- contents.repository = contents.repository.url.replace(/^.+github\.com\//, '');
32
- }
33
- else {
34
- contents.repository = contents.repository.url;
35
- }
36
- }
37
- sortAz.forEach(function (key) { return sortAlphabetically(contents[key]); });
38
- sortObject(keys, contents);
39
- return contents;
40
- };
41
- exports.format = format;
42
- var formatToDisk = function (options) {
43
- get_wrappers_1.getWrappers({ source: options.source }).forEach(function (wrapper) {
44
- write_if_changed_1.writeIfChanged(options.indent, wrapper, function () {
45
- exports.format(wrapper, options);
46
- });
47
- });
48
- };
49
- exports.formatToDisk = formatToDisk;
@@ -1,8 +0,0 @@
1
- import { DependencyType } from '../../constants';
2
- interface Options {
3
- prod: boolean;
4
- dev: boolean;
5
- peer: boolean;
6
- }
7
- export declare const getDependencyTypes: (program: Options) => DependencyType[];
8
- export {};
@@ -1,14 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.getDependencyTypes = void 0;
4
- var constants_1 = require("../../constants");
5
- var getDependencyTypes = function (program) {
6
- return program.prod || program.dev || program.peer
7
- ? constants_1.DEPENDENCY_TYPES.filter(function (type) {
8
- return (type === 'dependencies' && program.prod) ||
9
- (type === 'devDependencies' && program.dev) ||
10
- (type === 'peerDependencies' && program.peer);
11
- })
12
- : constants_1.DEPENDENCY_TYPES;
13
- };
14
- exports.getDependencyTypes = getDependencyTypes;
@@ -1 +0,0 @@
1
- export declare const getHighestVersion: (versions: string[]) => string | null;
@@ -1,47 +0,0 @@
1
- interface Options {
2
- source: string[];
3
- }
4
- export interface Source {
5
- bugs?: {
6
- url: string;
7
- } | string;
8
- dependencies?: {
9
- [key: string]: string;
10
- };
11
- description?: string;
12
- devDependencies?: {
13
- [key: string]: string;
14
- };
15
- keywords?: string[];
16
- name?: string;
17
- peerDependencies?: {
18
- [key: string]: string;
19
- };
20
- repository?: {
21
- type: string;
22
- url: string;
23
- } | string;
24
- resolutions?: {
25
- [key: string]: string;
26
- };
27
- scripts?: {
28
- [key: string]: string;
29
- };
30
- version?: string;
31
- workspaces?: string[] | {
32
- [key: string]: string[];
33
- };
34
- [otherProps: string]: string | string[] | {
35
- [key: string]: string | string[];
36
- } | undefined;
37
- }
38
- export interface SourceWrapper {
39
- /** the absolute path on disk to this package.json file */
40
- filePath: string;
41
- /** the parsed JSON contents of this package.json file */
42
- contents: Source;
43
- /** the raw file contents of this package.json file */
44
- json: string;
45
- }
46
- export declare const getWrappers: (program: Options) => SourceWrapper[];
47
- export {};
@@ -1,53 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.getWrappers = void 0;
4
- var expect_more_1 = require("expect-more");
5
- var fs_extra_1 = require("fs-extra");
6
- var glob_1 = require("glob");
7
- var path_1 = require("path");
8
- var read_yaml_file_1 = require("read-yaml-file");
9
- var constants_1 = require("../../constants");
10
- var getPatternsFromJson = function (fileName, getProperties) {
11
- var filePath = path_1.resolve(process.cwd(), fileName);
12
- var config = fs_extra_1.readJsonSync(filePath, { throws: false });
13
- if (!config)
14
- return null;
15
- var packages = getProperties(config).find(expect_more_1.isArrayOfStrings);
16
- return packages ? [process.cwd()].concat(packages).map(function (dirPath) { return path_1.join(dirPath, 'package.json'); }) : null;
17
- };
18
- var getCliPatterns = function (program) {
19
- return expect_more_1.isArrayOfStrings(program.source) ? program.source : null;
20
- };
21
- var getYarnPatterns = function () {
22
- return getPatternsFromJson('package.json', function (config) { var _a; return [config.workspaces, (_a = config.workspaces) === null || _a === void 0 ? void 0 : _a.packages]; });
23
- };
24
- var getLernaPatterns = function () { return getPatternsFromJson('lerna.json', function (config) { return [config.packages]; }); };
25
- var getPnpmPatterns = function () {
26
- try {
27
- var filePath = path_1.resolve(process.cwd(), 'pnpm-workspace.yaml');
28
- var config = read_yaml_file_1.sync(filePath);
29
- var packages = [config.packages].find(expect_more_1.isArrayOfStrings);
30
- return packages ? [process.cwd()].concat(packages).map(function (dirPath) { return path_1.join(dirPath, 'package.json'); }) : null;
31
- }
32
- catch (err) {
33
- return null;
34
- }
35
- };
36
- var getDefaultPatterns = function () { return constants_1.ALL_PATTERNS; };
37
- var resolvePattern = function (pattern) { return glob_1.sync(pattern, { absolute: true }); };
38
- var reduceFlatArray = function (all, next) { return all.concat(next); };
39
- var createWrapper = function (filePath) {
40
- var json = fs_extra_1.readFileSync(filePath, { encoding: 'utf8' });
41
- return {
42
- contents: JSON.parse(json),
43
- filePath: filePath,
44
- json: json
45
- };
46
- };
47
- var getWrappers = function (program) {
48
- return (getCliPatterns(program) || getYarnPatterns() || getPnpmPatterns() || getLernaPatterns() || getDefaultPatterns())
49
- .map(resolvePattern)
50
- .reduce(reduceFlatArray, [])
51
- .map(createWrapper);
52
- };
53
- exports.getWrappers = getWrappers;
@@ -1,19 +0,0 @@
1
- import { DependencyType, SyncpackConfig } from '../../../constants';
2
- import { SourceWrapper } from '../get-wrappers';
3
- export interface Installation {
4
- /** which section the package was installed in */
5
- type: DependencyType;
6
- /** eg 'lodash' */
7
- name: string;
8
- /** package.json file contents */
9
- source: SourceWrapper;
10
- /** eg '0.1.0' */
11
- version: string;
12
- }
13
- export interface InstalledPackage {
14
- /** eg 'lodash' */
15
- name: string;
16
- /** each location this package is installed */
17
- installations: Installation[];
18
- }
19
- export declare function getDependencies(wrappers: SourceWrapper[], options: Pick<SyncpackConfig, 'dev' | 'peer' | 'prod'>): Generator<InstalledPackage>;
@@ -1,121 +0,0 @@
1
- "use strict";
2
- var __generator = (this && this.__generator) || function (thisArg, body) {
3
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
4
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
5
- function verb(n) { return function (v) { return step([n, v]); }; }
6
- function step(op) {
7
- if (f) throw new TypeError("Generator is already executing.");
8
- while (_) try {
9
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
10
- if (y = 0, t) op = [op[0] & 2, t.value];
11
- switch (op[0]) {
12
- case 0: case 1: t = op; break;
13
- case 4: _.label++; return { value: op[1], done: false };
14
- case 5: _.label++; y = op[1]; op = [0]; continue;
15
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
16
- default:
17
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
18
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
19
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
20
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
21
- if (t[2]) _.ops.pop();
22
- _.trys.pop(); continue;
23
- }
24
- op = body.call(thisArg, _);
25
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
26
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
27
- }
28
- };
29
- var __values = (this && this.__values) || function(o) {
30
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
31
- if (m) return m.call(o);
32
- if (o && typeof o.length === "number") return {
33
- next: function () {
34
- if (o && i >= o.length) o = void 0;
35
- return { value: o && o[i++], done: !o };
36
- }
37
- };
38
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
39
- };
40
- exports.__esModule = true;
41
- exports.getDependencies = void 0;
42
- var get_dependency_types_1 = require("../get-dependency-types");
43
- var get_installations_of_1 = require("./get-installations-of");
44
- function getDependencies(wrappers, options) {
45
- var types, visited, types_1, types_1_1, type, wrappers_1, wrappers_1_1, wrapper, _a, _b, _i, name, e_1_1, e_2_1;
46
- var e_2, _c, e_1, _d;
47
- return __generator(this, function (_e) {
48
- switch (_e.label) {
49
- case 0:
50
- types = get_dependency_types_1.getDependencyTypes(options);
51
- visited = {};
52
- _e.label = 1;
53
- case 1:
54
- _e.trys.push([1, 14, 15, 16]);
55
- types_1 = __values(types), types_1_1 = types_1.next();
56
- _e.label = 2;
57
- case 2:
58
- if (!!types_1_1.done) return [3 /*break*/, 13];
59
- type = types_1_1.value;
60
- _e.label = 3;
61
- case 3:
62
- _e.trys.push([3, 10, 11, 12]);
63
- wrappers_1 = (e_1 = void 0, __values(wrappers)), wrappers_1_1 = wrappers_1.next();
64
- _e.label = 4;
65
- case 4:
66
- if (!!wrappers_1_1.done) return [3 /*break*/, 9];
67
- wrapper = wrappers_1_1.value;
68
- if (!wrapper.contents[type]) return [3 /*break*/, 8];
69
- _a = [];
70
- for (_b in wrapper.contents[type])
71
- _a.push(_b);
72
- _i = 0;
73
- _e.label = 5;
74
- case 5:
75
- if (!(_i < _a.length)) return [3 /*break*/, 8];
76
- name = _a[_i];
77
- if (!(visited[name] === undefined)) return [3 /*break*/, 7];
78
- visited[name] = true;
79
- return [4 /*yield*/, {
80
- installations: Array.from(get_installations_of_1.getInstallationsOf(name, types, wrappers)),
81
- name: name
82
- }];
83
- case 6:
84
- _e.sent();
85
- _e.label = 7;
86
- case 7:
87
- _i++;
88
- return [3 /*break*/, 5];
89
- case 8:
90
- wrappers_1_1 = wrappers_1.next();
91
- return [3 /*break*/, 4];
92
- case 9: return [3 /*break*/, 12];
93
- case 10:
94
- e_1_1 = _e.sent();
95
- e_1 = { error: e_1_1 };
96
- return [3 /*break*/, 12];
97
- case 11:
98
- try {
99
- if (wrappers_1_1 && !wrappers_1_1.done && (_d = wrappers_1["return"])) _d.call(wrappers_1);
100
- }
101
- finally { if (e_1) throw e_1.error; }
102
- return [7 /*endfinally*/];
103
- case 12:
104
- types_1_1 = types_1.next();
105
- return [3 /*break*/, 2];
106
- case 13: return [3 /*break*/, 16];
107
- case 14:
108
- e_2_1 = _e.sent();
109
- e_2 = { error: e_2_1 };
110
- return [3 /*break*/, 16];
111
- case 15:
112
- try {
113
- if (types_1_1 && !types_1_1.done && (_c = types_1["return"])) _c.call(types_1);
114
- }
115
- finally { if (e_2) throw e_2.error; }
116
- return [7 /*endfinally*/];
117
- case 16: return [2 /*return*/];
118
- }
119
- });
120
- }
121
- exports.getDependencies = getDependencies;
@@ -1,4 +0,0 @@
1
- import { SyncpackConfig } from '../../../constants';
2
- import { SourceWrapper } from '../get-wrappers';
3
- import { InstalledPackage } from './get-dependencies';
4
- export declare function getGroupedMismatchedDependencies(wrappers: SourceWrapper[], options: Pick<SyncpackConfig, 'dev' | 'peer' | 'prod' | 'versionGroups'>): Generator<InstalledPackage>;