syncpack 13.0.0 → 14.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 (232) hide show
  1. package/index.js +48 -0
  2. package/package.json +16 -72
  3. package/schema.json +917 -0
  4. package/syncpack.d.ts +122 -0
  5. package/LICENSE +0 -20
  6. package/dist/bin-fix-mismatches/fix-mismatches.d.ts +0 -16
  7. package/dist/bin-fix-mismatches/fix-mismatches.js +0 -115
  8. package/dist/bin-fix-mismatches/index.d.ts +0 -2
  9. package/dist/bin-fix-mismatches/index.js +0 -33
  10. package/dist/bin-format/format.d.ts +0 -13
  11. package/dist/bin-format/format.js +0 -92
  12. package/dist/bin-format/index.d.ts +0 -2
  13. package/dist/bin-format/index.js +0 -28
  14. package/dist/bin-lint/index.d.ts +0 -2
  15. package/dist/bin-lint/index.js +0 -17
  16. package/dist/bin-lint/lint.d.ts +0 -11
  17. package/dist/bin-lint/lint.js +0 -52
  18. package/dist/bin-lint-semver-ranges/index.d.ts +0 -2
  19. package/dist/bin-lint-semver-ranges/index.js +0 -30
  20. package/dist/bin-lint-semver-ranges/lint-semver-ranges.d.ts +0 -16
  21. package/dist/bin-lint-semver-ranges/lint-semver-ranges.js +0 -92
  22. package/dist/bin-list/index.d.ts +0 -2
  23. package/dist/bin-list/index.js +0 -27
  24. package/dist/bin-list/list.d.ts +0 -14
  25. package/dist/bin-list/list.js +0 -151
  26. package/dist/bin-list-mismatches/index.d.ts +0 -2
  27. package/dist/bin-list-mismatches/index.js +0 -29
  28. package/dist/bin-list-mismatches/list-mismatches.d.ts +0 -18
  29. package/dist/bin-list-mismatches/list-mismatches.js +0 -224
  30. package/dist/bin-prompt/index.d.ts +0 -2
  31. package/dist/bin-prompt/index.js +0 -29
  32. package/dist/bin-prompt/prompt.d.ts +0 -11
  33. package/dist/bin-prompt/prompt.js +0 -95
  34. package/dist/bin-set-semver-ranges/index.d.ts +0 -2
  35. package/dist/bin-set-semver-ranges/index.js +0 -32
  36. package/dist/bin-set-semver-ranges/set-semver-ranges.d.ts +0 -11
  37. package/dist/bin-set-semver-ranges/set-semver-ranges.js +0 -61
  38. package/dist/bin-update/effects.d.ts +0 -52
  39. package/dist/bin-update/effects.js +0 -282
  40. package/dist/bin-update/index.d.ts +0 -2
  41. package/dist/bin-update/index.js +0 -24
  42. package/dist/bin-update/update.d.ts +0 -6
  43. package/dist/bin-update/update.js +0 -59
  44. package/dist/bin.d.ts +0 -2
  45. package/dist/bin.js +0 -37
  46. package/dist/config/get-custom-types.d.ts +0 -19
  47. package/dist/config/get-custom-types.js +0 -57
  48. package/dist/config/get-enabled-types.d.ts +0 -17
  49. package/dist/config/get-enabled-types.js +0 -109
  50. package/dist/config/get-filter.d.ts +0 -2
  51. package/dist/config/get-filter.js +0 -10
  52. package/dist/config/get-indent.d.ts +0 -2
  53. package/dist/config/get-indent.js +0 -9
  54. package/dist/config/get-sort-az.d.ts +0 -2
  55. package/dist/config/get-sort-az.js +0 -8
  56. package/dist/config/get-sort-exports.d.ts +0 -2
  57. package/dist/config/get-sort-exports.js +0 -9
  58. package/dist/config/get-sort-first.d.ts +0 -2
  59. package/dist/config/get-sort-first.js +0 -8
  60. package/dist/config/get-source.d.ts +0 -2
  61. package/dist/config/get-source.js +0 -8
  62. package/dist/config/tag.d.ts +0 -3
  63. package/dist/config/tag.js +0 -2
  64. package/dist/config/types.d.ts +0 -132
  65. package/dist/config/types.js +0 -1
  66. package/dist/constants.d.ts +0 -106
  67. package/dist/constants.js +0 -103
  68. package/dist/error-handlers/default-error-handlers.d.ts +0 -25
  69. package/dist/error-handlers/default-error-handlers.js +0 -80
  70. package/dist/get-context/index.d.ts +0 -23
  71. package/dist/get-context/index.js +0 -18
  72. package/dist/get-context/lib/key-by.d.ts +0 -6
  73. package/dist/get-context/lib/key-by.js +0 -12
  74. package/dist/get-instances/index.d.ts +0 -14
  75. package/dist/get-instances/index.js +0 -42
  76. package/dist/get-instances/instance.d.ts +0 -26
  77. package/dist/get-instances/instance.js +0 -35
  78. package/dist/get-package-json-files/get-file-paths.d.ts +0 -21
  79. package/dist/get-package-json-files/get-file-paths.js +0 -22
  80. package/dist/get-package-json-files/get-patterns/get-lerna-patterns.d.ts +0 -3
  81. package/dist/get-package-json-files/get-patterns/get-lerna-patterns.js +0 -12
  82. package/dist/get-package-json-files/get-patterns/get-pnpm-patterns.d.ts +0 -3
  83. package/dist/get-package-json-files/get-patterns/get-pnpm-patterns.js +0 -14
  84. package/dist/get-package-json-files/get-patterns/get-yarn-patterns.d.ts +0 -3
  85. package/dist/get-package-json-files/get-patterns/get-yarn-patterns.js +0 -16
  86. package/dist/get-package-json-files/get-patterns/index.d.ts +0 -8
  87. package/dist/get-package-json-files/get-patterns/index.js +0 -23
  88. package/dist/get-package-json-files/index.d.ts +0 -10
  89. package/dist/get-package-json-files/index.js +0 -8
  90. package/dist/get-package-json-files/package-json-file.d.ts +0 -54
  91. package/dist/get-package-json-files/package-json-file.js +0 -44
  92. package/dist/guards/can-add-to-group.d.ts +0 -5
  93. package/dist/guards/can-add-to-group.js +0 -58
  94. package/dist/guards/is-semver.d.ts +0 -2
  95. package/dist/guards/is-semver.js +0 -15
  96. package/dist/guards/is-valid-semver-range.d.ts +0 -3
  97. package/dist/guards/is-valid-semver-range.js +0 -14
  98. package/dist/index.d.ts +0 -2
  99. package/dist/index.js +0 -1
  100. package/dist/io/ask-for-choice.d.ts +0 -14
  101. package/dist/io/ask-for-choice.js +0 -17
  102. package/dist/io/ask-for-input.d.ts +0 -13
  103. package/dist/io/ask-for-input.js +0 -14
  104. package/dist/io/exit-if-invalid.d.ts +0 -4
  105. package/dist/io/exit-if-invalid.js +0 -9
  106. package/dist/io/glob-sync.d.ts +0 -11
  107. package/dist/io/glob-sync.js +0 -14
  108. package/dist/io/index.d.ts +0 -27
  109. package/dist/io/index.js +0 -26
  110. package/dist/io/read-config-file.d.ts +0 -7
  111. package/dist/io/read-config-file.js +0 -24
  112. package/dist/io/read-file-sync.d.ts +0 -12
  113. package/dist/io/read-file-sync.js +0 -9
  114. package/dist/io/read-json-file-sync.d.ts +0 -31
  115. package/dist/io/read-json-file-sync.js +0 -23
  116. package/dist/io/read-yaml-file-sync.d.ts +0 -12
  117. package/dist/io/read-yaml-file-sync.js +0 -9
  118. package/dist/io/to-formatted-json.d.ts +0 -9
  119. package/dist/io/to-formatted-json.js +0 -32
  120. package/dist/io/write-file-sync.d.ts +0 -12
  121. package/dist/io/write-file-sync.js +0 -10
  122. package/dist/io/write-if-changed.d.ts +0 -5
  123. package/dist/io/write-if-changed.js +0 -9
  124. package/dist/lib/format-repository-url.d.ts +0 -1
  125. package/dist/lib/format-repository-url.js +0 -40
  126. package/dist/lib/get-group-header.d.ts +0 -10
  127. package/dist/lib/get-group-header.js +0 -25
  128. package/dist/lib/get.d.ts +0 -11
  129. package/dist/lib/get.js +0 -44
  130. package/dist/lib/pad-start.d.ts +0 -1
  131. package/dist/lib/pad-start.js +0 -3
  132. package/dist/lib/ring-buffer.d.ts +0 -10
  133. package/dist/lib/ring-buffer.js +0 -20
  134. package/dist/lib/set-semver-range.d.ts +0 -3
  135. package/dist/lib/set-semver-range.js +0 -24
  136. package/dist/lib/show-help-on-error.d.ts +0 -2
  137. package/dist/lib/show-help-on-error.js +0 -32
  138. package/dist/lib/sort-by-name.d.ts +0 -5
  139. package/dist/lib/sort-by-name.js +0 -9
  140. package/dist/lib/with-logger.d.ts +0 -2
  141. package/dist/lib/with-logger.js +0 -28
  142. package/dist/option.d.ts +0 -10
  143. package/dist/option.js +0 -30
  144. package/dist/report.d.ts +0 -131
  145. package/dist/report.js +0 -129
  146. package/dist/schema.json +0 -544
  147. package/dist/semver-group/create-semver-groups.d.ts +0 -4
  148. package/dist/semver-group/create-semver-groups.js +0 -83
  149. package/dist/semver-group/disabled.d.ts +0 -26
  150. package/dist/semver-group/disabled.js +0 -28
  151. package/dist/semver-group/filtered-out.d.ts +0 -27
  152. package/dist/semver-group/filtered-out.js +0 -34
  153. package/dist/semver-group/ignored.d.ts +0 -22
  154. package/dist/semver-group/ignored.js +0 -24
  155. package/dist/semver-group/index.d.ts +0 -20
  156. package/dist/semver-group/index.js +0 -7
  157. package/dist/semver-group/with-range.d.ts +0 -22
  158. package/dist/semver-group/with-range.js +0 -45
  159. package/dist/specifier/alias.d.ts +0 -17
  160. package/dist/specifier/alias.js +0 -21
  161. package/dist/specifier/base.d.ts +0 -41
  162. package/dist/specifier/base.js +0 -54
  163. package/dist/specifier/delete.d.ts +0 -17
  164. package/dist/specifier/delete.js +0 -16
  165. package/dist/specifier/exact.d.ts +0 -20
  166. package/dist/specifier/exact.js +0 -21
  167. package/dist/specifier/file.d.ts +0 -8
  168. package/dist/specifier/file.js +0 -7
  169. package/dist/specifier/hosted-git.d.ts +0 -15
  170. package/dist/specifier/hosted-git.js +0 -24
  171. package/dist/specifier/index.d.ts +0 -28
  172. package/dist/specifier/index.js +0 -75
  173. package/dist/specifier/latest.d.ts +0 -19
  174. package/dist/specifier/latest.js +0 -20
  175. package/dist/specifier/lib/non-semver-error.d.ts +0 -11
  176. package/dist/specifier/lib/non-semver-error.js +0 -6
  177. package/dist/specifier/lib/parse-specifier.d.ts +0 -14
  178. package/dist/specifier/lib/parse-specifier.js +0 -18
  179. package/dist/specifier/lib/specific-registry-result.d.ts +0 -9
  180. package/dist/specifier/lib/specific-registry-result.js +0 -1
  181. package/dist/specifier/range.d.ts +0 -19
  182. package/dist/specifier/range.js +0 -20
  183. package/dist/specifier/tag.d.ts +0 -11
  184. package/dist/specifier/tag.js +0 -10
  185. package/dist/specifier/unsupported.d.ts +0 -7
  186. package/dist/specifier/unsupported.js +0 -7
  187. package/dist/specifier/url.d.ts +0 -8
  188. package/dist/specifier/url.js +0 -7
  189. package/dist/specifier/workspace-protocol.d.ts +0 -19
  190. package/dist/specifier/workspace-protocol.js +0 -35
  191. package/dist/strategy/lib/get-non-empty-string-prop.d.ts +0 -3
  192. package/dist/strategy/lib/get-non-empty-string-prop.js +0 -7
  193. package/dist/strategy/name-and-version-props.d.ts +0 -12
  194. package/dist/strategy/name-and-version-props.js +0 -60
  195. package/dist/strategy/named-version-string.d.ts +0 -11
  196. package/dist/strategy/named-version-string.js +0 -52
  197. package/dist/strategy/unnamed-version-string.d.ts +0 -11
  198. package/dist/strategy/unnamed-version-string.js +0 -45
  199. package/dist/strategy/versions-by-name.d.ts +0 -11
  200. package/dist/strategy/versions-by-name.js +0 -27
  201. package/dist/version-group/banned.d.ts +0 -17
  202. package/dist/version-group/banned.js +0 -26
  203. package/dist/version-group/create-version-groups.d.ts +0 -4
  204. package/dist/version-group/create-version-groups.js +0 -118
  205. package/dist/version-group/filtered-out.d.ts +0 -19
  206. package/dist/version-group/filtered-out.js +0 -30
  207. package/dist/version-group/ignored.d.ts +0 -17
  208. package/dist/version-group/ignored.js +0 -23
  209. package/dist/version-group/index.d.ts +0 -26
  210. package/dist/version-group/index.js +0 -7
  211. package/dist/version-group/lib/clean.d.ts +0 -2
  212. package/dist/version-group/lib/clean.js +0 -6
  213. package/dist/version-group/lib/delete.d.ts +0 -2
  214. package/dist/version-group/lib/delete.js +0 -1
  215. package/dist/version-group/lib/get-highest-version.d.ts +0 -6
  216. package/dist/version-group/lib/get-highest-version.js +0 -8
  217. package/dist/version-group/lib/get-lowest-version.d.ts +0 -6
  218. package/dist/version-group/lib/get-lowest-version.js +0 -8
  219. package/dist/version-group/lib/get-preferred-version.d.ts +0 -5
  220. package/dist/version-group/lib/get-preferred-version.js +0 -53
  221. package/dist/version-group/lib/get-range-score.d.ts +0 -2
  222. package/dist/version-group/lib/get-range-score.js +0 -20
  223. package/dist/version-group/lib/group-by.d.ts +0 -5
  224. package/dist/version-group/lib/group-by.js +0 -11
  225. package/dist/version-group/pinned.d.ts +0 -17
  226. package/dist/version-group/pinned.js +0 -26
  227. package/dist/version-group/same-range.d.ts +0 -19
  228. package/dist/version-group/same-range.js +0 -96
  229. package/dist/version-group/snapped-to.d.ts +0 -17
  230. package/dist/version-group/snapped-to.js +0 -71
  231. package/dist/version-group/standard.d.ts +0 -18
  232. package/dist/version-group/standard.js +0 -119
package/index.js ADDED
@@ -0,0 +1,48 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { spawnSync } = require("child_process");
4
+ const { cosmiconfig } = require("cosmiconfig");
5
+
6
+ const args = process.argv.slice(2);
7
+ const arch = process.arch;
8
+ const [os, extension] = ["win32", "cygwin"].includes(process.platform)
9
+ ? ["windows", ".exe"]
10
+ : [process.platform, ""];
11
+ const optionalDep = `syncpack-${os}-${arch}`;
12
+ const pkgSpecifier = `${optionalDep}/bin/syncpack${extension}`;
13
+
14
+ cosmiconfig("syncpack")
15
+ .search()
16
+ .then(({ config }) => (config ? JSON.stringify(config) : "{}"))
17
+ .catch(() => "{}")
18
+ .then((rcfileAsJson) => ({
19
+ pathToBinary: require.resolve(pkgSpecifier),
20
+ rcfileAsJson,
21
+ }))
22
+ .catch((err) => {
23
+ panic(
24
+ `expected optionalDependency "${optionalDep}" containing a Rust binary at "${pkgSpecifier}"`,
25
+ err
26
+ );
27
+ })
28
+ .then(({ pathToBinary, rcfileAsJson }) => {
29
+ process.exit(
30
+ spawnSync(pathToBinary, args, {
31
+ input: rcfileAsJson,
32
+ stdio: ["pipe", "inherit", "inherit"],
33
+ }).status ?? 0
34
+ );
35
+ })
36
+ .catch((err) => {
37
+ panic("syncpack encountered an unknown error", err);
38
+ });
39
+
40
+ function panic(message, err) {
41
+ console.error(
42
+ "\x1b[31m%s\n%s\x1b[0m",
43
+ `! ${message}`,
44
+ " Please raise issue at https://github.com/JamieMason/syncpack/issues/new?template=bug_report.yaml",
45
+ err
46
+ );
47
+ process.exit(1);
48
+ }
package/package.json CHANGED
@@ -1,20 +1,8 @@
1
1
  {
2
2
  "name": "syncpack",
3
3
  "description": "Consistent dependency versions in large JavaScript Monorepos",
4
- "version": "13.0.0",
4
+ "version": "14.0.0-alpha.1",
5
5
  "author": "Jamie Mason <jamie@foldleft.io> (https://github.com/JamieMason)",
6
- "bin": {
7
- "syncpack": "dist/bin.js",
8
- "syncpack-fix-mismatches": "dist/bin-fix-mismatches/index.js",
9
- "syncpack-format": "dist/bin-format/index.js",
10
- "syncpack-lint": "dist/bin-lint/index.js",
11
- "syncpack-lint-semver-ranges": "dist/bin-lint-semver-ranges/index.js",
12
- "syncpack-list": "dist/bin-list/index.js",
13
- "syncpack-list-mismatches": "dist/bin-list-mismatches/index.js",
14
- "syncpack-prompt": "dist/bin-prompt/index.js",
15
- "syncpack-set-semver-ranges": "dist/bin-set-semver-ranges/index.js",
16
- "syncpack-update": "dist/bin-update/index.js"
17
- },
18
6
  "bugs": "https://github.com/JamieMason/syncpack/issues",
19
7
  "contributors": [
20
8
  "Adam Haglund (https://github.com/beeequeue)",
@@ -45,51 +33,13 @@
45
33
  "Tom Fletcher (https://github.com/tom-fletcher)"
46
34
  ],
47
35
  "dependencies": {
48
- "@effect/schema": "0.71.1",
49
- "chalk": "5.3.0",
50
- "chalk-template": "1.1.0",
51
- "commander": "12.1.0",
52
36
  "cosmiconfig": "9.0.0",
53
- "effect": "3.6.5",
54
- "enquirer": "2.4.1",
55
- "fast-check": "3.21.0",
56
- "globby": "14.0.2",
57
- "jsonc-parser": "3.3.1",
58
- "minimatch": "9.0.5",
59
- "npm-package-arg": "11.0.3",
60
- "ora": "8.0.1",
61
- "prompts": "2.4.2",
62
- "read-yaml-file": "2.1.0",
63
- "semver": "7.6.3",
64
- "tightrope": "0.2.0",
65
- "ts-toolbelt": "9.6.0"
66
- },
67
- "devDependencies": {
68
- "@biomejs/biome": "1.8.3",
69
- "@release-it/conventional-changelog": "8.0.1",
70
- "@tsconfig/node18": "18.2.4",
71
- "@types/node": "22.5.0",
72
- "@types/npm-package-arg": "6.1.4",
73
- "@types/prompts": "2.4.9",
74
- "@types/semver": "7.5.8",
75
- "@vitest/coverage-v8": "2.0.5",
76
- "auto-changelog": "2.4.0",
77
- "memfs": "4.11.1",
78
- "prettier": "3.3.3",
79
- "prettier-plugin-astro": "0.14.1",
80
- "release-it": "17.6.0",
81
- "ts-node": "10.9.2",
82
- "typescript": "5.5.4",
83
- "typescript-json-schema": "0.65.1",
84
- "vitest": "2.0.5"
37
+ "typescript": "5.6.3"
85
38
  },
86
39
  "engines": {
87
- "node": ">=18.18.0"
40
+ "node": ">=14.17.0"
88
41
  },
89
- "exports": "./dist/index.js",
90
- "files": [
91
- "dist"
92
- ],
42
+ "funding": "https://github.com/sponsors/JamieMason",
93
43
  "homepage": "https://github.com/JamieMason/syncpack#readme",
94
44
  "keywords": [
95
45
  "dependencies",
@@ -113,22 +63,16 @@
113
63
  ],
114
64
  "license": "MIT",
115
65
  "repository": "JamieMason/syncpack",
116
- "scripts": {
117
- "build": "pnpm run clean && pnpm run build:source && pnpm run build:json-schema",
118
- "build:json-schema": "typescript-json-schema --esModuleInterop --noExtraProps --ignoreErrors src/index.ts RcFile --out dist/schema.json",
119
- "build:source": "tsc --project tsconfig.build.json",
120
- "clean": "rm -rf ./dist",
121
- "format": "pnpm run format:source && pnpm run format:astro",
122
- "format:astro": "prettier --write site/src",
123
- "format:source": "biome check --write --unsafe",
124
- "lint": "npm run lint:source && npm run lint:engines",
125
- "lint:engines": "node scripts/check-engines.mjs",
126
- "lint:source": "biome check && tsc --noEmit",
127
- "prepack": "pnpm run build",
128
- "release": "release-it",
129
- "test": "vitest run --coverage src",
130
- "test:watch": "vitest run --no-coverage --watch"
66
+ "bin": {
67
+ "syncpack": "./index.js"
68
+ },
69
+ "optionalDependencies": {
70
+ "syncpack-linux-x64": "14.0.0-alpha.1",
71
+ "syncpack-linux-arm64": "14.0.0-alpha.1",
72
+ "syncpack-darwin-x64": "14.0.0-alpha.1",
73
+ "syncpack-darwin-arm64": "14.0.0-alpha.1",
74
+ "syncpack-windows-x64": "14.0.0-alpha.1",
75
+ "syncpack-windows-arm64": "14.0.0-alpha.1"
131
76
  },
132
- "type": "module",
133
- "types": "./dist/index.d.ts"
134
- }
77
+ "types": "./syncpack.d.ts"
78
+ }