syncpack 12.4.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 +17 -76
  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 -110
  8. package/dist/bin-fix-mismatches/index.d.ts +0 -2
  9. package/dist/bin-fix-mismatches/index.js +0 -64
  10. package/dist/bin-format/format.d.ts +0 -13
  11. package/dist/bin-format/format.js +0 -90
  12. package/dist/bin-format/index.d.ts +0 -2
  13. package/dist/bin-format/index.js +0 -53
  14. package/dist/bin-lint/index.d.ts +0 -2
  15. package/dist/bin-lint/index.js +0 -38
  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 -65
  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 -91
  22. package/dist/bin-list/index.d.ts +0 -2
  23. package/dist/bin-list/index.js +0 -57
  24. package/dist/bin-list/list.d.ts +0 -14
  25. package/dist/bin-list/list.js +0 -147
  26. package/dist/bin-list-mismatches/index.d.ts +0 -2
  27. package/dist/bin-list-mismatches/index.js +0 -59
  28. package/dist/bin-list-mismatches/list-mismatches.d.ts +0 -18
  29. package/dist/bin-list-mismatches/list-mismatches.js +0 -218
  30. package/dist/bin-prompt/index.d.ts +0 -2
  31. package/dist/bin-prompt/index.js +0 -61
  32. package/dist/bin-prompt/prompt.d.ts +0 -11
  33. package/dist/bin-prompt/prompt.js +0 -93
  34. package/dist/bin-set-semver-ranges/index.d.ts +0 -2
  35. package/dist/bin-set-semver-ranges/index.js +0 -69
  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 -58
  38. package/dist/bin-update/effects.d.ts +0 -52
  39. package/dist/bin-update/effects.js +0 -267
  40. package/dist/bin-update/index.d.ts +0 -2
  41. package/dist/bin-update/index.js +0 -54
  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 -50
  48. package/dist/config/get-enabled-types.d.ts +0 -17
  49. package/dist/config/get-enabled-types.js +0 -94
  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 -8
  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 -31
  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 -10
  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 -47
  91. package/dist/get-package-json-files/package-json-file.js +0 -29
  92. package/dist/guards/can-add-to-group.d.ts +0 -5
  93. package/dist/guards/can-add-to-group.js +0 -52
  94. package/dist/guards/is-semver.d.ts +0 -2
  95. package/dist/guards/is-semver.js +0 -13
  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 -22
  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 -30
  115. package/dist/io/read-json-file-sync.js +0 -19
  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-json.d.ts +0 -9
  119. package/dist/io/to-json.js +0 -29
  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 -10
  124. package/dist/lib/format-repository-url.d.ts +0 -1
  125. package/dist/lib/format-repository-url.js +0 -37
  126. package/dist/lib/get-group-header.d.ts +0 -10
  127. package/dist/lib/get-group-header.js +0 -23
  128. package/dist/lib/get.d.ts +0 -11
  129. package/dist/lib/get.js +0 -36
  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 -20
  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 -29
  142. package/dist/option.d.ts +0 -10
  143. package/dist/option.js +0 -27
  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 -79
  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 -20
  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 -22
  171. package/dist/specifier/index.d.ts +0 -28
  172. package/dist/specifier/index.js +0 -63
  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 -16
  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 -34
  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 -49
  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 -25
  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 -114
  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 -44
  221. package/dist/version-group/lib/get-range-score.d.ts +0 -2
  222. package/dist/version-group/lib/get-range-score.js +0 -18
  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 -69
  231. package/dist/version-group/standard.d.ts +0 -18
  232. package/dist/version-group/standard.js +0 -116
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": "12.4.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)",
@@ -41,59 +29,17 @@
41
29
  "Michał Warać (https://github.com/auto200)",
42
30
  "Nick Saunders (https://github.com/nsaunders)",
43
31
  "Siraj (https://github.com/Syhner)",
32
+ "Stuart Knightley (https://github.com/Stuk)",
44
33
  "Tom Fletcher (https://github.com/tom-fletcher)"
45
34
  ],
46
35
  "dependencies": {
47
- "@effect/schema": "0.69.0",
48
- "chalk": "5.3.0",
49
- "chalk-template": "1.1.0",
50
- "commander": "12.1.0",
51
36
  "cosmiconfig": "9.0.0",
52
- "effect": "3.5.7",
53
- "enquirer": "2.4.1",
54
- "fast-check": "3.20.0",
55
- "globby": "14.0.2",
56
- "minimatch": "10.0.1",
57
- "npm-package-arg": "11.0.3",
58
- "ora": "8.0.1",
59
- "prompts": "2.4.2",
60
- "read-yaml-file": "2.1.0",
61
- "semver": "7.6.3",
62
- "tightrope": "0.2.0",
63
- "ts-toolbelt": "9.6.0"
64
- },
65
- "devDependencies": {
66
- "@release-it/conventional-changelog": "8.0.1",
67
- "@tsconfig/node18": "18.2.4",
68
- "@types/node": "20.14.12",
69
- "@types/npm-package-arg": "6.1.4",
70
- "@types/prompts": "2.4.9",
71
- "@types/semver": "7.5.8",
72
- "@typescript-eslint/eslint-plugin": "7.17.0",
73
- "@typescript-eslint/parser": "7.17.0",
74
- "@vitest/coverage-v8": "2.0.4",
75
- "auto-changelog": "2.4.0",
76
- "eslint": "8.56.0",
77
- "eslint-plugin-import": "2.29.1",
78
- "memfs": "4.9.4",
79
- "prettier": "3.3.3",
80
- "prettier-plugin-astro": "0.14.1",
81
- "quill-delta": "5.1.0",
82
- "release-it": "17.6.0",
83
- "rxjs": "7.8.1",
84
- "ts-node": "10.9.2",
85
- "tslib": "2.6.3",
86
- "typescript": "5.5.4",
87
- "typescript-json-schema": "0.64.0",
88
- "vitest": "2.0.4"
37
+ "typescript": "5.6.3"
89
38
  },
90
39
  "engines": {
91
- "node": ">=16"
40
+ "node": ">=14.17.0"
92
41
  },
93
- "exports": "./dist/index.js",
94
- "files": [
95
- "dist"
96
- ],
42
+ "funding": "https://github.com/sponsors/JamieMason",
97
43
  "homepage": "https://github.com/JamieMason/syncpack#readme",
98
44
  "keywords": [
99
45
  "dependencies",
@@ -117,21 +63,16 @@
117
63
  ],
118
64
  "license": "MIT",
119
65
  "repository": "JamieMason/syncpack",
120
- "scripts": {
121
- "build": "pnpm run clean && pnpm run build:source && pnpm run build:json-schema",
122
- "build:json-schema": "typescript-json-schema --esModuleInterop --noExtraProps --ignoreErrors src/index.ts RcFile --out dist/schema.json",
123
- "build:source": "tsc --project tsconfig.build.json",
124
- "clean": "rm -rf ./dist",
125
- "format": "pnpm run format:lint && pnpm run format:source",
126
- "format:lint": "eslint --ext .ts . --fix",
127
- "format:source": "prettier --write .",
128
- "lint": "pnpm run lint:ts && pnpm run lint:eslint",
129
- "lint:eslint": "eslint --ext .ts .",
130
- "lint:ts": "tsc --noEmit --project tsconfig.json",
131
- "prepack": "pnpm run build",
132
- "release": "release-it",
133
- "test": "vitest run --config vitest.config.ts"
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"
134
76
  },
135
- "type": "module",
136
- "types": "./dist/index.d.ts"
137
- }
77
+ "types": "./syncpack.d.ts"
78
+ }