@xylabs/ts-scripts-yarn3 7.4.27 → 7.5.0

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 (408) 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 +50 -3534
  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 +221 -3436
  26. package/dist/bin/xy.mjs.map +1 -1
  27. package/dist/index.d.ts +24 -496
  28. package/dist/index.mjs +226 -4413
  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 +190 -3477
  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 +190 -3474
  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/npmignore-gen.mjs +0 -88
  166. package/dist/actions/npmignore-gen.mjs.map +0 -1
  167. package/dist/actions/package/clean-outputs.mjs +0 -29
  168. package/dist/actions/package/clean-outputs.mjs.map +0 -1
  169. package/dist/actions/package/clean-typescript.mjs +0 -29
  170. package/dist/actions/package/clean-typescript.mjs.map +0 -1
  171. package/dist/actions/package/clean.mjs +0 -48
  172. package/dist/actions/package/clean.mjs.map +0 -1
  173. package/dist/actions/package/compile/XyConfig.mjs +0 -1
  174. package/dist/actions/package/compile/XyConfig.mjs.map +0 -1
  175. package/dist/actions/package/compile/buildEntries.mjs +0 -53
  176. package/dist/actions/package/compile/buildEntries.mjs.map +0 -1
  177. package/dist/actions/package/compile/compile.mjs +0 -433
  178. package/dist/actions/package/compile/compile.mjs.map +0 -1
  179. package/dist/actions/package/compile/copyTypeFiles.mjs +0 -34
  180. package/dist/actions/package/compile/copyTypeFiles.mjs.map +0 -1
  181. package/dist/actions/package/compile/deepMerge.mjs +0 -26
  182. package/dist/actions/package/compile/deepMerge.mjs.map +0 -1
  183. package/dist/actions/package/compile/getCompilerOptions.mjs +0 -12
  184. package/dist/actions/package/compile/getCompilerOptions.mjs.map +0 -1
  185. package/dist/actions/package/compile/index.mjs +0 -436
  186. package/dist/actions/package/compile/index.mjs.map +0 -1
  187. package/dist/actions/package/compile/inputs.mjs +0 -22
  188. package/dist/actions/package/compile/inputs.mjs.map +0 -1
  189. package/dist/actions/package/compile/packageCompileTsc.mjs +0 -94
  190. package/dist/actions/package/compile/packageCompileTsc.mjs.map +0 -1
  191. package/dist/actions/package/compile/packageCompileTscTypes.mjs +0 -92
  192. package/dist/actions/package/compile/packageCompileTscTypes.mjs.map +0 -1
  193. package/dist/actions/package/compile/packageCompileTsup.mjs +0 -402
  194. package/dist/actions/package/compile/packageCompileTsup.mjs.map +0 -1
  195. package/dist/actions/package/copy-assets.mjs +0 -46
  196. package/dist/actions/package/copy-assets.mjs.map +0 -1
  197. package/dist/actions/package/cycle.mjs +0 -39
  198. package/dist/actions/package/cycle.mjs.map +0 -1
  199. package/dist/actions/package/gen-docs.mjs +0 -114
  200. package/dist/actions/package/gen-docs.mjs.map +0 -1
  201. package/dist/actions/package/index.mjs +0 -825
  202. package/dist/actions/package/index.mjs.map +0 -1
  203. package/dist/actions/package/lint.mjs +0 -80
  204. package/dist/actions/package/lint.mjs.map +0 -1
  205. package/dist/actions/package/publint.mjs +0 -66
  206. package/dist/actions/package/publint.mjs.map +0 -1
  207. package/dist/actions/package/recompile.mjs +0 -483
  208. package/dist/actions/package/recompile.mjs.map +0 -1
  209. package/dist/actions/package-lint.mjs +0 -178
  210. package/dist/actions/package-lint.mjs.map +0 -1
  211. package/dist/actions/publint.mjs +0 -166
  212. package/dist/actions/publint.mjs.map +0 -1
  213. package/dist/actions/readme-gen.mjs +0 -289
  214. package/dist/actions/readme-gen.mjs.map +0 -1
  215. package/dist/actions/readme-init.mjs +0 -83
  216. package/dist/actions/readme-init.mjs.map +0 -1
  217. package/dist/actions/rebuild.mjs +0 -101
  218. package/dist/actions/rebuild.mjs.map +0 -1
  219. package/dist/actions/recompile.mjs +0 -187
  220. package/dist/actions/recompile.mjs.map +0 -1
  221. package/dist/actions/relint.mjs +0 -144
  222. package/dist/actions/relint.mjs.map +0 -1
  223. package/dist/actions/retest.mjs +0 -123
  224. package/dist/actions/retest.mjs.map +0 -1
  225. package/dist/actions/sonar.mjs +0 -98
  226. package/dist/actions/sonar.mjs.map +0 -1
  227. package/dist/actions/statics.mjs +0 -183
  228. package/dist/actions/statics.mjs.map +0 -1
  229. package/dist/actions/test.mjs +0 -117
  230. package/dist/actions/test.mjs.map +0 -1
  231. package/dist/bin/package/build-only.mjs +0 -445
  232. package/dist/bin/package/build-only.mjs.map +0 -1
  233. package/dist/bin/package/build.mjs +0 -445
  234. package/dist/bin/package/build.mjs.map +0 -1
  235. package/dist/bin/package/clean-outputs.mjs +0 -29
  236. package/dist/bin/package/clean-outputs.mjs.map +0 -1
  237. package/dist/bin/package/clean-typescript.mjs +0 -29
  238. package/dist/bin/package/clean-typescript.mjs.map +0 -1
  239. package/dist/bin/package/clean.mjs +0 -53
  240. package/dist/bin/package/clean.mjs.map +0 -1
  241. package/dist/bin/package/compile-only.mjs +0 -441
  242. package/dist/bin/package/compile-only.mjs.map +0 -1
  243. package/dist/bin/package/compile-tsup.mjs +0 -409
  244. package/dist/bin/package/compile-tsup.mjs.map +0 -1
  245. package/dist/bin/package/compile.mjs +0 -445
  246. package/dist/bin/package/compile.mjs.map +0 -1
  247. package/dist/bin/package/copy-assets-cjs.mjs +0 -54
  248. package/dist/bin/package/copy-assets-cjs.mjs.map +0 -1
  249. package/dist/bin/package/copy-assets-esm.mjs +0 -54
  250. package/dist/bin/package/copy-assets-esm.mjs.map +0 -1
  251. package/dist/bin/package/cycle.mjs +0 -51
  252. package/dist/bin/package/cycle.mjs.map +0 -1
  253. package/dist/bin/package/fix.mjs +0 -92
  254. package/dist/bin/package/fix.mjs.map +0 -1
  255. package/dist/bin/package/gen-docs.mjs +0 -121
  256. package/dist/bin/package/gen-docs.mjs.map +0 -1
  257. package/dist/bin/package/lint-verbose.mjs +0 -92
  258. package/dist/bin/package/lint-verbose.mjs.map +0 -1
  259. package/dist/bin/package/lint.mjs +0 -92
  260. package/dist/bin/package/lint.mjs.map +0 -1
  261. package/dist/bin/package/publint.mjs +0 -75
  262. package/dist/bin/package/publint.mjs.map +0 -1
  263. package/dist/bin/package/recompile.mjs +0 -489
  264. package/dist/bin/package/recompile.mjs.map +0 -1
  265. package/dist/bin/package/relint.mjs +0 -92
  266. package/dist/bin/package/relint.mjs.map +0 -1
  267. package/dist/lib/checkResult.mjs +0 -16
  268. package/dist/lib/checkResult.mjs.map +0 -1
  269. package/dist/lib/claudeMdTemplate.mjs +0 -65
  270. package/dist/lib/claudeMdTemplate.mjs.map +0 -1
  271. package/dist/lib/createBuildConfig.mjs +0 -55
  272. package/dist/lib/createBuildConfig.mjs.map +0 -1
  273. package/dist/lib/defaultBuildConfig.mjs +0 -23
  274. package/dist/lib/defaultBuildConfig.mjs.map +0 -1
  275. package/dist/lib/deleteGlob.mjs +0 -13
  276. package/dist/lib/deleteGlob.mjs.map +0 -1
  277. package/dist/lib/dependencies/DuplicateDetector.mjs +0 -81
  278. package/dist/lib/dependencies/DuplicateDetector.mjs.map +0 -1
  279. package/dist/lib/dependencies/detectDuplicateDependencies.mjs +0 -164
  280. package/dist/lib/dependencies/detectDuplicateDependencies.mjs.map +0 -1
  281. package/dist/lib/dependencies/index.mjs +0 -165
  282. package/dist/lib/dependencies/index.mjs.map +0 -1
  283. package/dist/lib/file/ReadFileSyncOptions.mjs +0 -6
  284. package/dist/lib/file/ReadFileSyncOptions.mjs.map +0 -1
  285. package/dist/lib/file/constants.mjs +0 -8
  286. package/dist/lib/file/constants.mjs.map +0 -1
  287. package/dist/lib/file/fileLines.mjs +0 -32
  288. package/dist/lib/file/fileLines.mjs.map +0 -1
  289. package/dist/lib/file/index.mjs +0 -42
  290. package/dist/lib/file/index.mjs.map +0 -1
  291. package/dist/lib/file/tryReadFileSync.mjs +0 -14
  292. package/dist/lib/file/tryReadFileSync.mjs.map +0 -1
  293. package/dist/lib/generateIgnoreFiles.mjs +0 -84
  294. package/dist/lib/generateIgnoreFiles.mjs.map +0 -1
  295. package/dist/lib/generateReadmeFiles.mjs +0 -257
  296. package/dist/lib/generateReadmeFiles.mjs.map +0 -1
  297. package/dist/lib/gitignoreTemplate.mjs +0 -12
  298. package/dist/lib/gitignoreTemplate.mjs.map +0 -1
  299. package/dist/lib/jsonFormatters.mjs +0 -11
  300. package/dist/lib/jsonFormatters.mjs.map +0 -1
  301. package/dist/lib/loadConfig.mjs +0 -24
  302. package/dist/lib/loadConfig.mjs.map +0 -1
  303. package/dist/lib/parsedPackageJSON.mjs +0 -11
  304. package/dist/lib/parsedPackageJSON.mjs.map +0 -1
  305. package/dist/lib/processEx.mjs +0 -36
  306. package/dist/lib/processEx.mjs.map +0 -1
  307. package/dist/lib/runSteps.mjs +0 -95
  308. package/dist/lib/runSteps.mjs.map +0 -1
  309. package/dist/lib/runStepsAsync.mjs +0 -113
  310. package/dist/lib/runStepsAsync.mjs.map +0 -1
  311. package/dist/lib/runXy.mjs +0 -103
  312. package/dist/lib/runXy.mjs.map +0 -1
  313. package/dist/lib/runXyWithWarning.mjs +0 -13
  314. package/dist/lib/runXyWithWarning.mjs.map +0 -1
  315. package/dist/lib/safeExit.mjs +0 -61
  316. package/dist/lib/safeExit.mjs.map +0 -1
  317. package/dist/lib/string/empty.mjs +0 -8
  318. package/dist/lib/string/empty.mjs.map +0 -1
  319. package/dist/lib/string/index.mjs +0 -12
  320. package/dist/lib/string/index.mjs.map +0 -1
  321. package/dist/lib/string/union.mjs +0 -6
  322. package/dist/lib/string/union.mjs.map +0 -1
  323. package/dist/lib/tryRunLocalScript.mjs +0 -33
  324. package/dist/lib/tryRunLocalScript.mjs.map +0 -1
  325. package/dist/lib/withErrnoException.mjs +0 -13
  326. package/dist/lib/withErrnoException.mjs.map +0 -1
  327. package/dist/lib/withError.mjs +0 -8
  328. package/dist/lib/withError.mjs.map +0 -1
  329. package/dist/loadPackageConfig.mjs +0 -11
  330. package/dist/loadPackageConfig.mjs.map +0 -1
  331. package/dist/types.d.mjs +0 -1
  332. package/dist/types.d.mjs.map +0 -1
  333. package/dist/xy/build/buildCommand.mjs +0 -161
  334. package/dist/xy/build/buildCommand.mjs.map +0 -1
  335. package/dist/xy/build/compileCommand.mjs +0 -174
  336. package/dist/xy/build/compileCommand.mjs.map +0 -1
  337. package/dist/xy/build/compileOnlyCommand.mjs +0 -175
  338. package/dist/xy/build/compileOnlyCommand.mjs.map +0 -1
  339. package/dist/xy/build/copyAssetsCommand.mjs +0 -84
  340. package/dist/xy/build/copyAssetsCommand.mjs.map +0 -1
  341. package/dist/xy/build/index.mjs +0 -507
  342. package/dist/xy/build/index.mjs.map +0 -1
  343. package/dist/xy/build/rebuildCommand.mjs +0 -114
  344. package/dist/xy/build/rebuildCommand.mjs.map +0 -1
  345. package/dist/xy/build/recompileCommand.mjs +0 -204
  346. package/dist/xy/build/recompileCommand.mjs.map +0 -1
  347. package/dist/xy/common/claude/cleanCommand.mjs +0 -79
  348. package/dist/xy/common/claude/cleanCommand.mjs.map +0 -1
  349. package/dist/xy/common/claude/commandsCommand.mjs +0 -120
  350. package/dist/xy/common/claude/commandsCommand.mjs.map +0 -1
  351. package/dist/xy/common/claude/index.mjs +0 -546
  352. package/dist/xy/common/claude/index.mjs.map +0 -1
  353. package/dist/xy/common/claude/initCommand.mjs +0 -319
  354. package/dist/xy/common/claude/initCommand.mjs.map +0 -1
  355. package/dist/xy/common/claude/rulesCommand.mjs +0 -153
  356. package/dist/xy/common/claude/rulesCommand.mjs.map +0 -1
  357. package/dist/xy/common/claude/settingsCommand.mjs +0 -93
  358. package/dist/xy/common/claude/settingsCommand.mjs.map +0 -1
  359. package/dist/xy/common/claude/skillsCommand.mjs +0 -129
  360. package/dist/xy/common/claude/skillsCommand.mjs.map +0 -1
  361. package/dist/xy/common/cleanDocsCommand.mjs +0 -45
  362. package/dist/xy/common/cleanDocsCommand.mjs.map +0 -1
  363. package/dist/xy/common/deadCommand.mjs +0 -116
  364. package/dist/xy/common/deadCommand.mjs.map +0 -1
  365. package/dist/xy/common/genDocsCommand.mjs +0 -125
  366. package/dist/xy/common/genDocsCommand.mjs.map +0 -1
  367. package/dist/xy/common/gitignoreCommand.mjs +0 -158
  368. package/dist/xy/common/gitignoreCommand.mjs.map +0 -1
  369. package/dist/xy/common/gitlintCommand.mjs +0 -82
  370. package/dist/xy/common/gitlintCommand.mjs.map +0 -1
  371. package/dist/xy/common/licenseCommand.mjs +0 -100
  372. package/dist/xy/common/licenseCommand.mjs.map +0 -1
  373. package/dist/xy/common/npmignoreGenCommand.mjs +0 -98
  374. package/dist/xy/common/npmignoreGenCommand.mjs.map +0 -1
  375. package/dist/xy/common/readme/genCommand.mjs +0 -321
  376. package/dist/xy/common/readme/genCommand.mjs.map +0 -1
  377. package/dist/xy/common/readme/index.mjs +0 -361
  378. package/dist/xy/common/readme/index.mjs.map +0 -1
  379. package/dist/xy/common/readme/initCommand.mjs +0 -103
  380. package/dist/xy/common/readme/initCommand.mjs.map +0 -1
  381. package/dist/xy/common/retestCommand.mjs +0 -136
  382. package/dist/xy/common/retestCommand.mjs.map +0 -1
  383. package/dist/xy/common/testCommand.mjs +0 -130
  384. package/dist/xy/common/testCommand.mjs.map +0 -1
  385. package/dist/xy/lint/cycleCommand.mjs +0 -163
  386. package/dist/xy/lint/cycleCommand.mjs.map +0 -1
  387. package/dist/xy/lint/deplintCommand.mjs +0 -814
  388. package/dist/xy/lint/deplintCommand.mjs.map +0 -1
  389. package/dist/xy/lint/fixCommand.mjs +0 -168
  390. package/dist/xy/lint/fixCommand.mjs.map +0 -1
  391. package/dist/xy/lint/index.mjs +0 -1444
  392. package/dist/xy/lint/index.mjs.map +0 -1
  393. package/dist/xy/lint/knipCommand.mjs +0 -121
  394. package/dist/xy/lint/knipCommand.mjs.map +0 -1
  395. package/dist/xy/lint/lintCommand.mjs +0 -186
  396. package/dist/xy/lint/lintCommand.mjs.map +0 -1
  397. package/dist/xy/lint/packageLintCommand.mjs +0 -193
  398. package/dist/xy/lint/packageLintCommand.mjs.map +0 -1
  399. package/dist/xy/lint/publintCommand.mjs +0 -187
  400. package/dist/xy/lint/publintCommand.mjs.map +0 -1
  401. package/dist/xy/lint/relintCommand.mjs +0 -163
  402. package/dist/xy/lint/relintCommand.mjs.map +0 -1
  403. package/dist/xy/lint/sonarCommand.mjs +0 -121
  404. package/dist/xy/lint/sonarCommand.mjs.map +0 -1
  405. package/dist/xy/param.mjs +0 -8
  406. package/dist/xy/param.mjs.map +0 -1
  407. package/dist/xy/xyParseOptions.mjs +0 -70
  408. package/dist/xy/xyParseOptions.mjs.map +0 -1
@@ -1,137 +0,0 @@
1
- // src/actions/claude-rules.ts
2
- import { spawnSync } from "child_process";
3
- import {
4
- existsSync,
5
- mkdirSync,
6
- readdirSync as readdirSync2,
7
- readFileSync as readFileSync2,
8
- unlinkSync,
9
- writeFileSync
10
- } from "fs";
11
- import PATH2 from "path";
12
- import chalk from "chalk";
13
-
14
- // src/lib/claudeMdTemplate.ts
15
- import {
16
- readdirSync,
17
- readFileSync,
18
- statSync
19
- } from "fs";
20
- import { createRequire } from "module";
21
- import PATH from "path";
22
- var require2 = createRequire(import.meta.url);
23
- var packageRoot = PATH.dirname(require2.resolve("@xylabs/ts-scripts-yarn3/package.json"));
24
- var templatesDir = PATH.resolve(packageRoot, "templates", "claude");
25
- var XYLABS_RULES_PREFIX = "xylabs-";
26
- var claudeMdRuleTemplates = () => {
27
- const rulesDir = PATH.resolve(templatesDir, "rules");
28
- const files = readdirSync(rulesDir).filter((f) => f.startsWith(XYLABS_RULES_PREFIX) && f.endsWith(".md"));
29
- const result = {};
30
- for (const file of files) {
31
- result[file] = readFileSync(PATH.resolve(rulesDir, file), "utf8");
32
- }
33
- return result;
34
- };
35
- var claudeMdLocalTemplate = () => readFileSync(PATH.resolve(templatesDir, "CLAUDE-local.md"), "utf8");
36
-
37
- // src/lib/yarn/yarnInitCwd.ts
38
- var INIT_CWD = () => {
39
- if (!process.env.INIT_CWD) console.error("Missing INIT_CWD");
40
- return process.env.INIT_CWD;
41
- };
42
-
43
- // src/actions/claude-rules.ts
44
- var syncRuleFiles = (rulesDir) => {
45
- const templates = claudeMdRuleTemplates();
46
- const templateNames = new Set(Object.keys(templates));
47
- let updated = 0;
48
- let created = 0;
49
- for (const [filename, content] of Object.entries(templates)) {
50
- const targetPath = PATH2.resolve(rulesDir, filename);
51
- const existing = existsSync(targetPath) ? readFileSync2(targetPath, "utf8") : void 0;
52
- if (existing === content) continue;
53
- writeFileSync(targetPath, content, "utf8");
54
- if (existing) {
55
- updated++;
56
- } else {
57
- created++;
58
- }
59
- }
60
- return {
61
- created,
62
- templateNames,
63
- updated
64
- };
65
- };
66
- var removeStaleRules = (rulesDir, templateNames) => {
67
- const existingRules = readdirSync2(rulesDir).filter((f) => f.startsWith(XYLABS_RULES_PREFIX) && f.endsWith(".md"));
68
- let removed = 0;
69
- for (const file of existingRules) {
70
- if (!templateNames.has(file)) {
71
- unlinkSync(PATH2.resolve(rulesDir, file));
72
- removed++;
73
- }
74
- }
75
- return removed;
76
- };
77
- var logRulesResult = (created, updated, removed) => {
78
- if (created || updated || removed) {
79
- const parts = [
80
- created ? `${created} created` : "",
81
- updated ? `${updated} updated` : "",
82
- removed ? `${removed} removed` : ""
83
- ].filter(Boolean);
84
- console.log(chalk.green(`.claude/rules/${XYLABS_RULES_PREFIX}*.md: ${parts.join(", ")}`));
85
- } else {
86
- console.log(chalk.gray(`.claude/rules/${XYLABS_RULES_PREFIX}*.md: already up to date`));
87
- }
88
- };
89
- var ensureProjectClaudeMd = (cwd, force) => {
90
- const projectPath = PATH2.resolve(cwd, "CLAUDE.md");
91
- if (!existsSync(projectPath) || force) {
92
- if (force && existsSync(projectPath)) {
93
- console.log(chalk.yellow("Regenerating CLAUDE.md"));
94
- }
95
- console.log(chalk.green("Generating CLAUDE.md via claude /init..."));
96
- const result = spawnSync("claude", ["-p", "/init", "--allowedTools", "Read", "Write", "Glob", "Grep"], {
97
- cwd,
98
- shell: true,
99
- stdio: "inherit"
100
- });
101
- if (result.status !== 0) {
102
- console.error(chalk.red("claude /init failed \u2014 is Claude Code installed?"));
103
- return 1;
104
- }
105
- } else {
106
- console.log(chalk.gray("CLAUDE.md already exists (skipped, use --force to regenerate)"));
107
- }
108
- return 0;
109
- };
110
- var ensureLocalClaudeMd = (cwd) => {
111
- const localPath = PATH2.resolve(cwd, "CLAUDE.local.md");
112
- if (existsSync(localPath)) {
113
- console.log(chalk.gray("CLAUDE.local.md already exists (skipped)"));
114
- } else {
115
- writeFileSync(localPath, claudeMdLocalTemplate(), "utf8");
116
- console.log(chalk.green("Generated CLAUDE.local.md"));
117
- }
118
- };
119
- var claudeRules = ({ force } = {}) => {
120
- const cwd = INIT_CWD() ?? process.cwd();
121
- const rulesDir = PATH2.resolve(cwd, ".claude", "rules");
122
- mkdirSync(rulesDir, { recursive: true });
123
- const {
124
- created,
125
- templateNames,
126
- updated
127
- } = syncRuleFiles(rulesDir);
128
- const removed = removeStaleRules(rulesDir, templateNames);
129
- logRulesResult(created, updated, removed);
130
- const claudeMdResult = ensureProjectClaudeMd(cwd, force);
131
- ensureLocalClaudeMd(cwd);
132
- return claudeMdResult ?? 0;
133
- };
134
- export {
135
- claudeRules
136
- };
137
- //# sourceMappingURL=claude-rules.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/actions/claude-rules.ts","../../src/lib/claudeMdTemplate.ts","../../src/lib/yarn/yarnInitCwd.ts"],"sourcesContent":["import { spawnSync } from 'node:child_process'\nimport {\n existsSync, mkdirSync, readdirSync, readFileSync, unlinkSync, writeFileSync,\n} from 'node:fs'\nimport PATH from 'node:path'\n\nimport chalk from 'chalk'\n\nimport {\n claudeMdLocalTemplate, claudeMdRuleTemplates, XYLABS_RULES_PREFIX,\n} from '../lib/index.ts'\nimport { INIT_CWD } from '../lib/yarn/index.ts'\n\nconst syncRuleFiles = (rulesDir: string) => {\n const templates = claudeMdRuleTemplates()\n const templateNames = new Set(Object.keys(templates))\n let updated = 0\n let created = 0\n\n for (const [filename, content] of Object.entries(templates)) {\n const targetPath = PATH.resolve(rulesDir, filename)\n const existing = existsSync(targetPath) ? readFileSync(targetPath, 'utf8') : undefined\n if (existing === content) continue\n writeFileSync(targetPath, content, 'utf8')\n if (existing) {\n updated++\n } else {\n created++\n }\n }\n\n return {\n created, templateNames, updated,\n }\n}\n\nconst removeStaleRules = (rulesDir: string, templateNames: Set<string>) => {\n const existingRules = readdirSync(rulesDir).filter(f => f.startsWith(XYLABS_RULES_PREFIX) && f.endsWith('.md'))\n let removed = 0\n\n for (const file of existingRules) {\n if (!templateNames.has(file)) {\n unlinkSync(PATH.resolve(rulesDir, file))\n removed++\n }\n }\n\n return removed\n}\n\nconst logRulesResult = (created: number, updated: number, removed: number) => {\n if (created || updated || removed) {\n const parts = [\n created ? `${created} created` : '',\n updated ? `${updated} updated` : '',\n removed ? `${removed} removed` : '',\n ].filter(Boolean)\n console.log(chalk.green(`.claude/rules/${XYLABS_RULES_PREFIX}*.md: ${parts.join(', ')}`))\n } else {\n console.log(chalk.gray(`.claude/rules/${XYLABS_RULES_PREFIX}*.md: already up to date`))\n }\n}\n\nconst ensureProjectClaudeMd = (cwd: string, force?: boolean) => {\n const projectPath = PATH.resolve(cwd, 'CLAUDE.md')\n\n if (!existsSync(projectPath) || force) {\n if (force && existsSync(projectPath)) {\n console.log(chalk.yellow('Regenerating CLAUDE.md'))\n }\n console.log(chalk.green('Generating CLAUDE.md via claude /init...'))\n const result = spawnSync('claude', ['-p', '/init', '--allowedTools', 'Read', 'Write', 'Glob', 'Grep'], {\n cwd,\n shell: true,\n stdio: 'inherit',\n })\n if (result.status !== 0) {\n console.error(chalk.red('claude /init failed — is Claude Code installed?'))\n return 1\n }\n } else {\n console.log(chalk.gray('CLAUDE.md already exists (skipped, use --force to regenerate)'))\n }\n return 0\n}\n\nconst ensureLocalClaudeMd = (cwd: string) => {\n const localPath = PATH.resolve(cwd, 'CLAUDE.local.md')\n\n if (existsSync(localPath)) {\n console.log(chalk.gray('CLAUDE.local.md already exists (skipped)'))\n } else {\n writeFileSync(localPath, claudeMdLocalTemplate(), 'utf8')\n console.log(chalk.green('Generated CLAUDE.local.md'))\n }\n}\n\nexport const claudeRules = ({ force }: { force?: boolean } = {}): number => {\n const cwd = INIT_CWD() ?? process.cwd()\n const rulesDir = PATH.resolve(cwd, '.claude', 'rules')\n\n mkdirSync(rulesDir, { recursive: true })\n\n const {\n created, templateNames, updated,\n } = syncRuleFiles(rulesDir)\n const removed = removeStaleRules(rulesDir, templateNames)\n logRulesResult(created, updated, removed)\n const claudeMdResult = ensureProjectClaudeMd(cwd, force)\n ensureLocalClaudeMd(cwd)\n\n return claudeMdResult ?? 0\n}\n","import {\n readdirSync, readFileSync, statSync,\n} from 'node:fs'\nimport { createRequire } from 'node:module'\nimport PATH from 'node:path'\n\nconst require = createRequire(import.meta.url)\nconst packageRoot = PATH.dirname(require.resolve('@xylabs/ts-scripts-yarn3/package.json'))\nconst templatesDir = PATH.resolve(packageRoot, 'templates', 'claude')\n\nexport const XYLABS_RULES_PREFIX = 'xylabs-'\nexport const XYLABS_COMMANDS_PREFIX = 'xy-'\nexport const LEGACY_COMMANDS_PREFIX = 'xylabs-'\nexport const XYLABS_SKILLS_PREFIX = 'xylabs-'\n\nexport const claudeMdRuleTemplates = (): Record<string, string> => {\n const rulesDir = PATH.resolve(templatesDir, 'rules')\n const files = readdirSync(rulesDir).filter(f => f.startsWith(XYLABS_RULES_PREFIX) && f.endsWith('.md'))\n const result: Record<string, string> = {}\n for (const file of files) {\n result[file] = readFileSync(PATH.resolve(rulesDir, file), 'utf8')\n }\n return result\n}\n\nexport const claudeCommandTemplates = (): Record<string, string> => {\n const commandsDir = PATH.resolve(templatesDir, 'commands')\n const files = readdirSync(commandsDir).filter(f => f.startsWith(XYLABS_COMMANDS_PREFIX) && f.endsWith('.md'))\n const result: Record<string, string> = {}\n for (const file of files) {\n result[file] = readFileSync(PATH.resolve(commandsDir, file), 'utf8')\n }\n return result\n}\n\n// Returns { 'xylabs-foo': { 'SKILL.md': '...', 'other.ts': '...' } }\nexport const claudeSkillTemplates = (): Record<string, Record<string, string>> => {\n const skillsDir = PATH.resolve(templatesDir, 'skills')\n const dirs = readdirSync(skillsDir).filter(\n f => f.startsWith(XYLABS_SKILLS_PREFIX) && statSync(PATH.resolve(skillsDir, f)).isDirectory(),\n )\n const result: Record<string, Record<string, string>> = {}\n for (const dir of dirs) {\n const dirPath = PATH.resolve(skillsDir, dir)\n const files = readdirSync(dirPath, { recursive: true, encoding: 'utf8' }) as string[]\n result[dir] = {}\n for (const file of files) {\n if (statSync(PATH.resolve(dirPath, file)).isFile()) {\n result[dir][file] = readFileSync(PATH.resolve(dirPath, file), 'utf8')\n }\n }\n }\n return result\n}\n\nexport const claudeMdProjectTemplate = (): string =>\n readFileSync(PATH.resolve(templatesDir, 'CLAUDE-project.md'), 'utf8')\n\nexport const claudeMdLocalTemplate = (): string =>\n readFileSync(PATH.resolve(templatesDir, 'CLAUDE-local.md'), 'utf8')\n","export const INIT_CWD = () => {\n if (!process.env.INIT_CWD) console.error('Missing INIT_CWD')\n return process.env.INIT_CWD\n}\n"],"mappings":"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","names":["readdirSync","readFileSync","PATH","require","PATH","readFileSync","readdirSync"]}
@@ -1,85 +0,0 @@
1
- // src/actions/claude-settings.ts
2
- import {
3
- existsSync,
4
- mkdirSync,
5
- writeFileSync
6
- } from "fs";
7
- import PATH from "path";
8
- import { createInterface } from "readline";
9
- import chalk from "chalk";
10
-
11
- // src/lib/yarn/yarnInitCwd.ts
12
- var INIT_CWD = () => {
13
- if (!process.env.INIT_CWD) console.error("Missing INIT_CWD");
14
- return process.env.INIT_CWD;
15
- };
16
-
17
- // src/actions/claude-settings.ts
18
- var DEFAULT_SETTINGS = {
19
- permissions: {
20
- allow: [
21
- "Bash(git *)",
22
- "Bash(yarn *)",
23
- "Bash(npx *)",
24
- "Bash(node *)",
25
- "Bash(ls *)",
26
- "Bash(mkdir *)",
27
- "Bash(cp *)",
28
- "Bash(mv *)",
29
- "Bash(rm *)",
30
- "Bash(cat *)",
31
- "Bash(head *)",
32
- "Bash(tail *)",
33
- "Bash(echo *)",
34
- "Bash(pwd)",
35
- "Bash(which *)",
36
- "Bash(grep *)",
37
- "Bash(find *)",
38
- "Bash(npm view *)",
39
- "Bash(gh *)",
40
- "Read",
41
- "Edit",
42
- "Write",
43
- "Glob",
44
- "Grep",
45
- "Skill"
46
- ],
47
- deny: [
48
- "Bash(git push --force *)",
49
- "Bash(git reset --hard *)",
50
- "Bash(rm -rf /*)"
51
- ]
52
- }
53
- };
54
- function askConfirmation(question) {
55
- const rl = createInterface({ input: process.stdin, output: process.stdout });
56
- return new Promise((resolve) => {
57
- rl.question(question, (answer) => {
58
- rl.close();
59
- resolve(answer.toLowerCase() === "y" || answer.toLowerCase() === "yes");
60
- });
61
- });
62
- }
63
- async function claudeSettings() {
64
- const cwd = INIT_CWD() ?? process.cwd();
65
- const claudeDir = PATH.resolve(cwd, ".claude");
66
- const settingsPath = PATH.resolve(claudeDir, "settings.local.json");
67
- mkdirSync(claudeDir, { recursive: true });
68
- if (existsSync(settingsPath)) {
69
- const confirmed = await askConfirmation(
70
- chalk.yellow(`${settingsPath} already exists. Replace it? (y/N) `)
71
- );
72
- if (!confirmed) {
73
- console.log(chalk.gray("Skipped \u2014 existing settings.local.json preserved"));
74
- return 0;
75
- }
76
- }
77
- writeFileSync(settingsPath, `${JSON.stringify(DEFAULT_SETTINGS, null, 2)}
78
- `, "utf8");
79
- console.log(chalk.green("Generated .claude/settings.local.json"));
80
- return 0;
81
- }
82
- export {
83
- claudeSettings
84
- };
85
- //# sourceMappingURL=claude-settings.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/actions/claude-settings.ts","../../src/lib/yarn/yarnInitCwd.ts"],"sourcesContent":["import {\n existsSync, mkdirSync, writeFileSync,\n} from 'node:fs'\nimport PATH from 'node:path'\nimport { createInterface } from 'node:readline'\n\nimport chalk from 'chalk'\n\nimport { INIT_CWD } from '../lib/yarn/index.ts'\n\nconst DEFAULT_SETTINGS = {\n permissions: {\n allow: [\n 'Bash(git *)',\n 'Bash(yarn *)',\n 'Bash(npx *)',\n 'Bash(node *)',\n 'Bash(ls *)',\n 'Bash(mkdir *)',\n 'Bash(cp *)',\n 'Bash(mv *)',\n 'Bash(rm *)',\n 'Bash(cat *)',\n 'Bash(head *)',\n 'Bash(tail *)',\n 'Bash(echo *)',\n 'Bash(pwd)',\n 'Bash(which *)',\n 'Bash(grep *)',\n 'Bash(find *)',\n 'Bash(npm view *)',\n 'Bash(gh *)',\n 'Read',\n 'Edit',\n 'Write',\n 'Glob',\n 'Grep',\n 'Skill',\n ],\n deny: [\n 'Bash(git push --force *)',\n 'Bash(git reset --hard *)',\n 'Bash(rm -rf /*)',\n ],\n },\n}\n\nfunction askConfirmation(question: string): Promise<boolean> {\n const rl = createInterface({ input: process.stdin, output: process.stdout })\n return new Promise((resolve) => {\n rl.question(question, (answer) => {\n rl.close()\n resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes')\n })\n })\n}\n\nexport async function claudeSettings(): Promise<number> {\n const cwd = INIT_CWD() ?? process.cwd()\n const claudeDir = PATH.resolve(cwd, '.claude')\n const settingsPath = PATH.resolve(claudeDir, 'settings.local.json')\n\n mkdirSync(claudeDir, { recursive: true })\n\n if (existsSync(settingsPath)) {\n const confirmed = await askConfirmation(\n chalk.yellow(`${settingsPath} already exists. Replace it? (y/N) `),\n )\n if (!confirmed) {\n console.log(chalk.gray('Skipped — existing settings.local.json preserved'))\n return 0\n }\n }\n\n writeFileSync(settingsPath, `${JSON.stringify(DEFAULT_SETTINGS, null, 2)}\\n`, 'utf8')\n console.log(chalk.green('Generated .claude/settings.local.json'))\n return 0\n}\n","export const INIT_CWD = () => {\n if (!process.env.INIT_CWD) console.error('Missing INIT_CWD')\n return process.env.INIT_CWD\n}\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EAAY;AAAA,EAAW;AAAA,OAClB;AACP,OAAO,UAAU;AACjB,SAAS,uBAAuB;AAEhC,OAAO,WAAW;;;ACNX,IAAM,WAAW,MAAM;AAC5B,MAAI,CAAC,QAAQ,IAAI,SAAU,SAAQ,MAAM,kBAAkB;AAC3D,SAAO,QAAQ,IAAI;AACrB;;;ADOA,IAAM,mBAAmB;AAAA,EACvB,aAAa;AAAA,IACX,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,gBAAgB,UAAoC;AAC3D,QAAM,KAAK,gBAAgB,EAAE,OAAO,QAAQ,OAAO,QAAQ,QAAQ,OAAO,CAAC;AAC3E,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,OAAG,SAAS,UAAU,CAAC,WAAW;AAChC,SAAG,MAAM;AACT,cAAQ,OAAO,YAAY,MAAM,OAAO,OAAO,YAAY,MAAM,KAAK;AAAA,IACxE,CAAC;AAAA,EACH,CAAC;AACH;AAEA,eAAsB,iBAAkC;AACtD,QAAM,MAAM,SAAS,KAAK,QAAQ,IAAI;AACtC,QAAM,YAAY,KAAK,QAAQ,KAAK,SAAS;AAC7C,QAAM,eAAe,KAAK,QAAQ,WAAW,qBAAqB;AAElE,YAAU,WAAW,EAAE,WAAW,KAAK,CAAC;AAExC,MAAI,WAAW,YAAY,GAAG;AAC5B,UAAM,YAAY,MAAM;AAAA,MACtB,MAAM,OAAO,GAAG,YAAY,qCAAqC;AAAA,IACnE;AACA,QAAI,CAAC,WAAW;AACd,cAAQ,IAAI,MAAM,KAAK,uDAAkD,CAAC;AAC1E,aAAO;AAAA,IACT;AAAA,EACF;AAEA,gBAAc,cAAc,GAAG,KAAK,UAAU,kBAAkB,MAAM,CAAC,CAAC;AAAA,GAAM,MAAM;AACpF,UAAQ,IAAI,MAAM,MAAM,uCAAuC,CAAC;AAChE,SAAO;AACT;","names":[]}
@@ -1,120 +0,0 @@
1
- // src/actions/claude-skills.ts
2
- import {
3
- existsSync,
4
- mkdirSync,
5
- readdirSync as readdirSync2,
6
- readFileSync as readFileSync2,
7
- rmSync,
8
- statSync as statSync2,
9
- writeFileSync
10
- } from "fs";
11
- import PATH2 from "path";
12
- import chalk from "chalk";
13
-
14
- // src/lib/claudeMdTemplate.ts
15
- import {
16
- readdirSync,
17
- readFileSync,
18
- statSync
19
- } from "fs";
20
- import { createRequire } from "module";
21
- import PATH from "path";
22
- var require2 = createRequire(import.meta.url);
23
- var packageRoot = PATH.dirname(require2.resolve("@xylabs/ts-scripts-yarn3/package.json"));
24
- var templatesDir = PATH.resolve(packageRoot, "templates", "claude");
25
- var XYLABS_SKILLS_PREFIX = "xylabs-";
26
- var claudeSkillTemplates = () => {
27
- const skillsDir = PATH.resolve(templatesDir, "skills");
28
- const dirs = readdirSync(skillsDir).filter(
29
- (f) => f.startsWith(XYLABS_SKILLS_PREFIX) && statSync(PATH.resolve(skillsDir, f)).isDirectory()
30
- );
31
- const result = {};
32
- for (const dir of dirs) {
33
- const dirPath = PATH.resolve(skillsDir, dir);
34
- const files = readdirSync(dirPath, { recursive: true, encoding: "utf8" });
35
- result[dir] = {};
36
- for (const file of files) {
37
- if (statSync(PATH.resolve(dirPath, file)).isFile()) {
38
- result[dir][file] = readFileSync(PATH.resolve(dirPath, file), "utf8");
39
- }
40
- }
41
- }
42
- return result;
43
- };
44
-
45
- // src/lib/yarn/yarnInitCwd.ts
46
- var INIT_CWD = () => {
47
- if (!process.env.INIT_CWD) console.error("Missing INIT_CWD");
48
- return process.env.INIT_CWD;
49
- };
50
-
51
- // src/actions/claude-skills.ts
52
- var syncSkillFiles = (skillsDir) => {
53
- const templates = claudeSkillTemplates();
54
- const templateNames = new Set(Object.keys(templates));
55
- let updated = 0;
56
- let created = 0;
57
- for (const [skillName, files] of Object.entries(templates)) {
58
- const skillDir = PATH2.resolve(skillsDir, skillName);
59
- mkdirSync(skillDir, { recursive: true });
60
- for (const [filename, content] of Object.entries(files)) {
61
- const targetPath = PATH2.resolve(skillDir, filename);
62
- mkdirSync(PATH2.dirname(targetPath), { recursive: true });
63
- const existing = existsSync(targetPath) ? readFileSync2(targetPath, "utf8") : void 0;
64
- if (existing === content) continue;
65
- writeFileSync(targetPath, content, "utf8");
66
- if (existing) {
67
- updated++;
68
- } else {
69
- created++;
70
- }
71
- }
72
- }
73
- return {
74
- created,
75
- templateNames,
76
- updated
77
- };
78
- };
79
- var removeStaleSkills = (skillsDir, templateNames) => {
80
- const existingSkills = readdirSync2(skillsDir).filter(
81
- (f) => f.startsWith(XYLABS_SKILLS_PREFIX) && statSync2(PATH2.resolve(skillsDir, f)).isDirectory()
82
- );
83
- let removed = 0;
84
- for (const dir of existingSkills) {
85
- if (!templateNames.has(dir)) {
86
- rmSync(PATH2.resolve(skillsDir, dir), { recursive: true });
87
- removed++;
88
- }
89
- }
90
- return removed;
91
- };
92
- var logSkillsResult = (created, updated, removed) => {
93
- if (created || updated || removed) {
94
- const parts = [
95
- created ? `${created} created` : "",
96
- updated ? `${updated} updated` : "",
97
- removed ? `${removed} removed` : ""
98
- ].filter(Boolean);
99
- console.log(chalk.green(`.claude/skills/${XYLABS_SKILLS_PREFIX}*/: ${parts.join(", ")}`));
100
- } else {
101
- console.log(chalk.gray(`.claude/skills/${XYLABS_SKILLS_PREFIX}*/: already up to date`));
102
- }
103
- };
104
- var claudeSkills = () => {
105
- const cwd = INIT_CWD() ?? process.cwd();
106
- const skillsDir = PATH2.resolve(cwd, ".claude", "skills");
107
- mkdirSync(skillsDir, { recursive: true });
108
- const {
109
- created,
110
- templateNames,
111
- updated
112
- } = syncSkillFiles(skillsDir);
113
- const removed = removeStaleSkills(skillsDir, templateNames);
114
- logSkillsResult(created, updated, removed);
115
- return 0;
116
- };
117
- export {
118
- claudeSkills
119
- };
120
- //# sourceMappingURL=claude-skills.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/actions/claude-skills.ts","../../src/lib/claudeMdTemplate.ts","../../src/lib/yarn/yarnInitCwd.ts"],"sourcesContent":["import {\n existsSync, mkdirSync, readdirSync, readFileSync, rmSync, statSync, writeFileSync,\n} from 'node:fs'\nimport PATH from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { claudeSkillTemplates, XYLABS_SKILLS_PREFIX } from '../lib/index.ts'\nimport { INIT_CWD } from '../lib/yarn/index.ts'\n\nconst syncSkillFiles = (skillsDir: string) => {\n const templates = claudeSkillTemplates()\n const templateNames = new Set(Object.keys(templates))\n let updated = 0\n let created = 0\n\n for (const [skillName, files] of Object.entries(templates)) {\n const skillDir = PATH.resolve(skillsDir, skillName)\n mkdirSync(skillDir, { recursive: true })\n\n for (const [filename, content] of Object.entries(files)) {\n const targetPath = PATH.resolve(skillDir, filename)\n mkdirSync(PATH.dirname(targetPath), { recursive: true })\n const existing = existsSync(targetPath) ? readFileSync(targetPath, 'utf8') : undefined\n if (existing === content) continue\n writeFileSync(targetPath, content, 'utf8')\n if (existing) {\n updated++\n } else {\n created++\n }\n }\n }\n\n return {\n created, templateNames, updated,\n }\n}\n\nconst removeStaleSkills = (skillsDir: string, templateNames: Set<string>) => {\n const existingSkills = readdirSync(skillsDir).filter(\n f => f.startsWith(XYLABS_SKILLS_PREFIX) && statSync(PATH.resolve(skillsDir, f)).isDirectory(),\n )\n let removed = 0\n\n for (const dir of existingSkills) {\n if (!templateNames.has(dir)) {\n rmSync(PATH.resolve(skillsDir, dir), { recursive: true })\n removed++\n }\n }\n\n return removed\n}\n\nconst logSkillsResult = (created: number, updated: number, removed: number) => {\n if (created || updated || removed) {\n const parts = [\n created ? `${created} created` : '',\n updated ? `${updated} updated` : '',\n removed ? `${removed} removed` : '',\n ].filter(Boolean)\n console.log(chalk.green(`.claude/skills/${XYLABS_SKILLS_PREFIX}*/: ${parts.join(', ')}`))\n } else {\n console.log(chalk.gray(`.claude/skills/${XYLABS_SKILLS_PREFIX}*/: already up to date`))\n }\n}\n\nexport const claudeSkills = (): number => {\n const cwd = INIT_CWD() ?? process.cwd()\n const skillsDir = PATH.resolve(cwd, '.claude', 'skills')\n\n mkdirSync(skillsDir, { recursive: true })\n\n const {\n created, templateNames, updated,\n } = syncSkillFiles(skillsDir)\n const removed = removeStaleSkills(skillsDir, templateNames)\n logSkillsResult(created, updated, removed)\n\n return 0\n}\n","import {\n readdirSync, readFileSync, statSync,\n} from 'node:fs'\nimport { createRequire } from 'node:module'\nimport PATH from 'node:path'\n\nconst require = createRequire(import.meta.url)\nconst packageRoot = PATH.dirname(require.resolve('@xylabs/ts-scripts-yarn3/package.json'))\nconst templatesDir = PATH.resolve(packageRoot, 'templates', 'claude')\n\nexport const XYLABS_RULES_PREFIX = 'xylabs-'\nexport const XYLABS_COMMANDS_PREFIX = 'xy-'\nexport const LEGACY_COMMANDS_PREFIX = 'xylabs-'\nexport const XYLABS_SKILLS_PREFIX = 'xylabs-'\n\nexport const claudeMdRuleTemplates = (): Record<string, string> => {\n const rulesDir = PATH.resolve(templatesDir, 'rules')\n const files = readdirSync(rulesDir).filter(f => f.startsWith(XYLABS_RULES_PREFIX) && f.endsWith('.md'))\n const result: Record<string, string> = {}\n for (const file of files) {\n result[file] = readFileSync(PATH.resolve(rulesDir, file), 'utf8')\n }\n return result\n}\n\nexport const claudeCommandTemplates = (): Record<string, string> => {\n const commandsDir = PATH.resolve(templatesDir, 'commands')\n const files = readdirSync(commandsDir).filter(f => f.startsWith(XYLABS_COMMANDS_PREFIX) && f.endsWith('.md'))\n const result: Record<string, string> = {}\n for (const file of files) {\n result[file] = readFileSync(PATH.resolve(commandsDir, file), 'utf8')\n }\n return result\n}\n\n// Returns { 'xylabs-foo': { 'SKILL.md': '...', 'other.ts': '...' } }\nexport const claudeSkillTemplates = (): Record<string, Record<string, string>> => {\n const skillsDir = PATH.resolve(templatesDir, 'skills')\n const dirs = readdirSync(skillsDir).filter(\n f => f.startsWith(XYLABS_SKILLS_PREFIX) && statSync(PATH.resolve(skillsDir, f)).isDirectory(),\n )\n const result: Record<string, Record<string, string>> = {}\n for (const dir of dirs) {\n const dirPath = PATH.resolve(skillsDir, dir)\n const files = readdirSync(dirPath, { recursive: true, encoding: 'utf8' }) as string[]\n result[dir] = {}\n for (const file of files) {\n if (statSync(PATH.resolve(dirPath, file)).isFile()) {\n result[dir][file] = readFileSync(PATH.resolve(dirPath, file), 'utf8')\n }\n }\n }\n return result\n}\n\nexport const claudeMdProjectTemplate = (): string =>\n readFileSync(PATH.resolve(templatesDir, 'CLAUDE-project.md'), 'utf8')\n\nexport const claudeMdLocalTemplate = (): string =>\n readFileSync(PATH.resolve(templatesDir, 'CLAUDE-local.md'), 'utf8')\n","export const INIT_CWD = () => {\n if (!process.env.INIT_CWD) console.error('Missing INIT_CWD')\n return process.env.INIT_CWD\n}\n"],"mappings":"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","names":["readdirSync","readFileSync","statSync","PATH","require","PATH","readFileSync","readdirSync","statSync"]}
@@ -1,37 +0,0 @@
1
- // src/actions/clean-docs.ts
2
- import path from "path";
3
- import chalk from "chalk";
4
-
5
- // src/lib/deleteGlob.ts
6
- import fs from "fs";
7
- import { glob } from "glob";
8
- var deleteGlob = (globPath) => {
9
- const files = glob.sync(globPath);
10
- for (const file of files) {
11
- fs.rmSync(file, { recursive: true, force: true });
12
- }
13
- };
14
-
15
- // src/lib/yarn/workspace/yarnWorkspaces.ts
16
- import { spawnSync } from "child_process";
17
- var yarnWorkspaces = () => {
18
- const result = spawnSync("yarn", ["workspaces", "list", "--json", "--recursive"], { encoding: "utf8", shell: true });
19
- if (result.error) {
20
- throw result.error;
21
- }
22
- return result.stdout.toString().split("\n").slice(0, -1).map((item) => {
23
- return JSON.parse(item);
24
- });
25
- };
26
-
27
- // src/actions/clean-docs.ts
28
- var cleanDocs = () => {
29
- const pkgName = process.env.npm_package_name;
30
- console.log(chalk.green(`Cleaning Docs [${pkgName}]`));
31
- for (const { location } of yarnWorkspaces()) deleteGlob(path.join(location, "docs"));
32
- return 0;
33
- };
34
- export {
35
- cleanDocs
36
- };
37
- //# sourceMappingURL=clean-docs.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/actions/clean-docs.ts","../../src/lib/deleteGlob.ts","../../src/lib/yarn/workspace/yarnWorkspaces.ts"],"sourcesContent":["import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob, yarnWorkspaces } from '../lib/index.ts'\n\nexport const cleanDocs = () => {\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`Cleaning Docs [${pkgName}]`))\n for (const { location } of yarnWorkspaces()) deleteGlob(path.join(location, 'docs'))\n return 0\n}\n","import fs from 'node:fs'\n\nimport { glob } from 'glob'\n\nexport const deleteGlob = (globPath: string) => {\n // Find all files matching the glob pattern\n const files = glob.sync(globPath)\n\n // Remove each file or directory\n for (const file of files) {\n fs.rmSync(file, { recursive: true, force: true })\n }\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"],"mappings":";AAAA,OAAO,UAAU;AAEjB,OAAO,WAAW;;;ACFlB,OAAO,QAAQ;AAEf,SAAS,YAAY;AAEd,IAAM,aAAa,CAAC,aAAqB;AAE9C,QAAM,QAAQ,KAAK,KAAK,QAAQ;AAGhC,aAAW,QAAQ,OAAO;AACxB,OAAG,OAAO,MAAM,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AAAA,EAClD;AACF;;;ACZA,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;;;AFdO,IAAM,YAAY,MAAM;AAC7B,QAAM,UAAU,QAAQ,IAAI;AAC5B,UAAQ,IAAI,MAAM,MAAM,kBAAkB,OAAO,GAAG,CAAC;AACrD,aAAW,EAAE,SAAS,KAAK,eAAe,EAAG,YAAW,KAAK,KAAK,UAAU,MAAM,CAAC;AACnF,SAAO;AACT;","names":[]}
@@ -1,26 +0,0 @@
1
- // src/actions/clean-eslint.ts
2
- import path from "path";
3
- import chalk from "chalk";
4
-
5
- // src/lib/deleteGlob.ts
6
- import fs from "fs";
7
- import { glob } from "glob";
8
- var deleteGlob = (globPath) => {
9
- const files = glob.sync(globPath);
10
- for (const file of files) {
11
- fs.rmSync(file, { recursive: true, force: true });
12
- }
13
- };
14
-
15
- // src/actions/clean-eslint.ts
16
- var cleanESLint = () => {
17
- const pkg = process.env.INIT_CWD ?? ".";
18
- const pkgName = process.env.npm_package_name;
19
- console.log(chalk.green(`Cleaning ESLint [${pkgName}]`));
20
- deleteGlob(path.join(pkg, ".eslintcache"));
21
- return 0;
22
- };
23
- export {
24
- cleanESLint
25
- };
26
- //# sourceMappingURL=clean-eslint.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/actions/clean-eslint.ts","../../src/lib/deleteGlob.ts"],"sourcesContent":["import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob } from '../lib/index.ts'\n\nexport const cleanESLint = () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`Cleaning ESLint [${pkgName}]`))\n\n deleteGlob(path.join(pkg, '.eslintcache'))\n\n return 0\n}\n","import fs from 'node:fs'\n\nimport { glob } from 'glob'\n\nexport const deleteGlob = (globPath: string) => {\n // Find all files matching the glob pattern\n const files = glob.sync(globPath)\n\n // Remove each file or directory\n for (const file of files) {\n fs.rmSync(file, { recursive: true, force: true })\n }\n}\n"],"mappings":";AAAA,OAAO,UAAU;AAEjB,OAAO,WAAW;;;ACFlB,OAAO,QAAQ;AAEf,SAAS,YAAY;AAEd,IAAM,aAAa,CAAC,aAAqB;AAE9C,QAAM,QAAQ,KAAK,KAAK,QAAQ;AAGhC,aAAW,QAAQ,OAAO;AACxB,OAAG,OAAO,MAAM,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AAAA,EAClD;AACF;;;ADNO,IAAM,cAAc,MAAM;AAC/B,QAAM,MAAM,QAAQ,IAAI,YAAY;AACpC,QAAM,UAAU,QAAQ,IAAI;AAC5B,UAAQ,IAAI,MAAM,MAAM,oBAAoB,OAAO,GAAG,CAAC;AAEvD,aAAW,KAAK,KAAK,KAAK,cAAc,CAAC;AAEzC,SAAO;AACT;","names":[]}
@@ -1,124 +0,0 @@
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 safeExitAsync = async (func, exitOnFail = true) => {
49
- try {
50
- const result = await func();
51
- if (result && exitOnFail) {
52
- process.exit(result);
53
- }
54
- return result;
55
- } catch (ex) {
56
- return processEx(ex);
57
- }
58
- };
59
-
60
- // src/lib/runStepsAsync.ts
61
- import { spawn } from "child_process";
62
- import { existsSync } from "fs";
63
- import chalk3 from "chalk";
64
- var runStepAsync = (name, step, exitOnFail = true, message) => {
65
- return new Promise((resolve) => {
66
- const [command, args, config] = step;
67
- if (message) {
68
- console.log(chalk3.gray(message));
69
- }
70
- const argList = Array.isArray(args) ? args : args.split(" ");
71
- if (command === "node" && !existsSync(argList[0])) {
72
- throw new Error(`File not found [${argList[0]}]`);
73
- }
74
- spawn(command, Array.isArray(args) ? args : args.split(" "), {
75
- ...config,
76
- env: { FORCE_COLOR: "3", ...process.env },
77
- shell: true,
78
- stdio: "inherit"
79
- }).on("close", (code) => {
80
- if (code) {
81
- console.error(
82
- chalk3.red(
83
- `Command Exited With Non-Zero Result [${chalk3.gray(code)}] | ${chalk3.yellow(command)} ${chalk3.white(
84
- Array.isArray(args) ? args.join(" ") : args
85
- )}`
86
- )
87
- );
88
- checkResult(name, code, "error", exitOnFail);
89
- resolve(code);
90
- } else {
91
- resolve(0);
92
- }
93
- });
94
- });
95
- };
96
- var runStepsAsync = async (name, steps, exitOnFail = true, messages) => {
97
- return await safeExitAsync(async () => {
98
- const pkgName = process.env.npm_package_name;
99
- console.log(chalk3.green(`${name} [${pkgName}]`));
100
- let result = 0;
101
- for (const [i, step] of steps.entries()) {
102
- result += await runStepAsync(name, step, exitOnFail, messages?.[i]);
103
- }
104
- return result;
105
- });
106
- };
107
-
108
- // src/actions/clean.ts
109
- var clean = async ({ verbose, pkg }) => {
110
- return pkg ? await cleanPackage({ pkg, verbose }) : cleanAll({ verbose });
111
- };
112
- var cleanPackage = ({ pkg }) => {
113
- return runStepsAsync(`Clean [${pkg}]`, [["yarn", ["workspace", pkg, "run", "package-clean"]]]);
114
- };
115
- var cleanAll = ({ verbose }) => {
116
- const verboseOptions = verbose ? ["--verbose"] : ["--no-verbose"];
117
- return runStepsAsync("Clean", [["yarn", ["workspaces foreach", "-pA", "--jobs 64", ...verboseOptions, "run", "package-clean"]]]);
118
- };
119
- export {
120
- clean,
121
- cleanAll,
122
- cleanPackage
123
- };
124
- //# sourceMappingURL=clean.mjs.map
@@ -1 +0,0 @@
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/runStepsAsync.ts","../../src/actions/clean.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 { 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"],"mappings":"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","names":["chalk","ex","ex","error","chalk","chalk","chalk"]}