syncpack 10.5.1 → 10.6.1

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 (177) hide show
  1. package/dist/bin-fix-mismatches/effects.d.ts +2 -0
  2. package/dist/bin-fix-mismatches/effects.js +112 -0
  3. package/dist/bin-fix-mismatches/fix-mismatches.d.ts +4 -2
  4. package/dist/bin-fix-mismatches/fix-mismatches.js +38 -49
  5. package/dist/bin-fix-mismatches/index.js +28 -4
  6. package/dist/bin-format/format-cli.d.ts +4 -3
  7. package/dist/bin-format/format-cli.js +35 -4
  8. package/dist/bin-format/format.d.ts +3 -2
  9. package/dist/bin-format/format.js +25 -1
  10. package/dist/bin-format/index.js +27 -3
  11. package/dist/bin-lint/index.js +28 -4
  12. package/dist/bin-lint/lint.d.ts +4 -0
  13. package/dist/bin-lint/lint.js +44 -0
  14. package/dist/bin-lint-semver-ranges/effects.d.ts +2 -0
  15. package/dist/bin-lint-semver-ranges/effects.js +70 -0
  16. package/dist/bin-lint-semver-ranges/index.js +28 -4
  17. package/dist/bin-lint-semver-ranges/lint-semver-ranges.d.ts +4 -2
  18. package/dist/bin-lint-semver-ranges/lint-semver-ranges.js +14 -39
  19. package/dist/bin-list/effects.d.ts +2 -0
  20. package/dist/bin-list/effects.js +112 -0
  21. package/dist/bin-list/index.js +28 -4
  22. package/dist/bin-list/list.d.ts +4 -2
  23. package/dist/bin-list/list.js +14 -75
  24. package/dist/bin-list-mismatches/effects.d.ts +2 -0
  25. package/dist/bin-list-mismatches/effects.js +136 -0
  26. package/dist/bin-list-mismatches/index.js +28 -4
  27. package/dist/bin-list-mismatches/list-mismatches.d.ts +4 -2
  28. package/dist/bin-list-mismatches/list-mismatches.js +14 -87
  29. package/dist/bin-prompt/effects.d.ts +2 -0
  30. package/dist/bin-prompt/effects.js +110 -0
  31. package/dist/bin-prompt/index.js +28 -4
  32. package/dist/bin-prompt/prompt.d.ts +4 -0
  33. package/dist/bin-prompt/prompt.js +42 -0
  34. package/dist/bin-set-semver-ranges/effects.d.ts +2 -0
  35. package/dist/bin-set-semver-ranges/effects.js +61 -0
  36. package/dist/bin-set-semver-ranges/index.js +28 -4
  37. package/dist/bin-set-semver-ranges/set-semver-ranges.d.ts +4 -2
  38. package/dist/bin-set-semver-ranges/set-semver-ranges.js +39 -22
  39. package/dist/config/get-custom-types.d.ts +2 -2
  40. package/dist/config/get-enabled-types.d.ts +12 -2
  41. package/dist/config/get-enabled-types.js +38 -4
  42. package/dist/config/get-filter.d.ts +2 -2
  43. package/dist/config/get-indent.d.ts +2 -2
  44. package/dist/config/get-semver-range.d.ts +2 -2
  45. package/dist/config/get-semver-range.js +4 -4
  46. package/dist/config/get-sort-az.d.ts +2 -2
  47. package/dist/config/get-sort-first.d.ts +2 -2
  48. package/dist/config/get-source.d.ts +2 -2
  49. package/dist/config/get-source.js +1 -2
  50. package/dist/config/types.d.ts +8 -6
  51. package/dist/config/types.js +26 -0
  52. package/dist/constants.d.ts +1 -1
  53. package/dist/constants.js +1 -1
  54. package/dist/create-program/effects.d.ts +42 -0
  55. package/dist/create-program/effects.js +2 -0
  56. package/dist/create-program/semver-ranges.d.ts +7 -0
  57. package/dist/create-program/semver-ranges.js +43 -0
  58. package/dist/create-program/versions.d.ts +7 -0
  59. package/dist/create-program/versions.js +48 -0
  60. package/dist/env/create-env.d.ts +21 -0
  61. package/dist/env/create-env.js +60 -0
  62. package/dist/env/default-env.d.ts +18 -0
  63. package/dist/env/default-env.js +95 -0
  64. package/dist/env/exit-if-invalid.d.ts +4 -0
  65. package/dist/env/exit-if-invalid.js +34 -0
  66. package/dist/env/tags.d.ts +58 -0
  67. package/dist/env/tags.js +50 -0
  68. package/dist/env/write-if-changed.d.ts +11 -0
  69. package/dist/env/write-if-changed.js +73 -0
  70. package/dist/error-handlers/create-error-handlers.d.ts +19 -0
  71. package/dist/error-handlers/create-error-handlers.js +57 -0
  72. package/dist/error-handlers/default-error-handlers.d.ts +2 -0
  73. package/dist/error-handlers/default-error-handlers.js +57 -0
  74. package/dist/get-context/index.d.ts +11 -8
  75. package/dist/get-context/index.js +31 -9
  76. package/dist/get-package-json-files/get-file-paths.d.ts +17 -8
  77. package/dist/get-package-json-files/get-file-paths.js +40 -20
  78. package/dist/get-package-json-files/get-patterns/get-lerna-patterns.d.ts +4 -3
  79. package/dist/get-package-json-files/get-patterns/get-lerna-patterns.js +31 -8
  80. package/dist/get-package-json-files/get-patterns/get-pnpm-patterns.d.ts +4 -3
  81. package/dist/get-package-json-files/get-patterns/get-pnpm-patterns.js +36 -14
  82. package/dist/get-package-json-files/get-patterns/get-yarn-patterns.d.ts +4 -3
  83. package/dist/get-package-json-files/get-patterns/get-yarn-patterns.js +37 -9
  84. package/dist/get-package-json-files/get-patterns/index.d.ts +4 -4
  85. package/dist/get-package-json-files/get-patterns/index.js +37 -18
  86. package/dist/get-package-json-files/get-patterns/read-json-safe.d.ts +15 -3
  87. package/dist/get-package-json-files/get-patterns/read-json-safe.js +36 -10
  88. package/dist/get-package-json-files/index.d.ts +7 -4
  89. package/dist/get-package-json-files/index.js +27 -9
  90. package/dist/get-package-json-files/instance.js +2 -2
  91. package/dist/get-package-json-files/package-json-file.d.ts +6 -10
  92. package/dist/get-package-json-files/package-json-file.js +5 -21
  93. package/dist/get-semver-groups/filtered-out.d.ts +12 -6
  94. package/dist/get-semver-groups/filtered-out.js +40 -14
  95. package/dist/get-semver-groups/ignored.d.ts +10 -4
  96. package/dist/get-semver-groups/ignored.js +34 -8
  97. package/dist/get-semver-groups/index.d.ts +80 -28
  98. package/dist/get-semver-groups/index.js +94 -42
  99. package/dist/get-semver-groups/with-range.d.ts +12 -5
  100. package/dist/get-semver-groups/with-range.js +49 -25
  101. package/dist/get-version-groups/banned.d.ts +10 -4
  102. package/dist/get-version-groups/banned.js +34 -8
  103. package/dist/get-version-groups/filtered-out.d.ts +12 -6
  104. package/dist/get-version-groups/filtered-out.js +40 -14
  105. package/dist/get-version-groups/ignored.d.ts +10 -4
  106. package/dist/get-version-groups/ignored.js +34 -8
  107. package/dist/get-version-groups/index.d.ts +131 -47
  108. package/dist/get-version-groups/index.js +123 -51
  109. package/dist/get-version-groups/lib/get-highest-version.js +2 -2
  110. package/dist/get-version-groups/lib/get-lowest-version.js +2 -2
  111. package/dist/get-version-groups/lib/get-range-score.js +1 -3
  112. package/dist/get-version-groups/lib/sort.js +3 -3
  113. package/dist/get-version-groups/pinned.d.ts +10 -4
  114. package/dist/get-version-groups/pinned.js +39 -16
  115. package/dist/get-version-groups/same-range.d.ts +10 -4
  116. package/dist/get-version-groups/same-range.js +38 -15
  117. package/dist/get-version-groups/snapped-to.d.ts +10 -4
  118. package/dist/get-version-groups/snapped-to.js +41 -16
  119. package/dist/get-version-groups/standard.d.ts +12 -5
  120. package/dist/get-version-groups/standard.js +63 -39
  121. package/dist/guards/can-add-to-group.d.ts +4 -0
  122. package/dist/guards/can-add-to-group.js +15 -0
  123. package/dist/guards/is-loose-semver.d.ts +1 -0
  124. package/dist/guards/is-loose-semver.js +9 -0
  125. package/dist/guards/is-semver.d.ts +1 -0
  126. package/dist/guards/is-semver.js +16 -0
  127. package/dist/guards/is-supported.d.ts +1 -0
  128. package/dist/guards/is-supported.js +17 -0
  129. package/dist/guards/is-valid-semver-range.d.ts +2 -0
  130. package/dist/guards/is-valid-semver-range.js +17 -0
  131. package/dist/lib/$R.js +2 -2
  132. package/dist/lib/log-group-header.d.ts +6 -0
  133. package/dist/lib/log-group-header.js +34 -0
  134. package/dist/lib/log-verbose.d.ts +1 -0
  135. package/dist/lib/log-verbose.js +24 -0
  136. package/dist/lib/set-semver-range.js +5 -5
  137. package/dist/option.js +1 -4
  138. package/dist/strategy/lib/get-non-empty-string-prop.js +2 -2
  139. package/dist/strategy/name-and-version-props.js +5 -5
  140. package/dist/strategy/named-version-string.js +4 -4
  141. package/dist/strategy/unnamed-version-string.js +4 -4
  142. package/dist/strategy/versions-by-name.js +3 -3
  143. package/package.json +16 -11
  144. package/dist/bin-fix-mismatches/fix-mismatches-cli.d.ts +0 -3
  145. package/dist/bin-fix-mismatches/fix-mismatches-cli.js +0 -12
  146. package/dist/bin-lint/lint-cli.d.ts +0 -3
  147. package/dist/bin-lint/lint-cli.js +0 -12
  148. package/dist/bin-lint-semver-ranges/lint-semver-ranges-cli.d.ts +0 -3
  149. package/dist/bin-lint-semver-ranges/lint-semver-ranges-cli.js +0 -11
  150. package/dist/bin-list/list-cli.d.ts +0 -3
  151. package/dist/bin-list/list-cli.js +0 -11
  152. package/dist/bin-list-mismatches/list-mismatches-cli.d.ts +0 -3
  153. package/dist/bin-list-mismatches/list-mismatches-cli.js +0 -11
  154. package/dist/bin-prompt/prompt-cli.d.ts +0 -3
  155. package/dist/bin-prompt/prompt-cli.js +0 -50
  156. package/dist/bin-set-semver-ranges/set-semver-ranges-cli.d.ts +0 -3
  157. package/dist/bin-set-semver-ranges/set-semver-ranges-cli.js +0 -11
  158. package/dist/get-package-json-files/get-patterns/read-yaml-safe.d.ts +0 -3
  159. package/dist/get-package-json-files/get-patterns/read-yaml-safe.js +0 -12
  160. package/dist/get-semver-groups/catch-all.d.ts +0 -4
  161. package/dist/get-semver-groups/catch-all.js +0 -11
  162. package/dist/get-version-groups/catch-all.d.ts +0 -4
  163. package/dist/get-version-groups/catch-all.js +0 -11
  164. package/dist/lib/disk.d.ts +0 -21
  165. package/dist/lib/disk.js +0 -79
  166. package/dist/lib/exit-if-invalid.d.ts +0 -2
  167. package/dist/lib/exit-if-invalid.js +0 -10
  168. package/dist/lib/is-semver.d.ts +0 -6
  169. package/dist/lib/is-semver.js +0 -49
  170. package/dist/lib/log.d.ts +0 -5
  171. package/dist/lib/log.js +0 -51
  172. package/dist/lib/newlines.d.ts +0 -6
  173. package/dist/lib/newlines.js +0 -24
  174. package/dist/lib/print-strings.d.ts +0 -1
  175. package/dist/lib/print-strings.js +0 -7
  176. package/dist/lib/write-if-changed.d.ts +0 -2
  177. package/dist/lib/write-if-changed.js +0 -21
@@ -1,87 +1,139 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSemverGroups = void 0;
4
- const minimatch_1 = require("minimatch");
26
+ exports.getSemverGroups = exports.SemverGroupConfigError = exports.SemverGroupReport = void 0;
27
+ const Data = __importStar(require("@effect/data/Data"));
28
+ const Function_1 = require("@effect/data/Function");
29
+ const Effect = __importStar(require("@effect/io/Effect"));
5
30
  const is_array_of_strings_1 = require("tightrope/guard/is-array-of-strings");
6
31
  const is_non_empty_array_1 = require("tightrope/guard/is-non-empty-array");
7
32
  const is_non_empty_string_1 = require("tightrope/guard/is-non-empty-string");
8
33
  const is_object_1 = require("tightrope/guard/is-object");
9
34
  const get_enabled_types_1 = require("../config/get-enabled-types");
10
35
  const get_semver_range_1 = require("../config/get-semver-range");
11
- const is_semver_1 = require("../lib/is-semver");
12
- const catch_all_1 = require("./catch-all");
36
+ const can_add_to_group_1 = require("../guards/can-add-to-group");
37
+ const is_valid_semver_range_1 = require("../guards/is-valid-semver-range");
38
+ const sort_by_name_1 = require("../lib/sort-by-name");
13
39
  const filtered_out_1 = require("./filtered-out");
14
40
  const ignored_1 = require("./ignored");
15
41
  const with_range_1 = require("./with-range");
42
+ var SemverGroupReport;
43
+ (function (SemverGroupReport) {
44
+ class FilteredOut extends Data.TaggedClass('FilteredOut') {
45
+ }
46
+ SemverGroupReport.FilteredOut = FilteredOut;
47
+ class Ignored extends Data.TaggedClass('Ignored') {
48
+ }
49
+ SemverGroupReport.Ignored = Ignored;
50
+ class Valid extends Data.TaggedClass('Valid') {
51
+ }
52
+ SemverGroupReport.Valid = Valid;
53
+ class WorkspaceSemverRangeMismatch extends Data.TaggedClass('WorkspaceSemverRangeMismatch') {
54
+ }
55
+ SemverGroupReport.WorkspaceSemverRangeMismatch = WorkspaceSemverRangeMismatch;
56
+ class SemverRangeMismatch extends Data.TaggedClass('SemverRangeMismatch') {
57
+ }
58
+ SemverGroupReport.SemverRangeMismatch = SemverRangeMismatch;
59
+ class UnsupportedVersion extends Data.TaggedClass('UnsupportedVersion') {
60
+ }
61
+ SemverGroupReport.UnsupportedVersion = UnsupportedVersion;
62
+ })(SemverGroupReport || (exports.SemverGroupReport = SemverGroupReport = {}));
63
+ class SemverGroupConfigError extends Data.TaggedClass('SemverGroupConfigError') {
64
+ }
65
+ exports.SemverGroupConfigError = SemverGroupConfigError;
16
66
  function getSemverGroups(ctx) {
17
- const enabledTypes = (0, get_enabled_types_1.getEnabledTypes)(ctx.config);
18
- const semverGroups = createSemverGroups(ctx);
19
- ctx.packageJsonFiles.forEach((file) => {
20
- file.getInstances(enabledTypes).forEach((instance) => {
21
- const { name, pkgName } = instance;
22
- for (const group of semverGroups) {
23
- const { dependencies, dependencyTypes, packages } = group.config;
24
- if (group.canAdd(instance) &&
25
- (!(0, is_non_empty_array_1.isNonEmptyArray)(dependencyTypes) ||
26
- dependencyTypes.includes(instance.strategy.name)) &&
27
- (!(0, is_non_empty_array_1.isNonEmptyArray)(packages) ||
28
- packages.some((pattern) => (0, minimatch_1.minimatch)(instance.pkgName, pattern))) &&
29
- (!(0, is_non_empty_array_1.isNonEmptyArray)(dependencies) ||
30
- dependencies.some((pattern) => (0, minimatch_1.minimatch)(instance.name, pattern)))) {
31
- group.instances.push(instance);
32
- return;
67
+ return (0, Function_1.pipe)(Effect.Do(), Effect.bind('enabledTypes', () => (0, get_enabled_types_1.getEnabledTypes)(ctx.config)), Effect.bind('semverGroups', () => createSemverGroups(ctx)), Effect.flatMap(({ enabledTypes, semverGroups }) => {
68
+ for (const file of ctx.packageJsonFiles) {
69
+ instances: for (const instance of file.getInstances(enabledTypes)) {
70
+ for (const group of semverGroups) {
71
+ if ((0, can_add_to_group_1.canAddToGroup)(group, instance)) {
72
+ group.instances.push(instance);
73
+ continue instances;
74
+ }
33
75
  }
34
76
  }
35
- throw new Error(`${name} in ${pkgName} did not match any semver groups`);
36
- });
37
- });
38
- return semverGroups.filter((group) => (0, is_non_empty_array_1.isNonEmptyArray)(group.instances));
77
+ }
78
+ return Effect.succeed(semverGroups.filter((group) => (0, is_non_empty_array_1.isNonEmptyArray)(group.instances.sort(sort_by_name_1.sortByName))));
79
+ }));
39
80
  }
40
81
  exports.getSemverGroups = getSemverGroups;
41
82
  function createSemverGroups(ctx) {
42
83
  const { cli, rcFile } = ctx.config;
43
- const semverGroups = [new filtered_out_1.FilteredOutSemverGroup(ctx)];
84
+ const semverGroups = [
85
+ Effect.succeed(new filtered_out_1.FilteredOutSemverGroup(ctx)),
86
+ ];
44
87
  if ((0, is_non_empty_array_1.isNonEmptyArray)(rcFile.semverGroups)) {
45
- const ERR_OBJ = new Error('Invalid semverGroup');
46
- const ERR_DEPS = new Error('Invalid semverGroup dependencies');
47
- const ERR_PKGS = new Error('Invalid semverGroup packages');
48
88
  rcFile.semverGroups.forEach((config) => {
49
- if (!(0, is_object_1.isObject)(config))
50
- throw ERR_OBJ;
51
- if (!(0, is_array_of_strings_1.isArrayOfStrings)(config.dependencies))
52
- throw ERR_DEPS;
53
- if (!(0, is_array_of_strings_1.isArrayOfStrings)(config.packages))
54
- throw ERR_PKGS;
89
+ if (!(0, is_object_1.isObject)(config)) {
90
+ return semverGroups.push(Effect.fail(new SemverGroupConfigError({
91
+ config,
92
+ error: 'config is not an object',
93
+ })));
94
+ }
95
+ if (!(0, is_array_of_strings_1.isArrayOfStrings)(config.dependencies)) {
96
+ return semverGroups.push(Effect.fail(new SemverGroupConfigError({
97
+ config,
98
+ error: 'config.dependencies is not an array of strings',
99
+ })));
100
+ }
101
+ if (!(0, is_array_of_strings_1.isArrayOfStrings)(config.packages)) {
102
+ return semverGroups.push(Effect.fail(new SemverGroupConfigError({
103
+ config,
104
+ error: 'config.packages is not an array of strings',
105
+ })));
106
+ }
55
107
  const { dependencies, packages } = config;
56
108
  const label = (0, is_non_empty_string_1.isNonEmptyString)(config.label) ? config.label : '';
57
109
  const dependencyTypes = (0, is_array_of_strings_1.isArrayOfStrings)(config.dependencyTypes)
58
110
  ? config.dependencyTypes
59
111
  : [];
60
112
  if (config.isIgnored === true) {
61
- semverGroups.push(new ignored_1.IgnoredSemverGroup({
113
+ semverGroups.push(Effect.succeed(new ignored_1.IgnoredSemverGroup({
62
114
  dependencies,
63
115
  dependencyTypes,
64
116
  isIgnored: true,
65
117
  label,
66
118
  packages,
67
- }));
119
+ })));
68
120
  }
69
- else if ((0, is_semver_1.isValidSemverRange)(config.range)) {
70
- semverGroups.push(new with_range_1.WithRangeSemverGroup({
121
+ else if ((0, is_valid_semver_range_1.isValidSemverRange)(config.range)) {
122
+ semverGroups.push(Effect.succeed(new with_range_1.WithRangeSemverGroup(false, {
71
123
  dependencies,
72
124
  dependencyTypes,
73
125
  label,
74
126
  packages,
75
127
  range: config.range,
76
- }));
128
+ })));
77
129
  }
78
130
  });
79
131
  }
80
- semverGroups.push(new catch_all_1.CatchAllSemverGroup({
132
+ semverGroups.push(Effect.succeed(new with_range_1.WithRangeSemverGroup(true, {
81
133
  dependencies: ['**'],
82
134
  label: '',
83
135
  packages: ['**'],
84
136
  range: (0, get_semver_range_1.getSemverRange)({ cli, rcFile }),
85
- }));
86
- return semverGroups;
137
+ })));
138
+ return Effect.all(semverGroups);
87
139
  }
@@ -1,11 +1,18 @@
1
- import type { SemverGroupReport } from '.';
1
+ import * as Data from '@effect/data/Data';
2
+ import * as Effect from '@effect/io/Effect';
3
+ import { SemverGroupReport } from '.';
2
4
  import type { SemverGroupConfig } from '../config/types';
3
5
  import type { Instance } from '../get-package-json-files/instance';
4
- export declare class WithRangeSemverGroup {
5
- _tag: string;
6
+ declare const WithRangeSemverGroup_base: new <A extends Record<string, any>>(args: Data.IsEqualTo<Omit<A, keyof import("@effect/data/Equal").Equal>, {}> extends true ? void : Omit<A, keyof import("@effect/data/Equal").Equal>) => Data.Data<A & {
7
+ _tag: "WithRange";
8
+ }>;
9
+ export declare class WithRangeSemverGroup extends WithRangeSemverGroup_base<{
6
10
  config: SemverGroupConfig.WithRange;
7
11
  instances: Instance[];
8
- constructor(config: SemverGroupConfig.WithRange);
12
+ isCatchAll: boolean;
13
+ }> {
14
+ constructor(isCatchAll: boolean, config: SemverGroupConfig.WithRange);
9
15
  canAdd(_: Instance): boolean;
10
- inspect(): SemverGroupReport[];
16
+ inspect(): Effect.Effect<never, SemverGroupReport.UnsupportedVersion | SemverGroupReport.WorkspaceSemverRangeMismatch | SemverGroupReport.SemverRangeMismatch, SemverGroupReport.Valid>[];
11
17
  }
18
+ export {};
@@ -1,54 +1,78 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.WithRangeSemverGroup = void 0;
4
- const is_semver_1 = require("../lib/is-semver");
27
+ const Data = __importStar(require("@effect/data/Data"));
28
+ const Effect = __importStar(require("@effect/io/Effect"));
29
+ const _1 = require(".");
30
+ const is_supported_1 = require("../guards/is-supported");
5
31
  const set_semver_range_1 = require("../lib/set-semver-range");
6
- class WithRangeSemverGroup {
7
- constructor(config) {
8
- this._tag = 'WithRange';
9
- this.config = config;
10
- this.instances = [];
32
+ class WithRangeSemverGroup extends Data.TaggedClass('WithRange') {
33
+ constructor(isCatchAll, config) {
34
+ super({
35
+ config,
36
+ instances: [],
37
+ isCatchAll,
38
+ });
11
39
  }
12
40
  canAdd(_) {
13
41
  return true;
14
42
  }
15
43
  inspect() {
16
44
  return this.instances.map((instance) => {
17
- if (!(0, is_semver_1.isSupported)(instance.version)) {
18
- return {
19
- status: 'UNSUPPORTED_VERSION',
45
+ if (!(0, is_supported_1.isSupported)(instance.version)) {
46
+ return Effect.fail(new _1.SemverGroupReport.UnsupportedVersion({
47
+ name: instance.name,
20
48
  instance,
21
49
  isValid: false,
22
- name: instance.name,
23
- };
50
+ }));
24
51
  }
25
52
  const isWsInstance = instance.strategy.name === 'workspace';
26
53
  const exactVersion = (0, set_semver_range_1.setSemverRange)('', instance.version);
27
54
  const expectedVersion = (0, set_semver_range_1.setSemverRange)(this.config.range, instance.version);
28
55
  if (isWsInstance && instance.version !== exactVersion) {
29
- return {
30
- status: 'WORKSPACE_SEMVER_RANGE_MISMATCH',
31
- expectedVersion: exactVersion,
56
+ return Effect.fail(new _1.SemverGroupReport.WorkspaceSemverRangeMismatch({
57
+ name: instance.name,
32
58
  instance,
33
59
  isValid: false,
34
- name: instance.name,
35
- };
60
+ expectedVersion: exactVersion,
61
+ }));
36
62
  }
37
63
  if (instance.version === expectedVersion) {
38
- return {
39
- status: 'VALID',
64
+ return Effect.succeed(new _1.SemverGroupReport.Valid({
65
+ name: instance.name,
40
66
  instance,
41
67
  isValid: true,
42
- name: instance.name,
43
- };
68
+ }));
44
69
  }
45
- return {
46
- status: 'SEMVER_RANGE_MISMATCH',
47
- expectedVersion,
70
+ return Effect.fail(new _1.SemverGroupReport.SemverRangeMismatch({
71
+ name: instance.name,
48
72
  instance,
49
73
  isValid: false,
50
- name: instance.name,
51
- };
74
+ expectedVersion,
75
+ }));
52
76
  });
53
77
  }
54
78
  }
@@ -1,11 +1,17 @@
1
- import type { VersionGroupReport } from '.';
1
+ import * as Data from '@effect/data/Data';
2
+ import * as Effect from '@effect/io/Effect';
3
+ import { VersionGroupReport } from '.';
2
4
  import type { VersionGroupConfig } from '../config/types';
3
5
  import type { Instance } from '../get-package-json-files/instance';
4
- export declare class BannedVersionGroup {
5
- _tag: string;
6
+ declare const BannedVersionGroup_base: new <A extends Record<string, any>>(args: Data.IsEqualTo<Omit<A, keyof import("@effect/data/Equal").Equal>, {}> extends true ? void : Omit<A, keyof import("@effect/data/Equal").Equal>) => Data.Data<A & {
7
+ _tag: "Banned";
8
+ }>;
9
+ export declare class BannedVersionGroup extends BannedVersionGroup_base<{
6
10
  config: VersionGroupConfig.Banned;
7
11
  instances: Instance[];
12
+ }> {
8
13
  constructor(config: VersionGroupConfig.Banned);
9
14
  canAdd(_: Instance): boolean;
10
- inspect(): VersionGroupReport[];
15
+ inspect(): Effect.Effect<never, VersionGroupReport.Banned, never>[];
11
16
  }
17
+ export {};
@@ -1,24 +1,50 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.BannedVersionGroup = void 0;
27
+ const Data = __importStar(require("@effect/data/Data"));
28
+ const Effect = __importStar(require("@effect/io/Effect"));
29
+ const _1 = require(".");
4
30
  const group_by_1 = require("./lib/group-by");
5
- class BannedVersionGroup {
31
+ class BannedVersionGroup extends Data.TaggedClass('Banned') {
6
32
  constructor(config) {
7
- this._tag = 'Banned';
8
- this.config = config;
9
- this.instances = [];
33
+ super({
34
+ config,
35
+ instances: [],
36
+ });
10
37
  }
11
38
  canAdd(_) {
12
39
  return true;
13
40
  }
14
41
  inspect() {
15
42
  const instancesByName = (0, group_by_1.groupBy)('name', this.instances);
16
- return Object.entries(instancesByName).map(([name, instances]) => ({
43
+ return Object.entries(instancesByName).map(([name, instances]) => Effect.fail(new _1.VersionGroupReport.Banned({
44
+ name,
17
45
  instances,
18
46
  isValid: false,
19
- name,
20
- status: 'BANNED',
21
- }));
47
+ })));
22
48
  }
23
49
  }
24
50
  exports.BannedVersionGroup = BannedVersionGroup;
@@ -1,13 +1,19 @@
1
- import type { VersionGroupReport } from '.';
1
+ import * as Data from '@effect/data/Data';
2
+ import * as Effect from '@effect/io/Effect';
3
+ import { VersionGroupReport } from '.';
2
4
  import type { GroupConfig } from '../config/types';
3
- import type { Context } from '../get-context';
5
+ import type { Ctx } from '../get-context';
4
6
  import type { Instance } from '../get-package-json-files/instance';
5
- export declare class FilteredOutVersionGroup {
6
- _tag: string;
7
+ declare const FilteredOutVersionGroup_base: new <A extends Record<string, any>>(args: Data.IsEqualTo<Omit<A, keyof import("@effect/data/Equal").Equal>, {}> extends true ? void : Omit<A, keyof import("@effect/data/Equal").Equal>) => Data.Data<A & {
8
+ _tag: "FilteredOut";
9
+ }>;
10
+ export declare class FilteredOutVersionGroup extends FilteredOutVersionGroup_base<{
7
11
  config: GroupConfig;
8
12
  filter: string;
9
13
  instances: Instance[];
10
- constructor(ctx: Context);
14
+ }> {
15
+ constructor(ctx: Ctx);
11
16
  canAdd(instance: Instance): boolean;
12
- inspect(): VersionGroupReport[];
17
+ inspect(): Effect.Effect<never, never, VersionGroupReport.FilteredOut>[];
13
18
  }
19
+ export {};
@@ -1,31 +1,57 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.FilteredOutVersionGroup = void 0;
27
+ const Data = __importStar(require("@effect/data/Data"));
28
+ const Effect = __importStar(require("@effect/io/Effect"));
29
+ const _1 = require(".");
4
30
  const get_filter_1 = require("../config/get-filter");
5
31
  const group_by_1 = require("./lib/group-by");
6
- class FilteredOutVersionGroup {
32
+ class FilteredOutVersionGroup extends Data.TaggedClass('FilteredOut') {
7
33
  constructor(ctx) {
8
- this._tag = 'FilteredOut';
9
- this.config = {
10
- dependencies: ['**'],
11
- dependencyTypes: [],
12
- label: 'Filtered out',
13
- packages: ['**'],
14
- };
15
- this.filter = (0, get_filter_1.getFilter)(ctx.config);
16
- this.instances = [];
34
+ super({
35
+ config: {
36
+ dependencies: ['**'],
37
+ dependencyTypes: [],
38
+ label: 'Filtered out',
39
+ packages: ['**'],
40
+ },
41
+ filter: (0, get_filter_1.getFilter)(ctx.config),
42
+ instances: [],
43
+ });
17
44
  }
18
45
  canAdd(instance) {
19
46
  return instance.name.search(new RegExp(this.filter)) === -1;
20
47
  }
21
48
  inspect() {
22
49
  const instancesByName = (0, group_by_1.groupBy)('name', this.instances);
23
- return Object.entries(instancesByName).map(([name, instances]) => ({
50
+ return Object.entries(instancesByName).map(([name, instances]) => Effect.succeed(new _1.VersionGroupReport.FilteredOut({
51
+ name,
24
52
  instances,
25
53
  isValid: true,
26
- name,
27
- status: 'FILTERED_OUT',
28
- }));
54
+ })));
29
55
  }
30
56
  }
31
57
  exports.FilteredOutVersionGroup = FilteredOutVersionGroup;
@@ -1,11 +1,17 @@
1
- import type { VersionGroupReport } from '.';
1
+ import * as Data from '@effect/data/Data';
2
+ import * as Effect from '@effect/io/Effect';
3
+ import { VersionGroupReport } from '.';
2
4
  import type { VersionGroupConfig } from '../config/types';
3
5
  import type { Instance } from '../get-package-json-files/instance';
4
- export declare class IgnoredVersionGroup {
5
- _tag: string;
6
+ declare const IgnoredVersionGroup_base: new <A extends Record<string, any>>(args: Data.IsEqualTo<Omit<A, keyof import("@effect/data/Equal").Equal>, {}> extends true ? void : Omit<A, keyof import("@effect/data/Equal").Equal>) => Data.Data<A & {
7
+ _tag: "Ignored";
8
+ }>;
9
+ export declare class IgnoredVersionGroup extends IgnoredVersionGroup_base<{
6
10
  config: VersionGroupConfig.Ignored;
7
11
  instances: Instance[];
12
+ }> {
8
13
  constructor(config: VersionGroupConfig.Ignored);
9
14
  canAdd(_: Instance): boolean;
10
- inspect(): VersionGroupReport[];
15
+ inspect(): Effect.Effect<never, never, VersionGroupReport.Ignored>[];
11
16
  }
17
+ export {};
@@ -1,24 +1,50 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.IgnoredVersionGroup = void 0;
27
+ const Data = __importStar(require("@effect/data/Data"));
28
+ const Effect = __importStar(require("@effect/io/Effect"));
29
+ const _1 = require(".");
4
30
  const group_by_1 = require("./lib/group-by");
5
- class IgnoredVersionGroup {
31
+ class IgnoredVersionGroup extends Data.TaggedClass('Ignored') {
6
32
  constructor(config) {
7
- this._tag = 'Ignored';
8
- this.config = config;
9
- this.instances = [];
33
+ super({
34
+ config,
35
+ instances: [],
36
+ });
10
37
  }
11
38
  canAdd(_) {
12
39
  return true;
13
40
  }
14
41
  inspect() {
15
42
  const instancesByName = (0, group_by_1.groupBy)('name', this.instances);
16
- return Object.entries(instancesByName).map(([name, instances]) => ({
43
+ return Object.entries(instancesByName).map(([name, instances]) => Effect.succeed(new _1.VersionGroupReport.Ignored({
44
+ name,
17
45
  instances,
18
46
  isValid: true,
19
- name,
20
- status: 'IGNORED',
21
- }));
47
+ })));
22
48
  }
23
49
  }
24
50
  exports.IgnoredVersionGroup = IgnoredVersionGroup;