syncpack 12.3.0 → 12.3.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 (206) hide show
  1. package/dist/bin-fix-mismatches/fix-mismatches.d.ts +9 -9
  2. package/dist/bin-fix-mismatches/fix-mismatches.js +43 -54
  3. package/dist/bin-fix-mismatches/index.js +26 -31
  4. package/dist/bin-format/format.d.ts +6 -6
  5. package/dist/bin-format/format.js +27 -32
  6. package/dist/bin-format/index.js +20 -25
  7. package/dist/bin-lint/index.js +15 -20
  8. package/dist/bin-lint/lint.d.ts +4 -4
  9. package/dist/bin-lint/lint.js +28 -35
  10. package/dist/bin-lint-semver-ranges/index.js +24 -29
  11. package/dist/bin-lint-semver-ranges/lint-semver-ranges.d.ts +8 -8
  12. package/dist/bin-lint-semver-ranges/lint-semver-ranges.js +34 -44
  13. package/dist/bin-list/index.js +24 -29
  14. package/dist/bin-list/list.d.ts +7 -7
  15. package/dist/bin-list/list.js +55 -64
  16. package/dist/bin-list-mismatches/index.js +24 -29
  17. package/dist/bin-list-mismatches/list-mismatches.d.ts +10 -10
  18. package/dist/bin-list-mismatches/list-mismatches.js +62 -70
  19. package/dist/bin-prompt/index.js +26 -31
  20. package/dist/bin-prompt/prompt.d.ts +4 -4
  21. package/dist/bin-prompt/prompt.js +41 -48
  22. package/dist/bin-set-semver-ranges/index.js +26 -31
  23. package/dist/bin-set-semver-ranges/set-semver-ranges.d.ts +4 -4
  24. package/dist/bin-set-semver-ranges/set-semver-ranges.js +26 -30
  25. package/dist/bin-update/effects.d.ts +18 -18
  26. package/dist/bin-update/effects.js +77 -106
  27. package/dist/bin-update/index.js +23 -28
  28. package/dist/bin-update/update.d.ts +5 -5
  29. package/dist/bin-update/update.js +37 -45
  30. package/dist/bin.js +8 -5
  31. package/dist/config/get-custom-types.d.ts +9 -9
  32. package/dist/config/get-custom-types.js +22 -27
  33. package/dist/config/get-enabled-types.d.ts +8 -8
  34. package/dist/config/get-enabled-types.js +42 -48
  35. package/dist/config/get-filter.d.ts +1 -1
  36. package/dist/config/get-filter.js +6 -10
  37. package/dist/config/get-indent.d.ts +1 -1
  38. package/dist/config/get-indent.js +6 -10
  39. package/dist/config/get-sort-az.d.ts +1 -1
  40. package/dist/config/get-sort-az.js +6 -10
  41. package/dist/config/get-sort-exports.d.ts +1 -1
  42. package/dist/config/get-sort-exports.js +6 -10
  43. package/dist/config/get-sort-first.d.ts +1 -1
  44. package/dist/config/get-sort-first.js +6 -10
  45. package/dist/config/get-source.d.ts +1 -1
  46. package/dist/config/get-source.js +4 -8
  47. package/dist/config/tag.d.ts +1 -1
  48. package/dist/config/tag.js +2 -5
  49. package/dist/config/types.d.ts +2 -5
  50. package/dist/config/types.js +1 -2
  51. package/dist/constants.js +7 -10
  52. package/dist/error-handlers/default-error-handlers.d.ts +10 -10
  53. package/dist/error-handlers/default-error-handlers.js +55 -61
  54. package/dist/get-context/index.d.ts +5 -5
  55. package/dist/get-context/index.js +13 -17
  56. package/dist/get-context/lib/key-by.js +1 -5
  57. package/dist/get-instances/index.d.ts +7 -7
  58. package/dist/get-instances/index.js +19 -23
  59. package/dist/get-instances/instance.d.ts +7 -7
  60. package/dist/get-instances/instance.js +4 -8
  61. package/dist/get-package-json-files/get-file-paths.d.ts +7 -7
  62. package/dist/get-package-json-files/get-file-paths.js +10 -15
  63. package/dist/get-package-json-files/get-patterns/get-lerna-patterns.d.ts +2 -2
  64. package/dist/get-package-json-files/get-patterns/get-lerna-patterns.js +8 -12
  65. package/dist/get-package-json-files/get-patterns/get-pnpm-patterns.d.ts +2 -2
  66. package/dist/get-package-json-files/get-patterns/get-pnpm-patterns.js +8 -12
  67. package/dist/get-package-json-files/get-patterns/get-yarn-patterns.d.ts +2 -2
  68. package/dist/get-package-json-files/get-patterns/get-yarn-patterns.js +14 -18
  69. package/dist/get-package-json-files/get-patterns/index.d.ts +3 -3
  70. package/dist/get-package-json-files/get-patterns/index.js +11 -15
  71. package/dist/get-package-json-files/index.d.ts +8 -8
  72. package/dist/get-package-json-files/index.js +6 -10
  73. package/dist/get-package-json-files/package-json-file.d.ts +6 -6
  74. package/dist/get-package-json-files/package-json-file.js +8 -12
  75. package/dist/guards/can-add-to-group.d.ts +4 -4
  76. package/dist/guards/can-add-to-group.js +10 -14
  77. package/dist/guards/is-semver.js +3 -7
  78. package/dist/guards/is-valid-semver-range.d.ts +1 -1
  79. package/dist/guards/is-valid-semver-range.js +12 -16
  80. package/dist/index.d.ts +1 -1
  81. package/dist/index.js +1 -2
  82. package/dist/io/ask-for-choice.d.ts +5 -5
  83. package/dist/io/ask-for-choice.js +5 -9
  84. package/dist/io/ask-for-input.d.ts +5 -5
  85. package/dist/io/ask-for-input.js +5 -9
  86. package/dist/io/exit-if-invalid.d.ts +3 -3
  87. package/dist/io/exit-if-invalid.js +5 -9
  88. package/dist/io/glob-sync.d.ts +5 -5
  89. package/dist/io/glob-sync.js +4 -9
  90. package/dist/io/index.d.ts +8 -8
  91. package/dist/io/index.js +12 -38
  92. package/dist/io/read-config-file.d.ts +7 -0
  93. package/dist/io/read-config-file.js +22 -0
  94. package/dist/io/read-file-sync.d.ts +5 -5
  95. package/dist/io/read-file-sync.js +4 -9
  96. package/dist/io/read-json-file-sync.d.ts +8 -8
  97. package/dist/io/read-json-file-sync.js +10 -16
  98. package/dist/io/read-yaml-file-sync.d.ts +5 -5
  99. package/dist/io/read-yaml-file-sync.js +4 -8
  100. package/dist/io/to-json.d.ts +2 -2
  101. package/dist/io/to-json.js +8 -12
  102. package/dist/io/write-file-sync.d.ts +5 -5
  103. package/dist/io/write-file-sync.js +5 -10
  104. package/dist/io/write-if-changed.d.ts +4 -4
  105. package/dist/io/write-if-changed.js +9 -16
  106. package/dist/lib/format-repository-url.js +1 -5
  107. package/dist/lib/get-group-header.d.ts +2 -2
  108. package/dist/lib/get-group-header.js +4 -12
  109. package/dist/lib/get.d.ts +10 -10
  110. package/dist/lib/get.js +15 -19
  111. package/dist/lib/pad-start.js +1 -5
  112. package/dist/lib/ring-buffer.js +1 -5
  113. package/dist/lib/set-semver-range.d.ts +1 -1
  114. package/dist/lib/set-semver-range.js +8 -12
  115. package/dist/lib/show-help-on-error.js +3 -10
  116. package/dist/lib/sort-by-name.js +1 -5
  117. package/dist/lib/with-logger.d.ts +1 -1
  118. package/dist/lib/with-logger.js +17 -24
  119. package/dist/option.d.ts +1 -1
  120. package/dist/option.js +8 -14
  121. package/dist/report.d.ts +2 -2
  122. package/dist/report.js +2 -5
  123. package/dist/semver-group/create-semver-groups.d.ts +3 -3
  124. package/dist/semver-group/create-semver-groups.js +28 -32
  125. package/dist/semver-group/disabled.d.ts +11 -11
  126. package/dist/semver-group/disabled.js +6 -10
  127. package/dist/semver-group/filtered-out.d.ts +12 -12
  128. package/dist/semver-group/filtered-out.js +8 -12
  129. package/dist/semver-group/ignored.d.ts +11 -11
  130. package/dist/semver-group/ignored.js +6 -10
  131. package/dist/semver-group/index.d.ts +6 -7
  132. package/dist/semver-group/index.js +4 -7
  133. package/dist/semver-group/with-range.d.ts +11 -11
  134. package/dist/semver-group/with-range.js +13 -17
  135. package/dist/specifier/alias.d.ts +5 -5
  136. package/dist/specifier/alias.js +9 -13
  137. package/dist/specifier/base.d.ts +7 -7
  138. package/dist/specifier/base.js +9 -13
  139. package/dist/specifier/delete.d.ts +5 -5
  140. package/dist/specifier/delete.js +5 -9
  141. package/dist/specifier/exact.d.ts +6 -6
  142. package/dist/specifier/exact.js +7 -11
  143. package/dist/specifier/file.d.ts +1 -1
  144. package/dist/specifier/file.js +2 -6
  145. package/dist/specifier/hosted-git.d.ts +5 -5
  146. package/dist/specifier/hosted-git.js +9 -13
  147. package/dist/specifier/index.d.ts +13 -13
  148. package/dist/specifier/index.js +28 -31
  149. package/dist/specifier/latest.d.ts +6 -6
  150. package/dist/specifier/latest.js +7 -11
  151. package/dist/specifier/lib/non-semver-error.d.ts +5 -5
  152. package/dist/specifier/lib/non-semver-error.js +3 -7
  153. package/dist/specifier/lib/parse-specifier.d.ts +1 -1
  154. package/dist/specifier/lib/parse-specifier.js +4 -11
  155. package/dist/specifier/lib/specific-registry-result.js +1 -2
  156. package/dist/specifier/range.d.ts +6 -6
  157. package/dist/specifier/range.js +7 -11
  158. package/dist/specifier/tag.d.ts +2 -2
  159. package/dist/specifier/tag.js +2 -6
  160. package/dist/specifier/unsupported.d.ts +1 -1
  161. package/dist/specifier/unsupported.js +2 -6
  162. package/dist/specifier/url.d.ts +1 -1
  163. package/dist/specifier/url.js +2 -6
  164. package/dist/specifier/workspace-protocol.d.ts +7 -7
  165. package/dist/specifier/workspace-protocol.js +9 -13
  166. package/dist/strategy/lib/get-non-empty-string-prop.d.ts +2 -2
  167. package/dist/strategy/lib/get-non-empty-string-prop.js +6 -10
  168. package/dist/strategy/name-and-version-props.d.ts +4 -4
  169. package/dist/strategy/name-and-version-props.js +19 -23
  170. package/dist/strategy/named-version-string.d.ts +4 -4
  171. package/dist/strategy/named-version-string.js +20 -24
  172. package/dist/strategy/unnamed-version-string.d.ts +4 -4
  173. package/dist/strategy/unnamed-version-string.js +17 -21
  174. package/dist/strategy/versions-by-name.d.ts +4 -4
  175. package/dist/strategy/versions-by-name.js +11 -15
  176. package/dist/version-group/banned.d.ts +7 -7
  177. package/dist/version-group/banned.js +8 -12
  178. package/dist/version-group/create-version-groups.d.ts +3 -3
  179. package/dist/version-group/create-version-groups.js +34 -38
  180. package/dist/version-group/filtered-out.d.ts +8 -8
  181. package/dist/version-group/filtered-out.js +8 -12
  182. package/dist/version-group/ignored.d.ts +7 -7
  183. package/dist/version-group/ignored.js +6 -10
  184. package/dist/version-group/index.d.ts +9 -10
  185. package/dist/version-group/index.js +4 -7
  186. package/dist/version-group/lib/clean.js +4 -11
  187. package/dist/version-group/lib/delete.js +1 -4
  188. package/dist/version-group/lib/get-highest-version.d.ts +2 -2
  189. package/dist/version-group/lib/get-highest-version.js +3 -7
  190. package/dist/version-group/lib/get-lowest-version.d.ts +2 -2
  191. package/dist/version-group/lib/get-lowest-version.js +3 -7
  192. package/dist/version-group/lib/get-preferred-version.d.ts +4 -4
  193. package/dist/version-group/lib/get-preferred-version.js +17 -24
  194. package/dist/version-group/lib/get-range-score.js +13 -17
  195. package/dist/version-group/lib/group-by.js +1 -5
  196. package/dist/version-group/pinned.d.ts +7 -7
  197. package/dist/version-group/pinned.js +8 -12
  198. package/dist/version-group/same-range.d.ts +8 -8
  199. package/dist/version-group/same-range.js +23 -30
  200. package/dist/version-group/snapped-to.d.ts +7 -7
  201. package/dist/version-group/snapped-to.js +20 -24
  202. package/dist/version-group/standard.d.ts +7 -7
  203. package/dist/version-group/standard.js +29 -33
  204. package/package.json +30 -37
  205. package/dist/io/read-config-file-sync.d.ts +0 -7
  206. package/dist/io/read-config-file-sync.js +0 -26
@@ -1,14 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readFileSync = exports.ReadFileError = void 0;
4
- const effect_1 = require("effect");
5
- class ReadFileError extends effect_1.Data.TaggedClass('ReadFileError') {
1
+ import { Data, Effect } from 'effect';
2
+ export class ReadFileError extends Data.TaggedClass('ReadFileError') {
6
3
  }
7
- exports.ReadFileError = ReadFileError;
8
- function readFileSync(io, filePath) {
9
- return effect_1.Effect.try({
4
+ export function readFileSync(io, filePath) {
5
+ return Effect.try({
10
6
  try: () => io.fs.readFileSync(filePath, { encoding: 'utf8' }),
11
7
  catch: (err) => new ReadFileError({ filePath, error: String(err) }),
12
8
  });
13
9
  }
14
- exports.readFileSync = readFileSync;
@@ -1,18 +1,18 @@
1
- import { Data, Effect } from 'effect';
2
- import type { Io } from '.';
3
- import type { ReadFileError } from './read-file-sync';
4
- declare const JsonParseError_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> & {
1
+ import { Effect } from 'effect';
2
+ import type { Io } from './index.js';
3
+ import type { ReadFileError } from './read-file-sync.js';
4
+ declare const JsonParseError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
5
5
  readonly _tag: "JsonParseError";
6
- }>;
6
+ };
7
7
  export declare class JsonParseError extends JsonParseError_base<{
8
8
  readonly error: unknown;
9
9
  readonly filePath: string;
10
10
  readonly json: string;
11
11
  }> {
12
12
  }
13
- declare const JsonFile_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> & {
13
+ declare const JsonFile_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
14
14
  readonly _tag: "JsonFile";
15
- }>;
15
+ };
16
16
  export declare class JsonFile<T> extends JsonFile_base<{
17
17
  /** absolute path on disk to the directory of this file */
18
18
  readonly dirPath: string;
@@ -26,5 +26,5 @@ export declare class JsonFile<T> extends JsonFile_base<{
26
26
  readonly json: string;
27
27
  }> {
28
28
  }
29
- export declare function readJsonFileSync<T>(io: Io, filePath: string): Effect.Effect<never, ReadFileError | JsonParseError, JsonFile<T>>;
29
+ export declare function readJsonFileSync<T>(io: Io, filePath: string): Effect.Effect<JsonFile<T>, ReadFileError | JsonParseError>;
30
30
  export {};
@@ -1,25 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readJsonFileSync = exports.JsonFile = exports.JsonParseError = void 0;
4
- const effect_1 = require("effect");
5
- const path_1 = require("path");
6
- const read_file_sync_1 = require("./read-file-sync");
7
- class JsonParseError extends effect_1.Data.TaggedClass('JsonParseError') {
1
+ import { Data, Effect, pipe } from 'effect';
2
+ import { dirname, relative } from 'path';
3
+ import { readFileSync } from './read-file-sync.js';
4
+ export class JsonParseError extends Data.TaggedClass('JsonParseError') {
8
5
  }
9
- exports.JsonParseError = JsonParseError;
10
- class JsonFile extends effect_1.Data.TaggedClass('JsonFile') {
6
+ export class JsonFile extends Data.TaggedClass('JsonFile') {
11
7
  }
12
- exports.JsonFile = JsonFile;
13
- function readJsonFileSync(io, filePath) {
14
- return (0, effect_1.pipe)(effect_1.Effect.Do, effect_1.Effect.bind('json', () => (0, read_file_sync_1.readFileSync)(io, filePath)), effect_1.Effect.bind('contents', ({ json }) => effect_1.Effect.try({
8
+ export function readJsonFileSync(io, filePath) {
9
+ return pipe(Effect.Do, Effect.bind('json', () => readFileSync(io, filePath)), Effect.bind('contents', ({ json }) => Effect.try({
15
10
  try: () => JSON.parse(json),
16
11
  catch: (error) => new JsonParseError({ error, filePath, json }),
17
- })), effect_1.Effect.map(({ contents, json }) => new JsonFile({
12
+ })), Effect.map(({ contents, json }) => new JsonFile({
18
13
  contents,
19
- dirPath: (0, path_1.dirname)(filePath),
14
+ dirPath: dirname(filePath),
20
15
  filePath,
21
16
  json,
22
- shortPath: (0, path_1.relative)(io.process.cwd(), filePath),
17
+ shortPath: relative(io.process.cwd(), filePath),
23
18
  })));
24
19
  }
25
- exports.readJsonFileSync = readJsonFileSync;
@@ -1,12 +1,12 @@
1
- import { Data, Effect } from 'effect';
2
- import type { Io } from '.';
3
- declare const ReadYamlFileError_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> & {
1
+ import { Effect } from 'effect';
2
+ import type { Io } from './index.js';
3
+ declare const ReadYamlFileError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
4
4
  readonly _tag: "ReadYamlFileError";
5
- }>;
5
+ };
6
6
  declare class ReadYamlFileError extends ReadYamlFileError_base<{
7
7
  readonly filePath: string;
8
8
  readonly error: string;
9
9
  }> {
10
10
  }
11
- export declare function readYamlFileSync<T = unknown>(io: Io, filePath: string): Effect.Effect<never, ReadYamlFileError, T>;
11
+ export declare function readYamlFileSync<T = unknown>(io: Io, filePath: string): Effect.Effect<T, ReadYamlFileError>;
12
12
  export {};
@@ -1,13 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readYamlFileSync = void 0;
4
- const effect_1 = require("effect");
5
- class ReadYamlFileError extends effect_1.Data.TaggedClass('ReadYamlFileError') {
1
+ import { Data, Effect } from 'effect';
2
+ class ReadYamlFileError extends Data.TaggedClass('ReadYamlFileError') {
6
3
  }
7
- function readYamlFileSync(io, filePath) {
8
- return effect_1.Effect.try({
4
+ export function readYamlFileSync(io, filePath) {
5
+ return Effect.try({
9
6
  try: () => io.readYamlFile.sync(filePath),
10
7
  catch: (err) => new ReadYamlFileError({ filePath, error: String(err) }),
11
8
  });
12
9
  }
13
- exports.readYamlFileSync = readYamlFileSync;
@@ -1,5 +1,5 @@
1
- import type { Ctx } from '../get-context';
2
- import type { PackageJsonFile } from '../get-package-json-files/package-json-file';
1
+ import type { Ctx } from '../get-context/index.js';
2
+ import type { PackageJsonFile } from '../get-package-json-files/package-json-file.js';
3
3
  type Ending = '\n' | '\r' | '\r\n' | string;
4
4
  export declare const newlines: {
5
5
  detect(source: string): Ending;
@@ -1,18 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toJson = exports.newlines = void 0;
4
- const os_1 = require("os");
5
- const get_indent_1 = require("../config/get-indent");
1
+ import { EOL } from 'os';
2
+ import { getIndent } from '../config/get-indent.js';
6
3
  const CR = '\r';
7
4
  const CRLF = '\r\n';
8
5
  const LF = '\n';
9
- exports.newlines = {
6
+ export const newlines = {
10
7
  detect(source) {
11
8
  const cr = source.split(CR).length;
12
9
  const lf = source.split(LF).length;
13
10
  const crlf = source.split(CRLF).length;
14
11
  if (cr + lf === 0)
15
- return os_1.EOL;
12
+ return EOL;
16
13
  if (crlf === cr && crlf === lf)
17
14
  return CRLF;
18
15
  if (cr > lf)
@@ -23,11 +20,10 @@ exports.newlines = {
23
20
  return source.replace(/\r\n|\n|\r/g, lineEnding);
24
21
  },
25
22
  };
26
- function toJson(ctx, file) {
23
+ export function toJson(ctx, file) {
27
24
  const contents = file.jsonFile.contents;
28
- const indent = (0, get_indent_1.getIndent)(ctx.config);
29
- const EOL = exports.newlines.detect(file.jsonFile.json);
25
+ const indent = getIndent(ctx.config);
26
+ const EOL = newlines.detect(file.jsonFile.json);
30
27
  const source = `${JSON.stringify(contents, null, indent)}${EOL}`;
31
- return exports.newlines.fix(source, EOL);
28
+ return newlines.fix(source, EOL);
32
29
  }
33
- exports.toJson = toJson;
@@ -1,12 +1,12 @@
1
- import { Data, Effect } from 'effect';
2
- import type { Io } from '.';
3
- declare const WriteFileError_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> & {
1
+ import { Effect } from 'effect';
2
+ import type { Io } from './index.js';
3
+ declare const WriteFileError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
4
4
  readonly _tag: "WriteFileError";
5
- }>;
5
+ };
6
6
  export declare class WriteFileError extends WriteFileError_base<{
7
7
  readonly filePath: string;
8
8
  readonly error: string;
9
9
  }> {
10
10
  }
11
- export declare function writeFileSync(filePath: string, contents: string): Effect.Effect<Io, WriteFileError, void>;
11
+ export declare function writeFileSync(filePath: string, contents: string): Effect.Effect<void, WriteFileError, Io>;
12
12
  export {};
@@ -1,15 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.writeFileSync = exports.WriteFileError = void 0;
4
- const effect_1 = require("effect");
5
- const _1 = require(".");
6
- class WriteFileError extends effect_1.Data.TaggedClass('WriteFileError') {
1
+ import { Data, Effect, pipe } from 'effect';
2
+ import { IoTag } from './index.js';
3
+ export class WriteFileError extends Data.TaggedClass('WriteFileError') {
7
4
  }
8
- exports.WriteFileError = WriteFileError;
9
- function writeFileSync(filePath, contents) {
10
- return (0, effect_1.pipe)(_1.IoTag, effect_1.Effect.flatMap((io) => effect_1.Effect.try({
5
+ export function writeFileSync(filePath, contents) {
6
+ return pipe(IoTag, Effect.flatMap((io) => Effect.try({
11
7
  try: () => io.fs.writeFileSync(filePath, contents),
12
8
  catch: (err) => new WriteFileError({ filePath, error: String(err) }),
13
9
  })));
14
10
  }
15
- exports.writeFileSync = writeFileSync;
@@ -1,5 +1,5 @@
1
1
  import { Effect } from 'effect';
2
- import type { Io } from '.';
3
- import type { Ctx } from '../get-context';
4
- import type { WriteFileError } from './write-file-sync';
5
- export declare function writeIfChanged(ctx: Ctx): Effect.Effect<Io, WriteFileError, Ctx>;
2
+ import type { Ctx } from '../get-context/index.js';
3
+ import type { Io } from './index.js';
4
+ import type { WriteFileError } from './write-file-sync.js';
5
+ export declare function writeIfChanged(ctx: Ctx): Effect.Effect<Ctx, WriteFileError, Io>;
@@ -1,17 +1,10 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.writeIfChanged = void 0;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const effect_1 = require("effect");
9
- const constants_1 = require("../constants");
10
- const to_json_1 = require("./to-json");
11
- const write_file_sync_1 = require("./write-file-sync");
12
- function writeIfChanged(ctx) {
13
- return (0, effect_1.pipe)(effect_1.Effect.all(ctx.packageJsonFiles.map((file) => (0, effect_1.pipe)(effect_1.Effect.Do, effect_1.Effect.bind('nextJson', () => effect_1.Effect.succeed((0, to_json_1.toJson)(ctx, file))), effect_1.Effect.bind('hasChanged', ({ nextJson }) => effect_1.Effect.succeed(file.jsonFile.json !== nextJson)), effect_1.Effect.flatMap(({ hasChanged, nextJson }) => hasChanged
14
- ? (0, effect_1.pipe)((0, write_file_sync_1.writeFileSync)(file.jsonFile.filePath, nextJson), effect_1.Effect.flatMap(() => effect_1.Effect.logInfo((0, chalk_1.default) `{green ${constants_1.ICON.tick}} ${file.jsonFile.shortPath}`)))
15
- : effect_1.Effect.logInfo((0, chalk_1.default) `{dim ${constants_1.ICON.skip} ${file.jsonFile.shortPath}}`))))), effect_1.Effect.map(() => ctx));
1
+ import chalk from 'chalk-template';
2
+ import { Effect, pipe } from 'effect';
3
+ import { ICON } from '../constants.js';
4
+ import { toJson } from './to-json.js';
5
+ import { writeFileSync } from './write-file-sync.js';
6
+ export function writeIfChanged(ctx) {
7
+ return pipe(Effect.all(ctx.packageJsonFiles.map((file) => pipe(Effect.Do, Effect.bind('nextJson', () => Effect.succeed(toJson(ctx, file))), Effect.bind('hasChanged', ({ nextJson }) => Effect.succeed(file.jsonFile.json !== nextJson)), Effect.flatMap(({ hasChanged, nextJson }) => hasChanged
8
+ ? pipe(writeFileSync(file.jsonFile.filePath, nextJson), Effect.flatMap(() => Effect.logInfo(chalk `{green ${ICON.tick}} ${file.jsonFile.shortPath}`)))
9
+ : Effect.logInfo(chalk `{dim ${ICON.skip} ${file.jsonFile.shortPath}}`))))), Effect.map(() => ctx));
16
10
  }
17
- exports.writeIfChanged = writeIfChanged;
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatRepositoryUrl = void 0;
4
- function formatRepositoryUrl(input) {
1
+ export function formatRepositoryUrl(input) {
5
2
  if (!input)
6
3
  return undefined;
7
4
  const extractedUrl = input.match(/https?:\/\/[^\s]+/)?.[0];
@@ -26,7 +23,6 @@ function formatRepositoryUrl(input) {
26
23
  return `https://${withoutAffix}`;
27
24
  }
28
25
  }
29
- exports.formatRepositoryUrl = formatRepositoryUrl;
30
26
  function removeSuffix(url, suffix = '.git') {
31
27
  if (url.endsWith(suffix)) {
32
28
  return url.slice(0, url.length - suffix.length);
@@ -1,5 +1,5 @@
1
- import type { SemverGroup } from '../semver-group';
2
- import type { VersionGroup } from '../version-group';
1
+ import type { SemverGroup } from '../semver-group/index.js';
2
+ import type { VersionGroup } from '../version-group/index.js';
3
3
  export declare function getSemverGroupHeader(input: {
4
4
  group: SemverGroup.Any;
5
5
  index: number;
@@ -1,23 +1,15 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getVersionGroupHeader = exports.getSemverGroupHeader = void 0;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- function getSemverGroupHeader(input) {
1
+ import chalk from 'chalk';
2
+ export function getSemverGroupHeader(input) {
9
3
  return getGroupHeader(input.group.config.label || `Semver Group ${input.index + 1}`);
10
4
  }
11
- exports.getSemverGroupHeader = getSemverGroupHeader;
12
- function getVersionGroupHeader(input) {
5
+ export function getVersionGroupHeader(input) {
13
6
  return getGroupHeader(input.group.config.label || `Version Group ${input.index + 1}`);
14
7
  }
15
- exports.getVersionGroupHeader = getVersionGroupHeader;
16
8
  function getGroupHeader(label) {
17
9
  const trimmed = label.trim();
18
10
  const hasNewLines = trimmed.search(/[\r\n]/) !== -1;
19
11
  const header = hasNewLines ? formatMultiLine(trimmed) : formatSingleLine(trimmed);
20
- return chalk_1.default.blue(header);
12
+ return chalk.blue(header);
21
13
  }
22
14
  function formatSingleLine(label) {
23
15
  const leftSide = `= ${label} `;
package/dist/lib/get.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import { Either } from 'effect';
2
- export declare function get<T, P1 extends keyof NonNullable<T>>(obj: T, prop1: P1): Either.Either<Error, NonNullable<T>[P1]>;
3
- export declare function get<T, P1 extends keyof NonNullable<T>, P2 extends keyof NonNullable<NonNullable<T>[P1]>>(obj: T, prop1: P1, prop2: P2): Either.Either<Error, NonNullable<NonNullable<T>[P1]>[P2]>;
4
- export declare function get<T, P1 extends keyof NonNullable<T>, P2 extends keyof NonNullable<NonNullable<T>[P1]>, P3 extends keyof NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>>(obj: T, prop1: P1, prop2: P2, prop3: P3): Either.Either<Error, NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>;
5
- export declare function get<T, P1 extends keyof NonNullable<T>, P2 extends keyof NonNullable<NonNullable<T>[P1]>, P3 extends keyof NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>, P4 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>>(obj: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4): Either.Either<Error, NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>;
6
- export declare function get<T, P1 extends keyof NonNullable<T>, P2 extends keyof NonNullable<NonNullable<T>[P1]>, P3 extends keyof NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>, P4 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>, P5 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>>(obj: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5): Either.Either<Error, NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>;
7
- export declare function get<T, P1 extends keyof NonNullable<T>, P2 extends keyof NonNullable<NonNullable<T>[P1]>, P3 extends keyof NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>, P4 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>, P5 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>, P6 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>>(obj: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6): Either.Either<Error, NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>;
8
- export declare function get<T, P1 extends keyof NonNullable<T>, P2 extends keyof NonNullable<NonNullable<T>[P1]>, P3 extends keyof NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>, P4 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>, P5 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>, P6 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>, P7 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>>(obj: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7): Either.Either<Error, NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>[P7]>;
9
- export declare function get<T, P1 extends keyof NonNullable<T>, P2 extends keyof NonNullable<NonNullable<T>[P1]>, P3 extends keyof NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>, P4 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>, P5 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>, P6 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>, P7 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>, P8 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>[P7]>>(obj: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8): Either.Either<Error, NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>[P7]>[P8]>;
10
- export declare function get<T, P1 extends keyof NonNullable<T>, P2 extends keyof NonNullable<NonNullable<T>[P1]>, P3 extends keyof NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>, P4 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>, P5 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>, P6 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>, P7 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>, P8 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>[P7]>, P9 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>[P7]>[P8]>>(obj: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9): Either.Either<Error, NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>[P7]>[P8]>[P9]>;
11
- export declare function get<T>(obj: T, ...props: any[]): Either.Either<Error, unknown>;
2
+ export declare function get<T, P1 extends keyof NonNullable<T>>(obj: T, prop1: P1): Either.Either<NonNullable<T>[P1], Error>;
3
+ export declare function get<T, P1 extends keyof NonNullable<T>, P2 extends keyof NonNullable<NonNullable<T>[P1]>>(obj: T, prop1: P1, prop2: P2): Either.Either<NonNullable<NonNullable<T>[P1]>[P2], Error>;
4
+ export declare function get<T, P1 extends keyof NonNullable<T>, P2 extends keyof NonNullable<NonNullable<T>[P1]>, P3 extends keyof NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>>(obj: T, prop1: P1, prop2: P2, prop3: P3): Either.Either<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3], Error>;
5
+ export declare function get<T, P1 extends keyof NonNullable<T>, P2 extends keyof NonNullable<NonNullable<T>[P1]>, P3 extends keyof NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>, P4 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>>(obj: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4): Either.Either<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4], Error>;
6
+ export declare function get<T, P1 extends keyof NonNullable<T>, P2 extends keyof NonNullable<NonNullable<T>[P1]>, P3 extends keyof NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>, P4 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>, P5 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>>(obj: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5): Either.Either<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5], Error>;
7
+ export declare function get<T, P1 extends keyof NonNullable<T>, P2 extends keyof NonNullable<NonNullable<T>[P1]>, P3 extends keyof NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>, P4 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>, P5 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>, P6 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>>(obj: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6): Either.Either<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6], Error>;
8
+ export declare function get<T, P1 extends keyof NonNullable<T>, P2 extends keyof NonNullable<NonNullable<T>[P1]>, P3 extends keyof NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>, P4 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>, P5 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>, P6 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>, P7 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>>(obj: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7): Either.Either<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>[P7], Error>;
9
+ export declare function get<T, P1 extends keyof NonNullable<T>, P2 extends keyof NonNullable<NonNullable<T>[P1]>, P3 extends keyof NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>, P4 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>, P5 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>, P6 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>, P7 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>, P8 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>[P7]>>(obj: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8): Either.Either<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>[P7]>[P8], Error>;
10
+ export declare function get<T, P1 extends keyof NonNullable<T>, P2 extends keyof NonNullable<NonNullable<T>[P1]>, P3 extends keyof NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>, P4 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>, P5 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>, P6 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>, P7 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>, P8 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>[P7]>, P9 extends keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>[P7]>[P8]>>(obj: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9): Either.Either<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<T>[P1]>[P2]>[P3]>[P4]>[P5]>[P6]>[P7]>[P8]>[P9], Error>;
11
+ export declare function get<T>(obj: T, ...props: any[]): Either.Either<unknown, Error>;
package/dist/lib/get.js CHANGED
@@ -1,40 +1,36 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.get = void 0;
4
- const effect_1 = require("effect");
5
- const is_function_1 = require("tightrope/guard/is-function");
6
- const is_primitive_1 = require("tightrope/guard/is-primitive");
7
- const is_readable_1 = require("tightrope/guard/is-readable");
8
- function get(origin, ...props) {
9
- return (0, is_readable_1.isReadable)(origin) ? props.reduce(getChild, origin) : ERR_UNREADABLE_ORIGIN(props, origin);
1
+ import { Either } from 'effect';
2
+ import { isFunction } from 'tightrope/guard/is-function.js';
3
+ import { isPrimitive } from 'tightrope/guard/is-primitive.js';
4
+ import { isReadable } from 'tightrope/guard/is-readable.js';
5
+ export function get(origin, ...props) {
6
+ return isReadable(origin) ? props.reduce(getChild, origin) : ERR_UNREADABLE_ORIGIN(props, origin);
10
7
  }
11
- exports.get = get;
12
8
  /** Used internally by get to retrieve a single child property from a parent object. */
13
9
  function getChild(parent, prop) {
14
10
  // quit if any ancestor was already not found
15
- if (effect_1.Either.isEither(parent) && effect_1.Either.isLeft(parent))
11
+ if (Either.isEither(parent) && Either.isLeft(parent))
16
12
  return parent;
17
13
  // ensure we have a plain value and not an Ok
18
- const value = effect_1.Either.isEither(parent) && effect_1.Either.isRight(parent) ? effect_1.Either.getOrThrow(parent) : parent;
14
+ const value = Either.isEither(parent) && Either.isRight(parent) ? Either.getOrThrow(parent) : parent;
19
15
  // quit if we can't read properties of value (eg value.likeThis)
20
- if (!(0, is_readable_1.isReadable)(value))
16
+ if (!isReadable(value))
21
17
  return ERR_UNREADABLE_CHILD(prop, value);
22
18
  // quit if value is object/array/function etc but the child is not found
23
- if (!(0, is_primitive_1.isPrimitive)(value) && prop in value === false)
19
+ if (!isPrimitive(value) && prop in value === false)
24
20
  return ERR_NOT_FOUND(prop, value);
25
21
  // quit if eg true.toFixed, 12.toUpperCase
26
- if ((0, is_primitive_1.isPrimitive)(value) && value[prop] === undefined)
22
+ if (isPrimitive(value) && value[prop] === undefined)
27
23
  return ERR_NOT_FOUND(prop, value);
28
24
  // the value is present, return it
29
25
  const child = value[prop];
30
- return effect_1.Either.right((0, is_function_1.isFunction)(child) ? child.bind(value) : child);
26
+ return Either.right(isFunction(child) ? child.bind(value) : child);
31
27
  }
32
28
  function ERR_UNREADABLE_CHILD(child, value) {
33
- return effect_1.Either.left(new Error(`Cannot read "${child}" from unreadable value: ${value}`));
29
+ return Either.left(new Error(`Cannot read "${child}" from unreadable value: ${value}`));
34
30
  }
35
31
  function ERR_NOT_FOUND(child, value) {
36
- return effect_1.Either.left(new Error(`Property "${child}" not found on value: ${value}`));
32
+ return Either.left(new Error(`Property "${child}" not found on value: ${value}`));
37
33
  }
38
34
  function ERR_UNREADABLE_ORIGIN(props, origin) {
39
- return effect_1.Either.left(new Error(`Cannot read "${props.join('.')}" from unreadable value: ${origin}`));
35
+ return Either.left(new Error(`Cannot read "${props.join('.')}" from unreadable value: ${origin}`));
40
36
  }
@@ -1,7 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.padStart = void 0;
4
- function padStart(value) {
1
+ export function padStart(value) {
5
2
  return String(value).padStart(6, ' ');
6
3
  }
7
- exports.padStart = padStart;
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RingBuffer = void 0;
4
1
  /**
5
2
  * An Array with a maximum size which, once reached, will replace the oldest
6
3
  * item when a new one is added.
7
4
  */
8
- class RingBuffer extends Array {
5
+ export class RingBuffer extends Array {
9
6
  cursor;
10
7
  fixedLength;
11
8
  constructor(fixedLength) {
@@ -21,4 +18,3 @@ class RingBuffer extends Array {
21
18
  return this.length;
22
19
  }
23
20
  }
24
- exports.RingBuffer = RingBuffer;
@@ -1,3 +1,3 @@
1
- import type { SemverRange } from '../config/types';
1
+ import type { SemverRange } from '../config/types.js';
2
2
  /** @deprecated migrate to make better use of npm-package-arg */
3
3
  export declare function setSemverRange(semverRange: SemverRange, version: string): string;
@@ -1,24 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setSemverRange = void 0;
4
- const is_string_1 = require("tightrope/guard/is-string");
5
- const constants_1 = require("../constants");
6
- const is_semver_1 = require("../guards/is-semver");
7
- const is_valid_semver_range_1 = require("../guards/is-valid-semver-range");
1
+ import { isString } from 'tightrope/guard/is-string.js';
2
+ import { RANGE } from '../constants.js';
3
+ import { isSemver } from '../guards/is-semver.js';
4
+ import { isValidSemverRange } from '../guards/is-valid-semver-range.js';
8
5
  /** @deprecated migrate to make better use of npm-package-arg */
9
- function setSemverRange(semverRange, version) {
10
- if (!(0, is_semver_1.isSemver)(version) || !(0, is_valid_semver_range_1.isValidSemverRange)(semverRange))
6
+ export function setSemverRange(semverRange, version) {
7
+ if (!isSemver(version) || !isValidSemverRange(semverRange))
11
8
  return version;
12
9
  if (semverRange === '*')
13
10
  return semverRange;
14
11
  const nextVersion = isLooseSemver(version) ? version.replace(/\.x/g, '.0') : version;
15
12
  const from1stNumber = nextVersion.search(/[0-9]/);
16
13
  const from1stDot = nextVersion.indexOf('.');
17
- return semverRange === constants_1.RANGE.LOOSE
14
+ return semverRange === RANGE.LOOSE
18
15
  ? `${nextVersion.slice(from1stNumber, from1stDot)}.x.x`
19
16
  : `${semverRange}${nextVersion.slice(from1stNumber)}`;
20
17
  }
21
- exports.setSemverRange = setSemverRange;
22
18
  function isLooseSemver(version) {
23
- return (0, is_string_1.isString)(version) && (0, is_semver_1.isSemver)(version) && version.search(/\.x(\.|$)/) !== -1;
19
+ return isString(version) && isSemver(version) && version.search(/\.x(\.|$)/) !== -1;
24
20
  }
@@ -1,12 +1,6 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.showHelpOnError = void 0;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- function showHelpOnError(program) {
9
- program.showHelpAfterError((0, chalk_1.default) `
1
+ import chalk from 'chalk-template';
2
+ export function showHelpOnError(program) {
3
+ program.showHelpAfterError(chalk `
10
4
  1. The following options were replaced in syncpack@9.0.0:
11
5
  {red
12
6
  -p, --prod include dependencies
@@ -36,4 +30,3 @@ function showHelpOnError(program) {
36
30
  "dependencyTypes": ["dev", "prod", "peer"]
37
31
  }`);
38
32
  }
39
- exports.showHelpOnError = showHelpOnError;
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sortByName = void 0;
4
- function sortByName(a, b) {
1
+ export function sortByName(a, b) {
5
2
  if (a.name < b.name) {
6
3
  return -1;
7
4
  }
@@ -10,4 +7,3 @@ function sortByName(a, b) {
10
7
  }
11
8
  return 0;
12
9
  }
13
- exports.sortByName = sortByName;
@@ -1,2 +1,2 @@
1
1
  import { Effect } from 'effect';
2
- export declare function withLogger(program: Effect.Effect<never, never, unknown>): Effect.Effect<never, never, unknown>;
2
+ export declare function withLogger(program: Effect.Effect<unknown>): Effect.Effect<unknown, never, never>;
@@ -1,35 +1,28 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.withLogger = void 0;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const effect_1 = require("effect");
9
- function withLogger(program) {
10
- const logger = effect_1.Logger.make(({ logLevel, message }) => {
11
- if (logLevel === effect_1.LogLevel.Info) {
1
+ import chalk from 'chalk-template';
2
+ import { Effect, Logger, LogLevel } from 'effect';
3
+ export function withLogger(program) {
4
+ const logger = Logger.make(({ logLevel, message }) => {
5
+ if (logLevel === LogLevel.Info) {
12
6
  globalThis.console.info(message);
13
7
  }
14
- else if (logLevel === effect_1.LogLevel.Debug) {
15
- globalThis.console.info((0, chalk_1.default) `{magenta ? %s}`, message);
8
+ else if (logLevel === LogLevel.Debug) {
9
+ globalThis.console.info(chalk `{magenta ? %s}`, message);
16
10
  }
17
- else if (logLevel === effect_1.LogLevel.Error) {
18
- globalThis.console.error((0, chalk_1.default) `{red ! %s}`, message);
11
+ else if (logLevel === LogLevel.Error) {
12
+ globalThis.console.error(chalk `{red ! %s}`, message);
19
13
  }
20
- else if (logLevel === effect_1.LogLevel.Warning) {
21
- globalThis.console.warn((0, chalk_1.default) `{yellow ! %s}`, message);
14
+ else if (logLevel === LogLevel.Warning) {
15
+ globalThis.console.warn(chalk `{yellow ! %s}`, message);
22
16
  }
23
17
  else {
24
- globalThis.console.log((0, chalk_1.default) `{cyan [%s] %s}`, logLevel, message);
18
+ globalThis.console.log(chalk `{cyan [%s] %s}`, logLevel, message);
25
19
  }
26
20
  });
27
- const layer = effect_1.Logger.replace(effect_1.Logger.defaultLogger, logger);
21
+ const layer = Logger.replace(Logger.defaultLogger, logger);
28
22
  const logLevel = process.env.SYNCPACK_VERBOSE === 'true'
29
- ? effect_1.LogLevel.Debug
23
+ ? LogLevel.Debug
30
24
  : process.env.NODE_ENV === 'test'
31
- ? effect_1.LogLevel.None
32
- : effect_1.LogLevel.Info;
33
- return effect_1.Effect.provide(effect_1.Logger.withMinimumLogLevel(program, logLevel), layer);
25
+ ? LogLevel.None
26
+ : LogLevel.Info;
27
+ return Effect.provide(Logger.withMinimumLogLevel(program, logLevel), layer);
34
28
  }
35
- exports.withLogger = withLogger;
package/dist/option.d.ts CHANGED
@@ -3,7 +3,7 @@ export declare const option: {
3
3
  readonly filter: readonly ["-f, --filter [pattern]", string];
4
4
  readonly indent: readonly ["-i, --indent [value]", `override indentation. defaults to "${string}"`];
5
5
  readonly source: readonly ["-s, --source [pattern]", "glob pattern for package.json files to read from", typeof collect, string[]];
6
- readonly specs: readonly ["-s, --specs <names>", string];
6
+ readonly specs: readonly ["-S, --specs <names>", string];
7
7
  readonly types: readonly ["-t, --types <names>", string];
8
8
  };
9
9
  declare function collect(value: string, previous: string[]): string[];