syncpack 13.0.1 → 14.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/README.md +0 -3
  2. package/index.js +48 -0
  3. package/package.json +16 -73
  4. package/schema.json +917 -0
  5. package/syncpack.d.ts +122 -0
  6. package/LICENSE +0 -20
  7. package/dist/bin-fix-mismatches/fix-mismatches.d.ts +0 -16
  8. package/dist/bin-fix-mismatches/fix-mismatches.js +0 -115
  9. package/dist/bin-fix-mismatches/index.d.ts +0 -2
  10. package/dist/bin-fix-mismatches/index.js +0 -33
  11. package/dist/bin-format/format.d.ts +0 -13
  12. package/dist/bin-format/format.js +0 -92
  13. package/dist/bin-format/index.d.ts +0 -2
  14. package/dist/bin-format/index.js +0 -28
  15. package/dist/bin-lint/index.d.ts +0 -2
  16. package/dist/bin-lint/index.js +0 -17
  17. package/dist/bin-lint/lint.d.ts +0 -11
  18. package/dist/bin-lint/lint.js +0 -52
  19. package/dist/bin-lint-semver-ranges/index.d.ts +0 -2
  20. package/dist/bin-lint-semver-ranges/index.js +0 -30
  21. package/dist/bin-lint-semver-ranges/lint-semver-ranges.d.ts +0 -16
  22. package/dist/bin-lint-semver-ranges/lint-semver-ranges.js +0 -92
  23. package/dist/bin-list/index.d.ts +0 -2
  24. package/dist/bin-list/index.js +0 -27
  25. package/dist/bin-list/list.d.ts +0 -14
  26. package/dist/bin-list/list.js +0 -151
  27. package/dist/bin-list-mismatches/index.d.ts +0 -2
  28. package/dist/bin-list-mismatches/index.js +0 -29
  29. package/dist/bin-list-mismatches/list-mismatches.d.ts +0 -18
  30. package/dist/bin-list-mismatches/list-mismatches.js +0 -224
  31. package/dist/bin-prompt/index.d.ts +0 -2
  32. package/dist/bin-prompt/index.js +0 -29
  33. package/dist/bin-prompt/prompt.d.ts +0 -11
  34. package/dist/bin-prompt/prompt.js +0 -95
  35. package/dist/bin-set-semver-ranges/index.d.ts +0 -2
  36. package/dist/bin-set-semver-ranges/index.js +0 -32
  37. package/dist/bin-set-semver-ranges/set-semver-ranges.d.ts +0 -11
  38. package/dist/bin-set-semver-ranges/set-semver-ranges.js +0 -61
  39. package/dist/bin-update/effects.d.ts +0 -52
  40. package/dist/bin-update/effects.js +0 -282
  41. package/dist/bin-update/index.d.ts +0 -2
  42. package/dist/bin-update/index.js +0 -24
  43. package/dist/bin-update/update.d.ts +0 -6
  44. package/dist/bin-update/update.js +0 -59
  45. package/dist/bin.d.ts +0 -2
  46. package/dist/bin.js +0 -37
  47. package/dist/config/get-custom-types.d.ts +0 -19
  48. package/dist/config/get-custom-types.js +0 -57
  49. package/dist/config/get-enabled-types.d.ts +0 -17
  50. package/dist/config/get-enabled-types.js +0 -109
  51. package/dist/config/get-filter.d.ts +0 -2
  52. package/dist/config/get-filter.js +0 -10
  53. package/dist/config/get-indent.d.ts +0 -2
  54. package/dist/config/get-indent.js +0 -9
  55. package/dist/config/get-sort-az.d.ts +0 -2
  56. package/dist/config/get-sort-az.js +0 -8
  57. package/dist/config/get-sort-exports.d.ts +0 -2
  58. package/dist/config/get-sort-exports.js +0 -9
  59. package/dist/config/get-sort-first.d.ts +0 -2
  60. package/dist/config/get-sort-first.js +0 -8
  61. package/dist/config/get-source.d.ts +0 -2
  62. package/dist/config/get-source.js +0 -8
  63. package/dist/config/tag.d.ts +0 -3
  64. package/dist/config/tag.js +0 -2
  65. package/dist/config/types.d.ts +0 -134
  66. package/dist/config/types.js +0 -1
  67. package/dist/constants.d.ts +0 -106
  68. package/dist/constants.js +0 -103
  69. package/dist/error-handlers/default-error-handlers.d.ts +0 -25
  70. package/dist/error-handlers/default-error-handlers.js +0 -80
  71. package/dist/get-context/index.d.ts +0 -23
  72. package/dist/get-context/index.js +0 -18
  73. package/dist/get-context/lib/key-by.d.ts +0 -6
  74. package/dist/get-context/lib/key-by.js +0 -12
  75. package/dist/get-instances/index.d.ts +0 -14
  76. package/dist/get-instances/index.js +0 -42
  77. package/dist/get-instances/instance.d.ts +0 -26
  78. package/dist/get-instances/instance.js +0 -35
  79. package/dist/get-package-json-files/get-file-paths.d.ts +0 -21
  80. package/dist/get-package-json-files/get-file-paths.js +0 -22
  81. package/dist/get-package-json-files/get-patterns/get-lerna-patterns.d.ts +0 -3
  82. package/dist/get-package-json-files/get-patterns/get-lerna-patterns.js +0 -12
  83. package/dist/get-package-json-files/get-patterns/get-pnpm-patterns.d.ts +0 -3
  84. package/dist/get-package-json-files/get-patterns/get-pnpm-patterns.js +0 -14
  85. package/dist/get-package-json-files/get-patterns/get-yarn-patterns.d.ts +0 -3
  86. package/dist/get-package-json-files/get-patterns/get-yarn-patterns.js +0 -16
  87. package/dist/get-package-json-files/get-patterns/index.d.ts +0 -8
  88. package/dist/get-package-json-files/get-patterns/index.js +0 -23
  89. package/dist/get-package-json-files/index.d.ts +0 -10
  90. package/dist/get-package-json-files/index.js +0 -8
  91. package/dist/get-package-json-files/package-json-file.d.ts +0 -54
  92. package/dist/get-package-json-files/package-json-file.js +0 -44
  93. package/dist/guards/can-add-to-group.d.ts +0 -5
  94. package/dist/guards/can-add-to-group.js +0 -58
  95. package/dist/guards/is-semver.d.ts +0 -2
  96. package/dist/guards/is-semver.js +0 -15
  97. package/dist/guards/is-valid-semver-range.d.ts +0 -3
  98. package/dist/guards/is-valid-semver-range.js +0 -14
  99. package/dist/index.d.ts +0 -2
  100. package/dist/index.js +0 -1
  101. package/dist/io/ask-for-choice.d.ts +0 -14
  102. package/dist/io/ask-for-choice.js +0 -17
  103. package/dist/io/ask-for-input.d.ts +0 -13
  104. package/dist/io/ask-for-input.js +0 -14
  105. package/dist/io/exit-if-invalid.d.ts +0 -4
  106. package/dist/io/exit-if-invalid.js +0 -9
  107. package/dist/io/glob-sync.d.ts +0 -11
  108. package/dist/io/glob-sync.js +0 -14
  109. package/dist/io/index.d.ts +0 -27
  110. package/dist/io/index.js +0 -26
  111. package/dist/io/read-config-file.d.ts +0 -7
  112. package/dist/io/read-config-file.js +0 -24
  113. package/dist/io/read-file-sync.d.ts +0 -12
  114. package/dist/io/read-file-sync.js +0 -9
  115. package/dist/io/read-json-file-sync.d.ts +0 -31
  116. package/dist/io/read-json-file-sync.js +0 -23
  117. package/dist/io/read-yaml-file-sync.d.ts +0 -12
  118. package/dist/io/read-yaml-file-sync.js +0 -9
  119. package/dist/io/to-formatted-json.d.ts +0 -9
  120. package/dist/io/to-formatted-json.js +0 -32
  121. package/dist/io/write-file-sync.d.ts +0 -12
  122. package/dist/io/write-file-sync.js +0 -10
  123. package/dist/io/write-if-changed.d.ts +0 -5
  124. package/dist/io/write-if-changed.js +0 -9
  125. package/dist/lib/format-repository-url.d.ts +0 -1
  126. package/dist/lib/format-repository-url.js +0 -40
  127. package/dist/lib/get-group-header.d.ts +0 -10
  128. package/dist/lib/get-group-header.js +0 -25
  129. package/dist/lib/get.d.ts +0 -11
  130. package/dist/lib/get.js +0 -44
  131. package/dist/lib/pad-start.d.ts +0 -1
  132. package/dist/lib/pad-start.js +0 -3
  133. package/dist/lib/ring-buffer.d.ts +0 -10
  134. package/dist/lib/ring-buffer.js +0 -20
  135. package/dist/lib/set-semver-range.d.ts +0 -3
  136. package/dist/lib/set-semver-range.js +0 -24
  137. package/dist/lib/show-help-on-error.d.ts +0 -2
  138. package/dist/lib/show-help-on-error.js +0 -32
  139. package/dist/lib/sort-by-name.d.ts +0 -5
  140. package/dist/lib/sort-by-name.js +0 -9
  141. package/dist/lib/with-logger.d.ts +0 -2
  142. package/dist/lib/with-logger.js +0 -28
  143. package/dist/option.d.ts +0 -10
  144. package/dist/option.js +0 -30
  145. package/dist/report.d.ts +0 -131
  146. package/dist/report.js +0 -129
  147. package/dist/schema.json +0 -614
  148. package/dist/semver-group/create-semver-groups.d.ts +0 -4
  149. package/dist/semver-group/create-semver-groups.js +0 -83
  150. package/dist/semver-group/disabled.d.ts +0 -26
  151. package/dist/semver-group/disabled.js +0 -28
  152. package/dist/semver-group/filtered-out.d.ts +0 -27
  153. package/dist/semver-group/filtered-out.js +0 -34
  154. package/dist/semver-group/ignored.d.ts +0 -22
  155. package/dist/semver-group/ignored.js +0 -24
  156. package/dist/semver-group/index.d.ts +0 -20
  157. package/dist/semver-group/index.js +0 -7
  158. package/dist/semver-group/with-range.d.ts +0 -22
  159. package/dist/semver-group/with-range.js +0 -45
  160. package/dist/specifier/alias.d.ts +0 -17
  161. package/dist/specifier/alias.js +0 -21
  162. package/dist/specifier/base.d.ts +0 -41
  163. package/dist/specifier/base.js +0 -54
  164. package/dist/specifier/delete.d.ts +0 -17
  165. package/dist/specifier/delete.js +0 -16
  166. package/dist/specifier/exact.d.ts +0 -20
  167. package/dist/specifier/exact.js +0 -21
  168. package/dist/specifier/file.d.ts +0 -8
  169. package/dist/specifier/file.js +0 -7
  170. package/dist/specifier/hosted-git.d.ts +0 -15
  171. package/dist/specifier/hosted-git.js +0 -24
  172. package/dist/specifier/index.d.ts +0 -28
  173. package/dist/specifier/index.js +0 -75
  174. package/dist/specifier/latest.d.ts +0 -19
  175. package/dist/specifier/latest.js +0 -20
  176. package/dist/specifier/lib/non-semver-error.d.ts +0 -11
  177. package/dist/specifier/lib/non-semver-error.js +0 -6
  178. package/dist/specifier/lib/parse-specifier.d.ts +0 -14
  179. package/dist/specifier/lib/parse-specifier.js +0 -18
  180. package/dist/specifier/lib/specific-registry-result.d.ts +0 -9
  181. package/dist/specifier/lib/specific-registry-result.js +0 -1
  182. package/dist/specifier/range.d.ts +0 -19
  183. package/dist/specifier/range.js +0 -20
  184. package/dist/specifier/tag.d.ts +0 -11
  185. package/dist/specifier/tag.js +0 -10
  186. package/dist/specifier/unsupported.d.ts +0 -7
  187. package/dist/specifier/unsupported.js +0 -7
  188. package/dist/specifier/url.d.ts +0 -8
  189. package/dist/specifier/url.js +0 -7
  190. package/dist/specifier/workspace-protocol.d.ts +0 -19
  191. package/dist/specifier/workspace-protocol.js +0 -35
  192. package/dist/strategy/lib/get-non-empty-string-prop.d.ts +0 -3
  193. package/dist/strategy/lib/get-non-empty-string-prop.js +0 -7
  194. package/dist/strategy/name-and-version-props.d.ts +0 -12
  195. package/dist/strategy/name-and-version-props.js +0 -60
  196. package/dist/strategy/named-version-string.d.ts +0 -11
  197. package/dist/strategy/named-version-string.js +0 -52
  198. package/dist/strategy/unnamed-version-string.d.ts +0 -11
  199. package/dist/strategy/unnamed-version-string.js +0 -45
  200. package/dist/strategy/versions-by-name.d.ts +0 -11
  201. package/dist/strategy/versions-by-name.js +0 -27
  202. package/dist/version-group/banned.d.ts +0 -17
  203. package/dist/version-group/banned.js +0 -26
  204. package/dist/version-group/create-version-groups.d.ts +0 -4
  205. package/dist/version-group/create-version-groups.js +0 -118
  206. package/dist/version-group/filtered-out.d.ts +0 -19
  207. package/dist/version-group/filtered-out.js +0 -30
  208. package/dist/version-group/ignored.d.ts +0 -17
  209. package/dist/version-group/ignored.js +0 -23
  210. package/dist/version-group/index.d.ts +0 -26
  211. package/dist/version-group/index.js +0 -7
  212. package/dist/version-group/lib/clean.d.ts +0 -2
  213. package/dist/version-group/lib/clean.js +0 -6
  214. package/dist/version-group/lib/delete.d.ts +0 -2
  215. package/dist/version-group/lib/delete.js +0 -1
  216. package/dist/version-group/lib/get-highest-version.d.ts +0 -6
  217. package/dist/version-group/lib/get-highest-version.js +0 -8
  218. package/dist/version-group/lib/get-lowest-version.d.ts +0 -6
  219. package/dist/version-group/lib/get-lowest-version.js +0 -8
  220. package/dist/version-group/lib/get-preferred-version.d.ts +0 -5
  221. package/dist/version-group/lib/get-preferred-version.js +0 -53
  222. package/dist/version-group/lib/get-range-score.d.ts +0 -2
  223. package/dist/version-group/lib/get-range-score.js +0 -20
  224. package/dist/version-group/lib/group-by.d.ts +0 -5
  225. package/dist/version-group/lib/group-by.js +0 -11
  226. package/dist/version-group/pinned.d.ts +0 -17
  227. package/dist/version-group/pinned.js +0 -26
  228. package/dist/version-group/same-range.d.ts +0 -19
  229. package/dist/version-group/same-range.js +0 -96
  230. package/dist/version-group/snapped-to.d.ts +0 -17
  231. package/dist/version-group/snapped-to.js +0 -71
  232. package/dist/version-group/standard.d.ts +0 -18
  233. package/dist/version-group/standard.js +0 -119
package/README.md CHANGED
@@ -6,9 +6,6 @@
6
6
  <br><a href="https://jamiemason.github.io/syncpack">https://jamiemason.github.io/syncpack</a>
7
7
  </p>
8
8
 
9
- > [!TIP]
10
- > 🦀 A Rust rewrite is available to try at [`npm install -g syncpack@14.0.0-alpha.1`](https://github.com/JamieMason/syncpack/releases/tag/14.0.0-alpha.1)
11
-
12
9
  ## Installation
13
10
 
14
11
  ```bash
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.1",
4
+ "version": "14.0.0-alpha.2",
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)",
@@ -26,7 +14,6 @@
26
14
  "Aparajita Fishman (https://github.com/aparajita)",
27
15
  "Artur Wierzbicki (https://github.com/ArturWierzbicki)",
28
16
  "Chase Holdren (https://github.com/chaseholdren)",
29
- "Chase Tamnoon (https://github.com/chase-tamnoon)",
30
17
  "Daniel Silva (https://github.com/dsilvasc)",
31
18
  "Elchin Valiyev (https://github.com/evaliyev)",
32
19
  "Gabriel Pereira Woitechen (https://github.com/wtchnm)",
@@ -46,51 +33,13 @@
46
33
  "Tom Fletcher (https://github.com/tom-fletcher)"
47
34
  ],
48
35
  "dependencies": {
49
- "@effect/schema": "0.75.5",
50
- "chalk": "5.4.1",
51
- "chalk-template": "1.1.0",
52
- "commander": "13.1.0",
53
36
  "cosmiconfig": "9.0.0",
54
- "effect": "3.12.7",
55
- "enquirer": "2.4.1",
56
- "fast-check": "3.23.2",
57
- "globby": "14.0.2",
58
- "jsonc-parser": "3.3.1",
59
- "minimatch": "9.0.5",
60
- "npm-package-arg": "12.0.1",
61
- "ora": "8.2.0",
62
- "prompts": "2.4.2",
63
- "read-yaml-file": "2.1.0",
64
- "semver": "7.7.0",
65
- "tightrope": "0.2.0",
66
- "ts-toolbelt": "9.6.0"
67
- },
68
- "devDependencies": {
69
- "@biomejs/biome": "1.9.4",
70
- "@release-it/conventional-changelog": "8.0.2",
71
- "@tsconfig/node18": "18.2.4",
72
- "@types/node": "22.13.0",
73
- "@types/npm-package-arg": "6.1.4",
74
- "@types/prompts": "2.4.9",
75
- "@types/semver": "7.5.8",
76
- "@vitest/coverage-v8": "3.0.4",
77
- "auto-changelog": "2.5.0",
78
- "memfs": "4.17.0",
79
- "prettier": "3.4.2",
80
- "prettier-plugin-astro": "0.14.1",
81
- "release-it": "17.11.0",
82
- "ts-node": "10.9.2",
83
- "typescript": "5.7.3",
84
- "typescript-json-schema": "0.65.1",
85
- "vitest": "3.0.4"
37
+ "typescript": "5.7.3"
86
38
  },
87
39
  "engines": {
88
- "node": ">=18.18.0"
40
+ "node": ">=14.17.0"
89
41
  },
90
- "exports": "./dist/index.js",
91
- "files": [
92
- "dist"
93
- ],
42
+ "funding": "https://github.com/sponsors/JamieMason",
94
43
  "homepage": "https://github.com/JamieMason/syncpack#readme",
95
44
  "keywords": [
96
45
  "dependencies",
@@ -114,22 +63,16 @@
114
63
  ],
115
64
  "license": "MIT",
116
65
  "repository": "JamieMason/syncpack",
117
- "scripts": {
118
- "build": "pnpm run clean && pnpm run build:source && pnpm run build:json-schema",
119
- "build:json-schema": "typescript-json-schema --esModuleInterop --noExtraProps --ignoreErrors src/index.ts RcFile --out dist/schema.json",
120
- "build:source": "tsc --project tsconfig.build.json",
121
- "clean": "rm -rf ./dist",
122
- "format": "pnpm run format:source && pnpm run format:astro",
123
- "format:astro": "prettier --write site/src",
124
- "format:source": "biome check --write --unsafe",
125
- "lint": "npm run lint:source && npm run lint:engines",
126
- "lint:engines": "node scripts/check-engines.mjs",
127
- "lint:source": "biome check && tsc --noEmit",
128
- "prepack": "pnpm run build",
129
- "release": "release-it",
130
- "test": "vitest run --coverage src",
131
- "test:watch": "vitest run --no-coverage --watch"
66
+ "bin": {
67
+ "syncpack": "./index.js"
68
+ },
69
+ "optionalDependencies": {
70
+ "syncpack-linux-x64": "14.0.0-alpha.2",
71
+ "syncpack-linux-arm64": "14.0.0-alpha.2",
72
+ "syncpack-darwin-x64": "14.0.0-alpha.2",
73
+ "syncpack-darwin-arm64": "14.0.0-alpha.2",
74
+ "syncpack-windows-x64": "14.0.0-alpha.2",
75
+ "syncpack-windows-arm64": "14.0.0-alpha.2"
132
76
  },
133
- "type": "module",
134
- "types": "./dist/index.d.ts"
135
- }
77
+ "types": "./syncpack.d.ts"
78
+ }