@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,343 +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/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 XYLABS_COMMANDS_PREFIX = "xy-";
27
- var LEGACY_COMMANDS_PREFIX = "xylabs-";
28
- var XYLABS_SKILLS_PREFIX = "xylabs-";
29
- var claudeMdRuleTemplates = () => {
30
- const rulesDir = PATH.resolve(templatesDir, "rules");
31
- const files = readdirSync(rulesDir).filter((f) => f.startsWith(XYLABS_RULES_PREFIX) && f.endsWith(".md"));
32
- const result = {};
33
- for (const file of files) {
34
- result[file] = readFileSync(PATH.resolve(rulesDir, file), "utf8");
35
- }
36
- return result;
37
- };
38
- var claudeCommandTemplates = () => {
39
- const commandsDir = PATH.resolve(templatesDir, "commands");
40
- const files = readdirSync(commandsDir).filter((f) => f.startsWith(XYLABS_COMMANDS_PREFIX) && f.endsWith(".md"));
41
- const result = {};
42
- for (const file of files) {
43
- result[file] = readFileSync(PATH.resolve(commandsDir, file), "utf8");
44
- }
45
- return result;
46
- };
47
- var claudeSkillTemplates = () => {
48
- const skillsDir = PATH.resolve(templatesDir, "skills");
49
- const dirs = readdirSync(skillsDir).filter(
50
- (f) => f.startsWith(XYLABS_SKILLS_PREFIX) && statSync(PATH.resolve(skillsDir, f)).isDirectory()
51
- );
52
- const result = {};
53
- for (const dir of dirs) {
54
- const dirPath = PATH.resolve(skillsDir, dir);
55
- const files = readdirSync(dirPath, { recursive: true, encoding: "utf8" });
56
- result[dir] = {};
57
- for (const file of files) {
58
- if (statSync(PATH.resolve(dirPath, file)).isFile()) {
59
- result[dir][file] = readFileSync(PATH.resolve(dirPath, file), "utf8");
60
- }
61
- }
62
- }
63
- return result;
64
- };
65
- var claudeMdProjectTemplate = () => readFileSync(PATH.resolve(templatesDir, "CLAUDE-project.md"), "utf8");
66
- var claudeMdLocalTemplate = () => readFileSync(PATH.resolve(templatesDir, "CLAUDE-local.md"), "utf8");
67
-
68
- // src/lib/createBuildConfig.ts
69
- import { readFileSync as readFileSync2 } from "fs";
70
-
71
- // src/lib/defaultBuildConfig.ts
72
- var defaultBuildConfig = {
73
- compilerOptions: {
74
- rootDir: "src",
75
- rootDirs: ["package.json"]
76
- },
77
- exclude: [
78
- "**/build",
79
- "**/dist",
80
- "**/node_modules",
81
- "**/*.spec.*",
82
- "**/*.spec",
83
- "**/*.stories.*",
84
- "**/*.example.*",
85
- "**/spec/*",
86
- "**/stories/*"
87
- ],
88
- include: ["src"]
89
- };
90
-
91
- // src/lib/createBuildConfig.ts
92
- var getGeneralTypescriptConfig = (location) => {
93
- let generalConfig;
94
- try {
95
- generalConfig = readFileSync2(`${location}/tsconfig.json`, { encoding: "utf8" });
96
- } catch {
97
- return false;
98
- }
99
- return JSON.parse(generalConfig);
100
- };
101
- var createBuildConfig = (location, module, target, outDirSuffix) => {
102
- const generalConfigObject = getGeneralTypescriptConfig(location);
103
- if (generalConfigObject === false) {
104
- return void 0;
105
- }
106
- return {
107
- ...generalConfigObject,
108
- compilerOptions: {
109
- ...defaultBuildConfig.compilerOptions,
110
- ...generalConfigObject.compilerOptions,
111
- module,
112
- outDir: `./${generalConfigObject.compilerOptions?.outDir ?? "dist"}/${outDirSuffix}`,
113
- target
114
- },
115
- exclude: [...generalConfigObject.exclude ?? [], ...defaultBuildConfig.exclude],
116
- include: [...generalConfigObject.include ?? [], ...defaultBuildConfig.include]
117
- };
118
- };
119
-
120
- // src/lib/deleteGlob.ts
121
- import fs from "fs";
122
- import { glob } from "glob";
123
- var deleteGlob = (globPath) => {
124
- const files = glob.sync(globPath);
125
- for (const file of files) {
126
- fs.rmSync(file, { recursive: true, force: true });
127
- }
128
- };
129
-
130
- // src/lib/dependencies/detectDuplicateDependencies.ts
131
- import { execSync } from "child_process";
132
-
133
- // src/lib/processEx.ts
134
- import chalk2 from "chalk";
135
-
136
- // src/lib/withError.ts
137
- var withError = (ex, closure, predicate = (ex2) => !!ex2.name && !!ex2.message) => {
138
- return predicate(ex) ? closure(ex) : void 0;
139
- };
140
-
141
- // src/lib/withErrnoException.ts
142
- var withErrnoException = (ex, closure) => {
143
- return withError(ex, closure, (ex2) => ex2.errno !== void 0);
144
- };
145
-
146
- // src/lib/processEx.ts
147
- var processEx = (ex) => {
148
- const error = typeof ex === "string" ? new Error(ex) : ex;
149
- const exitCode = withErrnoException(error, (error2) => {
150
- if (error2.code === "ENOENT") {
151
- console.error(chalk2.red(`'${error2.path}' not found.`));
152
- } else {
153
- console.error(chalk2.red(`Errno: ${error2.code}`));
154
- }
155
- return error2.errno ?? -1;
156
- }) ?? withError(error, (error2) => {
157
- console.error(chalk2.red(`${error2.name}: ${error2.message}`));
158
- return -1;
159
- }) ?? (() => {
160
- console.error(chalk2.red(`Unexpected Error: ${JSON.stringify(ex, null, 2)}`));
161
- return -1;
162
- })();
163
- process.exit(process.exitCode ?? exitCode);
164
- };
165
-
166
- // src/lib/safeExit.ts
167
- var safeExit = (func, exitOnFail = true) => {
168
- try {
169
- const result = func();
170
- if (result && exitOnFail) {
171
- process.exit(result);
172
- }
173
- return result;
174
- } catch (ex) {
175
- return processEx(ex);
176
- }
177
- };
178
- var safeExitAsync = async (func, exitOnFail = true) => {
179
- try {
180
- const result = await func();
181
- if (result && exitOnFail) {
182
- process.exit(result);
183
- }
184
- return result;
185
- } catch (ex) {
186
- return processEx(ex);
187
- }
188
- };
189
-
190
- // src/lib/dependencies/DuplicateDetector.ts
191
- import { EOL } from "os";
192
- import chalk3 from "chalk";
193
-
194
- // src/lib/jsonFormatters.ts
195
- var multiLineToJSONArray = (output) => {
196
- const withCommas = output.replaceAll("\r\n", "").replaceAll("\n", ",");
197
- const cleanCollection = withCommas.slice(0, Math.max(0, withCommas.length - 1));
198
- const collection = `[${cleanCollection}]`;
199
- return JSON.parse(collection);
200
- };
201
-
202
- // src/lib/dependencies/DuplicateDetector.ts
203
- var trimVirtualMeta = (value) => {
204
- const virtualParts = value.split("virtual:");
205
- if (virtualParts.length > 1) {
206
- const hashParts = virtualParts[1].split("#");
207
- return virtualParts[0] + hashParts[1];
208
- } else {
209
- return value;
210
- }
211
- };
212
- var trimObjectDependencyVirtualMeta = (obj) => {
213
- const resultObj = {};
214
- for (const [key, value] of Object.entries(obj)) {
215
- resultObj[trimVirtualMeta(key)] = {
216
- descriptor: trimVirtualMeta(value.descriptor),
217
- locator: trimVirtualMeta(value.locator)
218
- };
219
- }
220
- return resultObj;
221
- };
222
- var trimDependencyVirtualMeta = (dependencies) => {
223
- return dependencies.map((dependency) => {
224
- return { children: trimObjectDependencyVirtualMeta(dependency.children), value: trimVirtualMeta(dependency.value) };
225
- });
226
- };
227
- var DuplicateDetector = class {
228
- dependency;
229
- dependencyEntries;
230
- constructor(output, dependency) {
231
- this.dependency = dependency;
232
- this.dependencyEntries = trimDependencyVirtualMeta(multiLineToJSONArray(output));
233
- }
234
- detect() {
235
- const result = this.dependencyEntries.reduce(this.detectReducer, this.resultsFactory(this.dependency));
236
- if (result.duplicateVersions.length > 0) {
237
- console.log(chalk3.yellow(`${EOL}Duplicates found for: ${this.dependency}`));
238
- const duplicateVersions = result.duplicateVersions.toString().replaceAll(",", `${EOL} `);
239
- console.log(chalk3.grey(` ${duplicateVersions}`, EOL));
240
- return 1;
241
- } else {
242
- console.log(`${this.dependency} - OK`);
243
- return 0;
244
- }
245
- }
246
- detectReducer(acc, entry) {
247
- const version = Object.entries(entry.children).map(([k]) => k)[0];
248
- if (!acc.currentVersion) {
249
- acc.currentVersion = version;
250
- return acc;
251
- }
252
- if (acc.currentVersion && acc.currentVersion !== version && !version.includes("@virtual:")) {
253
- if (acc.duplicateVersions.length === 0) {
254
- acc.duplicateVersions.push(acc.currentVersion);
255
- }
256
- acc.duplicateVersions.push(version);
257
- acc.duplicateVersions = [...new Set(acc.duplicateVersions)];
258
- }
259
- return acc;
260
- }
261
- resultsFactory = (dependency) => ({
262
- currentVersion: void 0,
263
- dependency,
264
- duplicateVersions: []
265
- });
266
- };
267
-
268
- // src/lib/dependencies/detectDuplicateDependencies.ts
269
- var detectDuplicateDependencies = (depsFromPackageJSON, DefaultDependencies) => {
270
- let exitCode = 0;
271
- const dependencies = depsFromPackageJSON?.length ? depsFromPackageJSON : DefaultDependencies;
272
- return safeExit(() => {
273
- if (dependencies) {
274
- for (const dependency of dependencies) {
275
- let output;
276
- try {
277
- const cmd = `yarn why ${dependency} --json`;
278
- output = execSync(cmd).toString();
279
- } catch (e) {
280
- console.error(`Error running yarn why: ${e}`);
281
- exitCode = 1;
282
- continue;
283
- }
284
- if (output) {
285
- exitCode = new DuplicateDetector(output, dependency).detect();
286
- } else {
287
- console.log(`${dependency} - N/A`);
288
- if (depsFromPackageJSON) {
289
- exitCode = 1;
290
- console.log(`\u{1F6A8} Library ${dependency} was requested in package.json but not found`);
291
- }
292
- }
293
- }
294
- return exitCode;
295
- } else {
296
- console.log("\u{1F6A8} No dependencies where passed");
297
- return exitCode;
298
- }
299
- });
300
- };
301
-
302
- // src/lib/file/constants.ts
303
- var WINDOWS_NEWLINE_REGEX = /\r\n/g;
304
- var CROSS_PLATFORM_NEWLINE = "\n";
305
-
306
- // src/lib/file/fileLines.ts
307
- import {
308
- existsSync,
309
- readFileSync as readFileSync3,
310
- writeFileSync
311
- } from "fs";
312
-
313
- // src/lib/string/empty.ts
314
- var empty = (value) => value?.trim().length === 0;
315
- var notEmpty = (value) => !empty(value);
316
-
317
- // src/lib/string/union.ts
318
- var union = (a, b) => /* @__PURE__ */ new Set([...new Set(a), ...new Set(b)]);
319
-
320
- // src/lib/file/ReadFileSyncOptions.ts
321
- var defaultReadFileSyncOptions = { encoding: "utf8" };
322
-
323
- // src/lib/file/fileLines.ts
324
- var readLines = (uri, options = defaultReadFileSyncOptions) => existsSync(uri) ? readFileSync3(uri, options).replace(WINDOWS_NEWLINE_REGEX, CROSS_PLATFORM_NEWLINE).split(CROSS_PLATFORM_NEWLINE) : [];
325
- var readNonEmptyLines = (uri, options = defaultReadFileSyncOptions) => readLines(uri, options).filter(notEmpty);
326
- var writeLines = (uri, lines, options = defaultReadFileSyncOptions) => {
327
- const existing = existsSync(uri) ? readFileSync3(uri, options) : void 0;
328
- const desired = lines.join(CROSS_PLATFORM_NEWLINE);
329
- if (existing !== desired) writeFileSync(uri, desired, options);
330
- };
331
-
332
- // src/lib/file/tryReadFileSync.ts
333
- import { existsSync as existsSync2, readFileSync as readFileSync4 } from "fs";
334
- var tryReadFileSync = (uri, options = defaultReadFileSyncOptions) => {
335
- return existsSync2(uri) ? readFileSync4(uri, options) : void 0;
336
- };
337
-
338
- // src/lib/generateIgnoreFiles.ts
339
- import chalk4 from "chalk";
340
-
341
1
  // src/lib/yarn/isYarnVersionOrGreater.ts
342
2
  import { spawnSync } from "child_process";
343
3
  var isYarnVersionOrGreater = (major, minor, patch) => {
@@ -371,472 +31,8 @@ var yarnWorkspace = (pkg) => {
371
31
  if (!workspace) throw new Error(`Workspace ${pkg} not found`);
372
32
  return workspace;
373
33
  };
374
-
375
- // src/lib/yarn/yarnInitCwd.ts
376
- var INIT_CWD = () => {
377
- if (!process.env.INIT_CWD) console.error("Missing INIT_CWD");
378
- return process.env.INIT_CWD;
379
- };
380
-
381
- // src/lib/generateIgnoreFiles.ts
382
- var localeCompare = (a, b) => a.localeCompare(b);
383
- var mergeEntries = (a, b) => [...union(a, b)].toSorted(localeCompare);
384
- var generateIgnoreFiles = (filename, pkg) => {
385
- console.log(chalk4.green(`Generate ${filename} Files`));
386
- const cwd = INIT_CWD() ?? ".";
387
- const workspaces = pkg ? [yarnWorkspace(pkg)] : yarnWorkspaces();
388
- const readEntries = (location) => readNonEmptyLines(`${location}/${filename}`);
389
- const writeEntries = (location, entries) => writeLines(`${location}/${filename}`, entries);
390
- const results = workspaces.map(({ location, name }) => {
391
- try {
392
- writeEntries(location, mergeEntries(readEntries(cwd), readEntries(location)));
393
- return 0;
394
- } catch (ex) {
395
- const error = ex;
396
- console.error(`Generate ${filename} Files [${name}] [${error.message}]`);
397
- return 1;
398
- }
399
- });
400
- const succeeded = results.every((result) => result === 0);
401
- return succeeded ? 0 : 1;
402
- };
403
-
404
- // src/lib/generateReadmeFiles.ts
405
- import { execSync as execSync2 } from "child_process";
406
- import FS, { readFileSync as readFileSync5 } from "fs";
407
- import {
408
- mkdir,
409
- readFile,
410
- writeFile
411
- } from "fs/promises";
412
- import { createRequire as createRequire2 } from "module";
413
- import PATH2 from "path";
414
- import { createInterface } from "readline";
415
- import chalk5 from "chalk";
416
- var require3 = createRequire2(import.meta.url);
417
- var packageRoot2 = PATH2.dirname(require3.resolve("@xylabs/ts-scripts-yarn3/package.json"));
418
- var readmeTemplatesDir = PATH2.resolve(packageRoot2, "templates", "readme");
419
- function fillTemplate(template, data) {
420
- const additionalData = { ...data, safeName: data.name.replaceAll("/", "__").replaceAll("@", "") };
421
- return template.replaceAll(/\{\{(.*?)\}\}/g, (_, key) => additionalData[key.trim()] ?? "");
422
- }
423
- function generateTypedoc(packageLocation, entryPoints) {
424
- const tempDir = PATH2.join(packageLocation, ".temp-typedoc");
425
- try {
426
- if (!FS.existsSync(tempDir)) {
427
- FS.mkdirSync(tempDir, { recursive: true });
428
- }
429
- const typedocConfig = {
430
- disableSources: true,
431
- entryPointStrategy: "expand",
432
- entryPoints: entryPoints.map((ep) => PATH2.resolve(packageLocation, ep)),
433
- excludeExternals: true,
434
- excludeInternal: true,
435
- excludePrivate: true,
436
- githubPages: false,
437
- hideBreadcrumbs: true,
438
- hideGenerator: true,
439
- hidePageTitle: true,
440
- out: tempDir,
441
- plugin: ["typedoc-plugin-markdown"],
442
- readme: "none",
443
- skipErrorChecking: true,
444
- sort: ["source-order"],
445
- theme: "markdown",
446
- useCodeBlocks: true
447
- };
448
- const typedocJsonPath = PATH2.join(tempDir, "typedoc.json");
449
- FS.writeFileSync(typedocJsonPath, JSON.stringify(typedocConfig, null, 2));
450
- try {
451
- execSync2(`npx typedoc --options ${typedocJsonPath}`, {
452
- cwd: process.cwd(),
453
- stdio: ["ignore", "pipe", "pipe"]
454
- });
455
- } catch {
456
- return "";
457
- }
458
- return consolidateMarkdown(tempDir);
459
- } catch {
460
- return "";
461
- } finally {
462
- try {
463
- FS.rmSync(tempDir, { force: true, recursive: true });
464
- } catch {
465
- }
466
- }
467
- }
468
- function consolidateMarkdown(tempDir) {
469
- let consolidated = "## Reference\n\n";
470
- const mainReadmePath = PATH2.join(tempDir, "README.md");
471
- if (FS.existsSync(mainReadmePath)) {
472
- const mainContent = FS.readFileSync(mainReadmePath, "utf8").replace(/^---(.|\n)*?---\n/, "").replace(/^# .+\n/, "").replaceAll(/\]\((.+?)\.md\)/g, "](#$1)");
473
- consolidated += mainContent + "\n\n";
474
- }
475
- consolidated += processDirectory(tempDir);
476
- return consolidated.replaceAll(/\n\n\n+/g, "\n\n").replaceAll(/^#### /gm, "### ").replaceAll(/^##### /gm, "#### ").replaceAll(/^###### /gm, "##### ");
477
- }
478
- function processDirectory(dir, level = 0) {
479
- const indent = " ".repeat(level);
480
- let content = "";
481
- try {
482
- const items = FS.readdirSync(dir, { withFileTypes: true });
483
- for (const item of items) {
484
- if (item.isDirectory()) continue;
485
- if (item.name === "README.md" || !item.name.endsWith(".md")) continue;
486
- const fileContent = FS.readFileSync(PATH2.join(dir, item.name), "utf8").replace(/^---(.|\n)*?---\n/, "");
487
- const moduleName = item.name.replace(".md", "");
488
- content += `
489
-
490
- ${indent}### <a id="${moduleName}"></a>${moduleName}
491
-
492
- `;
493
- content += fileContent.replace(/^# .+\n/, "").replaceAll(/\]\((.+?)\.md\)/g, "](#$1)");
494
- }
495
- for (const item of items) {
496
- if (!item.isDirectory()) continue;
497
- if (item.name === "spec" || item.name.includes(".spec")) continue;
498
- content += `
499
-
500
- ${indent}### ${item.name}
501
- `;
502
- content += processDirectory(PATH2.join(dir, item.name), level + 1);
503
- }
504
- } catch {
505
- }
506
- return content;
507
- }
508
- function askConfirmation(question) {
509
- const rl = createInterface({ input: process.stdin, output: process.stdout });
510
- return new Promise((resolve) => {
511
- rl.question(question, (answer) => {
512
- rl.close();
513
- resolve(answer.toLowerCase() === "y" || answer.toLowerCase() === "yes");
514
- });
515
- });
516
- }
517
- var DEFAULT_README_TEMPLATE = readFileSync5(PATH2.resolve(readmeTemplatesDir, "README.template.md"), "utf8");
518
- var DEFAULT_README_BODY = readFileSync5(PATH2.resolve(readmeTemplatesDir, "README.body.md"), "utf8");
519
- function applyLogoConfig(template, logoUrl, logoLinkUrl) {
520
- let result = template;
521
- if (logoUrl) {
522
- result = result.replace(/\[logo]: .+/, `[logo]: ${logoUrl}`);
523
- if (logoLinkUrl) {
524
- result = result.replace(/\[!\[logo]\[]][^)]*\)/, `[![logo][]](${logoLinkUrl})`);
525
- }
526
- } else {
527
- result = result.replace(/\[!\[logo]\[]][^\n]*\n*/, "");
528
- result = result.replace(/\[logo]: [^\n]*\n?/, "");
529
- }
530
- return result;
531
- }
532
- function resolveTemplatePath(templatePath) {
533
- const cwd = INIT_CWD() ?? ".";
534
- return templatePath ?? PATH2.join(cwd, ".xy", "README.template.md");
535
- }
536
- async function loadOrCreateTemplate(resolvedTemplatePath) {
537
- try {
538
- const template = await readFile(resolvedTemplatePath, "utf8");
539
- return { created: false, template };
540
- } catch {
541
- console.log(chalk5.yellow(`Template not found: ${resolvedTemplatePath}`));
542
- const shouldCreate = await askConfirmation("Would you like to create a stock template? (y/N) ");
543
- if (!shouldCreate) {
544
- throw new Error("Template creation declined");
545
- }
546
- const template = DEFAULT_README_TEMPLATE;
547
- await scaffoldTemplate(resolvedTemplatePath, template);
548
- return { created: true, template };
549
- }
550
- }
551
- async function scaffoldTemplate(resolvedTemplatePath, template) {
552
- const xyDir = PATH2.dirname(resolvedTemplatePath);
553
- await mkdir(xyDir, { recursive: true });
554
- await writeFile(resolvedTemplatePath, template);
555
- console.log(chalk5.green(`Created template: ${resolvedTemplatePath}`));
556
- const bodyPath = PATH2.join(xyDir, "README.body.md");
557
- await writeFile(bodyPath, DEFAULT_README_BODY);
558
- console.log(chalk5.green(`Created body template: ${bodyPath}`));
559
- }
560
- async function resolveBody(location, defaultBody) {
561
- const localBodyPath = PATH2.join(location, "README.body.md");
562
- try {
563
- return await readFile(localBodyPath, "utf8");
564
- } catch {
565
- return defaultBody;
566
- }
567
- }
568
- async function generateReadmeForWorkspace(location, name, template, defaultBody, typedoc, verbose) {
569
- try {
570
- const pkgJsonPath = PATH2.join(location, "package.json");
571
- const pkgJson = JSON.parse(await readFile(pkgJsonPath, "utf8"));
572
- const body = await resolveBody(location, defaultBody);
573
- const typedocContent = typedoc ? generateTypedoc(location, ["src/index*.ts"]) : "";
574
- const readmeContent = fillTemplate(template, {
575
- ...pkgJson,
576
- body,
577
- typedoc: typedocContent
578
- });
579
- await writeFile(PATH2.join(location, "README.md"), readmeContent);
580
- if (verbose) console.log(chalk5.green(` ${name}`));
581
- return true;
582
- } catch (ex) {
583
- const error = ex;
584
- console.warn(chalk5.yellow(` Skipped ${location}: ${error.message}`));
585
- return false;
586
- }
587
- }
588
- async function generateReadmeFiles({
589
- logoLinkUrl,
590
- logoUrl,
591
- pkg,
592
- templatePath,
593
- typedoc = false,
594
- verbose = false
595
- }) {
596
- console.log(chalk5.green("Generate README Files"));
597
- const resolvedTemplatePath = resolveTemplatePath(templatePath);
598
- let template;
599
- let templateCreated;
600
- try {
601
- ({ template, created: templateCreated } = await loadOrCreateTemplate(resolvedTemplatePath));
602
- } catch {
603
- return 1;
604
- }
605
- template = applyLogoConfig(template, logoUrl, logoLinkUrl);
606
- if (templateCreated) {
607
- console.log(chalk5.green("Generating README files for all packages..."));
608
- }
609
- const xyDir = PATH2.dirname(resolvedTemplatePath);
610
- const xyBodyPath = PATH2.join(xyDir, "README.body.md");
611
- let defaultBody;
612
- try {
613
- defaultBody = await readFile(xyBodyPath, "utf8");
614
- } catch {
615
- defaultBody = DEFAULT_README_BODY;
616
- }
617
- const workspaces = pkg && !templateCreated ? [yarnWorkspace(pkg)] : yarnWorkspaces();
618
- let failed = false;
619
- for (const { location, name } of workspaces) {
620
- const success = await generateReadmeForWorkspace(location, name, template, defaultBody, typedoc, verbose);
621
- if (!success) failed = true;
622
- }
623
- return failed ? 1 : 0;
624
- }
625
-
626
- // src/lib/gitignoreTemplate.ts
627
- import { readFileSync as readFileSync6 } from "fs";
628
- import { createRequire as createRequire3 } from "module";
629
- import PATH3 from "path";
630
- var require4 = createRequire3(import.meta.url);
631
- var packageRoot3 = PATH3.dirname(require4.resolve("@xylabs/ts-scripts-yarn3/package.json"));
632
- var templatesDir2 = PATH3.resolve(packageRoot3, "templates", "gitignore");
633
- var gitignoreTemplate = () => readFileSync6(PATH3.resolve(templatesDir2, "template.gitignore"), "utf8");
634
-
635
- // src/lib/loadConfig.ts
636
- import chalk6 from "chalk";
637
- import { cosmiconfig } from "cosmiconfig";
638
- import { TypeScriptLoader } from "cosmiconfig-typescript-loader";
639
- import deepmerge from "deepmerge";
640
- var config;
641
- var loadConfig = async (params) => {
642
- if (config === void 0) {
643
- const cosmicConfigResult = await cosmiconfig("xy", { cache: true, loaders: { ".ts": TypeScriptLoader() } }).search();
644
- config = cosmicConfigResult?.config;
645
- const configFilePath = cosmicConfigResult?.filepath;
646
- if (configFilePath !== void 0) {
647
- console.log(chalk6.green(`Loaded config from ${configFilePath}`));
648
- if (config.verbose) {
649
- console.log(chalk6.gray(`${JSON.stringify(config, null, 2)}`));
650
- }
651
- }
652
- }
653
- return deepmerge(config, params ?? {});
654
- };
655
-
656
- // src/lib/parsedPackageJSON.ts
657
- import { readFileSync as readFileSync7 } from "fs";
658
- var parsedPackageJSON = (path) => {
659
- const pathToPackageJSON = path ?? process.env.npm_package_json ?? "";
660
- const packageJSON = readFileSync7(pathToPackageJSON).toString();
661
- return JSON.parse(packageJSON);
662
- };
663
-
664
- // src/lib/runSteps.ts
665
- import { spawnSync as spawnSync3 } from "child_process";
666
- import { existsSync as existsSync3 } from "fs";
667
- import chalk7 from "chalk";
668
- var runSteps = (name, steps, exitOnFail = true, messages) => {
669
- return safeExit(() => {
670
- const pkgName = process.env.npm_package_name;
671
- console.log(chalk7.green(`${name} [${pkgName}]`));
672
- let totalStatus = 0;
673
- for (const [i, [command, args, config2]] of steps.entries()) {
674
- if (messages?.[i]) {
675
- console.log(chalk7.gray(messages?.[i]));
676
- }
677
- const argList = Array.isArray(args) ? args : args.split(" ");
678
- if (command === "node" && !existsSync3(argList[0])) {
679
- throw new Error(`File not found [${argList[0]}]`);
680
- }
681
- const status = spawnSync3(command, Array.isArray(args) ? args : args.split(" "), {
682
- ...config2,
683
- encoding: "utf8",
684
- env: { FORCE_COLOR: "3", ...process.env },
685
- shell: true,
686
- stdio: "inherit"
687
- }).status ?? 0;
688
- checkResult(name, status, "error", exitOnFail);
689
- totalStatus += status ?? 0;
690
- }
691
- return totalStatus;
692
- }, !!exitOnFail);
693
- };
694
-
695
- // src/lib/runStepsAsync.ts
696
- import { spawn } from "child_process";
697
- import { existsSync as existsSync4 } from "fs";
698
- import chalk8 from "chalk";
699
- var runStepAsync = (name, step, exitOnFail = true, message) => {
700
- return new Promise((resolve) => {
701
- const [command, args, config2] = step;
702
- if (message) {
703
- console.log(chalk8.gray(message));
704
- }
705
- const argList = Array.isArray(args) ? args : args.split(" ");
706
- if (command === "node" && !existsSync4(argList[0])) {
707
- throw new Error(`File not found [${argList[0]}]`);
708
- }
709
- spawn(command, Array.isArray(args) ? args : args.split(" "), {
710
- ...config2,
711
- env: { FORCE_COLOR: "3", ...process.env },
712
- shell: true,
713
- stdio: "inherit"
714
- }).on("close", (code) => {
715
- if (code) {
716
- console.error(
717
- chalk8.red(
718
- `Command Exited With Non-Zero Result [${chalk8.gray(code)}] | ${chalk8.yellow(command)} ${chalk8.white(
719
- Array.isArray(args) ? args.join(" ") : args
720
- )}`
721
- )
722
- );
723
- checkResult(name, code, "error", exitOnFail);
724
- resolve(code);
725
- } else {
726
- resolve(0);
727
- }
728
- });
729
- });
730
- };
731
- var runStepsAsync = async (name, steps, exitOnFail = true, messages) => {
732
- return await safeExitAsync(async () => {
733
- const pkgName = process.env.npm_package_name;
734
- console.log(chalk8.green(`${name} [${pkgName}]`));
735
- let result = 0;
736
- for (const [i, step] of steps.entries()) {
737
- result += await runStepAsync(name, step, exitOnFail, messages?.[i]);
738
- }
739
- return result;
740
- });
741
- };
742
-
743
- // src/lib/runXy.ts
744
- var runXy = (command) => {
745
- return runSteps(
746
- `XY [${command}]`,
747
- [["yarn", ["xy", command, ...process.argv.filter((value, index) => index > 1 ? value : void 0)]]]
748
- );
749
- };
750
-
751
- // src/lib/runXyWithWarning.ts
752
- import chalk9 from "chalk";
753
- var runXyWithWarning = (command) => {
754
- const commandString = `yarn ${command}`;
755
- const commandXyString = `yarn xy ${command}`;
756
- console.warn(chalk9.yellow(`WARNING: [${chalk9.white(commandString)}] is deprecated for XY Labs Scripts.`));
757
- console.warn(chalk9.gray(`Did you mean [${chalk9.magenta(commandXyString)}]?`));
758
- return 1;
759
- };
760
-
761
- // src/lib/tryRunLocalScript.ts
762
- import { spawnSync as spawnSync4 } from "child_process";
763
- import { readFileSync as readFileSync8 } from "fs";
764
- import PATH4 from "path";
765
- import chalk10 from "chalk";
766
- function tryRunLocalScript(commandName) {
767
- if (process.env.XY_LOCAL_SCRIPT === "1") return void 0;
768
- const rootPkgPath = PATH4.resolve(process.cwd(), "package.json");
769
- let rootPkg;
770
- try {
771
- rootPkg = JSON.parse(readFileSync8(rootPkgPath, "utf8"));
772
- } catch {
773
- return void 0;
774
- }
775
- if (!rootPkg.scripts?.[commandName]) return void 0;
776
- console.log(chalk10.blue(`Delegating "${commandName}" to local script`));
777
- const result = spawnSync4("yarn", ["run", commandName], {
778
- cwd: process.cwd(),
779
- encoding: "utf8",
780
- env: {
781
- FORCE_COLOR: "3",
782
- ...process.env,
783
- XY_LOCAL_SCRIPT: "1"
784
- },
785
- shell: true,
786
- stdio: "inherit"
787
- });
788
- return result.status ?? 1;
789
- }
790
34
  export {
791
- CROSS_PLATFORM_NEWLINE,
792
- DEFAULT_README_BODY,
793
- DEFAULT_README_TEMPLATE,
794
- DuplicateDetector,
795
- INIT_CWD,
796
- LEGACY_COMMANDS_PREFIX,
797
- WINDOWS_NEWLINE_REGEX,
798
- XYLABS_COMMANDS_PREFIX,
799
- XYLABS_RULES_PREFIX,
800
- XYLABS_SKILLS_PREFIX,
801
- applyLogoConfig,
802
- checkResult,
803
- claudeCommandTemplates,
804
- claudeMdLocalTemplate,
805
- claudeMdProjectTemplate,
806
- claudeMdRuleTemplates,
807
- claudeSkillTemplates,
808
- createBuildConfig,
809
- defaultBuildConfig,
810
- defaultReadFileSyncOptions,
811
- deleteGlob,
812
- detectDuplicateDependencies,
813
- empty,
814
- generateIgnoreFiles,
815
- generateReadmeFiles,
816
- gitignoreTemplate,
817
35
  isYarnVersionOrGreater,
818
- loadConfig,
819
- multiLineToJSONArray,
820
- notEmpty,
821
- parsedPackageJSON,
822
- processEx,
823
- readLines,
824
- readNonEmptyLines,
825
- resolveTemplatePath,
826
- runStepAsync,
827
- runSteps,
828
- runStepsAsync,
829
- runXy,
830
- runXyWithWarning,
831
- safeExit,
832
- safeExitAsync,
833
- scaffoldTemplate,
834
- tryReadFileSync,
835
- tryRunLocalScript,
836
- union,
837
- withErrnoException,
838
- withError,
839
- writeLines,
840
36
  yarnWorkspace,
841
37
  yarnWorkspaces
842
38
  };