syncpack 12.0.0-alpha.0 → 12.0.0-alpha.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 (71) hide show
  1. package/README.md +24 -26
  2. package/dist/bin-fix-mismatches/fix-mismatches.js +6 -1
  3. package/dist/bin-format/format.js +6 -1
  4. package/dist/bin-prompt/prompt.js +6 -1
  5. package/dist/bin-set-semver-ranges/set-semver-ranges.js +6 -1
  6. package/dist/bin-update/effects.d.ts +4 -4
  7. package/dist/bin-update/update.js +6 -1
  8. package/dist/config/get-custom-types.d.ts +1 -1
  9. package/dist/config/get-enabled-types.d.ts +2 -2
  10. package/dist/constants.d.ts +0 -2
  11. package/dist/constants.js +1 -2
  12. package/dist/error-handlers/default-error-handlers.d.ts +0 -13
  13. package/dist/error-handlers/default-error-handlers.js +1 -20
  14. package/dist/get-instances/instance.js +14 -0
  15. package/dist/get-package-json-files/get-file-paths.d.ts +1 -1
  16. package/dist/get-package-json-files/package-json-file.js +8 -0
  17. package/dist/io/ask-for-choice.d.ts +2 -2
  18. package/dist/io/ask-for-choice.js +1 -2
  19. package/dist/io/ask-for-input.d.ts +2 -2
  20. package/dist/io/ask-for-input.js +1 -2
  21. package/dist/io/glob-sync.d.ts +1 -1
  22. package/dist/io/read-file-sync.d.ts +1 -1
  23. package/dist/io/read-json-file-sync.d.ts +2 -2
  24. package/dist/io/read-yaml-file-sync.d.ts +2 -2
  25. package/dist/io/read-yaml-file-sync.js +1 -2
  26. package/dist/io/write-file-sync.d.ts +1 -1
  27. package/dist/lib/ring-buffer.js +2 -0
  28. package/dist/report.d.ts +15 -15
  29. package/dist/semver-group/disabled.d.ts +1 -1
  30. package/dist/semver-group/disabled.js +1 -1
  31. package/dist/semver-group/filtered-out.d.ts +1 -1
  32. package/dist/semver-group/filtered-out.js +1 -1
  33. package/dist/semver-group/ignored.d.ts +1 -1
  34. package/dist/semver-group/ignored.js +1 -1
  35. package/dist/semver-group/index.d.ts +1 -1
  36. package/dist/semver-group/with-range.d.ts +1 -1
  37. package/dist/semver-group/with-range.js +1 -1
  38. package/dist/specifier/alias.js +1 -4
  39. package/dist/specifier/base.js +20 -2
  40. package/dist/specifier/delete.js +6 -4
  41. package/dist/specifier/file.js +1 -4
  42. package/dist/specifier/hosted-git.js +1 -4
  43. package/dist/specifier/lib/non-semver-error.d.ts +1 -1
  44. package/dist/specifier/range.js +1 -4
  45. package/dist/specifier/tag.js +1 -4
  46. package/dist/specifier/unsupported.js +1 -4
  47. package/dist/specifier/url.js +1 -5
  48. package/dist/specifier/version.js +1 -4
  49. package/dist/specifier/workspace-protocol.js +1 -4
  50. package/dist/strategy/name-and-version-props.js +4 -1
  51. package/dist/strategy/named-version-string.js +3 -1
  52. package/dist/strategy/unnamed-version-string.js +3 -1
  53. package/dist/strategy/versions-by-name.js +3 -1
  54. package/dist/version-group/banned.d.ts +1 -1
  55. package/dist/version-group/banned.js +1 -1
  56. package/dist/version-group/filtered-out.d.ts +1 -1
  57. package/dist/version-group/filtered-out.js +1 -1
  58. package/dist/version-group/ignored.d.ts +1 -1
  59. package/dist/version-group/ignored.js +1 -1
  60. package/dist/version-group/index.d.ts +1 -1
  61. package/dist/version-group/pinned.d.ts +1 -1
  62. package/dist/version-group/pinned.js +1 -1
  63. package/dist/version-group/same-range.d.ts +1 -1
  64. package/dist/version-group/same-range.js +1 -1
  65. package/dist/version-group/snapped-to.d.ts +1 -1
  66. package/dist/version-group/snapped-to.js +1 -1
  67. package/dist/version-group/standard.d.ts +1 -1
  68. package/dist/version-group/standard.js +1 -1
  69. package/package.json +29 -30
  70. package/dist/create-program/effects.d.ts +0 -62
  71. package/dist/create-program/effects.js +0 -2
@@ -3,7 +3,7 @@ import type { VersionGroupConfig } from '../config/types';
3
3
  import type { Ctx } from '../get-context';
4
4
  import type { Instance } from '../get-instances/instance';
5
5
  import { Report } from '../report';
6
- declare const SameRangeVersionGroup_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/dist/declarations/src/Equal").Equal>, {}> extends true ? void : Omit<A, keyof import("effect/dist/declarations/src/Equal").Equal>) => Data.Data<A & {
6
+ declare const SameRangeVersionGroup_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal").Equal>, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" | keyof import("effect/Equal").Equal ? never : P]: A[P]; }) => Data.Data<Readonly<A> & {
7
7
  readonly _tag: "SameRange";
8
8
  }>;
9
9
  export declare class SameRangeVersionGroup extends SameRangeVersionGroup_base<{
@@ -11,13 +11,13 @@ const report_1 = require("../report");
11
11
  const specifier_1 = require("../specifier");
12
12
  const group_by_1 = require("./lib/group-by");
13
13
  class SameRangeVersionGroup extends effect_1.Data.TaggedClass('SameRange') {
14
+ groupType = 'versionGroup';
14
15
  constructor(ctx, config) {
15
16
  super({
16
17
  ctx,
17
18
  config,
18
19
  instances: [],
19
20
  });
20
- this.groupType = 'versionGroup';
21
21
  }
22
22
  canAdd(_) {
23
23
  return true;
@@ -2,7 +2,7 @@ import { Data, Effect } from 'effect';
2
2
  import type { VersionGroupConfig } from '../config/types';
3
3
  import type { Instance } from '../get-instances/instance';
4
4
  import { Report } from '../report';
5
- declare const SnappedToVersionGroup_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/dist/declarations/src/Equal").Equal>, {}> extends true ? void : Omit<A, keyof import("effect/dist/declarations/src/Equal").Equal>) => Data.Data<A & {
5
+ declare const SnappedToVersionGroup_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal").Equal>, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" | keyof import("effect/Equal").Equal ? never : P]: A[P]; }) => Data.Data<Readonly<A> & {
6
6
  readonly _tag: "SnappedTo";
7
7
  }>;
8
8
  export declare class SnappedToVersionGroup extends SnappedToVersionGroup_base<{
@@ -6,12 +6,12 @@ const report_1 = require("../report");
6
6
  const specifier_1 = require("../specifier");
7
7
  const group_by_1 = require("./lib/group-by");
8
8
  class SnappedToVersionGroup extends effect_1.Data.TaggedClass('SnappedTo') {
9
+ groupType = 'versionGroup';
9
10
  constructor(config) {
10
11
  super({
11
12
  config,
12
13
  instances: [],
13
14
  });
14
- this.groupType = 'versionGroup';
15
15
  }
16
16
  canAdd(_) {
17
17
  return true;
@@ -2,7 +2,7 @@ import { Data, Effect } from 'effect';
2
2
  import type { VersionGroupConfig } from '../config/types';
3
3
  import type { Instance } from '../get-instances/instance';
4
4
  import { Report } from '../report';
5
- declare const StandardVersionGroup_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/dist/declarations/src/Equal").Equal>, {}> extends true ? void : Omit<A, keyof import("effect/dist/declarations/src/Equal").Equal>) => Data.Data<A & {
5
+ declare const StandardVersionGroup_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal").Equal>, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" | keyof import("effect/Equal").Equal ? never : P]: A[P]; }) => Data.Data<Readonly<A> & {
6
6
  readonly _tag: "Standard";
7
7
  }>;
8
8
  export declare class StandardVersionGroup extends StandardVersionGroup_base<{
@@ -8,13 +8,13 @@ const specifier_1 = require("../specifier");
8
8
  const get_preferred_version_1 = require("./lib/get-preferred-version");
9
9
  const group_by_1 = require("./lib/group-by");
10
10
  class StandardVersionGroup extends effect_1.Data.TaggedClass('Standard') {
11
+ groupType = 'versionGroup';
11
12
  constructor(isCatchAll, config) {
12
13
  super({
13
14
  config,
14
15
  instances: [],
15
16
  isCatchAll,
16
17
  });
17
- this.groupType = 'versionGroup';
18
18
  }
19
19
  canAdd(_) {
20
20
  return true;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "syncpack",
3
3
  "description": "Consistent dependency versions in large JavaScript Monorepos",
4
- "version": "12.0.0-alpha.0",
4
+ "version": "12.0.0-alpha.1",
5
5
  "author": "Jamie Mason <jamie@foldleft.io> (https://github.com/JamieMason)",
6
6
  "bin": {
7
7
  "syncpack": "dist/bin.js",
@@ -32,11 +32,11 @@
32
32
  ],
33
33
  "dependencies": {
34
34
  "@effect/match": "0.40.0",
35
- "@effect/schema": "0.43.0",
35
+ "@effect/schema": "0.56.0",
36
36
  "chalk": "4.1.2",
37
- "commander": "11.0.0",
38
- "cosmiconfig": "8.3.6",
39
- "effect": "2.0.0-next.48",
37
+ "commander": "11.1.0",
38
+ "cosmiconfig": "9.0.0",
39
+ "effect": "2.0.0-next.62",
40
40
  "enquirer": "2.4.1",
41
41
  "globby": "11.1.0",
42
42
  "minimatch": "9.0.3",
@@ -49,27 +49,26 @@
49
49
  "ts-toolbelt": "9.6.0"
50
50
  },
51
51
  "devDependencies": {
52
+ "@release-it/conventional-changelog": "8.0.1",
52
53
  "@tsconfig/node18": "18.2.2",
53
- "@types/jest": "29.5.5",
54
- "@types/node": "14.18.36",
55
- "@types/npm-package-arg": "6.1.2",
56
- "@types/prompts": "2.4.5",
57
- "@types/semver": "7.5.3",
58
- "@typescript-eslint/eslint-plugin": "6.7.5",
59
- "@typescript-eslint/parser": "6.7.5",
60
- "eslint": "8.51.0",
61
- "eslint-plugin-import": "2.28.1",
62
- "eslint-plugin-jest": "27.4.2",
63
- "expect-more-jest": "5.5.0",
64
- "immer": "10.0.3",
65
- "jest": "29.7.0",
54
+ "@types/node": "20.10.5",
55
+ "@types/npm-package-arg": "6.1.4",
56
+ "@types/prompts": "2.4.9",
57
+ "@types/semver": "7.5.6",
58
+ "@typescript-eslint/eslint-plugin": "6.15.0",
59
+ "@typescript-eslint/parser": "6.15.0",
60
+ "@vitest/coverage-v8": "1.1.0",
61
+ "auto-changelog": "2.4.0",
62
+ "eslint": "8.56.0",
63
+ "eslint-plugin-import": "2.29.1",
66
64
  "memfs": "4.6.0",
67
- "prettier": "3.0.3",
68
- "rimraf": "5.0.5",
69
- "ts-jest": "29.1.1",
70
- "ts-node": "10.9.1",
71
- "typescript": "5.2.2",
72
- "typescript-json-schema": "0.61.0"
65
+ "prettier": "3.1.1",
66
+ "prettier-plugin-astro": "0.12.2",
67
+ "release-it": "17.0.1",
68
+ "ts-node": "10.9.2",
69
+ "typescript": "5.3.3",
70
+ "typescript-json-schema": "0.62.0",
71
+ "vitest": "1.1.0"
73
72
  },
74
73
  "engines": {
75
74
  "node": ">=16"
@@ -100,14 +99,14 @@
100
99
  ],
101
100
  "license": "MIT",
102
101
  "main": "dist/index.js",
103
- "repository": "JamieMason/syncpack",
104
- "resolutions": {
102
+ "overrides": {
105
103
  "chalk": "4.1.2",
106
- "globby": "11.1.0",
104
+ "effect": "2.0.0-next.62",
107
105
  "string-width": "<5.0.0",
108
106
  "strip-ansi": "<7.0.0",
109
107
  "wrap-ansi": "<8.0.0"
110
108
  },
109
+ "repository": "JamieMason/syncpack",
111
110
  "scripts": {
112
111
  "build": "yarn clean && yarn build:source && yarn build:json-schema",
113
112
  "build:json-schema": "typescript-json-schema --noExtraProps src/index.ts RcFile --out dist/schema.json",
@@ -120,7 +119,7 @@
120
119
  "lint:eslint": "eslint --ext .ts .",
121
120
  "lint:ts": "tsc --noEmit --project tsconfig.json",
122
121
  "prepack": "yarn build",
123
- "test": "jest"
124
- },
125
- "types": "dist/index.d.ts"
122
+ "release": "release-it --increment=prerelease",
123
+ "test": "vitest run --config vitest.config.ts"
124
+ }
126
125
  }
@@ -1,62 +0,0 @@
1
- import type { Effect } from 'effect';
2
- import type { Ctx } from '../get-context';
3
- import type { Io } from '../io';
4
- import type { Report } from '../report';
5
- import type { SemverGroup } from '../semver-group';
6
- import type { VersionGroup } from '../version-group';
7
- export interface SemverRangeEffectInput<T extends Report.Semver.Any> {
8
- _tag: T['_tag'];
9
- ctx: Ctx;
10
- group: SemverGroup.Any;
11
- index: number;
12
- report: T;
13
- }
14
- export interface VersionEffectInput<T extends Report.Version.Any> {
15
- _tag: T['_tag'];
16
- ctx: Ctx;
17
- group: VersionGroup.Any;
18
- index: number;
19
- report: T;
20
- }
21
- export type Handler<I> = (input: I) => Effect.Effect<Io | never, never, void>;
22
- type SemverHandler<I extends Report.Semver.Any> = Handler<SemverRangeEffectInput<I>>;
23
- type VersionHandler<I extends Report.Version.Any> = Handler<VersionEffectInput<I>>;
24
- export interface SemverRangeEffects {
25
- onSemverGroup: Handler<{
26
- ctx: Ctx;
27
- group: SemverGroup.Any;
28
- index: number;
29
- }>;
30
- onDisabled: SemverHandler<Report.Disabled>;
31
- onFilteredOut: SemverHandler<Report.FilteredOut>;
32
- onIgnored: SemverHandler<Report.Ignored>;
33
- onValid: SemverHandler<Report.Valid>;
34
- onSemverRangeMismatch: SemverHandler<Report.SemverRangeMismatch>;
35
- onUnsupportedMismatch: SemverHandler<Report.UnsupportedMismatch>;
36
- }
37
- export interface VersionEffects {
38
- onComplete: (ctx: Ctx) => Effect.Effect<never, never, void>;
39
- onVersionGroup: Handler<{
40
- ctx: Ctx;
41
- group: VersionGroup.Any;
42
- index: number;
43
- }>;
44
- onDisabled: VersionHandler<Report.Disabled>;
45
- onFilteredOut: VersionHandler<Report.FilteredOut>;
46
- onIgnored: VersionHandler<Report.Ignored>;
47
- onValid: VersionHandler<Report.Valid>;
48
- onFixable: VersionHandler<Report.Version.Fixable.Any>;
49
- onBanned: VersionHandler<Report.Banned>;
50
- onHighestSemverMismatch: VersionHandler<Report.HighestSemverMismatch>;
51
- onLocalPackageMismatch: VersionHandler<Report.LocalPackageMismatch>;
52
- onLowestSemverMismatch: VersionHandler<Report.LowestSemverMismatch>;
53
- onPinnedMismatch: VersionHandler<Report.PinnedMismatch>;
54
- onSemverRangeMismatch: VersionHandler<Report.SemverRangeMismatch>;
55
- onSnappedToMismatch: VersionHandler<Report.SnappedToMismatch>;
56
- onUnfixable: VersionHandler<Report.Version.Unfixable.Any>;
57
- onMissingLocalVersion: VersionHandler<Report.MissingLocalVersion>;
58
- onMissingSnappedToMismatch: VersionHandler<Report.MissingSnappedToMismatch>;
59
- onUnsupportedMismatch: VersionHandler<Report.UnsupportedMismatch>;
60
- onSameRangeMismatch: VersionHandler<Report.SameRangeMismatch>;
61
- }
62
- export {};
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });