syncpack 10.5.1 → 10.7.2

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 (186) hide show
  1. package/README.md +8 -5
  2. package/dist/bin-fix-mismatches/effects.d.ts +2 -0
  3. package/dist/bin-fix-mismatches/effects.js +112 -0
  4. package/dist/bin-fix-mismatches/fix-mismatches.d.ts +4 -2
  5. package/dist/bin-fix-mismatches/fix-mismatches.js +38 -49
  6. package/dist/bin-fix-mismatches/index.js +28 -4
  7. package/dist/bin-format/format-cli.d.ts +4 -3
  8. package/dist/bin-format/format-cli.js +35 -4
  9. package/dist/bin-format/format.d.ts +3 -2
  10. package/dist/bin-format/format.js +25 -1
  11. package/dist/bin-format/index.js +27 -3
  12. package/dist/bin-lint/index.js +28 -4
  13. package/dist/bin-lint/lint.d.ts +4 -0
  14. package/dist/bin-lint/lint.js +44 -0
  15. package/dist/bin-lint-semver-ranges/effects.d.ts +2 -0
  16. package/dist/bin-lint-semver-ranges/effects.js +70 -0
  17. package/dist/bin-lint-semver-ranges/index.js +28 -4
  18. package/dist/bin-lint-semver-ranges/lint-semver-ranges.d.ts +4 -2
  19. package/dist/bin-lint-semver-ranges/lint-semver-ranges.js +14 -39
  20. package/dist/bin-list/effects.d.ts +2 -0
  21. package/dist/bin-list/effects.js +112 -0
  22. package/dist/bin-list/index.js +28 -4
  23. package/dist/bin-list/list.d.ts +4 -2
  24. package/dist/bin-list/list.js +14 -75
  25. package/dist/bin-list-mismatches/effects.d.ts +2 -0
  26. package/dist/bin-list-mismatches/effects.js +136 -0
  27. package/dist/bin-list-mismatches/index.js +28 -4
  28. package/dist/bin-list-mismatches/list-mismatches.d.ts +4 -2
  29. package/dist/bin-list-mismatches/list-mismatches.js +14 -87
  30. package/dist/bin-prompt/effects.d.ts +2 -0
  31. package/dist/bin-prompt/effects.js +110 -0
  32. package/dist/bin-prompt/index.js +28 -4
  33. package/dist/bin-prompt/prompt.d.ts +4 -0
  34. package/dist/bin-prompt/prompt.js +42 -0
  35. package/dist/bin-set-semver-ranges/effects.d.ts +2 -0
  36. package/dist/bin-set-semver-ranges/effects.js +61 -0
  37. package/dist/bin-set-semver-ranges/index.js +28 -4
  38. package/dist/bin-set-semver-ranges/set-semver-ranges.d.ts +4 -2
  39. package/dist/bin-set-semver-ranges/set-semver-ranges.js +39 -22
  40. package/dist/bin-update/effects.d.ts +11 -0
  41. package/dist/bin-update/effects.js +187 -0
  42. package/dist/bin-update/index.d.ts +2 -0
  43. package/dist/bin-update/index.js +80 -0
  44. package/dist/bin-update/update.d.ts +4 -0
  45. package/dist/bin-update/update.js +47 -0
  46. package/dist/bin.js +3 -0
  47. package/dist/config/get-custom-types.d.ts +2 -2
  48. package/dist/config/get-enabled-types.d.ts +12 -2
  49. package/dist/config/get-enabled-types.js +38 -4
  50. package/dist/config/get-filter.d.ts +2 -2
  51. package/dist/config/get-indent.d.ts +2 -2
  52. package/dist/config/get-semver-range.d.ts +2 -2
  53. package/dist/config/get-semver-range.js +4 -4
  54. package/dist/config/get-sort-az.d.ts +2 -2
  55. package/dist/config/get-sort-first.d.ts +2 -2
  56. package/dist/config/get-source.d.ts +2 -2
  57. package/dist/config/get-source.js +1 -2
  58. package/dist/config/types.d.ts +8 -6
  59. package/dist/config/types.js +26 -0
  60. package/dist/constants.d.ts +1 -1
  61. package/dist/constants.js +1 -1
  62. package/dist/create-program/effects.d.ts +40 -0
  63. package/dist/create-program/effects.js +2 -0
  64. package/dist/create-program/semver-ranges.d.ts +7 -0
  65. package/dist/create-program/semver-ranges.js +55 -0
  66. package/dist/create-program/versions.d.ts +7 -0
  67. package/dist/create-program/versions.js +70 -0
  68. package/dist/env/create-env.d.ts +21 -0
  69. package/dist/env/create-env.js +60 -0
  70. package/dist/env/default-env.d.ts +18 -0
  71. package/dist/env/default-env.js +95 -0
  72. package/dist/env/exit-if-invalid.d.ts +4 -0
  73. package/dist/env/exit-if-invalid.js +34 -0
  74. package/dist/env/tags.d.ts +58 -0
  75. package/dist/env/tags.js +50 -0
  76. package/dist/env/write-if-changed.d.ts +11 -0
  77. package/dist/env/write-if-changed.js +73 -0
  78. package/dist/error-handlers/create-error-handlers.d.ts +19 -0
  79. package/dist/error-handlers/create-error-handlers.js +57 -0
  80. package/dist/error-handlers/default-error-handlers.d.ts +2 -0
  81. package/dist/error-handlers/default-error-handlers.js +57 -0
  82. package/dist/get-context/index.d.ts +11 -8
  83. package/dist/get-context/index.js +31 -9
  84. package/dist/get-package-json-files/get-file-paths.d.ts +17 -8
  85. package/dist/get-package-json-files/get-file-paths.js +40 -20
  86. package/dist/get-package-json-files/get-patterns/get-lerna-patterns.d.ts +4 -3
  87. package/dist/get-package-json-files/get-patterns/get-lerna-patterns.js +31 -8
  88. package/dist/get-package-json-files/get-patterns/get-pnpm-patterns.d.ts +4 -3
  89. package/dist/get-package-json-files/get-patterns/get-pnpm-patterns.js +36 -14
  90. package/dist/get-package-json-files/get-patterns/get-yarn-patterns.d.ts +4 -3
  91. package/dist/get-package-json-files/get-patterns/get-yarn-patterns.js +37 -9
  92. package/dist/get-package-json-files/get-patterns/index.d.ts +4 -4
  93. package/dist/get-package-json-files/get-patterns/index.js +37 -18
  94. package/dist/get-package-json-files/get-patterns/read-json-safe.d.ts +15 -3
  95. package/dist/get-package-json-files/get-patterns/read-json-safe.js +36 -10
  96. package/dist/get-package-json-files/index.d.ts +7 -4
  97. package/dist/get-package-json-files/index.js +27 -9
  98. package/dist/get-package-json-files/instance.js +2 -2
  99. package/dist/get-package-json-files/package-json-file.d.ts +6 -10
  100. package/dist/get-package-json-files/package-json-file.js +5 -21
  101. package/dist/get-semver-groups/filtered-out.d.ts +12 -6
  102. package/dist/get-semver-groups/filtered-out.js +40 -14
  103. package/dist/get-semver-groups/ignored.d.ts +10 -4
  104. package/dist/get-semver-groups/ignored.js +34 -8
  105. package/dist/get-semver-groups/index.d.ts +80 -28
  106. package/dist/get-semver-groups/index.js +94 -42
  107. package/dist/get-semver-groups/with-range.d.ts +12 -5
  108. package/dist/get-semver-groups/with-range.js +49 -25
  109. package/dist/get-version-groups/banned.d.ts +10 -4
  110. package/dist/get-version-groups/banned.js +34 -8
  111. package/dist/get-version-groups/filtered-out.d.ts +12 -6
  112. package/dist/get-version-groups/filtered-out.js +40 -14
  113. package/dist/get-version-groups/ignored.d.ts +10 -4
  114. package/dist/get-version-groups/ignored.js +34 -8
  115. package/dist/get-version-groups/index.d.ts +131 -47
  116. package/dist/get-version-groups/index.js +123 -51
  117. package/dist/get-version-groups/lib/get-highest-version.js +2 -2
  118. package/dist/get-version-groups/lib/get-lowest-version.js +2 -2
  119. package/dist/get-version-groups/lib/get-range-score.js +1 -3
  120. package/dist/get-version-groups/lib/sort.js +3 -3
  121. package/dist/get-version-groups/pinned.d.ts +10 -4
  122. package/dist/get-version-groups/pinned.js +39 -16
  123. package/dist/get-version-groups/same-range.d.ts +10 -4
  124. package/dist/get-version-groups/same-range.js +38 -15
  125. package/dist/get-version-groups/snapped-to.d.ts +10 -4
  126. package/dist/get-version-groups/snapped-to.js +41 -16
  127. package/dist/get-version-groups/standard.d.ts +12 -5
  128. package/dist/get-version-groups/standard.js +63 -39
  129. package/dist/guards/can-add-to-group.d.ts +4 -0
  130. package/dist/guards/can-add-to-group.js +15 -0
  131. package/dist/guards/is-loose-semver.d.ts +1 -0
  132. package/dist/guards/is-loose-semver.js +9 -0
  133. package/dist/guards/is-semver.d.ts +1 -0
  134. package/dist/guards/is-semver.js +16 -0
  135. package/dist/guards/is-supported.d.ts +1 -0
  136. package/dist/guards/is-supported.js +17 -0
  137. package/dist/guards/is-valid-semver-range.d.ts +2 -0
  138. package/dist/guards/is-valid-semver-range.js +17 -0
  139. package/dist/lib/$R.js +2 -2
  140. package/dist/lib/log-group-header.d.ts +6 -0
  141. package/dist/lib/log-group-header.js +34 -0
  142. package/dist/lib/log-verbose.d.ts +1 -0
  143. package/dist/lib/log-verbose.js +24 -0
  144. package/dist/lib/set-semver-range.d.ts +1 -0
  145. package/dist/lib/set-semver-range.js +14 -6
  146. package/dist/option.js +1 -4
  147. package/dist/strategy/lib/get-non-empty-string-prop.js +2 -2
  148. package/dist/strategy/name-and-version-props.js +5 -5
  149. package/dist/strategy/named-version-string.js +4 -4
  150. package/dist/strategy/unnamed-version-string.js +4 -4
  151. package/dist/strategy/versions-by-name.js +3 -3
  152. package/package.json +28 -18
  153. package/dist/bin-fix-mismatches/fix-mismatches-cli.d.ts +0 -3
  154. package/dist/bin-fix-mismatches/fix-mismatches-cli.js +0 -12
  155. package/dist/bin-lint/lint-cli.d.ts +0 -3
  156. package/dist/bin-lint/lint-cli.js +0 -12
  157. package/dist/bin-lint-semver-ranges/lint-semver-ranges-cli.d.ts +0 -3
  158. package/dist/bin-lint-semver-ranges/lint-semver-ranges-cli.js +0 -11
  159. package/dist/bin-list/list-cli.d.ts +0 -3
  160. package/dist/bin-list/list-cli.js +0 -11
  161. package/dist/bin-list-mismatches/list-mismatches-cli.d.ts +0 -3
  162. package/dist/bin-list-mismatches/list-mismatches-cli.js +0 -11
  163. package/dist/bin-prompt/prompt-cli.d.ts +0 -3
  164. package/dist/bin-prompt/prompt-cli.js +0 -50
  165. package/dist/bin-set-semver-ranges/set-semver-ranges-cli.d.ts +0 -3
  166. package/dist/bin-set-semver-ranges/set-semver-ranges-cli.js +0 -11
  167. package/dist/get-package-json-files/get-patterns/read-yaml-safe.d.ts +0 -3
  168. package/dist/get-package-json-files/get-patterns/read-yaml-safe.js +0 -12
  169. package/dist/get-semver-groups/catch-all.d.ts +0 -4
  170. package/dist/get-semver-groups/catch-all.js +0 -11
  171. package/dist/get-version-groups/catch-all.d.ts +0 -4
  172. package/dist/get-version-groups/catch-all.js +0 -11
  173. package/dist/lib/disk.d.ts +0 -21
  174. package/dist/lib/disk.js +0 -79
  175. package/dist/lib/exit-if-invalid.d.ts +0 -2
  176. package/dist/lib/exit-if-invalid.js +0 -10
  177. package/dist/lib/is-semver.d.ts +0 -6
  178. package/dist/lib/is-semver.js +0 -49
  179. package/dist/lib/log.d.ts +0 -5
  180. package/dist/lib/log.js +0 -51
  181. package/dist/lib/newlines.d.ts +0 -6
  182. package/dist/lib/newlines.js +0 -24
  183. package/dist/lib/print-strings.d.ts +0 -1
  184. package/dist/lib/print-strings.js +0 -7
  185. package/dist/lib/write-if-changed.d.ts +0 -2
  186. package/dist/lib/write-if-changed.js +0 -21
@@ -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;
@@ -1,55 +1,139 @@
1
- import type { Context } from '../get-context';
1
+ import * as Data from '@effect/data/Data';
2
+ import * as Effect from '@effect/io/Effect';
3
+ import type { Union } from 'ts-toolbelt';
4
+ import type { DeprecatedTypesError } from '../config/get-enabled-types';
5
+ import type { Ctx } from '../get-context';
2
6
  import type { Instance } from '../get-package-json-files/instance';
3
7
  import { BannedVersionGroup } from './banned';
4
- import { CatchAllVersionGroup } from './catch-all';
5
8
  import { FilteredOutVersionGroup } from './filtered-out';
6
9
  import { IgnoredVersionGroup } from './ignored';
7
10
  import { PinnedVersionGroup } from './pinned';
8
11
  import { SameRangeVersionGroup } from './same-range';
9
12
  import { SnappedToVersionGroup } from './snapped-to';
10
13
  import { StandardVersionGroup } from './standard';
11
- export type AnyVersionGroup = BannedVersionGroup | CatchAllVersionGroup | FilteredOutVersionGroup | IgnoredVersionGroup | PinnedVersionGroup | SameRangeVersionGroup | SnappedToVersionGroup | StandardVersionGroup;
12
- export type VersionGroupReport = {
13
- name: string;
14
- instances: Instance[];
15
- } & ({
16
- status: 'BANNED';
17
- isValid: false;
18
- } | {
19
- status: 'FILTERED_OUT';
20
- isValid: true;
21
- } | {
22
- status: 'HIGHEST_SEMVER_MISMATCH';
23
- isValid: false;
24
- expectedVersion: string;
25
- } | {
26
- status: 'IGNORED';
27
- isValid: true;
28
- } | {
29
- status: 'LOWEST_SEMVER_MISMATCH';
30
- isValid: false;
31
- expectedVersion: string;
32
- } | {
33
- status: 'PINNED_MISMATCH';
34
- isValid: false;
35
- expectedVersion: string;
36
- } | {
37
- status: 'SAME_RANGE_MISMATCH';
38
- isValid: false;
39
- } | {
40
- status: 'SNAPPED_TO_MISMATCH';
41
- isValid: false;
42
- expectedVersion: string;
43
- } | {
44
- status: 'UNSUPPORTED_MISMATCH';
45
- isValid: false;
46
- } | {
47
- status: 'VALID';
48
- isValid: true;
49
- } | {
50
- status: 'WORKSPACE_MISMATCH';
51
- isValid: false;
52
- expectedVersion: string;
53
- workspaceInstance: Instance;
54
- });
55
- export declare function getVersionGroups(ctx: Context): AnyVersionGroup[];
14
+ export type AnyVersionGroup = Union.Strict<BannedVersionGroup | FilteredOutVersionGroup | IgnoredVersionGroup | PinnedVersionGroup | SameRangeVersionGroup | SnappedToVersionGroup | StandardVersionGroup>;
15
+ export declare namespace VersionGroupReport {
16
+ const Banned_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 & {
17
+ _tag: "Banned";
18
+ }>;
19
+ export class Banned extends Banned_base<{
20
+ name: string;
21
+ instances: Instance[];
22
+ readonly isValid: false;
23
+ }> {
24
+ }
25
+ const FilteredOut_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 & {
26
+ _tag: "FilteredOut";
27
+ }>;
28
+ export class FilteredOut extends FilteredOut_base<{
29
+ name: string;
30
+ instances: Instance[];
31
+ readonly isValid: true;
32
+ }> {
33
+ }
34
+ const HighestSemverMismatch_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 & {
35
+ _tag: "HighestSemverMismatch";
36
+ }>;
37
+ export class HighestSemverMismatch extends HighestSemverMismatch_base<{
38
+ name: string;
39
+ instances: Instance[];
40
+ readonly isValid: false;
41
+ readonly expectedVersion: string;
42
+ }> {
43
+ }
44
+ const Ignored_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 & {
45
+ _tag: "Ignored";
46
+ }>;
47
+ export class Ignored extends Ignored_base<{
48
+ name: string;
49
+ instances: Instance[];
50
+ readonly isValid: true;
51
+ }> {
52
+ }
53
+ const LowestSemverMismatch_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 & {
54
+ _tag: "LowestSemverMismatch";
55
+ }>;
56
+ export class LowestSemverMismatch extends LowestSemverMismatch_base<{
57
+ name: string;
58
+ instances: Instance[];
59
+ readonly isValid: false;
60
+ readonly expectedVersion: string;
61
+ }> {
62
+ }
63
+ const PinnedMismatch_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 & {
64
+ _tag: "PinnedMismatch";
65
+ }>;
66
+ export class PinnedMismatch extends PinnedMismatch_base<{
67
+ name: string;
68
+ instances: Instance[];
69
+ readonly isValid: false;
70
+ readonly expectedVersion: string;
71
+ }> {
72
+ }
73
+ const SameRangeMismatch_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 & {
74
+ _tag: "SameRangeMismatch";
75
+ }>;
76
+ export class SameRangeMismatch extends SameRangeMismatch_base<{
77
+ name: string;
78
+ instances: Instance[];
79
+ readonly isValid: false;
80
+ }> {
81
+ }
82
+ const SnappedToMismatch_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 & {
83
+ _tag: "SnappedToMismatch";
84
+ }>;
85
+ export class SnappedToMismatch extends SnappedToMismatch_base<{
86
+ name: string;
87
+ instances: Instance[];
88
+ readonly isValid: false;
89
+ readonly expectedVersion: string;
90
+ readonly snapTo: string[];
91
+ }> {
92
+ }
93
+ const UnsupportedMismatch_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 & {
94
+ _tag: "UnsupportedMismatch";
95
+ }>;
96
+ export class UnsupportedMismatch extends UnsupportedMismatch_base<{
97
+ name: string;
98
+ instances: Instance[];
99
+ readonly isValid: false;
100
+ }> {
101
+ }
102
+ const Valid_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 & {
103
+ _tag: "Valid";
104
+ }>;
105
+ export class Valid extends Valid_base<{
106
+ name: string;
107
+ instances: Instance[];
108
+ readonly isValid: true;
109
+ }> {
110
+ }
111
+ const WorkspaceMismatch_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 & {
112
+ _tag: "WorkspaceMismatch";
113
+ }>;
114
+ export class WorkspaceMismatch extends WorkspaceMismatch_base<{
115
+ name: string;
116
+ instances: Instance[];
117
+ readonly isValid: false;
118
+ readonly expectedVersion: string;
119
+ readonly workspaceInstance: Instance;
120
+ }> {
121
+ }
122
+ export type ValidCases = Union.Strict<FilteredOut | Ignored | Valid>;
123
+ export type InvalidCases = Union.Strict<Banned | HighestSemverMismatch | LowestSemverMismatch | PinnedMismatch | SameRangeMismatch | SnappedToMismatch | UnsupportedMismatch | WorkspaceMismatch>;
124
+ export type FixableCases = Union.Strict<HighestSemverMismatch | LowestSemverMismatch | PinnedMismatch | SnappedToMismatch | WorkspaceMismatch>;
125
+ export type UnfixableCases = Union.Strict<SameRangeMismatch | UnsupportedMismatch | WorkspaceMismatch>;
126
+ export type HighLowSemverMismatch = VersionGroupReport.HighestSemverMismatch | VersionGroupReport.LowestSemverMismatch;
127
+ export type Any = Union.Strict<ValidCases | InvalidCases>;
128
+ export {};
129
+ }
130
+ declare const VersionGroupConfigError_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 & {
131
+ _tag: "VersionGroupConfigError";
132
+ }>;
133
+ export declare class VersionGroupConfigError extends VersionGroupConfigError_base<{
134
+ readonly config: unknown;
135
+ readonly error: string;
136
+ }> {
137
+ }
138
+ export declare function getVersionGroups(ctx: Ctx): Effect.Effect<never, VersionGroupConfigError | DeprecatedTypesError, AnyVersionGroup[]>;
139
+ export {};