@xylabs/ts-scripts-yarn3 7.4.28 → 7.5.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 (412) hide show
  1. package/dist/actions/deploy-major.mjs +1 -90
  2. package/dist/actions/deploy-major.mjs.map +1 -1
  3. package/dist/actions/deploy-minor.mjs +1 -90
  4. package/dist/actions/deploy-minor.mjs.map +1 -1
  5. package/dist/actions/deploy-next.mjs +1 -90
  6. package/dist/actions/deploy-next.mjs.map +1 -1
  7. package/dist/actions/deploy.mjs +1 -90
  8. package/dist/actions/deploy.mjs.map +1 -1
  9. package/dist/actions/index.mjs +128 -3840
  10. package/dist/actions/index.mjs.map +1 -1
  11. package/dist/actions/publish.mjs +1 -90
  12. package/dist/actions/publish.mjs.map +1 -1
  13. package/dist/actions/reinstall.mjs +1 -90
  14. package/dist/actions/reinstall.mjs.map +1 -1
  15. package/dist/actions/up.mjs +1 -90
  16. package/dist/actions/up.mjs.map +1 -1
  17. package/dist/actions/updo.mjs +1 -90
  18. package/dist/actions/updo.mjs.map +1 -1
  19. package/dist/actions/upplug.mjs +1 -90
  20. package/dist/actions/upplug.mjs.map +1 -1
  21. package/dist/actions/upyarn.mjs +1 -90
  22. package/dist/actions/upyarn.mjs.map +1 -1
  23. package/dist/actions/yarn3only.mjs +2 -32
  24. package/dist/actions/yarn3only.mjs.map +1 -1
  25. package/dist/bin/xy.mjs +222 -3684
  26. package/dist/bin/xy.mjs.map +1 -1
  27. package/dist/index.d.ts +24 -502
  28. package/dist/index.mjs +224 -4659
  29. package/dist/index.mjs.map +1 -1
  30. package/dist/lib/index.mjs +0 -804
  31. package/dist/lib/index.mjs.map +1 -1
  32. package/dist/lib/yarn/index.mjs +0 -7
  33. package/dist/lib/yarn/index.mjs.map +1 -1
  34. package/dist/pm/index.mjs +82 -0
  35. package/dist/pm/index.mjs.map +1 -0
  36. package/dist/pm/yarnPackageManager.mjs +82 -0
  37. package/dist/pm/yarnPackageManager.mjs.map +1 -0
  38. package/dist/xy/common/index.mjs +7 -1459
  39. package/dist/xy/common/index.mjs.map +1 -1
  40. package/dist/xy/common/upplugCommand.mjs +1 -90
  41. package/dist/xy/common/upplugCommand.mjs.map +1 -1
  42. package/dist/xy/common/upyarnCommand.mjs +1 -90
  43. package/dist/xy/common/upyarnCommand.mjs.map +1 -1
  44. package/dist/xy/common/yarn3OnlyCommand.mjs +1 -33
  45. package/dist/xy/common/yarn3OnlyCommand.mjs.map +1 -1
  46. package/dist/xy/deploy/deployCommand.mjs +3 -90
  47. package/dist/xy/deploy/deployCommand.mjs.map +1 -1
  48. package/dist/xy/deploy/deployMajorCommand.mjs +1 -90
  49. package/dist/xy/deploy/deployMajorCommand.mjs.map +1 -1
  50. package/dist/xy/deploy/deployMinorCommand.mjs +1 -90
  51. package/dist/xy/deploy/deployMinorCommand.mjs.map +1 -1
  52. package/dist/xy/deploy/deployNextCommand.mjs +1 -90
  53. package/dist/xy/deploy/deployNextCommand.mjs.map +1 -1
  54. package/dist/xy/deploy/index.mjs +11 -94
  55. package/dist/xy/deploy/index.mjs.map +1 -1
  56. package/dist/xy/deploy/publishCommand.mjs +1 -90
  57. package/dist/xy/deploy/publishCommand.mjs.map +1 -1
  58. package/dist/xy/index.mjs +183 -3717
  59. package/dist/xy/index.mjs.map +1 -1
  60. package/dist/xy/install/cleanCommand.mjs +6 -118
  61. package/dist/xy/install/cleanCommand.mjs.map +1 -1
  62. package/dist/xy/install/dupdepsCommand.mjs +6 -178
  63. package/dist/xy/install/dupdepsCommand.mjs.map +1 -1
  64. package/dist/xy/install/index.mjs +12 -305
  65. package/dist/xy/install/index.mjs.map +1 -1
  66. package/dist/xy/install/reinstallCommand.mjs +1 -90
  67. package/dist/xy/install/reinstallCommand.mjs.map +1 -1
  68. package/dist/xy/install/staticsCommand.mjs +6 -177
  69. package/dist/xy/install/staticsCommand.mjs.map +1 -1
  70. package/dist/xy/install/upCommand.mjs +1 -90
  71. package/dist/xy/install/upCommand.mjs.map +1 -1
  72. package/dist/xy/install/updoCommand.mjs +1 -90
  73. package/dist/xy/install/updoCommand.mjs.map +1 -1
  74. package/dist/xy/xy.mjs +64 -3595
  75. package/dist/xy/xy.mjs.map +1 -1
  76. package/dist/xy/yarnCommands.mjs +80 -0
  77. package/dist/xy/yarnCommands.mjs.map +1 -0
  78. package/package.json +5 -47
  79. package/dist/actions/build.mjs +0 -140
  80. package/dist/actions/build.mjs.map +0 -1
  81. package/dist/actions/claude-clean.mjs +0 -71
  82. package/dist/actions/claude-clean.mjs.map +0 -1
  83. package/dist/actions/claude-commands.mjs +0 -112
  84. package/dist/actions/claude-commands.mjs.map +0 -1
  85. package/dist/actions/claude-rules.mjs +0 -137
  86. package/dist/actions/claude-rules.mjs.map +0 -1
  87. package/dist/actions/claude-settings.mjs +0 -85
  88. package/dist/actions/claude-settings.mjs.map +0 -1
  89. package/dist/actions/claude-skills.mjs +0 -120
  90. package/dist/actions/claude-skills.mjs.map +0 -1
  91. package/dist/actions/clean-docs.mjs +0 -37
  92. package/dist/actions/clean-docs.mjs.map +0 -1
  93. package/dist/actions/clean-eslint.mjs +0 -26
  94. package/dist/actions/clean-eslint.mjs.map +0 -1
  95. package/dist/actions/clean.mjs +0 -124
  96. package/dist/actions/clean.mjs.map +0 -1
  97. package/dist/actions/compile.mjs +0 -157
  98. package/dist/actions/compile.mjs.map +0 -1
  99. package/dist/actions/copy-assets.mjs +0 -73
  100. package/dist/actions/copy-assets.mjs.map +0 -1
  101. package/dist/actions/cycle.mjs +0 -144
  102. package/dist/actions/cycle.mjs.map +0 -1
  103. package/dist/actions/dead.mjs +0 -98
  104. package/dist/actions/dead.mjs.map +0 -1
  105. package/dist/actions/deplint/checkPackage/checkPackage.mjs +0 -672
  106. package/dist/actions/deplint/checkPackage/checkPackage.mjs.map +0 -1
  107. package/dist/actions/deplint/checkPackage/checkPackageTypes.mjs +0 -1
  108. package/dist/actions/deplint/checkPackage/checkPackageTypes.mjs.map +0 -1
  109. package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs +0 -48
  110. package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs.map +0 -1
  111. package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs +0 -33
  112. package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs.map +0 -1
  113. package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs +0 -30
  114. package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs.map +0 -1
  115. package/dist/actions/deplint/checkPackage/getUnusedDevDependencies.mjs +0 -309
  116. package/dist/actions/deplint/checkPackage/getUnusedDevDependencies.mjs.map +0 -1
  117. package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs +0 -26
  118. package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs.map +0 -1
  119. package/dist/actions/deplint/checkPackage/index.mjs +0 -672
  120. package/dist/actions/deplint/checkPackage/index.mjs.map +0 -1
  121. package/dist/actions/deplint/deplint.mjs +0 -764
  122. package/dist/actions/deplint/deplint.mjs.map +0 -1
  123. package/dist/actions/deplint/findFiles.mjs +0 -39
  124. package/dist/actions/deplint/findFiles.mjs.map +0 -1
  125. package/dist/actions/deplint/findFilesByGlob.mjs +0 -14
  126. package/dist/actions/deplint/findFilesByGlob.mjs.map +0 -1
  127. package/dist/actions/deplint/getBasePackageName.mjs +0 -13
  128. package/dist/actions/deplint/getBasePackageName.mjs.map +0 -1
  129. package/dist/actions/deplint/getCliReferencedPackagesFromFiles.mjs +0 -140
  130. package/dist/actions/deplint/getCliReferencedPackagesFromFiles.mjs.map +0 -1
  131. package/dist/actions/deplint/getDependenciesFromPackageJson.mjs +0 -20
  132. package/dist/actions/deplint/getDependenciesFromPackageJson.mjs.map +0 -1
  133. package/dist/actions/deplint/getExtendsFromTsconfigs.mjs +0 -44
  134. package/dist/actions/deplint/getExtendsFromTsconfigs.mjs.map +0 -1
  135. package/dist/actions/deplint/getExternalImportsFromFiles.mjs +0 -122
  136. package/dist/actions/deplint/getExternalImportsFromFiles.mjs.map +0 -1
  137. package/dist/actions/deplint/getImportsFromFile.mjs +0 -85
  138. package/dist/actions/deplint/getImportsFromFile.mjs.map +0 -1
  139. package/dist/actions/deplint/getRequiredPeerDependencies.mjs +0 -36
  140. package/dist/actions/deplint/getRequiredPeerDependencies.mjs.map +0 -1
  141. package/dist/actions/deplint/getScriptReferencedPackages.mjs +0 -83
  142. package/dist/actions/deplint/getScriptReferencedPackages.mjs.map +0 -1
  143. package/dist/actions/deplint/implicitDevDependencies.mjs +0 -80
  144. package/dist/actions/deplint/implicitDevDependencies.mjs.map +0 -1
  145. package/dist/actions/deplint/index.mjs +0 -764
  146. package/dist/actions/deplint/index.mjs.map +0 -1
  147. package/dist/actions/dupdeps.mjs +0 -184
  148. package/dist/actions/dupdeps.mjs.map +0 -1
  149. package/dist/actions/fix.mjs +0 -147
  150. package/dist/actions/fix.mjs.map +0 -1
  151. package/dist/actions/gen-docs.mjs +0 -109
  152. package/dist/actions/gen-docs.mjs.map +0 -1
  153. package/dist/actions/gitignore.mjs +0 -152
  154. package/dist/actions/gitignore.mjs.map +0 -1
  155. package/dist/actions/gitlint-fix.mjs +0 -27
  156. package/dist/actions/gitlint-fix.mjs.map +0 -1
  157. package/dist/actions/gitlint.mjs +0 -48
  158. package/dist/actions/gitlint.mjs.map +0 -1
  159. package/dist/actions/knip.mjs +0 -98
  160. package/dist/actions/knip.mjs.map +0 -1
  161. package/dist/actions/license.mjs +0 -84
  162. package/dist/actions/license.mjs.map +0 -1
  163. package/dist/actions/lint.mjs +0 -144
  164. package/dist/actions/lint.mjs.map +0 -1
  165. package/dist/actions/lintlint.mjs +0 -230
  166. package/dist/actions/lintlint.mjs.map +0 -1
  167. package/dist/actions/npmignore-gen.mjs +0 -88
  168. package/dist/actions/npmignore-gen.mjs.map +0 -1
  169. package/dist/actions/package/clean-outputs.mjs +0 -29
  170. package/dist/actions/package/clean-outputs.mjs.map +0 -1
  171. package/dist/actions/package/clean-typescript.mjs +0 -29
  172. package/dist/actions/package/clean-typescript.mjs.map +0 -1
  173. package/dist/actions/package/clean.mjs +0 -48
  174. package/dist/actions/package/clean.mjs.map +0 -1
  175. package/dist/actions/package/compile/XyConfig.mjs +0 -1
  176. package/dist/actions/package/compile/XyConfig.mjs.map +0 -1
  177. package/dist/actions/package/compile/buildEntries.mjs +0 -53
  178. package/dist/actions/package/compile/buildEntries.mjs.map +0 -1
  179. package/dist/actions/package/compile/compile.mjs +0 -433
  180. package/dist/actions/package/compile/compile.mjs.map +0 -1
  181. package/dist/actions/package/compile/copyTypeFiles.mjs +0 -34
  182. package/dist/actions/package/compile/copyTypeFiles.mjs.map +0 -1
  183. package/dist/actions/package/compile/deepMerge.mjs +0 -26
  184. package/dist/actions/package/compile/deepMerge.mjs.map +0 -1
  185. package/dist/actions/package/compile/getCompilerOptions.mjs +0 -12
  186. package/dist/actions/package/compile/getCompilerOptions.mjs.map +0 -1
  187. package/dist/actions/package/compile/index.mjs +0 -436
  188. package/dist/actions/package/compile/index.mjs.map +0 -1
  189. package/dist/actions/package/compile/inputs.mjs +0 -22
  190. package/dist/actions/package/compile/inputs.mjs.map +0 -1
  191. package/dist/actions/package/compile/packageCompileTsc.mjs +0 -94
  192. package/dist/actions/package/compile/packageCompileTsc.mjs.map +0 -1
  193. package/dist/actions/package/compile/packageCompileTscTypes.mjs +0 -92
  194. package/dist/actions/package/compile/packageCompileTscTypes.mjs.map +0 -1
  195. package/dist/actions/package/compile/packageCompileTsup.mjs +0 -402
  196. package/dist/actions/package/compile/packageCompileTsup.mjs.map +0 -1
  197. package/dist/actions/package/copy-assets.mjs +0 -46
  198. package/dist/actions/package/copy-assets.mjs.map +0 -1
  199. package/dist/actions/package/cycle.mjs +0 -39
  200. package/dist/actions/package/cycle.mjs.map +0 -1
  201. package/dist/actions/package/gen-docs.mjs +0 -114
  202. package/dist/actions/package/gen-docs.mjs.map +0 -1
  203. package/dist/actions/package/index.mjs +0 -825
  204. package/dist/actions/package/index.mjs.map +0 -1
  205. package/dist/actions/package/lint.mjs +0 -80
  206. package/dist/actions/package/lint.mjs.map +0 -1
  207. package/dist/actions/package/publint.mjs +0 -66
  208. package/dist/actions/package/publint.mjs.map +0 -1
  209. package/dist/actions/package/recompile.mjs +0 -483
  210. package/dist/actions/package/recompile.mjs.map +0 -1
  211. package/dist/actions/package-lint.mjs +0 -178
  212. package/dist/actions/package-lint.mjs.map +0 -1
  213. package/dist/actions/publint.mjs +0 -166
  214. package/dist/actions/publint.mjs.map +0 -1
  215. package/dist/actions/readme-gen.mjs +0 -289
  216. package/dist/actions/readme-gen.mjs.map +0 -1
  217. package/dist/actions/readme-init.mjs +0 -83
  218. package/dist/actions/readme-init.mjs.map +0 -1
  219. package/dist/actions/rebuild.mjs +0 -101
  220. package/dist/actions/rebuild.mjs.map +0 -1
  221. package/dist/actions/recompile.mjs +0 -187
  222. package/dist/actions/recompile.mjs.map +0 -1
  223. package/dist/actions/relint.mjs +0 -144
  224. package/dist/actions/relint.mjs.map +0 -1
  225. package/dist/actions/retest.mjs +0 -123
  226. package/dist/actions/retest.mjs.map +0 -1
  227. package/dist/actions/sonar.mjs +0 -98
  228. package/dist/actions/sonar.mjs.map +0 -1
  229. package/dist/actions/statics.mjs +0 -183
  230. package/dist/actions/statics.mjs.map +0 -1
  231. package/dist/actions/test.mjs +0 -117
  232. package/dist/actions/test.mjs.map +0 -1
  233. package/dist/bin/package/build-only.mjs +0 -445
  234. package/dist/bin/package/build-only.mjs.map +0 -1
  235. package/dist/bin/package/build.mjs +0 -445
  236. package/dist/bin/package/build.mjs.map +0 -1
  237. package/dist/bin/package/clean-outputs.mjs +0 -29
  238. package/dist/bin/package/clean-outputs.mjs.map +0 -1
  239. package/dist/bin/package/clean-typescript.mjs +0 -29
  240. package/dist/bin/package/clean-typescript.mjs.map +0 -1
  241. package/dist/bin/package/clean.mjs +0 -53
  242. package/dist/bin/package/clean.mjs.map +0 -1
  243. package/dist/bin/package/compile-only.mjs +0 -441
  244. package/dist/bin/package/compile-only.mjs.map +0 -1
  245. package/dist/bin/package/compile-tsup.mjs +0 -409
  246. package/dist/bin/package/compile-tsup.mjs.map +0 -1
  247. package/dist/bin/package/compile.mjs +0 -445
  248. package/dist/bin/package/compile.mjs.map +0 -1
  249. package/dist/bin/package/copy-assets-cjs.mjs +0 -54
  250. package/dist/bin/package/copy-assets-cjs.mjs.map +0 -1
  251. package/dist/bin/package/copy-assets-esm.mjs +0 -54
  252. package/dist/bin/package/copy-assets-esm.mjs.map +0 -1
  253. package/dist/bin/package/cycle.mjs +0 -51
  254. package/dist/bin/package/cycle.mjs.map +0 -1
  255. package/dist/bin/package/fix.mjs +0 -92
  256. package/dist/bin/package/fix.mjs.map +0 -1
  257. package/dist/bin/package/gen-docs.mjs +0 -121
  258. package/dist/bin/package/gen-docs.mjs.map +0 -1
  259. package/dist/bin/package/lint-verbose.mjs +0 -92
  260. package/dist/bin/package/lint-verbose.mjs.map +0 -1
  261. package/dist/bin/package/lint.mjs +0 -92
  262. package/dist/bin/package/lint.mjs.map +0 -1
  263. package/dist/bin/package/publint.mjs +0 -75
  264. package/dist/bin/package/publint.mjs.map +0 -1
  265. package/dist/bin/package/recompile.mjs +0 -489
  266. package/dist/bin/package/recompile.mjs.map +0 -1
  267. package/dist/bin/package/relint.mjs +0 -92
  268. package/dist/bin/package/relint.mjs.map +0 -1
  269. package/dist/lib/checkResult.mjs +0 -16
  270. package/dist/lib/checkResult.mjs.map +0 -1
  271. package/dist/lib/claudeMdTemplate.mjs +0 -65
  272. package/dist/lib/claudeMdTemplate.mjs.map +0 -1
  273. package/dist/lib/createBuildConfig.mjs +0 -55
  274. package/dist/lib/createBuildConfig.mjs.map +0 -1
  275. package/dist/lib/defaultBuildConfig.mjs +0 -23
  276. package/dist/lib/defaultBuildConfig.mjs.map +0 -1
  277. package/dist/lib/deleteGlob.mjs +0 -13
  278. package/dist/lib/deleteGlob.mjs.map +0 -1
  279. package/dist/lib/dependencies/DuplicateDetector.mjs +0 -81
  280. package/dist/lib/dependencies/DuplicateDetector.mjs.map +0 -1
  281. package/dist/lib/dependencies/detectDuplicateDependencies.mjs +0 -164
  282. package/dist/lib/dependencies/detectDuplicateDependencies.mjs.map +0 -1
  283. package/dist/lib/dependencies/index.mjs +0 -165
  284. package/dist/lib/dependencies/index.mjs.map +0 -1
  285. package/dist/lib/file/ReadFileSyncOptions.mjs +0 -6
  286. package/dist/lib/file/ReadFileSyncOptions.mjs.map +0 -1
  287. package/dist/lib/file/constants.mjs +0 -8
  288. package/dist/lib/file/constants.mjs.map +0 -1
  289. package/dist/lib/file/fileLines.mjs +0 -32
  290. package/dist/lib/file/fileLines.mjs.map +0 -1
  291. package/dist/lib/file/index.mjs +0 -42
  292. package/dist/lib/file/index.mjs.map +0 -1
  293. package/dist/lib/file/tryReadFileSync.mjs +0 -14
  294. package/dist/lib/file/tryReadFileSync.mjs.map +0 -1
  295. package/dist/lib/generateIgnoreFiles.mjs +0 -84
  296. package/dist/lib/generateIgnoreFiles.mjs.map +0 -1
  297. package/dist/lib/generateReadmeFiles.mjs +0 -257
  298. package/dist/lib/generateReadmeFiles.mjs.map +0 -1
  299. package/dist/lib/gitignoreTemplate.mjs +0 -12
  300. package/dist/lib/gitignoreTemplate.mjs.map +0 -1
  301. package/dist/lib/jsonFormatters.mjs +0 -11
  302. package/dist/lib/jsonFormatters.mjs.map +0 -1
  303. package/dist/lib/loadConfig.mjs +0 -24
  304. package/dist/lib/loadConfig.mjs.map +0 -1
  305. package/dist/lib/parsedPackageJSON.mjs +0 -11
  306. package/dist/lib/parsedPackageJSON.mjs.map +0 -1
  307. package/dist/lib/processEx.mjs +0 -36
  308. package/dist/lib/processEx.mjs.map +0 -1
  309. package/dist/lib/runSteps.mjs +0 -95
  310. package/dist/lib/runSteps.mjs.map +0 -1
  311. package/dist/lib/runStepsAsync.mjs +0 -113
  312. package/dist/lib/runStepsAsync.mjs.map +0 -1
  313. package/dist/lib/runXy.mjs +0 -103
  314. package/dist/lib/runXy.mjs.map +0 -1
  315. package/dist/lib/runXyWithWarning.mjs +0 -13
  316. package/dist/lib/runXyWithWarning.mjs.map +0 -1
  317. package/dist/lib/safeExit.mjs +0 -61
  318. package/dist/lib/safeExit.mjs.map +0 -1
  319. package/dist/lib/string/empty.mjs +0 -8
  320. package/dist/lib/string/empty.mjs.map +0 -1
  321. package/dist/lib/string/index.mjs +0 -12
  322. package/dist/lib/string/index.mjs.map +0 -1
  323. package/dist/lib/string/union.mjs +0 -6
  324. package/dist/lib/string/union.mjs.map +0 -1
  325. package/dist/lib/tryRunLocalScript.mjs +0 -33
  326. package/dist/lib/tryRunLocalScript.mjs.map +0 -1
  327. package/dist/lib/withErrnoException.mjs +0 -13
  328. package/dist/lib/withErrnoException.mjs.map +0 -1
  329. package/dist/lib/withError.mjs +0 -8
  330. package/dist/lib/withError.mjs.map +0 -1
  331. package/dist/loadPackageConfig.mjs +0 -11
  332. package/dist/loadPackageConfig.mjs.map +0 -1
  333. package/dist/types.d.mjs +0 -1
  334. package/dist/types.d.mjs.map +0 -1
  335. package/dist/xy/build/buildCommand.mjs +0 -161
  336. package/dist/xy/build/buildCommand.mjs.map +0 -1
  337. package/dist/xy/build/compileCommand.mjs +0 -174
  338. package/dist/xy/build/compileCommand.mjs.map +0 -1
  339. package/dist/xy/build/compileOnlyCommand.mjs +0 -175
  340. package/dist/xy/build/compileOnlyCommand.mjs.map +0 -1
  341. package/dist/xy/build/copyAssetsCommand.mjs +0 -84
  342. package/dist/xy/build/copyAssetsCommand.mjs.map +0 -1
  343. package/dist/xy/build/index.mjs +0 -507
  344. package/dist/xy/build/index.mjs.map +0 -1
  345. package/dist/xy/build/rebuildCommand.mjs +0 -114
  346. package/dist/xy/build/rebuildCommand.mjs.map +0 -1
  347. package/dist/xy/build/recompileCommand.mjs +0 -204
  348. package/dist/xy/build/recompileCommand.mjs.map +0 -1
  349. package/dist/xy/common/claude/cleanCommand.mjs +0 -79
  350. package/dist/xy/common/claude/cleanCommand.mjs.map +0 -1
  351. package/dist/xy/common/claude/commandsCommand.mjs +0 -120
  352. package/dist/xy/common/claude/commandsCommand.mjs.map +0 -1
  353. package/dist/xy/common/claude/index.mjs +0 -546
  354. package/dist/xy/common/claude/index.mjs.map +0 -1
  355. package/dist/xy/common/claude/initCommand.mjs +0 -319
  356. package/dist/xy/common/claude/initCommand.mjs.map +0 -1
  357. package/dist/xy/common/claude/rulesCommand.mjs +0 -153
  358. package/dist/xy/common/claude/rulesCommand.mjs.map +0 -1
  359. package/dist/xy/common/claude/settingsCommand.mjs +0 -93
  360. package/dist/xy/common/claude/settingsCommand.mjs.map +0 -1
  361. package/dist/xy/common/claude/skillsCommand.mjs +0 -129
  362. package/dist/xy/common/claude/skillsCommand.mjs.map +0 -1
  363. package/dist/xy/common/cleanDocsCommand.mjs +0 -45
  364. package/dist/xy/common/cleanDocsCommand.mjs.map +0 -1
  365. package/dist/xy/common/deadCommand.mjs +0 -116
  366. package/dist/xy/common/deadCommand.mjs.map +0 -1
  367. package/dist/xy/common/genDocsCommand.mjs +0 -125
  368. package/dist/xy/common/genDocsCommand.mjs.map +0 -1
  369. package/dist/xy/common/gitignoreCommand.mjs +0 -158
  370. package/dist/xy/common/gitignoreCommand.mjs.map +0 -1
  371. package/dist/xy/common/gitlintCommand.mjs +0 -82
  372. package/dist/xy/common/gitlintCommand.mjs.map +0 -1
  373. package/dist/xy/common/licenseCommand.mjs +0 -100
  374. package/dist/xy/common/licenseCommand.mjs.map +0 -1
  375. package/dist/xy/common/npmignoreGenCommand.mjs +0 -98
  376. package/dist/xy/common/npmignoreGenCommand.mjs.map +0 -1
  377. package/dist/xy/common/readme/genCommand.mjs +0 -321
  378. package/dist/xy/common/readme/genCommand.mjs.map +0 -1
  379. package/dist/xy/common/readme/index.mjs +0 -361
  380. package/dist/xy/common/readme/index.mjs.map +0 -1
  381. package/dist/xy/common/readme/initCommand.mjs +0 -103
  382. package/dist/xy/common/readme/initCommand.mjs.map +0 -1
  383. package/dist/xy/common/retestCommand.mjs +0 -136
  384. package/dist/xy/common/retestCommand.mjs.map +0 -1
  385. package/dist/xy/common/testCommand.mjs +0 -130
  386. package/dist/xy/common/testCommand.mjs.map +0 -1
  387. package/dist/xy/lint/cycleCommand.mjs +0 -163
  388. package/dist/xy/lint/cycleCommand.mjs.map +0 -1
  389. package/dist/xy/lint/deplintCommand.mjs +0 -814
  390. package/dist/xy/lint/deplintCommand.mjs.map +0 -1
  391. package/dist/xy/lint/fixCommand.mjs +0 -168
  392. package/dist/xy/lint/fixCommand.mjs.map +0 -1
  393. package/dist/xy/lint/index.mjs +0 -1691
  394. package/dist/xy/lint/index.mjs.map +0 -1
  395. package/dist/xy/lint/knipCommand.mjs +0 -121
  396. package/dist/xy/lint/knipCommand.mjs.map +0 -1
  397. package/dist/xy/lint/lintCommand.mjs +0 -186
  398. package/dist/xy/lint/lintCommand.mjs.map +0 -1
  399. package/dist/xy/lint/lintlintCommand.mjs +0 -250
  400. package/dist/xy/lint/lintlintCommand.mjs.map +0 -1
  401. package/dist/xy/lint/packageLintCommand.mjs +0 -193
  402. package/dist/xy/lint/packageLintCommand.mjs.map +0 -1
  403. package/dist/xy/lint/publintCommand.mjs +0 -187
  404. package/dist/xy/lint/publintCommand.mjs.map +0 -1
  405. package/dist/xy/lint/relintCommand.mjs +0 -163
  406. package/dist/xy/lint/relintCommand.mjs.map +0 -1
  407. package/dist/xy/lint/sonarCommand.mjs +0 -121
  408. package/dist/xy/lint/sonarCommand.mjs.map +0 -1
  409. package/dist/xy/param.mjs +0 -8
  410. package/dist/xy/param.mjs.map +0 -1
  411. package/dist/xy/xyParseOptions.mjs +0 -70
  412. package/dist/xy/xyParseOptions.mjs.map +0 -1
@@ -1,188 +1,3 @@
1
- // src/lib/checkResult.ts
2
- import chalk from "chalk";
3
- var checkResult = (name, result, level = "error", exitOnFail = false) => {
4
- if (result) {
5
- const exiting = exitOnFail ? "[Exiting Process]" : "[Continuing]";
6
- const chalkFunc = level === "error" ? chalk.red : chalk.yellow;
7
- console[level](chalkFunc(`${name} had ${result} failures ${exiting}`));
8
- if (exitOnFail) {
9
- process.exit(result);
10
- }
11
- }
12
- };
13
-
14
- // src/lib/dependencies/detectDuplicateDependencies.ts
15
- import { execSync } from "child_process";
16
-
17
- // src/lib/processEx.ts
18
- import chalk2 from "chalk";
19
-
20
- // src/lib/withError.ts
21
- var withError = (ex, closure, predicate = (ex2) => !!ex2.name && !!ex2.message) => {
22
- return predicate(ex) ? closure(ex) : void 0;
23
- };
24
-
25
- // src/lib/withErrnoException.ts
26
- var withErrnoException = (ex, closure) => {
27
- return withError(ex, closure, (ex2) => ex2.errno !== void 0);
28
- };
29
-
30
- // src/lib/processEx.ts
31
- var processEx = (ex) => {
32
- const error = typeof ex === "string" ? new Error(ex) : ex;
33
- const exitCode = withErrnoException(error, (error2) => {
34
- if (error2.code === "ENOENT") {
35
- console.error(chalk2.red(`'${error2.path}' not found.`));
36
- } else {
37
- console.error(chalk2.red(`Errno: ${error2.code}`));
38
- }
39
- return error2.errno ?? -1;
40
- }) ?? withError(error, (error2) => {
41
- console.error(chalk2.red(`${error2.name}: ${error2.message}`));
42
- return -1;
43
- }) ?? (() => {
44
- console.error(chalk2.red(`Unexpected Error: ${JSON.stringify(ex, null, 2)}`));
45
- return -1;
46
- })();
47
- process.exit(process.exitCode ?? exitCode);
48
- };
49
-
50
- // src/lib/safeExit.ts
51
- var safeExit = (func, exitOnFail = true) => {
52
- try {
53
- const result = func();
54
- if (result && exitOnFail) {
55
- process.exit(result);
56
- }
57
- return result;
58
- } catch (ex) {
59
- return processEx(ex);
60
- }
61
- };
62
- var safeExitAsync = async (func, exitOnFail = true) => {
63
- try {
64
- const result = await func();
65
- if (result && exitOnFail) {
66
- process.exit(result);
67
- }
68
- return result;
69
- } catch (ex) {
70
- return processEx(ex);
71
- }
72
- };
73
-
74
- // src/lib/dependencies/DuplicateDetector.ts
75
- import { EOL } from "os";
76
- import chalk3 from "chalk";
77
-
78
- // src/lib/jsonFormatters.ts
79
- var multiLineToJSONArray = (output) => {
80
- const withCommas = output.replaceAll("\r\n", "").replaceAll("\n", ",");
81
- const cleanCollection = withCommas.slice(0, Math.max(0, withCommas.length - 1));
82
- const collection = `[${cleanCollection}]`;
83
- return JSON.parse(collection);
84
- };
85
-
86
- // src/lib/dependencies/DuplicateDetector.ts
87
- var trimVirtualMeta = (value) => {
88
- const virtualParts = value.split("virtual:");
89
- if (virtualParts.length > 1) {
90
- const hashParts = virtualParts[1].split("#");
91
- return virtualParts[0] + hashParts[1];
92
- } else {
93
- return value;
94
- }
95
- };
96
- var trimObjectDependencyVirtualMeta = (obj) => {
97
- const resultObj = {};
98
- for (const [key, value] of Object.entries(obj)) {
99
- resultObj[trimVirtualMeta(key)] = {
100
- descriptor: trimVirtualMeta(value.descriptor),
101
- locator: trimVirtualMeta(value.locator)
102
- };
103
- }
104
- return resultObj;
105
- };
106
- var trimDependencyVirtualMeta = (dependencies) => {
107
- return dependencies.map((dependency) => {
108
- return { children: trimObjectDependencyVirtualMeta(dependency.children), value: trimVirtualMeta(dependency.value) };
109
- });
110
- };
111
- var DuplicateDetector = class {
112
- dependency;
113
- dependencyEntries;
114
- constructor(output, dependency) {
115
- this.dependency = dependency;
116
- this.dependencyEntries = trimDependencyVirtualMeta(multiLineToJSONArray(output));
117
- }
118
- detect() {
119
- const result = this.dependencyEntries.reduce(this.detectReducer, this.resultsFactory(this.dependency));
120
- if (result.duplicateVersions.length > 0) {
121
- console.log(chalk3.yellow(`${EOL}Duplicates found for: ${this.dependency}`));
122
- const duplicateVersions = result.duplicateVersions.toString().replaceAll(",", `${EOL} `);
123
- console.log(chalk3.grey(` ${duplicateVersions}`, EOL));
124
- return 1;
125
- } else {
126
- console.log(`${this.dependency} - OK`);
127
- return 0;
128
- }
129
- }
130
- detectReducer(acc, entry) {
131
- const version = Object.entries(entry.children).map(([k]) => k)[0];
132
- if (!acc.currentVersion) {
133
- acc.currentVersion = version;
134
- return acc;
135
- }
136
- if (acc.currentVersion && acc.currentVersion !== version && !version.includes("@virtual:")) {
137
- if (acc.duplicateVersions.length === 0) {
138
- acc.duplicateVersions.push(acc.currentVersion);
139
- }
140
- acc.duplicateVersions.push(version);
141
- acc.duplicateVersions = [...new Set(acc.duplicateVersions)];
142
- }
143
- return acc;
144
- }
145
- resultsFactory = (dependency) => ({
146
- currentVersion: void 0,
147
- dependency,
148
- duplicateVersions: []
149
- });
150
- };
151
-
152
- // src/lib/dependencies/detectDuplicateDependencies.ts
153
- var detectDuplicateDependencies = (depsFromPackageJSON, DefaultDependencies2) => {
154
- let exitCode = 0;
155
- const dependencies = depsFromPackageJSON?.length ? depsFromPackageJSON : DefaultDependencies2;
156
- return safeExit(() => {
157
- if (dependencies) {
158
- for (const dependency of dependencies) {
159
- let output;
160
- try {
161
- const cmd = `yarn why ${dependency} --json`;
162
- output = execSync(cmd).toString();
163
- } catch (e) {
164
- console.error(`Error running yarn why: ${e}`);
165
- exitCode = 1;
166
- continue;
167
- }
168
- if (output) {
169
- exitCode = new DuplicateDetector(output, dependency).detect();
170
- } else {
171
- console.log(`${dependency} - N/A`);
172
- if (depsFromPackageJSON) {
173
- exitCode = 1;
174
- console.log(`\u{1F6A8} Library ${dependency} was requested in package.json but not found`);
175
- }
176
- }
177
- }
178
- return exitCode;
179
- } else {
180
- console.log("\u{1F6A8} No dependencies where passed");
181
- return exitCode;
182
- }
183
- });
184
- };
185
-
186
1
  // src/lib/yarn/workspace/yarnWorkspaces.ts
187
2
  import { spawnSync } from "child_process";
188
3
  var yarnWorkspaces = () => {
@@ -195,121 +10,13 @@ var yarnWorkspaces = () => {
195
10
  });
196
11
  };
197
12
 
198
- // src/lib/parsedPackageJSON.ts
199
- import { readFileSync } from "fs";
200
- var parsedPackageJSON = (path) => {
201
- const pathToPackageJSON = path ?? process.env.npm_package_json ?? "";
202
- const packageJSON = readFileSync(pathToPackageJSON).toString();
203
- return JSON.parse(packageJSON);
204
- };
205
-
206
- // src/lib/runSteps.ts
207
- import { spawnSync as spawnSync2 } from "child_process";
208
- import { existsSync } from "fs";
209
- import chalk4 from "chalk";
210
- var runSteps = (name, steps, exitOnFail = true, messages) => {
211
- return safeExit(() => {
212
- const pkgName = process.env.npm_package_name;
213
- console.log(chalk4.green(`${name} [${pkgName}]`));
214
- let totalStatus = 0;
215
- for (const [i, [command, args, config]] of steps.entries()) {
216
- if (messages?.[i]) {
217
- console.log(chalk4.gray(messages?.[i]));
218
- }
219
- const argList = Array.isArray(args) ? args : args.split(" ");
220
- if (command === "node" && !existsSync(argList[0])) {
221
- throw new Error(`File not found [${argList[0]}]`);
222
- }
223
- const status = spawnSync2(command, Array.isArray(args) ? args : args.split(" "), {
224
- ...config,
225
- encoding: "utf8",
226
- env: { FORCE_COLOR: "3", ...process.env },
227
- shell: true,
228
- stdio: "inherit"
229
- }).status ?? 0;
230
- checkResult(name, status, "error", exitOnFail);
231
- totalStatus += status ?? 0;
232
- }
233
- return totalStatus;
234
- }, !!exitOnFail);
235
- };
236
-
237
- // src/lib/runStepsAsync.ts
238
- import { spawn } from "child_process";
239
- import { existsSync as existsSync2 } from "fs";
240
- import chalk5 from "chalk";
241
- var runStepAsync = (name, step, exitOnFail = true, message) => {
242
- return new Promise((resolve) => {
243
- const [command, args, config] = step;
244
- if (message) {
245
- console.log(chalk5.gray(message));
246
- }
247
- const argList = Array.isArray(args) ? args : args.split(" ");
248
- if (command === "node" && !existsSync2(argList[0])) {
249
- throw new Error(`File not found [${argList[0]}]`);
250
- }
251
- spawn(command, Array.isArray(args) ? args : args.split(" "), {
252
- ...config,
253
- env: { FORCE_COLOR: "3", ...process.env },
254
- shell: true,
255
- stdio: "inherit"
256
- }).on("close", (code) => {
257
- if (code) {
258
- console.error(
259
- chalk5.red(
260
- `Command Exited With Non-Zero Result [${chalk5.gray(code)}] | ${chalk5.yellow(command)} ${chalk5.white(
261
- Array.isArray(args) ? args.join(" ") : args
262
- )}`
263
- )
264
- );
265
- checkResult(name, code, "error", exitOnFail);
266
- resolve(code);
267
- } else {
268
- resolve(0);
269
- }
270
- });
271
- });
272
- };
273
- var runStepsAsync = async (name, steps, exitOnFail = true, messages) => {
274
- return await safeExitAsync(async () => {
275
- const pkgName = process.env.npm_package_name;
276
- console.log(chalk5.green(`${name} [${pkgName}]`));
277
- let result = 0;
278
- for (const [i, step] of steps.entries()) {
279
- result += await runStepAsync(name, step, exitOnFail, messages?.[i]);
280
- }
281
- return result;
282
- });
283
- };
284
-
285
- // src/actions/clean.ts
286
- var clean = async ({ verbose, pkg }) => {
287
- return pkg ? await cleanPackage({ pkg, verbose }) : cleanAll({ verbose });
288
- };
289
- var cleanPackage = ({ pkg }) => {
290
- return runStepsAsync(`Clean [${pkg}]`, [["yarn", ["workspace", pkg, "run", "package-clean"]]]);
291
- };
292
- var cleanAll = ({ verbose }) => {
293
- const verboseOptions = verbose ? ["--verbose"] : ["--no-verbose"];
294
- return runStepsAsync("Clean", [["yarn", ["workspaces foreach", "-pA", "--jobs 64", ...verboseOptions, "run", "package-clean"]]]);
295
- };
296
-
297
- // src/actions/dupdeps.ts
298
- import chalk6 from "chalk";
299
- var dupdeps = () => {
300
- console.log(chalk6.green("Checking all Dependencies for Duplicates"));
301
- const pkg = parsedPackageJSON();
302
- const allDependencies = { ...pkg?.dependencies, ...pkg?.devDependencies };
303
- const dependencies = Object.keys(allDependencies);
304
- return detectDuplicateDependencies(dependencies);
305
- };
306
-
307
13
  // src/actions/reinstall.ts
308
14
  import {
309
15
  closeSync,
310
16
  openSync,
311
17
  rmSync
312
18
  } from "fs";
19
+ import { runSteps } from "@xylabs/ts-scripts-common";
313
20
  var reinstall = () => {
314
21
  console.log("Reinstall [Clear Lock File]");
315
22
  closeSync(openSync("./yarn.lock", "w"));
@@ -329,29 +36,29 @@ var reinstall = () => {
329
36
  return result || runSteps("Reinstall", [["yarn", "install --network-timeout 10000"]]);
330
37
  };
331
38
 
332
- // src/actions/statics.ts
333
- import chalk7 from "chalk";
334
- var DefaultDependencies = ["axios", "@xylabs/pixel", "react", "graphql", "react-router", "@mui/material", "@mui/system"];
335
- var statics = () => {
336
- console.log(chalk7.green("Check Required Static Dependencies"));
337
- const statics2 = parsedPackageJSON()?.xy?.deps?.statics;
338
- return detectDuplicateDependencies(statics2, DefaultDependencies);
339
- };
340
-
341
39
  // src/actions/up.ts
40
+ import { runSteps as runSteps2 } from "@xylabs/ts-scripts-common";
342
41
  var up = () => {
343
- return runSteps("Up", [["yarn", "outdated"]]);
42
+ return runSteps2("Up", [["yarn", "outdated"]]);
344
43
  };
345
44
 
346
45
  // src/actions/updo.ts
46
+ import { runSteps as runSteps3 } from "@xylabs/ts-scripts-common";
347
47
  var updo = () => {
348
- return runSteps("Updo", [
48
+ return runSteps3("Updo", [
349
49
  ["yarn", "install"],
350
50
  ["yarn", "upgrade-interactive"],
351
51
  ["yarn", "dedupe"]
352
52
  ]);
353
53
  };
354
54
 
55
+ // src/actions/index.ts
56
+ import {
57
+ clean,
58
+ dupdeps,
59
+ statics
60
+ } from "@xylabs/ts-scripts-common";
61
+
355
62
  // src/xy/install/cleanCommand.ts
356
63
  var cleanCommand = {
357
64
  command: "clean [package]",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/checkResult.ts","../../../src/lib/dependencies/detectDuplicateDependencies.ts","../../../src/lib/processEx.ts","../../../src/lib/withError.ts","../../../src/lib/withErrnoException.ts","../../../src/lib/safeExit.ts","../../../src/lib/dependencies/DuplicateDetector.ts","../../../src/lib/jsonFormatters.ts","../../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../../src/lib/parsedPackageJSON.ts","../../../src/lib/runSteps.ts","../../../src/lib/runStepsAsync.ts","../../../src/actions/clean.ts","../../../src/actions/dupdeps.ts","../../../src/actions/reinstall.ts","../../../src/actions/statics.ts","../../../src/actions/up.ts","../../../src/actions/updo.ts","../../../src/xy/install/cleanCommand.ts","../../../src/xy/install/dupdepsCommand.ts","../../../src/xy/install/reinstallCommand.ts","../../../src/xy/install/staticsCommand.ts","../../../src/xy/install/upCommand.ts","../../../src/xy/install/updoCommand.ts","../../../src/xy/install/index.ts"],"sourcesContent":["import chalk from 'chalk'\n\nexport const checkResult = (name: string, result: number, level: 'error' | 'warn' = 'error', exitOnFail = false) => {\n if (result) {\n const exiting = exitOnFail ? '[Exiting Process]' : '[Continuing]'\n const chalkFunc = level === 'error' ? chalk.red : chalk.yellow\n console[level](chalkFunc(`${name} had ${result} failures ${exiting}`))\n if (exitOnFail) {\n process.exit(result)\n }\n }\n}\n","import { execSync } from 'node:child_process'\n\nimport { safeExit } from '../safeExit.ts'\nimport { DuplicateDetector } from './DuplicateDetector.ts'\n\nexport const detectDuplicateDependencies = (depsFromPackageJSON?: string[], DefaultDependencies?: string[]) => {\n let exitCode = 0\n\n const dependencies = depsFromPackageJSON?.length ? depsFromPackageJSON : DefaultDependencies\n\n return safeExit(() => {\n if (dependencies) {\n for (const dependency of dependencies) {\n let output: string\n\n try {\n const cmd = `yarn why ${dependency} --json`\n output = execSync(cmd).toString()\n } catch (e) {\n console.error(`Error running yarn why: ${e}`)\n exitCode = 1\n continue\n }\n\n if (output) {\n exitCode = new DuplicateDetector(output, dependency).detect()\n } else {\n console.log(`${dependency} - N/A`)\n if (depsFromPackageJSON) {\n exitCode = 1\n console.log(`🚨 Library ${dependency} was requested in package.json but not found`)\n }\n }\n }\n return exitCode\n } else {\n console.log('🚨 No dependencies where passed')\n return exitCode\n }\n })\n}\n","import chalk from 'chalk'\n\nimport { withErrnoException } from './withErrnoException.ts'\nimport { withError } from './withError.ts'\n\nexport const processEx = (ex: unknown) => {\n const error = typeof ex === 'string' ? new Error(ex) : ex\n const exitCode\n = withErrnoException(error, (error) => {\n if (error.code === 'ENOENT') {\n console.error(chalk.red(`'${error.path}' not found.`))\n } else {\n console.error(chalk.red(`Errno: ${error.code}`))\n }\n return error.errno ?? -1\n })\n ?? withError(error, (error) => {\n console.error(chalk.red(`${error.name}: ${error.message}`))\n return -1\n })\n ?? (() => {\n console.error(chalk.red(`Unexpected Error: ${JSON.stringify(ex, null, 2)}`))\n return -1\n })()\n // This allows us to use a previously set exit code\n process.exit(process.exitCode ?? exitCode)\n}\n","export const withError = <T extends Error = Error>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ex: any,\n closure: (error: T) => number,\n predicate = (ex: T) => (!!ex.name && !!ex.message),\n) => {\n return predicate(ex as T) ? closure(ex as T) : undefined\n}\n","import { withError } from './withError.ts'\n\nexport const withErrnoException = <T extends NodeJS.ErrnoException = NodeJS.ErrnoException>(\n ex: unknown, closure: (error: T) => number,\n) => {\n return withError<T>(ex, closure, (ex: unknown) => (ex as NodeJS.ErrnoException).errno !== undefined)\n}\n","/** Catch child process a crash and returns the code */\n\nimport { processEx } from './processEx.ts'\n\nconst safeExit = (func: () => number, exitOnFail = true): number => {\n try {\n const result = func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nconst safeExitAsync = async (func: () => Promise<number>, exitOnFail = true): Promise<number> => {\n try {\n const result = await func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nexport { safeExit, safeExitAsync }\n","import { EOL } from 'node:os'\n\nimport chalk from 'chalk'\n\nimport { multiLineToJSONArray } from '../jsonFormatters.ts'\n\ninterface ChildFields {\n descriptor: string\n locator: string\n}\n\nconst trimVirtualMeta = (value: string): string => {\n const virtualParts = value.split('virtual:')\n if (virtualParts.length > 1) {\n const hashParts = virtualParts[1].split('#')\n return virtualParts[0] + hashParts[1]\n } else {\n return value\n }\n}\n\nconst trimObjectDependencyVirtualMeta = (obj: Record<string, ChildFields>): Record<string, ChildFields> => {\n const resultObj: Record<string, ChildFields> = {}\n for (const [key, value] of Object.entries(obj)) {\n resultObj[trimVirtualMeta(key)] = {\n descriptor: trimVirtualMeta(value.descriptor),\n locator: trimVirtualMeta(value.locator),\n }\n }\n return resultObj\n}\n\nconst trimDependencyVirtualMeta = (dependencies: DependencyEntries): DependencyEntries => {\n return dependencies.map((dependency) => {\n return { children: trimObjectDependencyVirtualMeta(dependency.children), value: trimVirtualMeta(dependency.value) }\n })\n}\n\ninterface DependencyEntry {\n children: Record<string, ChildFields>\n value: string\n}\n\ntype DependencyEntries = DependencyEntry[]\n\ninterface Results {\n currentVersion: string | undefined\n dependency: string\n duplicateVersions: string[]\n}\n\nexport class DuplicateDetector {\n private dependency: string\n private dependencyEntries: DependencyEntries\n\n constructor(output: string, dependency: string) {\n this.dependency = dependency\n this.dependencyEntries = trimDependencyVirtualMeta(multiLineToJSONArray(output))\n }\n\n detect() {\n // eslint-disable-next-line unicorn/no-array-reduce\n const result = this.dependencyEntries.reduce(this.detectReducer, this.resultsFactory(this.dependency))\n if (result.duplicateVersions.length > 0) {\n console.log(chalk.yellow(`${EOL}Duplicates found for: ${this.dependency}`))\n const duplicateVersions = result.duplicateVersions.toString().replaceAll(',', `${EOL} `)\n console.log(chalk.grey(` ${duplicateVersions}`, EOL))\n return 1\n } else {\n console.log(`${this.dependency} - OK`)\n return 0\n }\n }\n\n private detectReducer(acc: Results, entry: DependencyEntry) {\n const version = Object.entries(entry.children).map(([k]) => k)[0]\n\n if (!acc.currentVersion) {\n acc.currentVersion = version\n return acc\n }\n\n if (acc.currentVersion && acc.currentVersion !== version && !version.includes('@virtual:')) {\n // if first duplicate, push the current version as the first duplicate\n if (acc.duplicateVersions.length === 0) {\n acc.duplicateVersions.push(acc.currentVersion)\n }\n acc.duplicateVersions.push(version)\n acc.duplicateVersions = [...new Set(acc.duplicateVersions)]\n }\n return acc\n }\n\n private resultsFactory = (dependency: string): Results => ({\n currentVersion: undefined, dependency, duplicateVersions: [],\n })\n}\n","export const multiLineToJSONArray = (output: string) => {\n const withCommas = output.replaceAll('\\r\\n', '').replaceAll('\\n', ',')\n const cleanCollection = withCommas.slice(0, Math.max(0, withCommas.length - 1))\n const collection = `[${cleanCollection}]`\n return JSON.parse(collection)\n}\n","import { spawnSync } from 'node:child_process'\n\nimport type { Workspace } from './Workspace.ts'\n\nexport const yarnWorkspaces = (): Workspace[] => {\n const result = spawnSync('yarn', ['workspaces', 'list', '--json', '--recursive'], { encoding: 'utf8', shell: true })\n if (result.error) {\n throw result.error\n }\n return (\n result.stdout\n .toString()\n // NOTE: This probably doesn't work on Windows\n // TODO: Replace /r/n with /n first\n .split('\\n')\n .slice(0, -1)\n .map((item) => {\n return JSON.parse(item)\n })\n )\n}\n","import { readFileSync } from 'node:fs'\n\nexport const parsedPackageJSON = (path?: string) => {\n const pathToPackageJSON = path ?? process.env.npm_package_json ?? ''\n const packageJSON = readFileSync(pathToPackageJSON).toString()\n return JSON.parse(packageJSON)\n}\n","import type { SpawnSyncOptionsWithBufferEncoding } from 'node:child_process'\nimport { spawnSync } from 'node:child_process'\nimport { existsSync } from 'node:fs'\n\nimport chalk from 'chalk'\n\nimport { checkResult } from './checkResult.ts'\nimport { safeExit } from './safeExit.ts'\n\nexport type ScriptStep\n = | [/* command */ 'yarn' | 'node' | 'ts-node-script' | 'tsc' | 'npm' | 'vitest', /* arg */ string | string[]]\n | [/* command */ string, /* arg */ string | string[], /* config */ SpawnSyncOptionsWithBufferEncoding]\n\nexport const runSteps = (name: string, steps: ScriptStep[], exitOnFail = true, messages?: string[]): number => {\n return safeExit(() => {\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`${name} [${pkgName}]`))\n let totalStatus = 0\n for (const [i, [command, args, config]] of steps.entries()) {\n if (messages?.[i]) {\n console.log(chalk.gray(messages?.[i]))\n }\n const argList = Array.isArray(args) ? args : args.split(' ')\n if (command === 'node' && !existsSync(argList[0])) {\n throw new Error(`File not found [${argList[0]}]`)\n }\n const status\n = spawnSync(command, Array.isArray(args) ? args : args.split(' '), {\n ...config,\n encoding: 'utf8',\n env: { FORCE_COLOR: '3', ...process.env },\n shell: true,\n stdio: 'inherit',\n }).status ?? 0\n checkResult(name, status, 'error', exitOnFail)\n totalStatus += status ?? 0\n }\n return totalStatus\n }, !!exitOnFail)\n}\n","import { spawn } from 'node:child_process'\nimport { existsSync } from 'node:fs'\n\nimport chalk from 'chalk'\n\nimport { checkResult } from './checkResult.ts'\nimport type { ScriptStep } from './runSteps.ts'\nimport { safeExitAsync } from './safeExit.ts'\n\nexport const runStepAsync = (name: string, step: ScriptStep, exitOnFail = true, message?: string) => {\n return new Promise<number>((resolve) => {\n const [command, args, config] = step\n if (message) {\n console.log(chalk.gray(message))\n }\n const argList = Array.isArray(args) ? args : args.split(' ')\n if (command === 'node' && !existsSync(argList[0])) {\n throw new Error(`File not found [${argList[0]}]`)\n }\n spawn(command, Array.isArray(args) ? args : args.split(' '), {\n ...config,\n env: { FORCE_COLOR: '3', ...process.env },\n shell: true,\n stdio: 'inherit',\n }).on('close', (code) => {\n if (code) {\n console.error(\n chalk.red(\n `Command Exited With Non-Zero Result [${chalk.gray(code)}] | ${chalk.yellow(command)} ${chalk.white(\n Array.isArray(args) ? args.join(' ') : args,\n )}`,\n ),\n )\n checkResult(name, code, 'error', exitOnFail)\n resolve(code)\n } else {\n resolve(0)\n }\n })\n })\n}\n\nexport const runStepsAsync = async (name: string, steps: ScriptStep[], exitOnFail = true, messages?: string[]) => {\n return await safeExitAsync(async () => {\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`${name} [${pkgName}]`))\n let result = 0\n for (const [i, step] of steps.entries()) {\n result += await runStepAsync(name, step, exitOnFail, messages?.[i])\n }\n return result\n })\n}\n","import { runStepsAsync } from '../lib/index.ts'\n\nexport interface CleanParams {\n pkg?: string\n verbose?: boolean\n}\n\nexport interface CleanPackageParams {\n pkg: string\n verbose?: boolean\n}\n\nexport const clean = async ({ verbose, pkg }: CleanParams) => {\n return pkg\n ? await cleanPackage({ pkg, verbose })\n : cleanAll({ verbose })\n}\n\nexport const cleanPackage = ({ pkg }: CleanPackageParams) => {\n return runStepsAsync(`Clean [${pkg}]`, [['yarn', ['workspace', pkg, 'run', 'package-clean']]])\n}\n\nexport const cleanAll = ({ verbose }: CleanParams) => {\n const verboseOptions = verbose ? ['--verbose'] : ['--no-verbose']\n return runStepsAsync('Clean', [['yarn', ['workspaces foreach', '-pA', '--jobs 64', ...verboseOptions, 'run', 'package-clean']]])\n}\n","import chalk from 'chalk'\n\nimport { detectDuplicateDependencies, parsedPackageJSON } from '../lib/index.ts'\n\nexport const dupdeps = () => {\n console.log(chalk.green('Checking all Dependencies for Duplicates'))\n\n const pkg = parsedPackageJSON()\n const allDependencies = { ...pkg?.dependencies, ...pkg?.devDependencies }\n const dependencies = Object.keys(allDependencies)\n\n return detectDuplicateDependencies(dependencies)\n}\n","import {\n closeSync, openSync, rmSync,\n} from 'node:fs'\n\nimport { runSteps, yarnWorkspaces } from '../lib/index.ts'\n\nexport const reinstall = () => {\n console.log('Reinstall [Clear Lock File]')\n closeSync(openSync('./yarn.lock', 'w'))\n\n console.log('Reinstall [Clear Node Modules]')\n const workspaces = yarnWorkspaces()\n const result = workspaces\n .map(({ location, name }) => {\n const dist = `${location}/node_modules`\n try {\n rmSync(dist, { force: true, recursive: true })\n return 0\n } catch (ex) {\n const error = ex as Error\n console.error(`Reinstall [Clear Node Modules] Failed [${name}, ${error.message}]`)\n return 1\n }\n })\n // eslint-disable-next-line unicorn/no-array-reduce\n .reduce((prev, result) => prev || result, 0)\n\n return result || runSteps('Reinstall', [['yarn', 'install --network-timeout 10000']])\n}\n","import chalk from 'chalk'\n\nimport { detectDuplicateDependencies, parsedPackageJSON } from '../lib/index.ts'\n\nconst DefaultDependencies = ['axios', '@xylabs/pixel', 'react', 'graphql', 'react-router', '@mui/material', '@mui/system']\n\nexport const statics = () => {\n console.log(chalk.green('Check Required Static Dependencies'))\n\n const statics = parsedPackageJSON()?.xy?.deps?.statics\n\n return detectDuplicateDependencies(statics, DefaultDependencies)\n}\n","import { runSteps } from '../lib/index.ts'\n\nexport const up = () => {\n return runSteps('Up', [['yarn', 'outdated']])\n}\n","import { runSteps } from '../lib/index.ts'\n\nexport const updo = () => {\n return runSteps('Updo', [\n ['yarn', 'install'],\n ['yarn', 'upgrade-interactive'],\n ['yarn', 'dedupe'],\n ])\n}\n","import type { CommandModule } from 'yargs'\n\nimport { clean } from '../../actions/index.ts'\n\nexport const cleanCommand: CommandModule = {\n command: 'clean [package]',\n describe: 'Clean',\n builder: (yargs) => {\n return yargs.positional('package', { describe: 'Specific package to clean' })\n },\n handler: async (argv) => {\n if (argv.verbose) {\n console.log(`Cleaning: ${argv.package ?? 'all'}`)\n }\n process.exitCode = await clean({\n pkg: argv.package as string,\n verbose: !!argv.verbose,\n })\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { dupdeps } from '../../actions/index.ts'\n\nexport const dupdepsCommand: CommandModule = {\n command: 'dupdeps',\n describe: 'Dupdeps - Duplicate Dependencies in package.json',\n handler: (argv) => {\n if (argv.verbose) console.log('Dupdeps')\n process.exitCode = dupdeps()\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { reinstall } from '../../actions/index.ts'\n\nexport const reinstallCommand: CommandModule = {\n command: 'reinstall',\n describe: 'Reinstall - Clean & Install',\n handler: (argv) => {\n if (argv.verbose) console.log('Reinstalling')\n process.exitCode = reinstall()\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { statics } from '../../actions/index.ts'\n\nexport const staticsCommand: CommandModule = {\n command: 'statics',\n describe: 'Statics - Confirming Static Packages',\n handler: (argv) => {\n if (argv.verbose) console.log('Statics')\n process.exitCode = statics()\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { up } from '../../actions/index.ts'\n\nexport const upCommand: CommandModule = {\n command: 'up',\n describe: 'Up - Update dependencies',\n handler: (argv) => {\n if (argv.verbose) console.log('Up')\n process.exitCode = up()\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { updo } from '../../actions/index.ts'\n\nexport const updoCommand: CommandModule = {\n command: 'updo',\n describe: 'Updo - Update dependencies [Interactive]',\n handler: (argv) => {\n if (argv.verbose) console.log('Updo')\n process.exitCode = updo()\n },\n}\n","import type { Argv } from 'yargs'\n\nimport { cleanCommand } from './cleanCommand.ts'\nimport { dupdepsCommand } from './dupdepsCommand.ts'\nimport { reinstallCommand } from './reinstallCommand.ts'\nimport { staticsCommand } from './staticsCommand.ts'\nimport { upCommand } from './upCommand.ts'\nimport { updoCommand } from './updoCommand.ts'\n\nexport const xyInstallCommands = (args: Argv) => {\n return args\n .command(cleanCommand)\n .command(reinstallCommand)\n .command(upCommand)\n .command(updoCommand)\n .command(staticsCommand)\n .command(dupdepsCommand)\n}\n"],"mappings":"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","names":["chalk","ex","ex","error","chalk","chalk","chalk","DefaultDependencies","spawnSync","chalk","chalk","spawnSync","existsSync","chalk","chalk","existsSync","chalk","chalk","result","chalk","chalk","statics"]}
1
+ {"version":3,"sources":["../../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../../src/actions/reinstall.ts","../../../src/actions/up.ts","../../../src/actions/updo.ts","../../../src/actions/index.ts","../../../src/xy/install/cleanCommand.ts","../../../src/xy/install/dupdepsCommand.ts","../../../src/xy/install/reinstallCommand.ts","../../../src/xy/install/staticsCommand.ts","../../../src/xy/install/upCommand.ts","../../../src/xy/install/updoCommand.ts","../../../src/xy/install/index.ts"],"sourcesContent":["import { spawnSync } from 'node:child_process'\n\nimport type { Workspace } from './Workspace.ts'\n\nexport const yarnWorkspaces = (): Workspace[] => {\n const result = spawnSync('yarn', ['workspaces', 'list', '--json', '--recursive'], { encoding: 'utf8', shell: true })\n if (result.error) {\n throw result.error\n }\n return (\n result.stdout\n .toString()\n // NOTE: This probably doesn't work on Windows\n // TODO: Replace /r/n with /n first\n .split('\\n')\n .slice(0, -1)\n .map((item) => {\n return JSON.parse(item)\n })\n )\n}\n","import {\n closeSync, openSync, rmSync,\n} from 'node:fs'\n\nimport { runSteps } from '@xylabs/ts-scripts-common'\n\nimport { yarnWorkspaces } from '../lib/index.ts'\n\nexport const reinstall = () => {\n console.log('Reinstall [Clear Lock File]')\n closeSync(openSync('./yarn.lock', 'w'))\n\n console.log('Reinstall [Clear Node Modules]')\n const workspaces = yarnWorkspaces()\n const result = workspaces\n .map(({ location, name }) => {\n const dist = `${location}/node_modules`\n try {\n rmSync(dist, { force: true, recursive: true })\n return 0\n } catch (ex) {\n const error = ex as Error\n console.error(`Reinstall [Clear Node Modules] Failed [${name}, ${error.message}]`)\n return 1\n }\n })\n // eslint-disable-next-line unicorn/no-array-reduce\n .reduce((prev, result) => prev || result, 0)\n\n return result || runSteps('Reinstall', [['yarn', 'install --network-timeout 10000']])\n}\n","import { runSteps } from '@xylabs/ts-scripts-common'\n\nexport const up = () => {\n return runSteps('Up', [['yarn', 'outdated']])\n}\n","import { runSteps } from '@xylabs/ts-scripts-common'\n\nexport const updo = () => {\n return runSteps('Updo', [\n ['yarn', 'install'],\n ['yarn', 'upgrade-interactive'],\n ['yarn', 'dedupe'],\n ])\n}\n","export * from './deploy.ts'\nexport * from './deploy-major.ts'\nexport * from './deploy-minor.ts'\nexport * from './deploy-next.ts'\nexport * from './publish.ts'\nexport * from './reinstall.ts'\nexport * from './up.ts'\nexport * from './updo.ts'\nexport * from './upplug.ts'\nexport * from './upyarn.ts'\nexport * from './yarn3only.ts'\nexport {\n clean, dupdeps, statics,\n} from '@xylabs/ts-scripts-common'\n","import type { CommandModule } from 'yargs'\n\nimport { clean } from '../../actions/index.ts'\n\nexport const cleanCommand: CommandModule = {\n command: 'clean [package]',\n describe: 'Clean',\n builder: (yargs) => {\n return yargs.positional('package', { describe: 'Specific package to clean' })\n },\n handler: async (argv) => {\n if (argv.verbose) {\n console.log(`Cleaning: ${argv.package ?? 'all'}`)\n }\n process.exitCode = await clean({\n pkg: argv.package as string,\n verbose: !!argv.verbose,\n })\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { dupdeps } from '../../actions/index.ts'\n\nexport const dupdepsCommand: CommandModule = {\n command: 'dupdeps',\n describe: 'Dupdeps - Duplicate Dependencies in package.json',\n handler: (argv) => {\n if (argv.verbose) console.log('Dupdeps')\n process.exitCode = dupdeps()\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { reinstall } from '../../actions/index.ts'\n\nexport const reinstallCommand: CommandModule = {\n command: 'reinstall',\n describe: 'Reinstall - Clean & Install',\n handler: (argv) => {\n if (argv.verbose) console.log('Reinstalling')\n process.exitCode = reinstall()\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { statics } from '../../actions/index.ts'\n\nexport const staticsCommand: CommandModule = {\n command: 'statics',\n describe: 'Statics - Confirming Static Packages',\n handler: (argv) => {\n if (argv.verbose) console.log('Statics')\n process.exitCode = statics()\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { up } from '../../actions/index.ts'\n\nexport const upCommand: CommandModule = {\n command: 'up',\n describe: 'Up - Update dependencies',\n handler: (argv) => {\n if (argv.verbose) console.log('Up')\n process.exitCode = up()\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { updo } from '../../actions/index.ts'\n\nexport const updoCommand: CommandModule = {\n command: 'updo',\n describe: 'Updo - Update dependencies [Interactive]',\n handler: (argv) => {\n if (argv.verbose) console.log('Updo')\n process.exitCode = updo()\n },\n}\n","import type { Argv } from 'yargs'\n\nimport { cleanCommand } from './cleanCommand.ts'\nimport { dupdepsCommand } from './dupdepsCommand.ts'\nimport { reinstallCommand } from './reinstallCommand.ts'\nimport { staticsCommand } from './staticsCommand.ts'\nimport { upCommand } from './upCommand.ts'\nimport { updoCommand } from './updoCommand.ts'\n\nexport const xyInstallCommands = (args: Argv) => {\n return args\n .command(cleanCommand)\n .command(reinstallCommand)\n .command(upCommand)\n .command(updoCommand)\n .command(staticsCommand)\n .command(dupdepsCommand)\n}\n"],"mappings":"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","names":["result","runSteps","runSteps"]}
@@ -1,62 +1,3 @@
1
- // src/lib/checkResult.ts
2
- import chalk from "chalk";
3
- var checkResult = (name, result, level = "error", exitOnFail = false) => {
4
- if (result) {
5
- const exiting = exitOnFail ? "[Exiting Process]" : "[Continuing]";
6
- const chalkFunc = level === "error" ? chalk.red : chalk.yellow;
7
- console[level](chalkFunc(`${name} had ${result} failures ${exiting}`));
8
- if (exitOnFail) {
9
- process.exit(result);
10
- }
11
- }
12
- };
13
-
14
- // src/lib/processEx.ts
15
- import chalk2 from "chalk";
16
-
17
- // src/lib/withError.ts
18
- var withError = (ex, closure, predicate = (ex2) => !!ex2.name && !!ex2.message) => {
19
- return predicate(ex) ? closure(ex) : void 0;
20
- };
21
-
22
- // src/lib/withErrnoException.ts
23
- var withErrnoException = (ex, closure) => {
24
- return withError(ex, closure, (ex2) => ex2.errno !== void 0);
25
- };
26
-
27
- // src/lib/processEx.ts
28
- var processEx = (ex) => {
29
- const error = typeof ex === "string" ? new Error(ex) : ex;
30
- const exitCode = withErrnoException(error, (error2) => {
31
- if (error2.code === "ENOENT") {
32
- console.error(chalk2.red(`'${error2.path}' not found.`));
33
- } else {
34
- console.error(chalk2.red(`Errno: ${error2.code}`));
35
- }
36
- return error2.errno ?? -1;
37
- }) ?? withError(error, (error2) => {
38
- console.error(chalk2.red(`${error2.name}: ${error2.message}`));
39
- return -1;
40
- }) ?? (() => {
41
- console.error(chalk2.red(`Unexpected Error: ${JSON.stringify(ex, null, 2)}`));
42
- return -1;
43
- })();
44
- process.exit(process.exitCode ?? exitCode);
45
- };
46
-
47
- // src/lib/safeExit.ts
48
- var safeExit = (func, exitOnFail = true) => {
49
- try {
50
- const result = func();
51
- if (result && exitOnFail) {
52
- process.exit(result);
53
- }
54
- return result;
55
- } catch (ex) {
56
- return processEx(ex);
57
- }
58
- };
59
-
60
1
  // src/lib/yarn/workspace/yarnWorkspaces.ts
61
2
  import { spawnSync } from "child_process";
62
3
  var yarnWorkspaces = () => {
@@ -69,43 +10,13 @@ var yarnWorkspaces = () => {
69
10
  });
70
11
  };
71
12
 
72
- // src/lib/runSteps.ts
73
- import { spawnSync as spawnSync2 } from "child_process";
74
- import { existsSync } from "fs";
75
- import chalk3 from "chalk";
76
- var runSteps = (name, steps, exitOnFail = true, messages) => {
77
- return safeExit(() => {
78
- const pkgName = process.env.npm_package_name;
79
- console.log(chalk3.green(`${name} [${pkgName}]`));
80
- let totalStatus = 0;
81
- for (const [i, [command, args, config]] of steps.entries()) {
82
- if (messages?.[i]) {
83
- console.log(chalk3.gray(messages?.[i]));
84
- }
85
- const argList = Array.isArray(args) ? args : args.split(" ");
86
- if (command === "node" && !existsSync(argList[0])) {
87
- throw new Error(`File not found [${argList[0]}]`);
88
- }
89
- const status = spawnSync2(command, Array.isArray(args) ? args : args.split(" "), {
90
- ...config,
91
- encoding: "utf8",
92
- env: { FORCE_COLOR: "3", ...process.env },
93
- shell: true,
94
- stdio: "inherit"
95
- }).status ?? 0;
96
- checkResult(name, status, "error", exitOnFail);
97
- totalStatus += status ?? 0;
98
- }
99
- return totalStatus;
100
- }, !!exitOnFail);
101
- };
102
-
103
13
  // src/actions/reinstall.ts
104
14
  import {
105
15
  closeSync,
106
16
  openSync,
107
17
  rmSync
108
18
  } from "fs";
19
+ import { runSteps } from "@xylabs/ts-scripts-common";
109
20
  var reinstall = () => {
110
21
  console.log("Reinstall [Clear Lock File]");
111
22
  closeSync(openSync("./yarn.lock", "w"));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/checkResult.ts","../../../src/lib/processEx.ts","../../../src/lib/withError.ts","../../../src/lib/withErrnoException.ts","../../../src/lib/safeExit.ts","../../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../../src/lib/runSteps.ts","../../../src/actions/reinstall.ts","../../../src/xy/install/reinstallCommand.ts"],"sourcesContent":["import chalk from 'chalk'\n\nexport const checkResult = (name: string, result: number, level: 'error' | 'warn' = 'error', exitOnFail = false) => {\n if (result) {\n const exiting = exitOnFail ? '[Exiting Process]' : '[Continuing]'\n const chalkFunc = level === 'error' ? chalk.red : chalk.yellow\n console[level](chalkFunc(`${name} had ${result} failures ${exiting}`))\n if (exitOnFail) {\n process.exit(result)\n }\n }\n}\n","import chalk from 'chalk'\n\nimport { withErrnoException } from './withErrnoException.ts'\nimport { withError } from './withError.ts'\n\nexport const processEx = (ex: unknown) => {\n const error = typeof ex === 'string' ? new Error(ex) : ex\n const exitCode\n = withErrnoException(error, (error) => {\n if (error.code === 'ENOENT') {\n console.error(chalk.red(`'${error.path}' not found.`))\n } else {\n console.error(chalk.red(`Errno: ${error.code}`))\n }\n return error.errno ?? -1\n })\n ?? withError(error, (error) => {\n console.error(chalk.red(`${error.name}: ${error.message}`))\n return -1\n })\n ?? (() => {\n console.error(chalk.red(`Unexpected Error: ${JSON.stringify(ex, null, 2)}`))\n return -1\n })()\n // This allows us to use a previously set exit code\n process.exit(process.exitCode ?? exitCode)\n}\n","export const withError = <T extends Error = Error>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ex: any,\n closure: (error: T) => number,\n predicate = (ex: T) => (!!ex.name && !!ex.message),\n) => {\n return predicate(ex as T) ? closure(ex as T) : undefined\n}\n","import { withError } from './withError.ts'\n\nexport const withErrnoException = <T extends NodeJS.ErrnoException = NodeJS.ErrnoException>(\n ex: unknown, closure: (error: T) => number,\n) => {\n return withError<T>(ex, closure, (ex: unknown) => (ex as NodeJS.ErrnoException).errno !== undefined)\n}\n","/** Catch child process a crash and returns the code */\n\nimport { processEx } from './processEx.ts'\n\nconst safeExit = (func: () => number, exitOnFail = true): number => {\n try {\n const result = func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nconst safeExitAsync = async (func: () => Promise<number>, exitOnFail = true): Promise<number> => {\n try {\n const result = await func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nexport { safeExit, safeExitAsync }\n","import { spawnSync } from 'node:child_process'\n\nimport type { Workspace } from './Workspace.ts'\n\nexport const yarnWorkspaces = (): Workspace[] => {\n const result = spawnSync('yarn', ['workspaces', 'list', '--json', '--recursive'], { encoding: 'utf8', shell: true })\n if (result.error) {\n throw result.error\n }\n return (\n result.stdout\n .toString()\n // NOTE: This probably doesn't work on Windows\n // TODO: Replace /r/n with /n first\n .split('\\n')\n .slice(0, -1)\n .map((item) => {\n return JSON.parse(item)\n })\n )\n}\n","import type { SpawnSyncOptionsWithBufferEncoding } from 'node:child_process'\nimport { spawnSync } from 'node:child_process'\nimport { existsSync } from 'node:fs'\n\nimport chalk from 'chalk'\n\nimport { checkResult } from './checkResult.ts'\nimport { safeExit } from './safeExit.ts'\n\nexport type ScriptStep\n = | [/* command */ 'yarn' | 'node' | 'ts-node-script' | 'tsc' | 'npm' | 'vitest', /* arg */ string | string[]]\n | [/* command */ string, /* arg */ string | string[], /* config */ SpawnSyncOptionsWithBufferEncoding]\n\nexport const runSteps = (name: string, steps: ScriptStep[], exitOnFail = true, messages?: string[]): number => {\n return safeExit(() => {\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`${name} [${pkgName}]`))\n let totalStatus = 0\n for (const [i, [command, args, config]] of steps.entries()) {\n if (messages?.[i]) {\n console.log(chalk.gray(messages?.[i]))\n }\n const argList = Array.isArray(args) ? args : args.split(' ')\n if (command === 'node' && !existsSync(argList[0])) {\n throw new Error(`File not found [${argList[0]}]`)\n }\n const status\n = spawnSync(command, Array.isArray(args) ? args : args.split(' '), {\n ...config,\n encoding: 'utf8',\n env: { FORCE_COLOR: '3', ...process.env },\n shell: true,\n stdio: 'inherit',\n }).status ?? 0\n checkResult(name, status, 'error', exitOnFail)\n totalStatus += status ?? 0\n }\n return totalStatus\n }, !!exitOnFail)\n}\n","import {\n closeSync, openSync, rmSync,\n} from 'node:fs'\n\nimport { runSteps, yarnWorkspaces } from '../lib/index.ts'\n\nexport const reinstall = () => {\n console.log('Reinstall [Clear Lock File]')\n closeSync(openSync('./yarn.lock', 'w'))\n\n console.log('Reinstall [Clear Node Modules]')\n const workspaces = yarnWorkspaces()\n const result = workspaces\n .map(({ location, name }) => {\n const dist = `${location}/node_modules`\n try {\n rmSync(dist, { force: true, recursive: true })\n return 0\n } catch (ex) {\n const error = ex as Error\n console.error(`Reinstall [Clear Node Modules] Failed [${name}, ${error.message}]`)\n return 1\n }\n })\n // eslint-disable-next-line unicorn/no-array-reduce\n .reduce((prev, result) => prev || result, 0)\n\n return result || runSteps('Reinstall', [['yarn', 'install --network-timeout 10000']])\n}\n","import type { CommandModule } from 'yargs'\n\nimport { reinstall } from '../../actions/index.ts'\n\nexport const reinstallCommand: CommandModule = {\n command: 'reinstall',\n describe: 'Reinstall - Clean & Install',\n handler: (argv) => {\n if (argv.verbose) console.log('Reinstalling')\n process.exitCode = reinstall()\n },\n}\n"],"mappings":"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","names":["chalk","ex","ex","error","chalk","spawnSync","chalk","chalk","spawnSync","result"]}
1
+ {"version":3,"sources":["../../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../../src/actions/reinstall.ts","../../../src/xy/install/reinstallCommand.ts"],"sourcesContent":["import { spawnSync } from 'node:child_process'\n\nimport type { Workspace } from './Workspace.ts'\n\nexport const yarnWorkspaces = (): Workspace[] => {\n const result = spawnSync('yarn', ['workspaces', 'list', '--json', '--recursive'], { encoding: 'utf8', shell: true })\n if (result.error) {\n throw result.error\n }\n return (\n result.stdout\n .toString()\n // NOTE: This probably doesn't work on Windows\n // TODO: Replace /r/n with /n first\n .split('\\n')\n .slice(0, -1)\n .map((item) => {\n return JSON.parse(item)\n })\n )\n}\n","import {\n closeSync, openSync, rmSync,\n} from 'node:fs'\n\nimport { runSteps } from '@xylabs/ts-scripts-common'\n\nimport { yarnWorkspaces } from '../lib/index.ts'\n\nexport const reinstall = () => {\n console.log('Reinstall [Clear Lock File]')\n closeSync(openSync('./yarn.lock', 'w'))\n\n console.log('Reinstall [Clear Node Modules]')\n const workspaces = yarnWorkspaces()\n const result = workspaces\n .map(({ location, name }) => {\n const dist = `${location}/node_modules`\n try {\n rmSync(dist, { force: true, recursive: true })\n return 0\n } catch (ex) {\n const error = ex as Error\n console.error(`Reinstall [Clear Node Modules] Failed [${name}, ${error.message}]`)\n return 1\n }\n })\n // eslint-disable-next-line unicorn/no-array-reduce\n .reduce((prev, result) => prev || result, 0)\n\n return result || runSteps('Reinstall', [['yarn', 'install --network-timeout 10000']])\n}\n","import type { CommandModule } from 'yargs'\n\nimport { reinstall } from '../../actions/index.ts'\n\nexport const reinstallCommand: CommandModule = {\n command: 'reinstall',\n describe: 'Reinstall - Clean & Install',\n handler: (argv) => {\n if (argv.verbose) console.log('Reinstalling')\n process.exitCode = reinstall()\n },\n}\n"],"mappings":";AAAA,SAAS,iBAAiB;AAInB,IAAM,iBAAiB,MAAmB;AAC/C,QAAM,SAAS,UAAU,QAAQ,CAAC,cAAc,QAAQ,UAAU,aAAa,GAAG,EAAE,UAAU,QAAQ,OAAO,KAAK,CAAC;AACnH,MAAI,OAAO,OAAO;AAChB,UAAM,OAAO;AAAA,EACf;AACA,SACE,OAAO,OACJ,SAAS,EAGT,MAAM,IAAI,EACV,MAAM,GAAG,EAAE,EACX,IAAI,CAAC,SAAS;AACb,WAAO,KAAK,MAAM,IAAI;AAAA,EACxB,CAAC;AAEP;;;ACpBA;AAAA,EACE;AAAA,EAAW;AAAA,EAAU;AAAA,OAChB;AAEP,SAAS,gBAAgB;AAIlB,IAAM,YAAY,MAAM;AAC7B,UAAQ,IAAI,6BAA6B;AACzC,YAAU,SAAS,eAAe,GAAG,CAAC;AAEtC,UAAQ,IAAI,gCAAgC;AAC5C,QAAM,aAAa,eAAe;AAClC,QAAM,SAAS,WACZ,IAAI,CAAC,EAAE,UAAU,KAAK,MAAM;AAC3B,UAAM,OAAO,GAAG,QAAQ;AACxB,QAAI;AACF,aAAO,MAAM,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AAC7C,aAAO;AAAA,IACT,SAAS,IAAI;AACX,YAAM,QAAQ;AACd,cAAQ,MAAM,0CAA0C,IAAI,KAAK,MAAM,OAAO,GAAG;AACjF,aAAO;AAAA,IACT;AAAA,EACF,CAAC,EAEA,OAAO,CAAC,MAAMA,YAAW,QAAQA,SAAQ,CAAC;AAE7C,SAAO,UAAU,SAAS,aAAa,CAAC,CAAC,QAAQ,iCAAiC,CAAC,CAAC;AACtF;;;AC1BO,IAAM,mBAAkC;AAAA,EAC7C,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS,CAAC,SAAS;AACjB,QAAI,KAAK,QAAS,SAAQ,IAAI,cAAc;AAC5C,YAAQ,WAAW,UAAU;AAAA,EAC/B;AACF;","names":["result"]}