syncpack 9.3.2 → 9.8.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 (100) hide show
  1. package/dist/bin-fix-mismatches/fix-mismatches-cli.js +4 -4
  2. package/dist/bin-fix-mismatches/fix-mismatches.js +17 -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 +20 -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 +13 -35
  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 +55 -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-config/get-core-types.js +11 -41
  24. package/dist/get-context/get-config/get-custom-types.js +7 -19
  25. package/dist/get-context/get-config/get-enabled-types.js +9 -11
  26. package/dist/get-context/get-config/index.d.ts +3 -1
  27. package/dist/get-context/get-config/index.js +37 -61
  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 -2
  36. package/dist/get-context/get-config/schema/base-group.js +5 -5
  37. package/dist/get-context/get-config/schema/index.d.ts +292 -164
  38. package/dist/get-context/get-config/schema/index.js +40 -63
  39. package/dist/get-context/get-config/schema/lib/non-empty-string.d.ts +2 -0
  40. package/dist/get-context/get-config/schema/lib/non-empty-string.js +5 -0
  41. package/dist/get-context/get-config/schema/paths.js +12 -12
  42. package/dist/get-context/get-config/schema/semver-group.d.ts +24 -24
  43. package/dist/get-context/get-config/schema/semver-group.js +11 -18
  44. package/dist/get-context/get-config/schema/semver-range.js +4 -4
  45. package/dist/get-context/get-config/schema/version-group.d.ts +90 -41
  46. package/dist/get-context/get-config/schema/version-group.js +28 -23
  47. package/dist/get-context/get-groups/base-group.d.ts +4 -1
  48. package/dist/get-context/get-groups/base-group.js +18 -19
  49. package/dist/get-context/get-groups/index.d.ts +7 -3
  50. package/dist/get-context/get-groups/index.js +42 -38
  51. package/dist/get-context/get-groups/semver-group.d.ts +0 -1
  52. package/dist/get-context/get-groups/semver-group.js +23 -66
  53. package/dist/get-context/get-groups/version-group/index.d.ts +7 -4
  54. package/dist/get-context/get-groups/version-group/index.js +31 -70
  55. package/dist/get-context/get-groups/version-group/instance-group/get-highest-version.d.ts +3 -1
  56. package/dist/get-context/get-groups/version-group/instance-group/get-highest-version.js +36 -45
  57. package/dist/get-context/get-groups/version-group/instance-group/get-lowest-version.d.ts +3 -0
  58. package/dist/get-context/get-groups/version-group/instance-group/get-lowest-version.js +44 -0
  59. package/dist/get-context/get-groups/version-group/instance-group/index.d.ts +16 -5
  60. package/dist/get-context/get-groups/version-group/instance-group/index.js +66 -54
  61. package/dist/get-context/get-groups/version-group/instance-group/lib/clean.d.ts +2 -0
  62. package/dist/get-context/get-groups/version-group/instance-group/lib/clean.js +13 -0
  63. package/dist/get-context/get-groups/version-group/instance-group/lib/compare-semver.d.ts +4 -0
  64. package/dist/get-context/get-groups/version-group/instance-group/lib/compare-semver.js +38 -0
  65. package/dist/get-context/get-groups/version-group/instance-group/lib/get-range-score.d.ts +2 -0
  66. package/dist/get-context/get-groups/version-group/instance-group/lib/get-range-score.js +23 -0
  67. package/dist/get-context/get-package-json-files/get-file-paths.js +18 -19
  68. package/dist/get-context/get-package-json-files/get-patterns/get-lerna-patterns.js +9 -12
  69. package/dist/get-context/get-package-json-files/get-patterns/get-pnpm-patterns.js +9 -11
  70. package/dist/get-context/get-package-json-files/get-patterns/get-yarn-patterns.js +10 -13
  71. package/dist/get-context/get-package-json-files/get-patterns/index.js +15 -42
  72. package/dist/get-context/get-package-json-files/get-patterns/lib/get-array-of-strings.js +4 -6
  73. package/dist/get-context/get-package-json-files/get-patterns/props.js +9 -33
  74. package/dist/get-context/get-package-json-files/get-patterns/read-json-safe.js +6 -9
  75. package/dist/get-context/get-package-json-files/get-patterns/read-yaml-safe.js +4 -4
  76. package/dist/get-context/get-package-json-files/index.d.ts +3 -1
  77. package/dist/get-context/get-package-json-files/index.js +8 -8
  78. package/dist/get-context/get-package-json-files/package-json-file/index.js +32 -55
  79. package/dist/get-context/get-package-json-files/package-json-file/instance.d.ts +2 -1
  80. package/dist/get-context/get-package-json-files/package-json-file/instance.js +15 -15
  81. package/dist/get-context/index.d.ts +3 -2
  82. package/dist/get-context/index.js +28 -24
  83. package/dist/lib/disk.js +28 -29
  84. package/dist/lib/error.js +13 -31
  85. package/dist/lib/exit-if-invalid.js +1 -1
  86. package/dist/lib/is-semver.d.ts +1 -1
  87. package/dist/lib/is-semver.js +15 -7
  88. package/dist/lib/log.js +38 -58
  89. package/dist/lib/newlines.js +11 -11
  90. package/dist/lib/print-strings.js +2 -2
  91. package/dist/lib/set-semver-range.js +8 -8
  92. package/dist/lib/show-help-on-error.js +31 -8
  93. package/dist/lib/sort-by-name.js +1 -1
  94. package/dist/lib/write-if-changed.js +3 -3
  95. package/dist/option.js +8 -13
  96. package/dist/types.d.ts +3 -1
  97. package/dist/types.js +1 -1
  98. package/package.json +20 -16
  99. package/dist/get-context/get-all-instances.d.ts +0 -3
  100. package/dist/get-context/get-all-instances.js +0 -8
@@ -1,63 +1,76 @@
1
1
  #!/usr/bin/env node
2
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, pack) {
24
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
25
- if (ar || !(i in from)) {
26
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
27
- ar[i] = from[i];
28
- }
29
- }
30
- return to.concat(ar || Array.prototype.slice.call(from));
31
- };
32
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
33
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
34
5
  };
35
- var _a, _b, _c, _d, _e;
36
- exports.__esModule = true;
37
- var chalk_1 = __importDefault(require("chalk"));
38
- var commander_1 = require("commander");
39
- var disk_1 = require("../lib/disk");
40
- var show_help_on_error_1 = require("../lib/show-help-on-error");
41
- var option_1 = require("../option");
42
- var set_semver_ranges_cli_1 = require("./set-semver-ranges-cli");
43
- commander_1.program.description((0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n Ensure dependency versions within {yellow dependencies}, {yellow devDependencies},\n {yellow peerDependencies}, {yellow overrides}, and {yellow resolutions} follow a consistent format."], ["\n Ensure dependency versions within {yellow dependencies}, {yellow devDependencies},\n {yellow peerDependencies}, {yellow overrides}, and {yellow resolutions} follow a consistent format."]))).replace(/^\n/, ''));
44
- commander_1.program.on('--help', function () {
45
- console.log((0, chalk_1["default"])(templateObject_2 || (templateObject_2 = __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 --types dev --semver-range ~\n {dim # set ~ range in \"devDependencies\" and \"peerDependencies\"}\n syncpack set-semver-ranges --types 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 --types dev --semver-range ~\n {dim # set ~ range in \"devDependencies\" and \"peerDependencies\"}\n syncpack set-semver-ranges --types 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"]))));
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const commander_1 = require("commander");
9
+ const disk_1 = require("../lib/disk");
10
+ const show_help_on_error_1 = require("../lib/show-help-on-error");
11
+ const option_1 = require("../option");
12
+ const set_semver_ranges_cli_1 = require("./set-semver-ranges-cli");
13
+ commander_1.program.description((0, chalk_1.default) `
14
+ Ensure dependency versions within {yellow dependencies}, {yellow devDependencies},
15
+ {yellow peerDependencies}, {yellow overrides}, and {yellow resolutions} follow a consistent format.`.replace(/^\n/, ''));
16
+ commander_1.program.on('--help', () => {
17
+ console.log((0, chalk_1.default) `
18
+ Examples:
19
+ {dim # uses defaults for resolving packages}
20
+ syncpack set-semver-ranges
21
+ {dim # uses packages defined by --source when provided}
22
+ syncpack set-semver-ranges --source {yellow "apps/*/package.json"}
23
+ {dim # multiple globs can be provided like this}
24
+ syncpack set-semver-ranges --source {yellow "apps/*/package.json"} --source {yellow "core/*/package.json"}
25
+ {dim # uses dependencies regular expression defined by --filter when provided}
26
+ syncpack set-semver-ranges --filter {yellow "typescript|tslint"}
27
+ {dim # use ~ range instead of default ""}
28
+ syncpack set-semver-ranges --semver-range ~
29
+ {dim # set ~ range in "devDependencies"}
30
+ syncpack set-semver-ranges --types dev --semver-range ~
31
+ {dim # set ~ range in "devDependencies" and "peerDependencies"}
32
+ syncpack set-semver-ranges --types dev,peer --semver-range ~
33
+ {dim # indent package.json with 4 spaces instead of 2}
34
+ syncpack set-semver-ranges --indent {yellow " "}
35
+
36
+ Supported Ranges:
37
+ < {dim <1.4.2}
38
+ <= {dim <=1.4.2}
39
+ "" {dim 1.4.2}
40
+ ~ {dim ~1.4.2}
41
+ ^ {dim ^1.4.2}
42
+ >= {dim >=1.4.2}
43
+ > {dim >1.4.2}
44
+ * {dim *}
45
+
46
+ Resolving Packages:
47
+ 1. If {yellow --source} globs are provided, use those.
48
+ 2. If using Pnpm Workspaces, read {yellow packages} from {yellow pnpm-workspace.yaml} in the root of the project.
49
+ 3. If using Yarn Workspaces, read {yellow workspaces} from {yellow package.json}.
50
+ 4. If using Lerna, read {yellow packages} from {yellow lerna.json}.
51
+ 5. Default to {yellow "package.json"} and {yellow "packages/*/package.json"}.
52
+
53
+ Reference:
54
+ globs {blue.underline https://github.com/isaacs/node-glob#glob-primer}
55
+ lerna.json {blue.underline https://github.com/lerna/lerna#lernajson}
56
+ Yarn Workspaces {blue.underline https://yarnpkg.com/lang/en/docs/workspaces}
57
+ Pnpm Workspaces {blue.underline https://pnpm.js.org/en/workspaces}
58
+ `);
46
59
  });
47
60
  (0, show_help_on_error_1.showHelpOnError)(commander_1.program);
48
- (_a = (_b = (_c = (_d = (_e = commander_1.program
49
- .option.apply(commander_1.program, __spreadArray([], __read(option_1.option.source), false)))
50
- .option.apply(_e, __spreadArray([], __read(option_1.option.filter), false)))
51
- .option.apply(_d, __spreadArray([], __read(option_1.option.config), false)))
52
- .option.apply(_c, __spreadArray([], __read(option_1.option.semverRange), false)))
53
- .option.apply(_b, __spreadArray([], __read(option_1.option.types), false)))
54
- .option.apply(_a, __spreadArray([], __read(option_1.option.indent), false)).parse(process.argv);
61
+ commander_1.program
62
+ .option(...option_1.option.source)
63
+ .option(...option_1.option.filter)
64
+ .option(...option_1.option.config)
65
+ .option(...option_1.option.semverRange)
66
+ .option(...option_1.option.types)
67
+ .option(...option_1.option.indent)
68
+ .parse(process.argv);
55
69
  (0, set_semver_ranges_cli_1.setSemverRangesCli)({
56
70
  configPath: commander_1.program.opts().config,
57
71
  filter: commander_1.program.opts().filter,
58
72
  indent: commander_1.program.opts().indent,
59
73
  semverRange: commander_1.program.opts().semverRange,
60
74
  source: commander_1.program.opts().source,
61
- types: commander_1.program.opts().types
75
+ types: commander_1.program.opts().types,
62
76
  }, disk_1.disk);
63
- var templateObject_1, templateObject_2;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setSemverRangesCli = void 0;
4
- var get_context_1 = require("../get-context");
5
- var write_if_changed_1 = require("../lib/write-if-changed");
6
- var set_semver_ranges_1 = require("./set-semver-ranges");
4
+ const get_context_1 = require("../get-context");
5
+ const write_if_changed_1 = require("../lib/write-if-changed");
6
+ const set_semver_ranges_1 = require("./set-semver-ranges");
7
7
  function setSemverRangesCli(input, disk) {
8
8
  (0, write_if_changed_1.writeIfChanged)((0, set_semver_ranges_1.setSemverRanges)((0, get_context_1.getContext)(input, disk)));
9
9
  }
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setSemverRanges = void 0;
4
- var setSemverRanges = function (ctx) {
5
- ctx.semverGroups.forEach(function (semverGroup) {
6
- semverGroup.instances.forEach(function (instance) {
4
+ const setSemverRanges = (ctx) => {
5
+ ctx.semverGroups.forEach((semverGroup) => {
6
+ semverGroup.instances.forEach((instance) => {
7
7
  instance.setVersion(semverGroup.getExpectedVersion(instance));
8
8
  });
9
9
  });
package/dist/bin.js CHANGED
@@ -1,26 +1,26 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
- exports.__esModule = true;
4
- var commander_1 = require("commander");
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const commander_1 = require("commander");
5
5
  commander_1.program
6
6
  .version(require('../package.json').version)
7
7
  .command('fix-mismatches', 'set dependencies used with different versions to the same version', {
8
- executableFile: './bin-fix-mismatches/index.js'
8
+ executableFile: './bin-fix-mismatches/index.js',
9
9
  })
10
10
  .command('format', 'sort and shorten properties according to a convention', {
11
- executableFile: './bin-format/index.js'
11
+ executableFile: './bin-format/index.js',
12
12
  })
13
13
  .command('lint-semver-ranges', 'check dependency versions comply with the given semver range format', {
14
- executableFile: './bin-lint-semver-ranges/index.js'
14
+ executableFile: './bin-lint-semver-ranges/index.js',
15
15
  })
16
16
  .command('list-mismatches', 'list every dependency used with different versions in your packages', {
17
- executableFile: './bin-list-mismatches/index.js'
17
+ executableFile: './bin-list-mismatches/index.js',
18
18
  })
19
19
  .command('list', 'list every dependency used in your packages', {
20
20
  executableFile: './bin-list/index.js',
21
- isDefault: true
21
+ isDefault: true,
22
22
  })
23
23
  .command('set-semver-ranges', 'set semver ranges to the given format', {
24
- executableFile: './bin-set-semver-ranges/index.js'
24
+ executableFile: './bin-set-semver-ranges/index.js',
25
25
  })
26
26
  .parse(process.argv);
@@ -4,9 +4,10 @@ export declare const CWD: string;
4
4
  export declare const DEFAULT_SOURCES: string[];
5
5
  /** Single source of truth for icons used in output */
6
6
  export declare const ICON: {
7
- readonly rightArrow: "→";
8
7
  readonly cross: "✘";
9
8
  readonly debug: "?";
9
+ readonly panic: "!";
10
+ readonly rightArrow: "→";
10
11
  readonly skip: "-";
11
12
  readonly tick: "✓";
12
13
  };
package/dist/constants.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_CONFIG = exports.RANGE = exports.ICON = exports.DEFAULT_SOURCES = exports.CWD = void 0;
4
4
  /** Single source of truth, intended to aid testing or to override */
5
5
  exports.CWD = process.env.MOCK_CWD || process.cwd();
@@ -7,11 +7,12 @@ exports.CWD = process.env.MOCK_CWD || process.cwd();
7
7
  exports.DEFAULT_SOURCES = ['package.json', 'packages/*/package.json'];
8
8
  /** Single source of truth for icons used in output */
9
9
  exports.ICON = {
10
- rightArrow: '→',
11
10
  cross: '✘',
12
11
  debug: '?',
12
+ panic: '!',
13
+ rightArrow: '→',
13
14
  skip: '-',
14
- tick: '✓'
15
+ tick: '✓',
15
16
  };
16
17
  exports.RANGE = {
17
18
  ANY: '*',
@@ -22,7 +23,7 @@ exports.RANGE = {
22
23
  LT: '<',
23
24
  LTE: '<=',
24
25
  MINOR: '^',
25
- PATCH: '~'
26
+ PATCH: '~',
26
27
  };
27
28
  exports.DEFAULT_CONFIG = {
28
29
  dependencyTypes: [
@@ -49,5 +50,5 @@ exports.DEFAULT_CONFIG = {
49
50
  ],
50
51
  sortFirst: ['name', 'description', 'version', 'author'],
51
52
  source: [],
52
- versionGroups: []
53
+ versionGroups: [],
53
54
  };
@@ -1,20 +1,9 @@
1
1
  "use strict";
2
- var __values = (this && this.__values) || function(o) {
3
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
- if (m) return m.call(o);
5
- if (o && typeof o.length === "number") return {
6
- next: function () {
7
- if (o && i >= o.length) o = void 0;
8
- return { value: o && o[i++], done: !o };
9
- }
10
- };
11
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
- };
13
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
14
3
  exports.$R = void 0;
15
- var ts_belt_1 = require("@mobily/ts-belt");
16
- var error_1 = require("../lib/error");
17
- var log_1 = require("../lib/log");
4
+ const ts_belt_1 = require("@mobily/ts-belt");
5
+ const error_1 = require("../lib/error");
6
+ const log_1 = require("../lib/log");
18
7
  /** Additional helpers for https://mobily.github.io/ts-belt/api/result */
19
8
  exports.$R = {
20
9
  /**
@@ -22,25 +11,14 @@ exports.$R = {
22
11
  * `R.Result` returned by `getResult(input)` which succeeded, or a single
23
12
  * `R.Error<BaseError>` if none succeeded.
24
13
  */
25
- onlyOk: function (getResult) {
26
- return function (inputs) {
27
- var e_1, _a;
28
- var outputs = [];
29
- try {
30
- for (var inputs_1 = __values(inputs), inputs_1_1 = inputs_1.next(); !inputs_1_1.done; inputs_1_1 = inputs_1.next()) {
31
- var value = inputs_1_1.value;
32
- var result = getResult(value);
33
- if (ts_belt_1.R.isError(result))
34
- continue;
35
- outputs.push(ts_belt_1.R.getExn(result));
36
- }
37
- }
38
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
39
- finally {
40
- try {
41
- if (inputs_1_1 && !inputs_1_1.done && (_a = inputs_1["return"])) _a.call(inputs_1);
42
- }
43
- finally { if (e_1) throw e_1.error; }
14
+ onlyOk(getResult) {
15
+ return (inputs) => {
16
+ const outputs = [];
17
+ for (const value of inputs) {
18
+ const result = getResult(value);
19
+ if (ts_belt_1.R.isError(result))
20
+ continue;
21
+ outputs.push(ts_belt_1.R.getExn(result));
44
22
  }
45
23
  return outputs.length > 0
46
24
  ? ts_belt_1.R.Ok(outputs)
@@ -48,9 +26,9 @@ exports.$R = {
48
26
  };
49
27
  },
50
28
  /** Log verbose only when R.Result is an R.Err */
51
- tapErrVerbose: function (result) {
29
+ tapErrVerbose(result) {
52
30
  if (ts_belt_1.R.isError(result))
53
31
  (0, log_1.verbose)(result._0.message);
54
32
  return result;
55
- }
33
+ },
56
34
  };
@@ -1,68 +1,38 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __read = (this && this.__read) || function (o, n) {
14
- var m = typeof Symbol === "function" && o[Symbol.iterator];
15
- if (!m) return o;
16
- var i = m.call(o), r, ar = [], e;
17
- try {
18
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
- }
20
- catch (error) { e = { error: error }; }
21
- finally {
22
- try {
23
- if (r && !r.done && (m = i["return"])) m.call(i);
24
- }
25
- finally { if (e) throw e.error; }
26
- }
27
- return ar;
28
- };
29
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
30
3
  exports.getCoreTypes = void 0;
31
- var coreTypes = {
4
+ const coreTypes = {
32
5
  dev: {
33
6
  path: 'devDependencies',
34
- strategy: 'versionsByName'
7
+ strategy: 'versionsByName',
35
8
  },
36
9
  overrides: {
37
10
  path: 'overrides',
38
- strategy: 'versionsByName'
11
+ strategy: 'versionsByName',
39
12
  },
40
13
  peer: {
41
14
  path: 'peerDependencies',
42
- strategy: 'versionsByName'
15
+ strategy: 'versionsByName',
43
16
  },
44
17
  pnpmOverrides: {
45
18
  path: 'pnpm.overrides',
46
- strategy: 'versionsByName'
19
+ strategy: 'versionsByName',
47
20
  },
48
21
  prod: {
49
22
  path: 'dependencies',
50
- strategy: 'versionsByName'
23
+ strategy: 'versionsByName',
51
24
  },
52
25
  resolutions: {
53
26
  path: 'resolutions',
54
- strategy: 'versionsByName'
27
+ strategy: 'versionsByName',
55
28
  },
56
29
  workspace: {
57
30
  namePath: 'name',
58
31
  path: 'version',
59
- strategy: 'name~version'
60
- }
32
+ strategy: 'name~version',
33
+ },
61
34
  };
62
35
  function getCoreTypes() {
63
- return Object.entries(coreTypes).map(function (_a) {
64
- var _b = __read(_a, 2), name = _b[0], pathDef = _b[1];
65
- return (__assign(__assign({}, pathDef), { name: name }));
66
- });
36
+ return Object.entries(coreTypes).map(([name, pathDef]) => ({ ...pathDef, name }));
67
37
  }
68
38
  exports.getCoreTypes = getCoreTypes;
@@ -1,28 +1,16 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
14
3
  exports.getCustomTypes = void 0;
15
- var expect_more_1 = require("expect-more");
16
- function getCustomTypes(_a) {
17
- var customTypes = _a.customTypes;
4
+ const is_object_1 = require("expect-more/dist/is-object");
5
+ function getCustomTypes({ customTypes, }) {
18
6
  return customTypes
19
7
  ? Object.keys(customTypes)
20
- .map(function (name) {
21
- var pathDef = customTypes[name];
8
+ .map((name) => {
9
+ const pathDef = customTypes[name];
22
10
  if (pathDef)
23
- return __assign(__assign({}, pathDef), { name: name });
11
+ return { ...pathDef, name };
24
12
  })
25
- .filter((expect_more_1.isObject))
13
+ .filter((is_object_1.isObject))
26
14
  : [];
27
15
  }
28
16
  exports.getCustomTypes = getCustomTypes;
@@ -1,19 +1,17 @@
1
1
  "use strict";
2
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getEnabledTypes = void 0;
4
- var expect_more_1 = require("expect-more");
5
- function getEnabledTypes(allTypes, _a) {
6
- var dependencyTypes = _a.dependencyTypes, types = _a.types;
7
- var enabledNames = (0, expect_more_1.isNonEmptyString)(types)
4
+ const is_array_of_strings_1 = require("expect-more/dist/is-array-of-strings");
5
+ const is_non_empty_array_1 = require("expect-more/dist/is-non-empty-array");
6
+ const is_non_empty_string_1 = require("expect-more/dist/is-non-empty-string");
7
+ function getEnabledTypes(allTypes, { dependencyTypes, types }) {
8
+ const enabledNames = (0, is_non_empty_string_1.isNonEmptyString)(types)
8
9
  ? types.split(',')
9
- : (0, expect_more_1.isArrayOfStrings)(dependencyTypes)
10
+ : (0, is_array_of_strings_1.isArrayOfStrings)(dependencyTypes)
10
11
  ? dependencyTypes
11
12
  : [];
12
- return (0, expect_more_1.isNonEmptyArray)(enabledNames)
13
- ? allTypes.filter(function (_a) {
14
- var name = _a.name;
15
- return enabledNames.includes(name);
16
- })
13
+ return (0, is_non_empty_array_1.isNonEmptyArray)(enabledNames)
14
+ ? allTypes.filter(({ name }) => enabledNames.includes(name))
17
15
  : allTypes;
18
16
  }
19
17
  exports.getEnabledTypes = getEnabledTypes;
@@ -1,7 +1,9 @@
1
+ import { R } from '@mobily/ts-belt';
1
2
  import type { Disk } from '../../lib/disk';
3
+ import { BaseError } from '../../lib/error';
2
4
  import type { Syncpack } from '../../types';
3
5
  /**
4
6
  * Take all configuration from the command line and config file, combine it, and
5
7
  * set defaults for anything which hasn't been defined.
6
8
  */
7
- export declare const getConfig: (disk: Disk, fromCli: Partial<Syncpack.Config.Cli>) => Syncpack.Config.Private;
9
+ export declare function getConfig(disk: Disk, fromCli: Partial<Syncpack.Config.Cli>): R.Result<Syncpack.Config.Private, BaseError>;
@@ -1,15 +1,4 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
3
  if (k2 === undefined) k2 = k;
15
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -33,49 +22,31 @@ var __importStar = (this && this.__importStar) || function (mod) {
33
22
  __setModuleDefault(result, mod);
34
23
  return result;
35
24
  };
36
- var __read = (this && this.__read) || function (o, n) {
37
- var m = typeof Symbol === "function" && o[Symbol.iterator];
38
- if (!m) return o;
39
- var i = m.call(o), r, ar = [], e;
40
- try {
41
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
42
- }
43
- catch (error) { e = { error: error }; }
44
- finally {
45
- try {
46
- if (r && !r.done && (m = i["return"])) m.call(i);
47
- }
48
- finally { if (e) throw e.error; }
49
- }
50
- return ar;
51
- };
52
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
53
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
54
- if (ar || !(i in from)) {
55
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
56
- ar[i] = from[i];
57
- }
58
- }
59
- return to.concat(ar || Array.prototype.slice.call(from));
60
- };
61
- exports.__esModule = true;
25
+ Object.defineProperty(exports, "__esModule", { value: true });
62
26
  exports.getConfig = void 0;
63
- var log_1 = require("../../lib/log");
64
- var get_core_types_1 = require("./get-core-types");
65
- var get_custom_types_1 = require("./get-custom-types");
66
- var get_enabled_types_1 = require("./get-enabled-types");
67
- var ConfigSchema = __importStar(require("./schema"));
27
+ const ts_belt_1 = require("@mobily/ts-belt");
28
+ const error_1 = require("../../lib/error");
29
+ const log_1 = require("../../lib/log");
30
+ const get_core_types_1 = require("./get-core-types");
31
+ const get_custom_types_1 = require("./get-custom-types");
32
+ const get_enabled_types_1 = require("./get-enabled-types");
33
+ const ConfigSchema = __importStar(require("./schema"));
68
34
  /**
69
35
  * Take all configuration from the command line and config file, combine it, and
70
36
  * set defaults for anything which hasn't been defined.
71
37
  */
72
- var getConfig = function (disk, fromCli) {
38
+ function getConfig(disk, fromCli) {
39
+ const ERR_READING_CONFIG = 'Error reading config';
40
+ return (0, ts_belt_1.pipe)(ts_belt_1.R.fromExecution(() => unSafeGetConfig(disk, fromCli)), ts_belt_1.R.mapError(error_1.BaseError.map(ERR_READING_CONFIG)));
41
+ }
42
+ exports.getConfig = getConfig;
43
+ function unSafeGetConfig(disk, fromCli) {
73
44
  (0, log_1.verbose)('cli arguments:', fromCli);
74
- var fromRcFile = disk.readConfigFileSync(fromCli.configPath);
45
+ const fromRcFile = disk.readConfigFileSync(fromCli.configPath);
75
46
  (0, log_1.verbose)('rcfile contents:', fromRcFile);
76
- var fromPublic = ConfigSchema.Public.parse({
47
+ const fromPublic = ConfigSchema.Public.parse({
77
48
  customTypes: getConfigByName('customTypes'),
78
- dependencyTypes: fromRcFile === null || fromRcFile === void 0 ? void 0 : fromRcFile.dependencyTypes,
49
+ dependencyTypes: fromRcFile?.dependencyTypes,
79
50
  filter: getConfigByName('filter'),
80
51
  indent: getConfigByName('indent'),
81
52
  semverGroups: getConfigByName('semverGroups'),
@@ -83,33 +54,38 @@ var getConfig = function (disk, fromCli) {
83
54
  sortAz: getConfigByName('sortAz'),
84
55
  sortFirst: getConfigByName('sortFirst'),
85
56
  source: getConfigByName('source'),
86
- types: fromCli === null || fromCli === void 0 ? void 0 : fromCli.types,
87
- versionGroups: getConfigByName('versionGroups')
57
+ types: fromCli?.types,
58
+ versionGroups: getConfigByName('versionGroups'),
88
59
  });
89
60
  (0, log_1.verbose)('user config:', fromPublic);
90
- var coreTypes = (0, get_core_types_1.getCoreTypes)();
91
- var customTypes = (0, get_custom_types_1.getCustomTypes)(fromPublic);
92
- var allTypes = __spreadArray(__spreadArray([], __read(coreTypes), false), __read(customTypes), false);
93
- var enabledTypes = (0, get_enabled_types_1.getEnabledTypes)(allTypes, fromPublic);
94
- var allConfig = ConfigSchema.Private.parse(__assign(__assign({}, fromPublic), { allTypes: allTypes, enabledTypes: enabledTypes, defaultSemverGroup: {
61
+ const coreTypes = (0, get_core_types_1.getCoreTypes)();
62
+ const customTypes = (0, get_custom_types_1.getCustomTypes)(fromPublic);
63
+ const allTypes = [...coreTypes, ...customTypes];
64
+ const enabledTypes = (0, get_enabled_types_1.getEnabledTypes)(allTypes, fromPublic);
65
+ const allConfig = ConfigSchema.Private.parse({
66
+ ...fromPublic,
67
+ allTypes,
68
+ enabledTypes,
69
+ defaultSemverGroup: {
95
70
  dependencies: ['**'],
96
71
  isDefault: true,
97
72
  packages: ['**'],
98
- range: fromPublic.semverRange
99
- }, defaultVersionGroup: {
73
+ range: fromPublic.semverRange,
74
+ },
75
+ defaultVersionGroup: {
100
76
  dependencies: ['**'],
101
77
  isDefault: true,
102
- packages: ['**']
103
- } }));
78
+ packages: ['**'],
79
+ },
80
+ });
104
81
  allConfig.semverGroups.push(allConfig.defaultSemverGroup);
105
82
  allConfig.versionGroups.push(allConfig.defaultVersionGroup);
106
83
  (0, log_1.verbose)('final config:', allConfig);
107
84
  return allConfig;
108
85
  function getConfigByName(name) {
109
- if (name in fromCli)
86
+ if (typeof fromCli[name] !== 'undefined')
110
87
  return fromCli[name];
111
- if (name in fromRcFile)
88
+ if (typeof fromRcFile[name] !== 'undefined')
112
89
  return fromRcFile[name];
113
90
  }
114
- };
115
- exports.getConfig = getConfig;
91
+ }
@@ -1,18 +1,18 @@
1
1
  "use strict";
2
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.exhaustiveCheck = exports.strategyByName = void 0;
4
- var error_1 = require("../../../lib/error");
5
- var name_and_version_props_1 = require("./name-and-version-props");
6
- var name_and_version_string_1 = require("./name-and-version-string");
7
- var version_string_1 = require("./version-string");
8
- var versions_by_name_1 = require("./versions-by-name");
4
+ const error_1 = require("../../../lib/error");
5
+ const name_and_version_props_1 = require("./name-and-version-props");
6
+ const name_and_version_string_1 = require("./name-and-version-string");
7
+ const version_string_1 = require("./version-string");
8
+ const versions_by_name_1 = require("./versions-by-name");
9
9
  exports.strategyByName = {
10
10
  'name@version': name_and_version_string_1.nameAndVersionString,
11
11
  'name~version': name_and_version_props_1.nameAndVersionProps,
12
12
  'version': version_string_1.versionString,
13
- 'versionsByName': versions_by_name_1.versionsByName
13
+ 'versionsByName': versions_by_name_1.versionsByName,
14
14
  };
15
15
  function exhaustiveCheck(strategyName) {
16
- throw new error_1.BaseError("Unrecognised strategy \"".concat(strategyName, "\""));
16
+ throw new error_1.BaseError(`Unrecognised strategy "${strategyName}"`);
17
17
  }
18
18
  exports.exhaustiveCheck = exhaustiveCheck;