syncpack 11.2.1 → 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 (274) hide show
  1. package/README.md +24 -26
  2. package/dist/bin-fix-mismatches/fix-mismatches.d.ts +15 -3
  3. package/dist/bin-fix-mismatches/fix-mismatches.js +124 -35
  4. package/dist/bin-fix-mismatches/index.js +12 -32
  5. package/dist/bin-format/format.d.ts +11 -3
  6. package/dist/bin-format/format.js +51 -61
  7. package/dist/bin-format/index.js +11 -31
  8. package/dist/bin-lint/index.js +8 -28
  9. package/dist/bin-lint/lint.d.ts +10 -3
  10. package/dist/bin-lint/lint.js +11 -35
  11. package/dist/bin-lint-semver-ranges/index.js +11 -39
  12. package/dist/bin-lint-semver-ranges/lint-semver-ranges.d.ts +15 -3
  13. package/dist/bin-lint-semver-ranges/lint-semver-ranges.js +93 -34
  14. package/dist/bin-list/index.js +11 -31
  15. package/dist/bin-list/list.d.ts +11 -3
  16. package/dist/bin-list/list.js +120 -34
  17. package/dist/bin-list-mismatches/index.js +11 -31
  18. package/dist/bin-list-mismatches/list-mismatches.d.ts +18 -3
  19. package/dist/bin-list-mismatches/list-mismatches.js +253 -34
  20. package/dist/bin-prompt/index.js +15 -31
  21. package/dist/bin-prompt/prompt.d.ts +10 -3
  22. package/dist/bin-prompt/prompt.js +87 -33
  23. package/dist/bin-set-semver-ranges/index.js +12 -40
  24. package/dist/bin-set-semver-ranges/set-semver-ranges.d.ts +10 -3
  25. package/dist/bin-set-semver-ranges/set-semver-ranges.js +54 -35
  26. package/dist/bin-update/effects.d.ts +45 -5
  27. package/dist/bin-update/effects.js +214 -128
  28. package/dist/bin-update/index.js +4 -27
  29. package/dist/bin-update/update.d.ts +5 -3
  30. package/dist/bin-update/update.js +56 -37
  31. package/dist/bin.js +0 -1
  32. package/dist/config/get-custom-types.d.ts +11 -1
  33. package/dist/config/get-custom-types.js +26 -21
  34. package/dist/config/get-enabled-types.d.ts +7 -8
  35. package/dist/config/get-enabled-types.js +63 -73
  36. package/dist/config/get-indent.js +1 -1
  37. package/dist/config/tag.d.ts +1 -1
  38. package/dist/config/tag.js +2 -25
  39. package/dist/config/types.d.ts +8 -9
  40. package/dist/constants.d.ts +2 -1
  41. package/dist/constants.js +2 -1
  42. package/dist/error-handlers/default-error-handlers.d.ts +25 -2
  43. package/dist/error-handlers/default-error-handlers.js +60 -36
  44. package/dist/get-context/index.d.ts +12 -6
  45. package/dist/get-context/index.js +13 -30
  46. package/dist/get-context/lib/key-by.d.ts +6 -0
  47. package/dist/get-context/lib/key-by.js +16 -0
  48. package/dist/get-instances/index.d.ts +14 -0
  49. package/dist/get-instances/index.js +46 -0
  50. package/dist/get-instances/instance.d.ts +25 -0
  51. package/dist/get-instances/instance.js +34 -0
  52. package/dist/get-package-json-files/get-file-paths.d.ts +6 -7
  53. package/dist/get-package-json-files/get-file-paths.js +10 -33
  54. package/dist/get-package-json-files/get-patterns/get-lerna-patterns.d.ts +3 -4
  55. package/dist/get-package-json-files/get-patterns/get-lerna-patterns.js +6 -32
  56. package/dist/get-package-json-files/get-patterns/get-pnpm-patterns.d.ts +3 -4
  57. package/dist/get-package-json-files/get-patterns/get-pnpm-patterns.js +6 -32
  58. package/dist/get-package-json-files/get-patterns/get-yarn-patterns.d.ts +3 -4
  59. package/dist/get-package-json-files/get-patterns/get-yarn-patterns.js +11 -40
  60. package/dist/get-package-json-files/get-patterns/index.d.ts +3 -5
  61. package/dist/get-package-json-files/get-patterns/index.js +6 -33
  62. package/dist/get-package-json-files/index.d.ts +6 -5
  63. package/dist/get-package-json-files/index.js +4 -28
  64. package/dist/get-package-json-files/package-json-file.d.ts +16 -16
  65. package/dist/get-package-json-files/package-json-file.js +21 -18
  66. package/dist/guards/can-add-to-group.d.ts +5 -4
  67. package/dist/guards/can-add-to-group.js +8 -4
  68. package/dist/guards/is-semver.d.ts +1 -1
  69. package/dist/guards/is-semver.js +1 -1
  70. package/dist/guards/is-valid-semver-range.d.ts +1 -1
  71. package/dist/guards/is-valid-semver-range.js +1 -1
  72. package/dist/io/ask-for-choice.d.ts +14 -0
  73. package/dist/io/ask-for-choice.js +21 -0
  74. package/dist/io/ask-for-input.d.ts +13 -0
  75. package/dist/io/ask-for-input.js +18 -0
  76. package/dist/io/exit-if-invalid.d.ts +4 -0
  77. package/dist/io/exit-if-invalid.js +13 -0
  78. package/dist/io/glob-sync.d.ts +11 -0
  79. package/dist/io/glob-sync.js +19 -0
  80. package/dist/io/index.d.ts +28 -0
  81. package/dist/{env/exit-if-invalid.js → io/index.js} +27 -9
  82. package/dist/io/read-config-file-sync.d.ts +7 -0
  83. package/dist/io/read-config-file-sync.js +26 -0
  84. package/dist/io/read-file-sync.d.ts +12 -0
  85. package/dist/io/read-file-sync.js +14 -0
  86. package/dist/io/read-json-file-sync.d.ts +30 -0
  87. package/dist/io/read-json-file-sync.js +25 -0
  88. package/dist/io/read-yaml-file-sync.d.ts +12 -0
  89. package/dist/io/read-yaml-file-sync.js +13 -0
  90. package/dist/io/write-file-sync.d.ts +12 -0
  91. package/dist/io/write-file-sync.js +15 -0
  92. package/dist/{env → io}/write-if-changed.d.ts +4 -4
  93. package/dist/io/write-if-changed.js +45 -0
  94. package/dist/lib/get-group-header.d.ts +10 -0
  95. package/dist/lib/get-group-header.js +31 -0
  96. package/dist/lib/get.d.ts +11 -0
  97. package/dist/lib/get.js +40 -0
  98. package/dist/lib/pad-start.d.ts +1 -0
  99. package/dist/lib/pad-start.js +7 -0
  100. package/dist/lib/ring-buffer.d.ts +10 -0
  101. package/dist/lib/ring-buffer.js +24 -0
  102. package/dist/lib/set-semver-range.d.ts +1 -1
  103. package/dist/lib/set-semver-range.js +7 -11
  104. package/dist/lib/with-logger.d.ts +2 -0
  105. package/dist/lib/with-logger.js +35 -0
  106. package/dist/option.d.ts +0 -1
  107. package/dist/option.js +0 -4
  108. package/dist/report.d.ts +166 -0
  109. package/dist/report.js +67 -0
  110. package/dist/schema.json +51 -20
  111. package/dist/semver-group/create-semver-groups.d.ts +4 -0
  112. package/dist/semver-group/create-semver-groups.js +77 -0
  113. package/dist/semver-group/disabled.d.ts +26 -0
  114. package/dist/semver-group/disabled.js +34 -0
  115. package/dist/semver-group/filtered-out.d.ts +27 -0
  116. package/dist/semver-group/filtered-out.js +40 -0
  117. package/dist/semver-group/ignored.d.ts +22 -0
  118. package/dist/semver-group/ignored.js +30 -0
  119. package/dist/semver-group/index.d.ts +22 -0
  120. package/dist/semver-group/index.js +10 -0
  121. package/dist/semver-group/with-range.d.ts +22 -0
  122. package/dist/semver-group/with-range.js +57 -0
  123. package/dist/specifier/alias.d.ts +15 -0
  124. package/dist/specifier/alias.js +22 -0
  125. package/dist/specifier/base.d.ts +39 -0
  126. package/dist/specifier/base.js +56 -0
  127. package/dist/specifier/delete.d.ts +15 -0
  128. package/dist/specifier/delete.js +18 -0
  129. package/dist/specifier/file.d.ts +6 -0
  130. package/dist/specifier/file.js +9 -0
  131. package/dist/specifier/hosted-git.d.ts +13 -0
  132. package/dist/specifier/hosted-git.js +24 -0
  133. package/dist/specifier/index.d.ts +27 -0
  134. package/dist/specifier/index.js +62 -0
  135. package/dist/specifier/lib/non-semver-error.d.ts +11 -0
  136. package/dist/specifier/lib/non-semver-error.js +10 -0
  137. package/dist/specifier/lib/parse-specifier.d.ts +14 -0
  138. package/dist/specifier/lib/parse-specifier.js +23 -0
  139. package/dist/specifier/lib/specific-registry-result.d.ts +9 -0
  140. package/dist/specifier/range.d.ts +18 -0
  141. package/dist/specifier/range.js +23 -0
  142. package/dist/specifier/tag.d.ts +9 -0
  143. package/dist/specifier/tag.js +12 -0
  144. package/dist/specifier/unsupported.d.ts +5 -0
  145. package/dist/specifier/unsupported.js +9 -0
  146. package/dist/specifier/url.d.ts +6 -0
  147. package/dist/specifier/url.js +9 -0
  148. package/dist/specifier/version.d.ts +18 -0
  149. package/dist/specifier/version.js +23 -0
  150. package/dist/specifier/workspace-protocol.d.ts +17 -0
  151. package/dist/specifier/workspace-protocol.js +35 -0
  152. package/dist/strategy/lib/get-non-empty-string-prop.d.ts +2 -2
  153. package/dist/strategy/lib/get-non-empty-string-prop.js +4 -5
  154. package/dist/strategy/name-and-version-props.d.ts +4 -4
  155. package/dist/strategy/name-and-version-props.js +36 -22
  156. package/dist/strategy/named-version-string.d.ts +4 -4
  157. package/dist/strategy/named-version-string.js +25 -25
  158. package/dist/strategy/unnamed-version-string.d.ts +4 -4
  159. package/dist/strategy/unnamed-version-string.js +23 -22
  160. package/dist/strategy/versions-by-name.d.ts +4 -4
  161. package/dist/strategy/versions-by-name.js +12 -12
  162. package/dist/version-group/banned.d.ts +17 -0
  163. package/dist/version-group/banned.js +32 -0
  164. package/dist/version-group/create-version-groups.d.ts +4 -0
  165. package/dist/version-group/create-version-groups.js +107 -0
  166. package/dist/version-group/filtered-out.d.ts +19 -0
  167. package/dist/version-group/filtered-out.js +34 -0
  168. package/dist/version-group/ignored.d.ts +17 -0
  169. package/dist/version-group/ignored.js +27 -0
  170. package/dist/version-group/index.d.ts +28 -0
  171. package/dist/version-group/index.js +10 -0
  172. package/dist/version-group/lib/get-highest-version.d.ts +6 -0
  173. package/dist/version-group/lib/get-highest-version.js +12 -0
  174. package/dist/version-group/lib/get-lowest-version.d.ts +6 -0
  175. package/dist/version-group/lib/get-lowest-version.js +12 -0
  176. package/dist/version-group/lib/get-preferred-version.d.ts +5 -0
  177. package/dist/{get-version-groups/lib/compare-semver.js → version-group/lib/get-preferred-version.js} +14 -2
  178. package/dist/version-group/lib/group-by.d.ts +5 -0
  179. package/dist/{get-version-groups → version-group}/lib/group-by.js +4 -0
  180. package/dist/version-group/pinned.d.ts +17 -0
  181. package/dist/version-group/pinned.js +30 -0
  182. package/dist/version-group/same-range.d.ts +19 -0
  183. package/dist/version-group/same-range.js +108 -0
  184. package/dist/version-group/snapped-to.d.ts +17 -0
  185. package/dist/version-group/snapped-to.js +83 -0
  186. package/dist/version-group/standard.d.ts +18 -0
  187. package/dist/version-group/standard.js +131 -0
  188. package/package.json +33 -33
  189. package/dist/bin-fix-mismatches/effects.d.ts +0 -2
  190. package/dist/bin-fix-mismatches/effects.js +0 -112
  191. package/dist/bin-format/format-cli.d.ts +0 -4
  192. package/dist/bin-format/format-cli.js +0 -42
  193. package/dist/bin-lint-semver-ranges/effects.d.ts +0 -2
  194. package/dist/bin-lint-semver-ranges/effects.js +0 -70
  195. package/dist/bin-list/effects.d.ts +0 -2
  196. package/dist/bin-list/effects.js +0 -114
  197. package/dist/bin-list-mismatches/effects.d.ts +0 -2
  198. package/dist/bin-list-mismatches/effects.js +0 -136
  199. package/dist/bin-prompt/effects.d.ts +0 -2
  200. package/dist/bin-prompt/effects.js +0 -110
  201. package/dist/bin-set-semver-ranges/effects.d.ts +0 -2
  202. package/dist/bin-set-semver-ranges/effects.js +0 -61
  203. package/dist/config/get-semver-range.d.ts +0 -3
  204. package/dist/config/get-semver-range.js +0 -12
  205. package/dist/create-program/effects.d.ts +0 -40
  206. package/dist/create-program/semver-ranges.d.ts +0 -7
  207. package/dist/create-program/semver-ranges.js +0 -55
  208. package/dist/create-program/versions.d.ts +0 -7
  209. package/dist/create-program/versions.js +0 -70
  210. package/dist/env/create-env.d.ts +0 -21
  211. package/dist/env/create-env.js +0 -81
  212. package/dist/env/default-env.d.ts +0 -18
  213. package/dist/env/default-env.js +0 -100
  214. package/dist/env/exit-if-invalid.d.ts +0 -4
  215. package/dist/env/tags.d.ts +0 -58
  216. package/dist/env/tags.js +0 -50
  217. package/dist/env/write-if-changed.js +0 -73
  218. package/dist/error-handlers/create-error-handlers.d.ts +0 -20
  219. package/dist/error-handlers/create-error-handlers.js +0 -60
  220. package/dist/get-package-json-files/get-patterns/read-json-safe.d.ts +0 -23
  221. package/dist/get-package-json-files/get-patterns/read-json-safe.js +0 -43
  222. package/dist/get-semver-groups/filtered-out.d.ts +0 -19
  223. package/dist/get-semver-groups/filtered-out.js +0 -55
  224. package/dist/get-semver-groups/ignored.d.ts +0 -17
  225. package/dist/get-semver-groups/ignored.js +0 -48
  226. package/dist/get-semver-groups/index.d.ts +0 -84
  227. package/dist/get-semver-groups/index.js +0 -139
  228. package/dist/get-semver-groups/with-range.d.ts +0 -18
  229. package/dist/get-semver-groups/with-range.js +0 -79
  230. package/dist/get-version-groups/banned.d.ts +0 -17
  231. package/dist/get-version-groups/banned.js +0 -50
  232. package/dist/get-version-groups/filtered-out.d.ts +0 -19
  233. package/dist/get-version-groups/filtered-out.js +0 -57
  234. package/dist/get-version-groups/ignored.d.ts +0 -17
  235. package/dist/get-version-groups/ignored.js +0 -50
  236. package/dist/get-version-groups/index.d.ts +0 -187
  237. package/dist/get-version-groups/index.js +0 -246
  238. package/dist/get-version-groups/lib/compare-semver.d.ts +0 -1
  239. package/dist/get-version-groups/lib/get-highest-version.d.ts +0 -2
  240. package/dist/get-version-groups/lib/get-highest-version.js +0 -13
  241. package/dist/get-version-groups/lib/get-lowest-version.d.ts +0 -2
  242. package/dist/get-version-groups/lib/get-lowest-version.js +0 -13
  243. package/dist/get-version-groups/lib/get-unique-specifiers.d.ts +0 -2
  244. package/dist/get-version-groups/lib/get-unique-specifiers.js +0 -11
  245. package/dist/get-version-groups/lib/group-by.d.ts +0 -1
  246. package/dist/get-version-groups/pinned.d.ts +0 -17
  247. package/dist/get-version-groups/pinned.js +0 -66
  248. package/dist/get-version-groups/same-range.d.ts +0 -17
  249. package/dist/get-version-groups/same-range.js +0 -73
  250. package/dist/get-version-groups/snapped-to.d.ts +0 -17
  251. package/dist/get-version-groups/snapped-to.js +0 -78
  252. package/dist/get-version-groups/standard.d.ts +0 -18
  253. package/dist/get-version-groups/standard.js +0 -109
  254. package/dist/guards/is-loose-semver.d.ts +0 -2
  255. package/dist/guards/is-loose-semver.js +0 -10
  256. package/dist/instance/create.d.ts +0 -4
  257. package/dist/instance/create.js +0 -142
  258. package/dist/instance/index.d.ts +0 -122
  259. package/dist/instance/index.js +0 -154
  260. package/dist/lib/$R.d.ts +0 -12
  261. package/dist/lib/$R.js +0 -34
  262. package/dist/lib/log-group-header.d.ts +0 -6
  263. package/dist/lib/log-group-header.js +0 -34
  264. package/dist/lib/log-verbose.d.ts +0 -1
  265. package/dist/lib/log-verbose.js +0 -24
  266. package/dist/lib/split-name-and-version.d.ts +0 -5
  267. package/dist/lib/split-name-and-version.js +0 -12
  268. /package/dist/{create-program/effects.js → specifier/lib/specific-registry-result.js} +0 -0
  269. /package/dist/{get-version-groups → version-group}/lib/clean.d.ts +0 -0
  270. /package/dist/{get-version-groups → version-group}/lib/clean.js +0 -0
  271. /package/dist/{get-version-groups → version-group}/lib/delete.d.ts +0 -0
  272. /package/dist/{get-version-groups → version-group}/lib/delete.js +0 -0
  273. /package/dist/{get-version-groups → version-group}/lib/get-range-score.d.ts +0 -0
  274. /package/dist/{get-version-groups → version-group}/lib/get-range-score.js +0 -0
package/README.md CHANGED
@@ -8,60 +8,58 @@
8
8
  npm install --save-dev syncpack
9
9
  ```
10
10
 
11
+ <!-- prettier-ignore-start -->
12
+
13
+ > [!NOTE]
14
+ > syncpack 🚀 [12.0.0-alpha.0](https://github.com/JamieMason/syncpack/releases/tag/12.0.0-alpha.0) is available to trial and give feedback. This release adds support for a much wider range of npm version specifiers than before, console output improvements, and more.
15
+
16
+ <!-- prettier-ignore-end -->
17
+
11
18
  ## Documentation
12
19
 
13
20
  Full information can be found in the documentation at https://jamiemason.github.io/syncpack/.
14
21
 
15
22
  ## Commands
16
23
 
17
- ### [fix-mismatches](https://jamiemason.github.io/syncpack/fix-mismatches)
24
+ ### [fix-mismatches](https://jamiemason.github.io/syncpack/command/fix-mismatches)
18
25
 
19
- Ensure that multiple packages requiring the same dependency define the same version, so that every
20
- package requires eg. `react@16.4.2`, instead of a combination of `react@16.4.2`, `react@0.15.9`, and
21
- `react@16.0.0`.
26
+ Ensure that multiple packages requiring the same dependency define the same version, so that every package requires eg. `react@16.4.2`, instead of a combination of `react@16.4.2`, `react@0.15.9`, and `react@16.0.0`.
22
27
 
23
- ### [format](https://jamiemason.github.io/syncpack/format)
28
+ ### [format](https://jamiemason.github.io/syncpack/command/format)
24
29
 
25
- Organise package.json files according to a conventional format, where fields appear in a predictable
26
- order and nested fields are ordered alphabetically. Shorthand properties are used where available,
27
- such as the `"repository"` and `"bugs"` fields.
30
+ Organise package.json files according to a conventional format, where fields appear in a predictable order and nested fields are ordered alphabetically. Shorthand properties are used where available, such as the `"repository"` and `"bugs"` fields.
28
31
 
29
- ### [lint](https://jamiemason.github.io/syncpack/lint)
32
+ ### [lint](https://jamiemason.github.io/syncpack/command/lint)
30
33
 
31
- Lint all versions and ranges and exit with 0 or 1 based on whether all files match your Syncpack
32
- configuration file.
34
+ Lint all versions and ranges and exit with 0 or 1 based on whether all files match your Syncpack configuration file.
33
35
 
34
- ### [lint-semver-ranges](https://jamiemason.github.io/syncpack/lint-semver-ranges)
36
+ ### [lint-semver-ranges](https://jamiemason.github.io/syncpack/command/lint-semver-ranges)
35
37
 
36
- Check whether dependency versions used within "dependencies", "devDependencies", etc follow a
37
- consistent format.
38
+ Check whether dependency versions used within "dependencies", "devDependencies", etc follow a consistent format.
38
39
 
39
- ### [list](https://jamiemason.github.io/syncpack/list)
40
+ ### [list](https://jamiemason.github.io/syncpack/command/list)
40
41
 
41
42
  List all dependencies required by your packages.
42
43
 
43
- ### [list-mismatches](https://jamiemason.github.io/syncpack/list-mismatches)
44
+ ### [list-mismatches](https://jamiemason.github.io/syncpack/command/list-mismatches)
44
45
 
45
- List dependencies which are required by multiple packages, where the version is not the same across
46
- every package.
46
+ List dependencies which are required by multiple packages, where the version is not the same across every package.
47
47
 
48
- ### [prompt](https://jamiemason.github.io/syncpack/prompt)
48
+ ### [prompt](https://jamiemason.github.io/syncpack/command/prompt)
49
49
 
50
50
  Displays a series of prompts to fix mismatches which syncpack cannot fix automatically.
51
51
 
52
- ### [set-semver-ranges](https://jamiemason.github.io/syncpack/set-semver-ranges)
52
+ ### [set-semver-ranges](https://jamiemason.github.io/syncpack/command/set-semver-ranges)
53
53
 
54
- Ensure dependency versions used within `"dependencies"`, `"devDependencies"` etc follow a consistent
55
- format.
54
+ Ensure dependency versions used within `"dependencies"`, `"devDependencies"` etc follow a consistent format.
56
55
 
57
- ### [update](https://jamiemason.github.io/syncpack/update)
56
+ ### [update](https://jamiemason.github.io/syncpack/command/update)
58
57
 
59
- Interactively update packages to the latest versions from the npm registry, wherever they are in
60
- your monorepo. You can update every dependency, just dev/peer/prod dependencies, just packages which
61
- match a name filter, and more.
58
+ Interactively update packages to the latest versions from the npm registry, wherever they are in your monorepo. You can update every dependency, just dev/peer/prod dependencies, just packages which match a name filter, and more.
62
59
 
63
60
  ## Badges
64
61
 
62
+ - [![support on ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/C0C4PY4P)
65
63
  - [![NPM version](http://img.shields.io/npm/v/syncpack.svg?style=flat-square)](https://www.npmjs.com/package/syncpack)
66
64
  - [![NPM downloads](http://img.shields.io/npm/dm/syncpack.svg?style=flat-square)](https://www.npmjs.com/package/syncpack)
67
65
  - [![Build Status](https://img.shields.io/github/actions/workflow/status/JamieMason/syncpack/ci.yaml?branch=master)](https://github.com/JamieMason/syncpack/actions)
@@ -1,4 +1,16 @@
1
- import * as Effect from '@effect/io/Effect';
1
+ import { Effect } from 'effect';
2
2
  import { type CliConfig } from '../config/types';
3
- import type { DefaultEnv } from '../env/default-env';
4
- export declare function fixMismatches(cli: Partial<CliConfig>, env: DefaultEnv): Effect.Effect<never, never, void | import("../get-context").Ctx>;
3
+ import type { ErrorHandlers } from '../error-handlers/default-error-handlers';
4
+ import type { Io } from '../io';
5
+ import type { Report } from '../report';
6
+ interface Input {
7
+ io: Io;
8
+ cli: Partial<CliConfig>;
9
+ errorHandlers?: ErrorHandlers;
10
+ }
11
+ export declare function fixMismatches({ io, cli, errorHandlers }: Input): Effect.Effect<never, never, unknown>;
12
+ export declare function fixMismatch(report: Report.Version.Fixable.Any): Effect.Effect<never, never, import("../get-package-json-files/package-json-file").PackageJsonFile>;
13
+ export declare function logAlreadyValidSize(amount: number): Effect.Effect<never, never, void>;
14
+ export declare function logFixedSize(amount: number): Effect.Effect<never, never, void>;
15
+ export declare function logUnfixableSize(amount: number): Effect.Effect<never, never, void>;
16
+ export {};
@@ -1,43 +1,132 @@
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;
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
4
  };
25
5
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.fixMismatches = void 0;
27
- const Context = __importStar(require("@effect/data/Context"));
28
- const Function_1 = require("@effect/data/Function");
29
- const Effect = __importStar(require("@effect/io/Effect"));
6
+ exports.logUnfixableSize = exports.logFixedSize = exports.logAlreadyValidSize = exports.fixMismatch = exports.fixMismatches = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const effect_1 = require("effect");
9
+ const is_object_1 = require("tightrope/guard/is-object");
10
+ const is_undefined_1 = require("tightrope/guard/is-undefined");
11
+ const lint_semver_ranges_1 = require("../bin-lint-semver-ranges/lint-semver-ranges");
12
+ const list_mismatches_1 = require("../bin-list-mismatches/list-mismatches");
30
13
  const tag_1 = require("../config/tag");
31
- const versions_1 = require("../create-program/versions");
32
- const create_env_1 = require("../env/create-env");
33
- const exit_if_invalid_1 = require("../env/exit-if-invalid");
34
- const tags_1 = require("../env/tags");
35
- const write_if_changed_1 = require("../env/write-if-changed");
36
- const create_error_handlers_1 = require("../error-handlers/create-error-handlers");
14
+ const constants_1 = require("../constants");
37
15
  const default_error_handlers_1 = require("../error-handlers/default-error-handlers");
38
16
  const get_context_1 = require("../get-context");
39
- const effects_1 = require("./effects");
40
- function fixMismatches(cli, env) {
41
- return (0, Function_1.pipe)((0, get_context_1.getContext)(), Effect.flatMap((ctx) => (0, versions_1.createVersionsProgram)(ctx, effects_1.fixMismatchesEffects)), Effect.flatMap(write_if_changed_1.writeIfChanged), Effect.flatMap(exit_if_invalid_1.exitIfInvalid), Effect.catchTags((0, create_error_handlers_1.createErrorHandlers)(default_error_handlers_1.defaultErrorHandlers)), Effect.provideContext((0, Function_1.pipe)(Context.empty(), Context.add(tag_1.CliConfigTag, cli), Context.add(tags_1.EnvTag, (0, create_env_1.createEnv)(env)))));
17
+ const get_instances_1 = require("../get-instances");
18
+ const io_1 = require("../io");
19
+ const exit_if_invalid_1 = require("../io/exit-if-invalid");
20
+ const write_if_changed_1 = require("../io/write-if-changed");
21
+ const get_group_header_1 = require("../lib/get-group-header");
22
+ const pad_start_1 = require("../lib/pad-start");
23
+ const with_logger_1 = require("../lib/with-logger");
24
+ const delete_1 = require("../version-group/lib/delete");
25
+ function fixMismatches({ io, cli, errorHandlers = default_error_handlers_1.defaultErrorHandlers }) {
26
+ return (0, effect_1.pipe)((0, get_context_1.getContext)({ io, cli, errorHandlers }), effect_1.Effect.flatMap((ctx) => (0, effect_1.pipe)(effect_1.Effect.gen(function* ($) {
27
+ const { versionGroups } = yield* $((0, get_instances_1.getInstances)(ctx, io, errorHandlers));
28
+ let index = 0;
29
+ for (const group of versionGroups) {
30
+ const groupSize = group.instances.length;
31
+ let fixedCount = 0;
32
+ let unfixableCount = 0;
33
+ let validCount = 0;
34
+ if (group._tag === 'FilteredOut') {
35
+ index++;
36
+ continue;
37
+ }
38
+ yield* $(effect_1.Effect.logInfo((0, get_group_header_1.getVersionGroupHeader)({ group, index })));
39
+ if (group._tag === 'Ignored') {
40
+ yield* $((0, lint_semver_ranges_1.logIgnoredSize)(groupSize));
41
+ index++;
42
+ continue;
43
+ }
44
+ for (const groupReport of yield* $(group.inspectAll())) {
45
+ for (const report of groupReport.reports) {
46
+ const _tag = report._tag;
47
+ if (_tag === 'Valid') {
48
+ validCount++;
49
+ }
50
+ else if (_tag === 'Banned' ||
51
+ _tag === 'HighestSemverMismatch' ||
52
+ _tag === 'LocalPackageMismatch' ||
53
+ _tag === 'LowestSemverMismatch' ||
54
+ _tag === 'PinnedMismatch' ||
55
+ _tag === 'SemverRangeMismatch' ||
56
+ _tag === 'SnappedToMismatch') {
57
+ fixedCount++;
58
+ yield* $(fixMismatch(report));
59
+ }
60
+ else if (_tag === 'MissingLocalVersion') {
61
+ ctx.isInvalid = true;
62
+ unfixableCount++;
63
+ yield* $((0, list_mismatches_1.logMissingLocalVersion)(report));
64
+ }
65
+ else if (_tag === 'MissingSnappedToMismatch') {
66
+ ctx.isInvalid = true;
67
+ unfixableCount++;
68
+ yield* $((0, list_mismatches_1.logMissingSnappedToMismatch)(report));
69
+ }
70
+ else if (_tag === 'UnsupportedMismatch') {
71
+ ctx.isInvalid = true;
72
+ unfixableCount++;
73
+ yield* $((0, list_mismatches_1.logUnsupportedMismatch)(report));
74
+ }
75
+ else if (_tag === 'SameRangeMismatch') {
76
+ ctx.isInvalid = true;
77
+ unfixableCount++;
78
+ yield* $((0, list_mismatches_1.logSameRangeMismatch)(report));
79
+ }
80
+ }
81
+ }
82
+ if (validCount)
83
+ yield* $(logAlreadyValidSize(validCount));
84
+ if (fixedCount)
85
+ yield* $(logFixedSize(fixedCount));
86
+ if (unfixableCount)
87
+ yield* $(logUnfixableSize(unfixableCount));
88
+ index++;
89
+ }
90
+ yield* $(removeEmptyObjects(ctx));
91
+ return ctx;
92
+ }), effect_1.Effect.flatMap(write_if_changed_1.writeIfChanged), effect_1.Effect.catchTags({
93
+ WriteFileError: (0, effect_1.flow)(errorHandlers.WriteFileError, effect_1.Effect.map(() => {
94
+ ctx.isInvalid = true;
95
+ return ctx;
96
+ })),
97
+ }), effect_1.Effect.flatMap(exit_if_invalid_1.exitIfInvalid))), effect_1.Effect.provide((0, effect_1.pipe)(effect_1.Context.empty(), effect_1.Context.add(tag_1.CliConfigTag, cli), effect_1.Context.add(io_1.IoTag, io))), with_logger_1.withLogger);
42
98
  }
43
99
  exports.fixMismatches = fixMismatches;
100
+ function fixMismatch(report) {
101
+ return report.fixable.instance.write(report._tag === 'Banned' ? delete_1.DELETE : report.fixable.raw);
102
+ }
103
+ exports.fixMismatch = fixMismatch;
104
+ /** Remove empty objects such as `{"dependencies": {}}` left after deleting */
105
+ function removeEmptyObjects(ctx) {
106
+ return effect_1.Effect.sync(() => {
107
+ ctx.packageJsonFiles.forEach((file) => {
108
+ const contents = file.jsonFile.contents;
109
+ Object.keys(contents).forEach((key) => {
110
+ const value = contents[key];
111
+ if ((0, is_object_1.isObject)(value) && Object.values(value).every(is_undefined_1.isUndefined)) {
112
+ delete contents[key];
113
+ }
114
+ });
115
+ });
116
+ });
117
+ }
118
+ function logAlreadyValidSize(amount) {
119
+ const msg = (0, chalk_1.default) `${(0, pad_start_1.padStart)(amount)} {green ${constants_1.ICON.tick}} already valid`;
120
+ return effect_1.Effect.logInfo(msg);
121
+ }
122
+ exports.logAlreadyValidSize = logAlreadyValidSize;
123
+ function logFixedSize(amount) {
124
+ const msg = (0, chalk_1.default) `${(0, pad_start_1.padStart)(amount)} {green ${constants_1.ICON.tick}} fixed`;
125
+ return effect_1.Effect.logInfo(msg);
126
+ }
127
+ exports.logFixedSize = logFixedSize;
128
+ function logUnfixableSize(amount) {
129
+ const msg = (0, chalk_1.default) `{red ${(0, pad_start_1.padStart)(amount)} ${constants_1.ICON.panic} can be fixed manually using} {blue syncpack prompt}`;
130
+ return effect_1.Effect.logInfo(msg);
131
+ }
132
+ exports.logUnfixableSize = logUnfixableSize;
@@ -1,36 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
26
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
27
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
28
5
  };
29
6
  Object.defineProperty(exports, "__esModule", { value: true });
30
- const Effect = __importStar(require("@effect/io/Effect"));
31
7
  const chalk_1 = __importDefault(require("chalk"));
32
8
  const commander_1 = require("commander");
33
- const default_env_1 = require("../env/default-env");
9
+ const effect_1 = require("effect");
10
+ const io_1 = require("../io");
34
11
  const show_help_on_error_1 = require("../lib/show-help-on-error");
35
12
  const option_1 = require("../option");
36
13
  const fix_mismatches_1 = require("./fix-mismatches");
@@ -78,10 +55,13 @@ commander_1.program
78
55
  .option(...option_1.option.config)
79
56
  .option(...option_1.option.indent)
80
57
  .parse(process.argv);
81
- Effect.runSync((0, fix_mismatches_1.fixMismatches)({
82
- configPath: commander_1.program.opts().config,
83
- filter: commander_1.program.opts().filter,
84
- indent: commander_1.program.opts().indent,
85
- source: commander_1.program.opts().source,
86
- types: commander_1.program.opts().types,
87
- }, default_env_1.defaultEnv));
58
+ effect_1.Effect.runSync((0, fix_mismatches_1.fixMismatches)({
59
+ io: io_1.io,
60
+ cli: {
61
+ configPath: commander_1.program.opts().config,
62
+ filter: commander_1.program.opts().filter,
63
+ indent: commander_1.program.opts().indent,
64
+ source: commander_1.program.opts().source,
65
+ types: commander_1.program.opts().types,
66
+ },
67
+ }));
@@ -1,3 +1,11 @@
1
- import * as Effect from '@effect/io/Effect';
2
- import type { Ctx } from '../get-context';
3
- export declare function format(ctx: Ctx): Effect.Effect<never, never, Ctx>;
1
+ import { Effect } from 'effect';
2
+ import { type CliConfig } from '../config/types';
3
+ import type { ErrorHandlers } from '../error-handlers/default-error-handlers';
4
+ import type { Io } from '../io';
5
+ interface Input {
6
+ io: Io;
7
+ cli: Partial<CliConfig>;
8
+ errorHandlers?: ErrorHandlers;
9
+ }
10
+ export declare function format({ io, cli, errorHandlers }: Input): Effect.Effect<never, never, unknown>;
11
+ export {};
@@ -1,74 +1,64 @@
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
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.format = void 0;
27
- const Effect = __importStar(require("@effect/io/Effect"));
4
+ const effect_1 = require("effect");
28
5
  const is_array_1 = require("tightrope/guard/is-array");
29
6
  const is_non_empty_string_1 = require("tightrope/guard/is-non-empty-string");
30
7
  const is_object_1 = require("tightrope/guard/is-object");
31
8
  const get_sort_az_1 = require("../config/get-sort-az");
32
9
  const get_sort_first_1 = require("../config/get-sort-first");
33
- function format(ctx) {
34
- const { packageJsonFiles } = ctx;
35
- const sortAz = (0, get_sort_az_1.getSortAz)(ctx.config);
36
- const sortFirst = (0, get_sort_first_1.getSortFirst)(ctx.config);
37
- packageJsonFiles.forEach((packageJsonFile) => {
38
- var _a, _b, _c;
39
- const { contents } = packageJsonFile;
40
- const sortedKeys = Object.keys(contents).sort();
41
- const keys = new Set(sortFirst.concat(sortedKeys));
42
- const optionalChaining = contents;
43
- const bugsUrl = (_a = optionalChaining === null || optionalChaining === void 0 ? void 0 : optionalChaining.bugs) === null || _a === void 0 ? void 0 : _a.url;
44
- const repoUrl = (_b = optionalChaining === null || optionalChaining === void 0 ? void 0 : optionalChaining.repository) === null || _b === void 0 ? void 0 : _b.url;
45
- const repoDir = (_c = optionalChaining === null || optionalChaining === void 0 ? void 0 : optionalChaining.repository) === null || _c === void 0 ? void 0 : _c.directory;
46
- if (bugsUrl) {
47
- contents.bugs = bugsUrl;
48
- }
49
- if ((0, is_non_empty_string_1.isNonEmptyString)(repoUrl) && !(0, is_non_empty_string_1.isNonEmptyString)(repoDir)) {
50
- contents.repository = repoUrl.includes('github.com')
51
- ? repoUrl.replace(/^.+github\.com\//, '')
52
- : repoUrl;
53
- }
54
- sortAz.forEach((key) => sortAlphabetically(contents[key]));
55
- sortObject(keys, contents);
56
- });
57
- return Effect.succeed(ctx);
58
- function sortObject(sortedKeys, obj) {
59
- sortedKeys.forEach((key) => {
60
- const value = obj[key];
61
- delete obj[key];
62
- obj[key] = value;
10
+ const tag_1 = require("../config/tag");
11
+ const default_error_handlers_1 = require("../error-handlers/default-error-handlers");
12
+ const get_context_1 = require("../get-context");
13
+ const io_1 = require("../io");
14
+ const exit_if_invalid_1 = require("../io/exit-if-invalid");
15
+ const write_if_changed_1 = require("../io/write-if-changed");
16
+ const with_logger_1 = require("../lib/with-logger");
17
+ function format({ io, cli, errorHandlers = default_error_handlers_1.defaultErrorHandlers }) {
18
+ return (0, effect_1.pipe)((0, get_context_1.getContext)({ io, cli, errorHandlers }), effect_1.Effect.map((ctx) => {
19
+ const { packageJsonFiles } = ctx;
20
+ const sortAz = (0, get_sort_az_1.getSortAz)(ctx.config);
21
+ const sortFirst = (0, get_sort_first_1.getSortFirst)(ctx.config);
22
+ packageJsonFiles.forEach((file) => {
23
+ const { contents } = file.jsonFile;
24
+ const sortedKeys = Object.keys(contents).sort();
25
+ const keys = new Set(sortFirst.concat(sortedKeys));
26
+ const optionalChaining = contents;
27
+ const bugsUrl = optionalChaining?.bugs?.url;
28
+ const repoUrl = optionalChaining?.repository?.url;
29
+ const repoDir = optionalChaining?.repository?.directory;
30
+ if (bugsUrl) {
31
+ contents.bugs = bugsUrl;
32
+ }
33
+ if ((0, is_non_empty_string_1.isNonEmptyString)(repoUrl) && !(0, is_non_empty_string_1.isNonEmptyString)(repoDir)) {
34
+ contents.repository = repoUrl.includes('github.com')
35
+ ? repoUrl.replace(/^.+github\.com\//, '')
36
+ : repoUrl;
37
+ }
38
+ sortAz.forEach((key) => sortAlphabetically(contents[key]));
39
+ sortObject(keys, contents);
63
40
  });
64
- }
65
- function sortAlphabetically(value) {
66
- if ((0, is_array_1.isArray)(value)) {
67
- value.sort();
41
+ return ctx;
42
+ function sortObject(sortedKeys, obj) {
43
+ sortedKeys.forEach((key) => {
44
+ const value = obj[key];
45
+ delete obj[key];
46
+ obj[key] = value;
47
+ });
68
48
  }
69
- else if ((0, is_object_1.isObject)(value)) {
70
- sortObject(Object.keys(value).sort(), value);
49
+ function sortAlphabetically(value) {
50
+ if ((0, is_array_1.isArray)(value)) {
51
+ value.sort();
52
+ }
53
+ else if ((0, is_object_1.isObject)(value)) {
54
+ sortObject(Object.keys(value).sort(), value);
55
+ }
71
56
  }
72
- }
57
+ }), effect_1.Effect.flatMap((ctx) => (0, effect_1.pipe)((0, write_if_changed_1.writeIfChanged)(ctx), effect_1.Effect.catchTags({
58
+ WriteFileError: (0, effect_1.flow)(errorHandlers.WriteFileError, effect_1.Effect.map(() => {
59
+ ctx.isInvalid = true;
60
+ return ctx;
61
+ })),
62
+ }))), effect_1.Effect.flatMap(exit_if_invalid_1.exitIfInvalid), effect_1.Effect.provide((0, effect_1.pipe)(effect_1.Context.empty(), effect_1.Context.add(tag_1.CliConfigTag, cli), effect_1.Context.add(io_1.IoTag, io))), with_logger_1.withLogger);
73
63
  }
74
64
  exports.format = format;
@@ -1,39 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
26
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
27
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
28
5
  };
29
6
  Object.defineProperty(exports, "__esModule", { value: true });
30
- const Effect = __importStar(require("@effect/io/Effect"));
31
7
  const chalk_1 = __importDefault(require("chalk"));
32
8
  const commander_1 = require("commander");
33
- const default_env_1 = require("../env/default-env");
9
+ const effect_1 = require("effect");
10
+ const io_1 = require("../io");
34
11
  const show_help_on_error_1 = require("../lib/show-help-on-error");
35
12
  const option_1 = require("../option");
36
- const format_cli_1 = require("./format-cli");
13
+ const format_1 = require("./format");
37
14
  commander_1.program.description((0, chalk_1.default) `
38
15
  Organise package.json files according to a conventional format, where fields
39
16
  appear in a predictable order and nested fields are ordered alphabetically.
@@ -71,8 +48,11 @@ commander_1.program
71
48
  .option(...option_1.option.config)
72
49
  .option(...option_1.option.indent)
73
50
  .parse(process.argv);
74
- Effect.runSync((0, format_cli_1.formatCli)({
75
- configPath: commander_1.program.opts().config,
76
- indent: commander_1.program.opts().indent,
77
- source: commander_1.program.opts().source,
78
- }, default_env_1.defaultEnv));
51
+ effect_1.Effect.runSync((0, format_1.format)({
52
+ io: io_1.io,
53
+ cli: {
54
+ configPath: commander_1.program.opts().config,
55
+ indent: commander_1.program.opts().indent,
56
+ source: commander_1.program.opts().source,
57
+ },
58
+ }));
@@ -1,36 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
26
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
27
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
28
5
  };
29
6
  Object.defineProperty(exports, "__esModule", { value: true });
30
- const Effect = __importStar(require("@effect/io/Effect"));
31
7
  const chalk_1 = __importDefault(require("chalk"));
32
8
  const commander_1 = require("commander");
33
- const default_env_1 = require("../env/default-env");
9
+ const effect_1 = require("effect");
10
+ const io_1 = require("../io");
34
11
  const show_help_on_error_1 = require("../lib/show-help-on-error");
35
12
  const option_1 = require("../option");
36
13
  const lint_1 = require("./lint");
@@ -58,6 +35,9 @@ Reference:
58
35
  });
59
36
  (0, show_help_on_error_1.showHelpOnError)(commander_1.program);
60
37
  commander_1.program.option(...option_1.option.config).parse(process.argv);
61
- Effect.runSync((0, lint_1.lint)({
62
- configPath: commander_1.program.opts().config,
63
- }, default_env_1.defaultEnv));
38
+ effect_1.Effect.runSync((0, lint_1.lint)({
39
+ io: io_1.io,
40
+ cli: {
41
+ configPath: commander_1.program.opts().config,
42
+ },
43
+ }));
@@ -1,4 +1,11 @@
1
- import * as Effect from '@effect/io/Effect';
1
+ import { Effect } from 'effect';
2
2
  import { type CliConfig } from '../config/types';
3
- import type { DefaultEnv } from '../env/default-env';
4
- export declare function lint(cli: Partial<CliConfig>, env: DefaultEnv): Effect.Effect<never, never, void | import("../get-context").Ctx>;
3
+ import type { ErrorHandlers } from '../error-handlers/default-error-handlers';
4
+ import type { Io } from '../io';
5
+ interface Input {
6
+ io: Io;
7
+ cli: Partial<CliConfig>;
8
+ errorHandlers?: ErrorHandlers;
9
+ }
10
+ export declare function lint({ io, cli, errorHandlers }: Input): Effect.Effect<never, never, unknown>;
11
+ export {};