@intlayer/cli 8.1.2 → 8.1.3

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 (310) hide show
  1. package/dist/cjs/IntlayerEventListener.cjs +1 -186
  2. package/dist/cjs/IntlayerEventListener.cjs.map +1 -1
  3. package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -29
  4. package/dist/cjs/_virtual/_utils_asset.cjs +2 -98
  5. package/dist/cjs/auth/login.cjs +2 -85
  6. package/dist/cjs/auth/login.cjs.map +1 -1
  7. package/dist/cjs/build.cjs +1 -27
  8. package/dist/cjs/build.cjs.map +1 -1
  9. package/dist/cjs/ci.cjs +1 -73
  10. package/dist/cjs/ci.cjs.map +1 -1
  11. package/dist/cjs/cli.cjs +1 -476
  12. package/dist/cjs/cli.cjs.map +1 -1
  13. package/dist/cjs/config.cjs +1 -12
  14. package/dist/cjs/config.cjs.map +1 -1
  15. package/dist/cjs/editor.cjs +1 -50
  16. package/dist/cjs/editor.cjs.map +1 -1
  17. package/dist/cjs/extract.cjs +1 -96
  18. package/dist/cjs/extract.cjs.map +1 -1
  19. package/dist/cjs/fill/deepMergeContent.cjs +1 -27
  20. package/dist/cjs/fill/deepMergeContent.cjs.map +1 -1
  21. package/dist/cjs/fill/fill.cjs +1 -78
  22. package/dist/cjs/fill/fill.cjs.map +1 -1
  23. package/dist/cjs/fill/formatAutoFilledFilePath.cjs +1 -29
  24. package/dist/cjs/fill/formatAutoFilledFilePath.cjs.map +1 -1
  25. package/dist/cjs/fill/formatFillData.cjs +1 -50
  26. package/dist/cjs/fill/formatFillData.cjs.map +1 -1
  27. package/dist/cjs/fill/getAvailableLocalesInDictionary.cjs +1 -26
  28. package/dist/cjs/fill/getAvailableLocalesInDictionary.cjs.map +1 -1
  29. package/dist/cjs/fill/getFilterMissingContentPerLocale.cjs +1 -50
  30. package/dist/cjs/fill/getFilterMissingContentPerLocale.cjs.map +1 -1
  31. package/dist/cjs/fill/index.cjs +1 -6
  32. package/dist/cjs/fill/listTranslationsTasks.cjs +1 -70
  33. package/dist/cjs/fill/listTranslationsTasks.cjs.map +1 -1
  34. package/dist/cjs/fill/mergeChunks.cjs +1 -28
  35. package/dist/cjs/fill/mergeChunks.cjs.map +1 -1
  36. package/dist/cjs/fill/translateDictionary.cjs +1 -205
  37. package/dist/cjs/fill/translateDictionary.cjs.map +1 -1
  38. package/dist/cjs/fill/writeFill.cjs +1 -54
  39. package/dist/cjs/fill/writeFill.cjs.map +1 -1
  40. package/dist/cjs/getTargetDictionary.cjs +1 -36
  41. package/dist/cjs/getTargetDictionary.cjs.map +1 -1
  42. package/dist/cjs/index.cjs +1 -39
  43. package/dist/cjs/init.cjs +1 -322
  44. package/dist/cjs/init.cjs.map +1 -1
  45. package/dist/cjs/initSkills.cjs +2 -0
  46. package/dist/cjs/initSkills.cjs.map +1 -0
  47. package/dist/cjs/listContentDeclaration.cjs +1 -41
  48. package/dist/cjs/listContentDeclaration.cjs.map +1 -1
  49. package/dist/cjs/listProjects.cjs +1 -28
  50. package/dist/cjs/listProjects.cjs.map +1 -1
  51. package/dist/cjs/liveSync.cjs +8 -151
  52. package/dist/cjs/liveSync.cjs.map +1 -1
  53. package/dist/cjs/pull.cjs +1 -146
  54. package/dist/cjs/pull.cjs.map +1 -1
  55. package/dist/cjs/push/pullLog.cjs +3 -102
  56. package/dist/cjs/push/pullLog.cjs.map +1 -1
  57. package/dist/cjs/push/push.cjs +1 -206
  58. package/dist/cjs/push/push.cjs.map +1 -1
  59. package/dist/cjs/pushConfig.cjs +1 -19
  60. package/dist/cjs/pushConfig.cjs.map +1 -1
  61. package/dist/cjs/pushLog.cjs +3 -84
  62. package/dist/cjs/pushLog.cjs.map +1 -1
  63. package/dist/cjs/reviewDoc/reviewDoc.cjs +1 -68
  64. package/dist/cjs/reviewDoc/reviewDoc.cjs.map +1 -1
  65. package/dist/cjs/reviewDoc/reviewDocBlockAware.cjs +1 -94
  66. package/dist/cjs/reviewDoc/reviewDocBlockAware.cjs.map +1 -1
  67. package/dist/cjs/searchDoc.cjs +1 -38
  68. package/dist/cjs/searchDoc.cjs.map +1 -1
  69. package/dist/cjs/test/index.cjs +1 -7
  70. package/dist/cjs/test/listMissingTranslations.cjs +1 -49
  71. package/dist/cjs/test/listMissingTranslations.cjs.map +1 -1
  72. package/dist/cjs/test/test.cjs +1 -53
  73. package/dist/cjs/test/test.cjs.map +1 -1
  74. package/dist/cjs/translateDoc/index.cjs +1 -9
  75. package/dist/cjs/translateDoc/translateDoc.cjs +1 -74
  76. package/dist/cjs/translateDoc/translateDoc.cjs.map +1 -1
  77. package/dist/cjs/translateDoc/translateFile.cjs +2 -103
  78. package/dist/cjs/translateDoc/translateFile.cjs.map +1 -1
  79. package/dist/cjs/translateDoc/validation.cjs +5 -49
  80. package/dist/cjs/translateDoc/validation.cjs.map +1 -1
  81. package/dist/cjs/translation-alignment/alignBlocks.cjs +1 -67
  82. package/dist/cjs/translation-alignment/alignBlocks.cjs.map +1 -1
  83. package/dist/cjs/translation-alignment/computeSimilarity.cjs +1 -25
  84. package/dist/cjs/translation-alignment/computeSimilarity.cjs.map +1 -1
  85. package/dist/cjs/translation-alignment/fingerprintBlock.cjs +1 -23
  86. package/dist/cjs/translation-alignment/fingerprintBlock.cjs.map +1 -1
  87. package/dist/cjs/translation-alignment/index.cjs +1 -22
  88. package/dist/cjs/translation-alignment/mapChangedLinesToBlocks.cjs +1 -18
  89. package/dist/cjs/translation-alignment/mapChangedLinesToBlocks.cjs.map +1 -1
  90. package/dist/cjs/translation-alignment/normalizeBlock.cjs +1 -22
  91. package/dist/cjs/translation-alignment/normalizeBlock.cjs.map +1 -1
  92. package/dist/cjs/translation-alignment/pipeline.cjs +1 -37
  93. package/dist/cjs/translation-alignment/pipeline.cjs.map +1 -1
  94. package/dist/cjs/translation-alignment/planActions.cjs +1 -46
  95. package/dist/cjs/translation-alignment/planActions.cjs.map +1 -1
  96. package/dist/cjs/translation-alignment/rebuildDocument.cjs +2 -49
  97. package/dist/cjs/translation-alignment/rebuildDocument.cjs.map +1 -1
  98. package/dist/cjs/translation-alignment/segmentDocument.cjs +5 -66
  99. package/dist/cjs/translation-alignment/segmentDocument.cjs.map +1 -1
  100. package/dist/cjs/utils/calculateChunks.cjs +2 -89
  101. package/dist/cjs/utils/calculateChunks.cjs.map +1 -1
  102. package/dist/cjs/utils/checkAccess.cjs +1 -81
  103. package/dist/cjs/utils/checkAccess.cjs.map +1 -1
  104. package/dist/cjs/utils/checkConfigConsistency.cjs +1 -16
  105. package/dist/cjs/utils/checkConfigConsistency.cjs.map +1 -1
  106. package/dist/cjs/utils/checkFileModifiedRange.cjs +1 -81
  107. package/dist/cjs/utils/checkFileModifiedRange.cjs.map +1 -1
  108. package/dist/cjs/utils/checkLastUpdateTime.cjs +1 -19
  109. package/dist/cjs/utils/checkLastUpdateTime.cjs.map +1 -1
  110. package/dist/cjs/utils/chunkInference.cjs +1 -45
  111. package/dist/cjs/utils/chunkInference.cjs.map +1 -1
  112. package/dist/cjs/utils/fixChunkStartEndChars.cjs +3 -27
  113. package/dist/cjs/utils/fixChunkStartEndChars.cjs.map +1 -1
  114. package/dist/cjs/utils/formatTimeDiff.cjs +1 -20
  115. package/dist/cjs/utils/formatTimeDiff.cjs.map +1 -1
  116. package/dist/cjs/utils/getIsFileUpdatedRecently.cjs +1 -16
  117. package/dist/cjs/utils/getIsFileUpdatedRecently.cjs.map +1 -1
  118. package/dist/cjs/utils/getOutputFilePath.cjs +1 -74
  119. package/dist/cjs/utils/getOutputFilePath.cjs.map +1 -1
  120. package/dist/cjs/utils/getParentPackageJSON.cjs +1 -20
  121. package/dist/cjs/utils/getParentPackageJSON.cjs.map +1 -1
  122. package/dist/cjs/utils/listSpecialChars.cjs +2 -54
  123. package/dist/cjs/utils/listSpecialChars.cjs.map +1 -1
  124. package/dist/cjs/utils/mapChunksBetweenFiles.cjs +1 -102
  125. package/dist/cjs/utils/mapChunksBetweenFiles.cjs.map +1 -1
  126. package/dist/cjs/utils/openBrowser.cjs +1 -19
  127. package/dist/cjs/utils/openBrowser.cjs.map +1 -1
  128. package/dist/cjs/utils/reorderParagraphs.cjs +3 -91
  129. package/dist/cjs/utils/reorderParagraphs.cjs.map +1 -1
  130. package/dist/cjs/utils/setupAI.cjs +1 -64
  131. package/dist/cjs/utils/setupAI.cjs.map +1 -1
  132. package/dist/cjs/watch.cjs +1 -43
  133. package/dist/cjs/watch.cjs.map +1 -1
  134. package/dist/esm/IntlayerEventListener.mjs +1 -183
  135. package/dist/esm/IntlayerEventListener.mjs.map +1 -1
  136. package/dist/esm/_virtual/_rolldown/runtime.mjs +1 -8
  137. package/dist/esm/_virtual/_utils_asset.mjs +2 -97
  138. package/dist/esm/auth/login.mjs +2 -82
  139. package/dist/esm/auth/login.mjs.map +1 -1
  140. package/dist/esm/build.mjs +1 -25
  141. package/dist/esm/build.mjs.map +1 -1
  142. package/dist/esm/ci.mjs +1 -71
  143. package/dist/esm/ci.mjs.map +1 -1
  144. package/dist/esm/cli.mjs +1 -473
  145. package/dist/esm/cli.mjs.map +1 -1
  146. package/dist/esm/config.mjs +1 -10
  147. package/dist/esm/config.mjs.map +1 -1
  148. package/dist/esm/editor.mjs +1 -49
  149. package/dist/esm/editor.mjs.map +1 -1
  150. package/dist/esm/extract.mjs +1 -93
  151. package/dist/esm/extract.mjs.map +1 -1
  152. package/dist/esm/fill/deepMergeContent.mjs +1 -25
  153. package/dist/esm/fill/deepMergeContent.mjs.map +1 -1
  154. package/dist/esm/fill/fill.mjs +1 -76
  155. package/dist/esm/fill/fill.mjs.map +1 -1
  156. package/dist/esm/fill/formatAutoFilledFilePath.mjs +1 -27
  157. package/dist/esm/fill/formatAutoFilledFilePath.mjs.map +1 -1
  158. package/dist/esm/fill/formatFillData.mjs +1 -49
  159. package/dist/esm/fill/formatFillData.mjs.map +1 -1
  160. package/dist/esm/fill/getAvailableLocalesInDictionary.mjs +1 -24
  161. package/dist/esm/fill/getAvailableLocalesInDictionary.mjs.map +1 -1
  162. package/dist/esm/fill/getFilterMissingContentPerLocale.mjs +1 -48
  163. package/dist/esm/fill/getFilterMissingContentPerLocale.mjs.map +1 -1
  164. package/dist/esm/fill/index.mjs +1 -4
  165. package/dist/esm/fill/listTranslationsTasks.mjs +1 -68
  166. package/dist/esm/fill/listTranslationsTasks.mjs.map +1 -1
  167. package/dist/esm/fill/mergeChunks.mjs +1 -26
  168. package/dist/esm/fill/mergeChunks.mjs.map +1 -1
  169. package/dist/esm/fill/translateDictionary.mjs +1 -203
  170. package/dist/esm/fill/translateDictionary.mjs.map +1 -1
  171. package/dist/esm/fill/writeFill.mjs +1 -52
  172. package/dist/esm/fill/writeFill.mjs.map +1 -1
  173. package/dist/esm/getTargetDictionary.mjs +1 -33
  174. package/dist/esm/getTargetDictionary.mjs.map +1 -1
  175. package/dist/esm/index.mjs +1 -18
  176. package/dist/esm/init.mjs +1 -317
  177. package/dist/esm/init.mjs.map +1 -1
  178. package/dist/esm/initSkills.mjs +2 -0
  179. package/dist/esm/initSkills.mjs.map +1 -0
  180. package/dist/esm/listContentDeclaration.mjs +1 -38
  181. package/dist/esm/listContentDeclaration.mjs.map +1 -1
  182. package/dist/esm/listProjects.mjs +1 -26
  183. package/dist/esm/listProjects.mjs.map +1 -1
  184. package/dist/esm/liveSync.mjs +8 -148
  185. package/dist/esm/liveSync.mjs.map +1 -1
  186. package/dist/esm/pull.mjs +1 -144
  187. package/dist/esm/pull.mjs.map +1 -1
  188. package/dist/esm/push/pullLog.mjs +3 -100
  189. package/dist/esm/push/pullLog.mjs.map +1 -1
  190. package/dist/esm/push/push.mjs +1 -203
  191. package/dist/esm/push/push.mjs.map +1 -1
  192. package/dist/esm/pushConfig.mjs +1 -17
  193. package/dist/esm/pushConfig.mjs.map +1 -1
  194. package/dist/esm/pushLog.mjs +3 -82
  195. package/dist/esm/pushLog.mjs.map +1 -1
  196. package/dist/esm/reviewDoc/reviewDoc.mjs +1 -65
  197. package/dist/esm/reviewDoc/reviewDoc.mjs.map +1 -1
  198. package/dist/esm/reviewDoc/reviewDocBlockAware.mjs +1 -92
  199. package/dist/esm/reviewDoc/reviewDocBlockAware.mjs.map +1 -1
  200. package/dist/esm/searchDoc.mjs +1 -36
  201. package/dist/esm/searchDoc.mjs.map +1 -1
  202. package/dist/esm/test/index.mjs +1 -4
  203. package/dist/esm/test/listMissingTranslations.mjs +1 -46
  204. package/dist/esm/test/listMissingTranslations.mjs.map +1 -1
  205. package/dist/esm/test/test.mjs +1 -51
  206. package/dist/esm/test/test.mjs.map +1 -1
  207. package/dist/esm/translateDoc/index.mjs +1 -5
  208. package/dist/esm/translateDoc/translateDoc.mjs +1 -71
  209. package/dist/esm/translateDoc/translateDoc.mjs.map +1 -1
  210. package/dist/esm/translateDoc/translateFile.mjs +2 -101
  211. package/dist/esm/translateDoc/translateFile.mjs.map +1 -1
  212. package/dist/esm/translateDoc/validation.mjs +5 -46
  213. package/dist/esm/translateDoc/validation.mjs.map +1 -1
  214. package/dist/esm/translation-alignment/alignBlocks.mjs +1 -66
  215. package/dist/esm/translation-alignment/alignBlocks.mjs.map +1 -1
  216. package/dist/esm/translation-alignment/computeSimilarity.mjs +1 -22
  217. package/dist/esm/translation-alignment/computeSimilarity.mjs.map +1 -1
  218. package/dist/esm/translation-alignment/fingerprintBlock.mjs +1 -20
  219. package/dist/esm/translation-alignment/fingerprintBlock.mjs.map +1 -1
  220. package/dist/esm/translation-alignment/index.mjs +1 -11
  221. package/dist/esm/translation-alignment/mapChangedLinesToBlocks.mjs +1 -16
  222. package/dist/esm/translation-alignment/mapChangedLinesToBlocks.mjs.map +1 -1
  223. package/dist/esm/translation-alignment/normalizeBlock.mjs +1 -20
  224. package/dist/esm/translation-alignment/normalizeBlock.mjs.map +1 -1
  225. package/dist/esm/translation-alignment/pipeline.mjs +1 -35
  226. package/dist/esm/translation-alignment/pipeline.mjs.map +1 -1
  227. package/dist/esm/translation-alignment/planActions.mjs +1 -44
  228. package/dist/esm/translation-alignment/planActions.mjs.map +1 -1
  229. package/dist/esm/translation-alignment/rebuildDocument.mjs +2 -46
  230. package/dist/esm/translation-alignment/rebuildDocument.mjs.map +1 -1
  231. package/dist/esm/translation-alignment/segmentDocument.mjs +5 -64
  232. package/dist/esm/translation-alignment/segmentDocument.mjs.map +1 -1
  233. package/dist/esm/utils/calculateChunks.mjs +2 -87
  234. package/dist/esm/utils/calculateChunks.mjs.map +1 -1
  235. package/dist/esm/utils/checkAccess.mjs +1 -78
  236. package/dist/esm/utils/checkAccess.mjs.map +1 -1
  237. package/dist/esm/utils/checkConfigConsistency.mjs +1 -14
  238. package/dist/esm/utils/checkConfigConsistency.mjs.map +1 -1
  239. package/dist/esm/utils/checkFileModifiedRange.mjs +1 -80
  240. package/dist/esm/utils/checkFileModifiedRange.mjs.map +1 -1
  241. package/dist/esm/utils/checkLastUpdateTime.mjs +1 -17
  242. package/dist/esm/utils/checkLastUpdateTime.mjs.map +1 -1
  243. package/dist/esm/utils/chunkInference.mjs +1 -43
  244. package/dist/esm/utils/chunkInference.mjs.map +1 -1
  245. package/dist/esm/utils/fixChunkStartEndChars.mjs +3 -25
  246. package/dist/esm/utils/fixChunkStartEndChars.mjs.map +1 -1
  247. package/dist/esm/utils/formatTimeDiff.mjs +1 -18
  248. package/dist/esm/utils/formatTimeDiff.mjs.map +1 -1
  249. package/dist/esm/utils/getIsFileUpdatedRecently.mjs +1 -14
  250. package/dist/esm/utils/getIsFileUpdatedRecently.mjs.map +1 -1
  251. package/dist/esm/utils/getOutputFilePath.mjs +1 -72
  252. package/dist/esm/utils/getOutputFilePath.mjs.map +1 -1
  253. package/dist/esm/utils/getParentPackageJSON.mjs +1 -18
  254. package/dist/esm/utils/getParentPackageJSON.mjs.map +1 -1
  255. package/dist/esm/utils/listSpecialChars.mjs +2 -52
  256. package/dist/esm/utils/listSpecialChars.mjs.map +1 -1
  257. package/dist/esm/utils/mapChunksBetweenFiles.mjs +1 -100
  258. package/dist/esm/utils/mapChunksBetweenFiles.mjs.map +1 -1
  259. package/dist/esm/utils/openBrowser.mjs +1 -17
  260. package/dist/esm/utils/openBrowser.mjs.map +1 -1
  261. package/dist/esm/utils/reorderParagraphs.mjs +3 -90
  262. package/dist/esm/utils/reorderParagraphs.mjs.map +1 -1
  263. package/dist/esm/utils/setupAI.mjs +1 -62
  264. package/dist/esm/utils/setupAI.mjs.map +1 -1
  265. package/dist/esm/watch.mjs +1 -41
  266. package/dist/esm/watch.mjs.map +1 -1
  267. package/dist/types/auth/login.d.ts +1 -1
  268. package/dist/types/auth/login.d.ts.map +1 -1
  269. package/dist/types/build.d.ts +1 -1
  270. package/dist/types/build.d.ts.map +1 -1
  271. package/dist/types/cli.d.ts.map +1 -1
  272. package/dist/types/config.d.ts +1 -1
  273. package/dist/types/extract.d.ts +1 -1
  274. package/dist/types/extract.d.ts.map +1 -1
  275. package/dist/types/fill/fill.d.ts +1 -1
  276. package/dist/types/fill/fill.d.ts.map +1 -1
  277. package/dist/types/fill/translateDictionary.d.ts +2 -2
  278. package/dist/types/fill/translateDictionary.d.ts.map +1 -1
  279. package/dist/types/fill/writeFill.d.ts.map +1 -1
  280. package/dist/types/getTargetDictionary.d.ts +2 -2
  281. package/dist/types/index.d.ts +7 -3
  282. package/dist/types/init.d.ts +2 -5
  283. package/dist/types/init.d.ts.map +1 -1
  284. package/dist/types/initSkills.d.ts +8 -0
  285. package/dist/types/initSkills.d.ts.map +1 -0
  286. package/dist/types/listContentDeclaration.d.ts +1 -1
  287. package/dist/types/listContentDeclaration.d.ts.map +1 -1
  288. package/dist/types/liveSync.d.ts +1 -1
  289. package/dist/types/pull.d.ts +1 -1
  290. package/dist/types/pull.d.ts.map +1 -1
  291. package/dist/types/push/pullLog.d.ts +1 -1
  292. package/dist/types/push/pullLog.d.ts.map +1 -1
  293. package/dist/types/push/push.d.ts +2 -2
  294. package/dist/types/pushConfig.d.ts +1 -1
  295. package/dist/types/reviewDoc/reviewDoc.d.ts +2 -2
  296. package/dist/types/reviewDoc/reviewDoc.d.ts.map +1 -1
  297. package/dist/types/reviewDoc/reviewDocBlockAware.d.ts +1 -1
  298. package/dist/types/reviewDoc/reviewDocBlockAware.d.ts.map +1 -1
  299. package/dist/types/searchDoc.d.ts +1 -1
  300. package/dist/types/searchDoc.d.ts.map +1 -1
  301. package/dist/types/test/listMissingTranslations.d.ts +1 -1
  302. package/dist/types/test/test.d.ts +1 -1
  303. package/dist/types/test/test.d.ts.map +1 -1
  304. package/dist/types/translateDoc/translateDoc.d.ts.map +1 -1
  305. package/dist/types/translateDoc/types.d.ts +2 -2
  306. package/dist/types/translateDoc/validation.d.ts +1 -1
  307. package/dist/types/utils/checkAccess.d.ts.map +1 -1
  308. package/dist/types/watch.d.ts +1 -1
  309. package/dist/types/watch.d.ts.map +1 -1
  310. package/package.json +11 -11
package/dist/esm/init.mjs CHANGED
@@ -1,318 +1,2 @@
1
- import { join, resolve } from "node:path";
2
- import { existsSync, readFileSync } from "node:fs";
3
- import * as p from "@clack/prompts";
4
- import { SKILLS, SKILLS_METADATA, initIntlayer, installSkills } from "@intlayer/chokidar/cli";
5
- import { AutoComplete } from "enquirer";
6
-
7
- //#region src/init.ts
8
- const findProjectRoot = (startDir) => {
9
- let currentDir = startDir;
10
- while (currentDir !== resolve(currentDir, "..")) {
11
- if (existsSync(join(currentDir, "package.json"))) return currentDir;
12
- currentDir = resolve(currentDir, "..");
13
- }
14
- return startDir;
15
- };
16
- const init = async (projectRoot) => {
17
- await initIntlayer(projectRoot ? findProjectRoot(resolve(projectRoot)) : findProjectRoot(process.cwd()));
18
- };
19
- const PLATFORM_CHECKS = [
20
- {
21
- check: () => process.env.CURSOR === "true" || process.env.TERM_PROGRAM === "cursor",
22
- platform: "Cursor"
23
- },
24
- {
25
- check: () => process.env.WINDSURF === "true" || process.env.TERM_PROGRAM === "windsurf",
26
- platform: "Windsurf"
27
- },
28
- {
29
- check: () => process.env.TRAE === "true" || process.env.TERM_PROGRAM === "trae",
30
- platform: "Trae"
31
- },
32
- {
33
- check: () => process.env.TRAE_CN === "true",
34
- platform: "TraeCN"
35
- },
36
- {
37
- check: () => process.env.VSCODE === "true" || process.env.TERM_PROGRAM === "vscode",
38
- platform: "VSCode"
39
- },
40
- {
41
- check: () => process.env.OPENCODE === "true",
42
- platform: "OpenCode"
43
- },
44
- {
45
- check: () => process.env.CLAUDE === "true",
46
- platform: "Claude"
47
- },
48
- {
49
- check: () => process.env.GITHUB_ACTIONS === "true" || !!process.env.GITHUB_WORKSPACE,
50
- platform: "GitHub"
51
- }
52
- ];
53
- const getDetectedPlatform = () => PLATFORM_CHECKS.find(({ check }) => check())?.platform;
54
- const initSkills = async (projectRoot) => {
55
- const root = projectRoot ? findProjectRoot(resolve(projectRoot)) : findProjectRoot(process.cwd());
56
- p.intro("Initializing Intlayer skills");
57
- const detectedPlatform = getDetectedPlatform();
58
- const PLATFORM_OPTIONS = [
59
- {
60
- value: "Cursor",
61
- label: "Cursor",
62
- hint: "(.cursor/skills)"
63
- },
64
- {
65
- value: "Windsurf",
66
- label: "Windsurf",
67
- hint: "(.windsurf/skills)"
68
- },
69
- {
70
- value: "Trae",
71
- label: "Trae",
72
- hint: "(.trae/skills)"
73
- },
74
- {
75
- value: "TraeCN",
76
- label: "Trae CN",
77
- hint: "(.trae/skills)"
78
- },
79
- {
80
- value: "VSCode",
81
- label: "VS Code",
82
- hint: "(.github/skills)"
83
- },
84
- {
85
- value: "OpenCode",
86
- label: "OpenCode",
87
- hint: "(.opencode/skills)"
88
- },
89
- {
90
- value: "Claude",
91
- label: "Claude Code",
92
- hint: "(.claude/skills)"
93
- },
94
- {
95
- value: "GitHub",
96
- label: "GitHub Copilot Workspace",
97
- hint: "(.github/skills)"
98
- },
99
- {
100
- value: "Antigravity",
101
- label: "Antigravity",
102
- hint: "(.agent/skills)"
103
- },
104
- {
105
- value: "Augment",
106
- label: "Augment",
107
- hint: "(.augment/skills)"
108
- },
109
- {
110
- value: "OpenClaw",
111
- label: "OpenClaw",
112
- hint: "(skills)"
113
- },
114
- {
115
- value: "Cline",
116
- label: "Cline",
117
- hint: "(.cline/skills)"
118
- },
119
- {
120
- value: "CodeBuddy",
121
- label: "CodeBuddy",
122
- hint: "(.codebuddy/skills)"
123
- },
124
- {
125
- value: "CommandCode",
126
- label: "Command Code",
127
- hint: "(.commandcode/skills)"
128
- },
129
- {
130
- value: "Continue",
131
- label: "Continue",
132
- hint: "(.continue/skills)"
133
- },
134
- {
135
- value: "Crush",
136
- label: "Crush",
137
- hint: "(.crush/skills)"
138
- },
139
- {
140
- value: "Droid",
141
- label: "Droid",
142
- hint: "(.factory/skills)"
143
- },
144
- {
145
- value: "Goose",
146
- label: "Goose",
147
- hint: "(.goose/skills)"
148
- },
149
- {
150
- value: "IFlow",
151
- label: "iFlow CLI",
152
- hint: "(.iflow/skills)"
153
- },
154
- {
155
- value: "Junie",
156
- label: "Junie",
157
- hint: "(.junie/skills)"
158
- },
159
- {
160
- value: "KiloCode",
161
- label: "Kilo Code",
162
- hint: "(.kilocode/skills)"
163
- },
164
- {
165
- value: "Kiro",
166
- label: "Kiro CLI",
167
- hint: "(.kiro/skills)"
168
- },
169
- {
170
- value: "Kode",
171
- label: "Kode",
172
- hint: "(.kode/skills)"
173
- },
174
- {
175
- value: "MCPJam",
176
- label: "MCPJam",
177
- hint: "(.mcpjam/skills)"
178
- },
179
- {
180
- value: "MistralVibe",
181
- label: "Mistral Vibe",
182
- hint: "(.vibe/skills)"
183
- },
184
- {
185
- value: "Mux",
186
- label: "Mux",
187
- hint: "(.mux/skills)"
188
- },
189
- {
190
- value: "OpenHands",
191
- label: "OpenHands",
192
- hint: "(.openhands/skills)"
193
- },
194
- {
195
- value: "Pi",
196
- label: "Pi",
197
- hint: "(.pi/skills)"
198
- },
199
- {
200
- value: "Qoder",
201
- label: "Qoder",
202
- hint: "(.qoder/skills)"
203
- },
204
- {
205
- value: "Qwen",
206
- label: "Qwen Code",
207
- hint: "(.qwen/skills)"
208
- },
209
- {
210
- value: "RooCode",
211
- label: "Roo Code",
212
- hint: "(.roo/skills)"
213
- },
214
- {
215
- value: "Zencoder",
216
- label: "Zencoder",
217
- hint: "(.zencoder/skills)"
218
- },
219
- {
220
- value: "Neovate",
221
- label: "Neovate",
222
- hint: "(.neovate/skills)"
223
- },
224
- {
225
- value: "Pochi",
226
- label: "Pochi",
227
- hint: "(.pochi/skills)"
228
- },
229
- {
230
- value: "Other",
231
- label: "Other",
232
- hint: "(skills)"
233
- }
234
- ];
235
- const prompt = new AutoComplete({
236
- name: "platforms",
237
- message: "Which platforms are you using?",
238
- limit: 10,
239
- initial: detectedPlatform ? PLATFORM_OPTIONS.findIndex((p) => p.value === detectedPlatform) : void 0,
240
- multiple: true,
241
- choices: PLATFORM_OPTIONS.map((p) => ({
242
- name: p.value,
243
- message: p.label,
244
- hint: p.hint
245
- }))
246
- });
247
- let platforms;
248
- try {
249
- platforms = await prompt.run();
250
- } catch (error) {
251
- p.cancel("Operation cancelled");
252
- return;
253
- }
254
- if (platforms.length === 0) {
255
- p.log.warn("No platform selected. Nothing to install.");
256
- return;
257
- }
258
- let dependencies = {};
259
- try {
260
- const packageJsonPath = join(root, "package.json");
261
- if (existsSync(packageJsonPath)) {
262
- const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
263
- dependencies = {
264
- ...packageJson.dependencies,
265
- ...packageJson.devDependencies
266
- };
267
- }
268
- } catch {}
269
- const initialValues = [
270
- "Usage",
271
- "Config",
272
- "Content",
273
- "RemoteContent"
274
- ];
275
- if (dependencies.react || dependencies.next) initialValues.push("React");
276
- if (dependencies.next) initialValues.push("NextJS");
277
- if (dependencies.preact) initialValues.push("Preact");
278
- if (dependencies["solid-js"]) initialValues.push("Solid");
279
- if (dependencies.vue || dependencies.nuxt) initialValues.push("Vue");
280
- if (dependencies.svelte || dependencies["@sveltejs/kit"]) initialValues.push("Svelte");
281
- if (dependencies.astro) initialValues.push("Astro");
282
- const selectedSkills = await p.multiselect({
283
- message: "Select the documentation skills to provide to your AI:",
284
- initialValues,
285
- options: SKILLS.map((skill) => ({
286
- value: skill,
287
- label: skill,
288
- hint: SKILLS_METADATA[skill]
289
- }))
290
- });
291
- if (p.isCancel(selectedSkills)) {
292
- p.cancel("Operation cancelled");
293
- return;
294
- }
295
- if (selectedSkills.length === 0) {
296
- p.log.warn("No skills selected. Nothing to install.");
297
- return;
298
- }
299
- const s = p.spinner();
300
- s.start("Installing skills...");
301
- try {
302
- const results = [];
303
- for (const platform of platforms) {
304
- const result = await installSkills(root, platform, selectedSkills);
305
- results.push(result);
306
- }
307
- s.stop("Skills installed successfully");
308
- for (const result of results) p.note(result, "Success");
309
- } catch (error) {
310
- s.stop("Failed to install skills");
311
- p.log.error(String(error));
312
- }
313
- p.outro("Intlayer skills initialization complete");
314
- };
315
-
316
- //#endregion
317
- export { getDetectedPlatform, init, initSkills };
1
+ import{join as e,resolve as t}from"node:path";import{initIntlayer as n}from"@intlayer/chokidar/cli";import{existsSync as r}from"node:fs";const i=n=>{let i=n;for(;i!==t(i,`..`);){if(r(e(i,`package.json`)))return i;i=t(i,`..`)}return n},a=async e=>{await n(i(e?t(e):process.cwd()))};export{i as findProjectRoot,a as init};
318
2
  //# sourceMappingURL=init.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.mjs","names":[],"sources":["../../src/init.ts"],"sourcesContent":["import { existsSync, readFileSync } from 'node:fs';\nimport { join, resolve } from 'node:path';\nimport * as p from '@clack/prompts';\nimport {\n initIntlayer,\n installSkills,\n type Platform,\n SKILLS,\n SKILLS_METADATA,\n} from '@intlayer/chokidar/cli';\n// @ts-ignore\nimport { AutoComplete } from 'enquirer';\n\nconst findProjectRoot = (startDir: string) => {\n let currentDir = startDir;\n\n while (currentDir !== resolve(currentDir, '..')) {\n if (existsSync(join(currentDir, 'package.json'))) {\n return currentDir;\n }\n currentDir = resolve(currentDir, '..');\n }\n\n // If no package.json is found, return the start directory.\n // The initIntlayer function will handle the missing package.json error.\n return startDir;\n};\n\nexport const init = async (projectRoot?: string) => {\n const root = projectRoot\n ? findProjectRoot(resolve(projectRoot))\n : findProjectRoot(process.cwd());\n\n await initIntlayer(root);\n};\n\nconst PLATFORM_CHECKS: Array<{ check: () => boolean; platform: Platform }> = [\n {\n check: () =>\n process.env.CURSOR === 'true' || process.env.TERM_PROGRAM === 'cursor',\n platform: 'Cursor',\n },\n {\n check: () =>\n process.env.WINDSURF === 'true' ||\n process.env.TERM_PROGRAM === 'windsurf',\n platform: 'Windsurf',\n },\n {\n check: () =>\n process.env.TRAE === 'true' || process.env.TERM_PROGRAM === 'trae',\n platform: 'Trae',\n },\n { check: () => process.env.TRAE_CN === 'true', platform: 'TraeCN' },\n {\n check: () =>\n process.env.VSCODE === 'true' || process.env.TERM_PROGRAM === 'vscode',\n platform: 'VSCode',\n },\n { check: () => process.env.OPENCODE === 'true', platform: 'OpenCode' },\n { check: () => process.env.CLAUDE === 'true', platform: 'Claude' },\n {\n check: () =>\n process.env.GITHUB_ACTIONS === 'true' || !!process.env.GITHUB_WORKSPACE,\n platform: 'GitHub',\n },\n];\n\nexport const getDetectedPlatform = (): Platform | undefined =>\n PLATFORM_CHECKS.find(({ check }) => check())?.platform;\n\nexport const initSkills = async (projectRoot?: string) => {\n const root = projectRoot\n ? findProjectRoot(resolve(projectRoot))\n : findProjectRoot(process.cwd());\n\n p.intro('Initializing Intlayer skills');\n\n // Detect if running in a specific platform\n const detectedPlatform = getDetectedPlatform();\n\n const PLATFORM_OPTIONS = [\n { value: 'Cursor', label: 'Cursor', hint: '(.cursor/skills)' },\n { value: 'Windsurf', label: 'Windsurf', hint: '(.windsurf/skills)' },\n { value: 'Trae', label: 'Trae', hint: '(.trae/skills)' },\n { value: 'TraeCN', label: 'Trae CN', hint: '(.trae/skills)' },\n { value: 'VSCode', label: 'VS Code', hint: '(.github/skills)' },\n { value: 'OpenCode', label: 'OpenCode', hint: '(.opencode/skills)' },\n { value: 'Claude', label: 'Claude Code', hint: '(.claude/skills)' },\n {\n value: 'GitHub',\n label: 'GitHub Copilot Workspace',\n hint: '(.github/skills)',\n },\n { value: 'Antigravity', label: 'Antigravity', hint: '(.agent/skills)' },\n { value: 'Augment', label: 'Augment', hint: '(.augment/skills)' },\n { value: 'OpenClaw', label: 'OpenClaw', hint: '(skills)' },\n { value: 'Cline', label: 'Cline', hint: '(.cline/skills)' },\n { value: 'CodeBuddy', label: 'CodeBuddy', hint: '(.codebuddy/skills)' },\n {\n value: 'CommandCode',\n label: 'Command Code',\n hint: '(.commandcode/skills)',\n },\n { value: 'Continue', label: 'Continue', hint: '(.continue/skills)' },\n { value: 'Crush', label: 'Crush', hint: '(.crush/skills)' },\n { value: 'Droid', label: 'Droid', hint: '(.factory/skills)' },\n { value: 'Goose', label: 'Goose', hint: '(.goose/skills)' },\n { value: 'IFlow', label: 'iFlow CLI', hint: '(.iflow/skills)' },\n { value: 'Junie', label: 'Junie', hint: '(.junie/skills)' },\n { value: 'KiloCode', label: 'Kilo Code', hint: '(.kilocode/skills)' },\n { value: 'Kiro', label: 'Kiro CLI', hint: '(.kiro/skills)' },\n { value: 'Kode', label: 'Kode', hint: '(.kode/skills)' },\n { value: 'MCPJam', label: 'MCPJam', hint: '(.mcpjam/skills)' },\n { value: 'MistralVibe', label: 'Mistral Vibe', hint: '(.vibe/skills)' },\n { value: 'Mux', label: 'Mux', hint: '(.mux/skills)' },\n { value: 'OpenHands', label: 'OpenHands', hint: '(.openhands/skills)' },\n { value: 'Pi', label: 'Pi', hint: '(.pi/skills)' },\n { value: 'Qoder', label: 'Qoder', hint: '(.qoder/skills)' },\n { value: 'Qwen', label: 'Qwen Code', hint: '(.qwen/skills)' },\n { value: 'RooCode', label: 'Roo Code', hint: '(.roo/skills)' },\n { value: 'Zencoder', label: 'Zencoder', hint: '(.zencoder/skills)' },\n { value: 'Neovate', label: 'Neovate', hint: '(.neovate/skills)' },\n { value: 'Pochi', label: 'Pochi', hint: '(.pochi/skills)' },\n { value: 'Other', label: 'Other', hint: '(skills)' },\n ] as { value: Platform; label: string; hint: string }[];\n\n // Confirm or choose platforms\n const prompt = new AutoComplete({\n name: 'platforms',\n message: 'Which platforms are you using?',\n limit: 10,\n initial: detectedPlatform\n ? PLATFORM_OPTIONS.findIndex((p) => p.value === detectedPlatform)\n : undefined,\n multiple: true,\n choices: PLATFORM_OPTIONS.map((p) => ({\n name: p.value,\n message: p.label,\n hint: p.hint,\n })),\n });\n\n let platforms: Platform[];\n try {\n platforms = (await prompt.run()) as Platform[];\n } catch (error) {\n p.cancel('Operation cancelled');\n return;\n }\n\n if (platforms.length === 0) {\n p.log.warn('No platform selected. Nothing to install.');\n return;\n }\n\n // Detect framework skills\n let dependencies: Record<string, string> = {};\n try {\n const packageJsonPath = join(root, 'package.json');\n if (existsSync(packageJsonPath)) {\n const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));\n dependencies = {\n ...packageJson.dependencies,\n ...packageJson.devDependencies,\n };\n }\n } catch {\n // Ignore errors reading package.json\n }\n\n const initialValues: (keyof typeof SKILLS_METADATA)[] = [\n 'Usage',\n 'Config',\n 'Content',\n 'RemoteContent',\n ];\n\n if (dependencies.react || dependencies.next) {\n initialValues.push('React');\n }\n if (dependencies.next) {\n initialValues.push('NextJS');\n }\n if (dependencies.preact) {\n initialValues.push('Preact');\n }\n if (dependencies['solid-js']) {\n initialValues.push('Solid');\n }\n if (dependencies.vue || dependencies.nuxt) {\n initialValues.push('Vue');\n }\n if (dependencies.svelte || dependencies['@sveltejs/kit']) {\n initialValues.push('Svelte');\n }\n if (dependencies.astro) {\n initialValues.push('Astro');\n }\n\n // Show list of available skills and allow selecting multiple\n const selectedSkills = (await p.multiselect({\n message: 'Select the documentation skills to provide to your AI:',\n initialValues,\n options: SKILLS.map((skill) => ({\n value: skill,\n label: skill,\n hint: SKILLS_METADATA[skill],\n })),\n })) as (keyof typeof SKILLS_METADATA)[];\n\n if (p.isCancel(selectedSkills)) {\n p.cancel('Operation cancelled');\n return;\n }\n\n if (selectedSkills.length === 0) {\n p.log.warn('No skills selected. Nothing to install.');\n return;\n }\n\n // Call installSkills for each platform\n const s = p.spinner();\n s.start('Installing skills...');\n try {\n const results: string[] = [];\n for (const platform of platforms) {\n const result = await installSkills(root, platform, selectedSkills);\n results.push(result);\n }\n s.stop('Skills installed successfully');\n\n // Show success messages\n for (const result of results) {\n p.note(result, 'Success');\n }\n } catch (error) {\n s.stop('Failed to install skills');\n p.log.error(String(error));\n }\n\n p.outro('Intlayer skills initialization complete');\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"init.mjs","names":[],"sources":["../../src/init.ts"],"sourcesContent":["import { existsSync } from 'node:fs';\nimport { join, resolve } from 'node:path';\nimport { initIntlayer } from '@intlayer/chokidar/cli';\n\nexport const findProjectRoot = (startDir: string) => {\n let currentDir = startDir;\n\n while (currentDir !== resolve(currentDir, '..')) {\n if (existsSync(join(currentDir, 'package.json'))) {\n return currentDir;\n }\n currentDir = resolve(currentDir, '..');\n }\n\n // If no package.json is found, return the start directory.\n // The initIntlayer function will handle the missing package.json error.\n return startDir;\n};\n\nexport const init = async (projectRoot?: string) => {\n const root = projectRoot\n ? findProjectRoot(resolve(projectRoot))\n : findProjectRoot(process.cwd());\n\n await initIntlayer(root);\n};\n"],"mappings":"yIAIA,MAAa,EAAmB,GAAqB,CACnD,IAAI,EAAa,EAEjB,KAAO,IAAe,EAAQ,EAAY,KAAK,EAAE,CAC/C,GAAI,EAAW,EAAK,EAAY,eAAe,CAAC,CAC9C,OAAO,EAET,EAAa,EAAQ,EAAY,KAAK,CAKxC,OAAO,GAGI,EAAO,KAAO,IAAyB,CAKlD,MAAM,EAHF,EADS,EACO,EAAQ,EAAY,CACpB,QAAQ,KAAK,CAAC,CAEV"}
@@ -0,0 +1,2 @@
1
+ import{findProjectRoot as e}from"./init.mjs";import{join as t,resolve as n}from"node:path";import{SKILLS as r,SKILLS_METADATA as i,installSkills as a}from"@intlayer/chokidar/cli";import{existsSync as o,readFileSync as s}from"node:fs";import*as c from"@clack/prompts";import l from"enquirer";const u=[{check:()=>process.env.CURSOR===`true`||process.env.TERM_PROGRAM===`cursor`,platform:`Cursor`},{check:()=>process.env.WINDSURF===`true`||process.env.TERM_PROGRAM===`windsurf`,platform:`Windsurf`},{check:()=>process.env.TRAE===`true`||process.env.TERM_PROGRAM===`trae`,platform:`Trae`},{check:()=>process.env.TRAE_CN===`true`,platform:`TraeCN`},{check:()=>process.env.VSCODE===`true`||process.env.TERM_PROGRAM===`vscode`,platform:`VSCode`},{check:()=>process.env.OPENCODE===`true`,platform:`OpenCode`},{check:()=>process.env.CLAUDE===`true`,platform:`Claude`},{check:()=>process.env.GITHUB_ACTIONS===`true`||!!process.env.GITHUB_WORKSPACE,platform:`GitHub`}],d=[{value:`Cursor`,label:`Cursor`,hint:`(.cursor/skills)`},{value:`Windsurf`,label:`Windsurf`,hint:`(.windsurf/skills)`},{value:`Trae`,label:`Trae`,hint:`(.trae/skills)`},{value:`TraeCN`,label:`Trae CN`,hint:`(.trae/skills)`},{value:`VSCode`,label:`VS Code`,hint:`(.github/skills)`},{value:`OpenCode`,label:`OpenCode`,hint:`(.opencode/skills)`},{value:`Claude`,label:`Claude Code`,hint:`(.claude/skills)`},{value:`GitHub`,label:`GitHub Copilot Workspace`,hint:`(.github/skills)`},{value:`Antigravity`,label:`Antigravity`,hint:`(.agent/skills)`},{value:`Augment`,label:`Augment`,hint:`(.augment/skills)`},{value:`OpenClaw`,label:`OpenClaw`,hint:`(skills)`},{value:`Cline`,label:`Cline`,hint:`(.cline/skills)`},{value:`CodeBuddy`,label:`CodeBuddy`,hint:`(.codebuddy/skills)`},{value:`CommandCode`,label:`Command Code`,hint:`(.commandcode/skills)`},{value:`Continue`,label:`Continue`,hint:`(.continue/skills)`},{value:`Crush`,label:`Crush`,hint:`(.crush/skills)`},{value:`Droid`,label:`Droid`,hint:`(.factory/skills)`},{value:`Goose`,label:`Goose`,hint:`(.goose/skills)`},{value:`IFlow`,label:`iFlow CLI`,hint:`(.iflow/skills)`},{value:`Junie`,label:`Junie`,hint:`(.junie/skills)`},{value:`KiloCode`,label:`Kilo Code`,hint:`(.kilocode/skills)`},{value:`Kiro`,label:`Kiro CLI`,hint:`(.kiro/skills)`},{value:`Kode`,label:`Kode`,hint:`(.kode/skills)`},{value:`MCPJam`,label:`MCPJam`,hint:`(.mcpjam/skills)`},{value:`MistralVibe`,label:`Mistral Vibe`,hint:`(.vibe/skills)`},{value:`Mux`,label:`Mux`,hint:`(.mux/skills)`},{value:`OpenHands`,label:`OpenHands`,hint:`(.openhands/skills)`},{value:`Pi`,label:`Pi`,hint:`(.pi/skills)`},{value:`Qoder`,label:`Qoder`,hint:`(.qoder/skills)`},{value:`Qwen`,label:`Qwen Code`,hint:`(.qwen/skills)`},{value:`RooCode`,label:`Roo Code`,hint:`(.roo/skills)`},{value:`Zencoder`,label:`Zencoder`,hint:`(.zencoder/skills)`},{value:`Neovate`,label:`Neovate`,hint:`(.neovate/skills)`},{value:`Pochi`,label:`Pochi`,hint:`(.pochi/skills)`},{value:`Other`,label:`Other`,hint:`(skills)`}],f=()=>u.find(({check:e})=>e())?.platform;function p(e){try{let n=t(e,`package.json`);if(!o(n))return{};let{dependencies:r={},devDependencies:i={}}=JSON.parse(s(n,`utf-8`));return{...r,...i}}catch{return{}}}function m(e){let t=[`Usage`,`Config`,`Content`,`RemoteContent`];return(e.react||e.next)&&t.push(`React`),e.next&&t.push(`NextJS`),e.preact&&t.push(`Preact`),e[`solid-js`]&&t.push(`Solid`),(e.vue||e.nuxt)&&t.push(`Vue`),(e.svelte||e[`@sveltejs/kit`])&&t.push(`Svelte`),e.astro&&t.push(`Astro`),t}const h=async t=>{let o=e(t?n(t):process.cwd());c.intro(`Initializing Intlayer skills`);let s=f(),u;try{u=(await l.prompt({type:`autocomplete`,name:`platforms`,message:`Which platforms are you using? (Type to search)`,multiple:!0,initial:s?d.findIndex(e=>e.value===s):void 0,choices:d.map(e=>({name:e.value,message:e.label,hint:e.hint}))})).platforms}catch{c.cancel(`Operation cancelled.`);return}if(!u||u.length===0){c.log.warn(`No platform selected. Nothing to install.`);return}let h=m(p(o)),g=await c.multiselect({message:`Select the documentation skills to provide to your AI:`,initialValues:h,options:r.map(e=>({value:e,label:e,hint:i[e]})),required:!1});if(c.isCancel(g)||!g||g.length===0){c.cancel(`Operation cancelled. No skills selected.`);return}let _=c.spinner();_.start(`Installing skills...`);try{let e=u.map(e=>a(o,e,g)),t=await Promise.all(e);_.stop(`Skills installed successfully`);for(let e of t)c.note(e,`Success`)}catch(e){_.stop(`Failed to install skills`),c.log.error(e instanceof Error?e.message:String(e))}c.outro(`Intlayer skills initialization complete`)};export{f as getDetectedPlatform,h as initSkills};
2
+ //# sourceMappingURL=initSkills.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initSkills.mjs","names":[],"sources":["../../src/initSkills.ts"],"sourcesContent":["import { existsSync, readFileSync } from 'node:fs';\nimport { join, resolve } from 'node:path';\nimport * as p from '@clack/prompts';\nimport {\n installSkills,\n type Platform,\n SKILLS,\n SKILLS_METADATA,\n} from '@intlayer/chokidar/cli';\nimport enquirer from 'enquirer';\nimport { findProjectRoot } from './init';\n\n// --- Constants ---\n\nconst PLATFORM_CHECKS: Array<{ check: () => boolean; platform: Platform }> = [\n {\n check: () =>\n process.env.CURSOR === 'true' || process.env.TERM_PROGRAM === 'cursor',\n platform: 'Cursor',\n },\n {\n check: () =>\n process.env.WINDSURF === 'true' ||\n process.env.TERM_PROGRAM === 'windsurf',\n platform: 'Windsurf',\n },\n {\n check: () =>\n process.env.TRAE === 'true' || process.env.TERM_PROGRAM === 'trae',\n platform: 'Trae',\n },\n { check: () => process.env.TRAE_CN === 'true', platform: 'TraeCN' },\n {\n check: () =>\n process.env.VSCODE === 'true' || process.env.TERM_PROGRAM === 'vscode',\n platform: 'VSCode',\n },\n { check: () => process.env.OPENCODE === 'true', platform: 'OpenCode' },\n { check: () => process.env.CLAUDE === 'true', platform: 'Claude' },\n {\n check: () =>\n process.env.GITHUB_ACTIONS === 'true' || !!process.env.GITHUB_WORKSPACE,\n platform: 'GitHub',\n },\n];\n\nconst PLATFORM_OPTIONS: Array<{\n value: Platform;\n label: string;\n hint: string;\n}> = [\n { value: 'Cursor', label: 'Cursor', hint: '(.cursor/skills)' },\n { value: 'Windsurf', label: 'Windsurf', hint: '(.windsurf/skills)' },\n { value: 'Trae', label: 'Trae', hint: '(.trae/skills)' },\n { value: 'TraeCN', label: 'Trae CN', hint: '(.trae/skills)' },\n { value: 'VSCode', label: 'VS Code', hint: '(.github/skills)' },\n { value: 'OpenCode', label: 'OpenCode', hint: '(.opencode/skills)' },\n { value: 'Claude', label: 'Claude Code', hint: '(.claude/skills)' },\n {\n value: 'GitHub',\n label: 'GitHub Copilot Workspace',\n hint: '(.github/skills)',\n },\n { value: 'Antigravity', label: 'Antigravity', hint: '(.agent/skills)' },\n { value: 'Augment', label: 'Augment', hint: '(.augment/skills)' },\n { value: 'OpenClaw', label: 'OpenClaw', hint: '(skills)' },\n { value: 'Cline', label: 'Cline', hint: '(.cline/skills)' },\n { value: 'CodeBuddy', label: 'CodeBuddy', hint: '(.codebuddy/skills)' },\n {\n value: 'CommandCode',\n label: 'Command Code',\n hint: '(.commandcode/skills)',\n },\n { value: 'Continue', label: 'Continue', hint: '(.continue/skills)' },\n { value: 'Crush', label: 'Crush', hint: '(.crush/skills)' },\n { value: 'Droid', label: 'Droid', hint: '(.factory/skills)' },\n { value: 'Goose', label: 'Goose', hint: '(.goose/skills)' },\n { value: 'IFlow', label: 'iFlow CLI', hint: '(.iflow/skills)' },\n { value: 'Junie', label: 'Junie', hint: '(.junie/skills)' },\n { value: 'KiloCode', label: 'Kilo Code', hint: '(.kilocode/skills)' },\n { value: 'Kiro', label: 'Kiro CLI', hint: '(.kiro/skills)' },\n { value: 'Kode', label: 'Kode', hint: '(.kode/skills)' },\n { value: 'MCPJam', label: 'MCPJam', hint: '(.mcpjam/skills)' },\n { value: 'MistralVibe', label: 'Mistral Vibe', hint: '(.vibe/skills)' },\n { value: 'Mux', label: 'Mux', hint: '(.mux/skills)' },\n { value: 'OpenHands', label: 'OpenHands', hint: '(.openhands/skills)' },\n { value: 'Pi', label: 'Pi', hint: '(.pi/skills)' },\n { value: 'Qoder', label: 'Qoder', hint: '(.qoder/skills)' },\n { value: 'Qwen', label: 'Qwen Code', hint: '(.qwen/skills)' },\n { value: 'RooCode', label: 'Roo Code', hint: '(.roo/skills)' },\n { value: 'Zencoder', label: 'Zencoder', hint: '(.zencoder/skills)' },\n { value: 'Neovate', label: 'Neovate', hint: '(.neovate/skills)' },\n { value: 'Pochi', label: 'Pochi', hint: '(.pochi/skills)' },\n { value: 'Other', label: 'Other', hint: '(skills)' },\n];\n\n// --- Utilities ---\n\nexport const getDetectedPlatform = (): Platform | undefined =>\n PLATFORM_CHECKS.find(({ check }) => check())?.platform;\n\nfunction getDependencies(root: string): Record<string, string> {\n try {\n const packageJsonPath = join(root, 'package.json');\n if (!existsSync(packageJsonPath)) return {};\n\n const { dependencies = {}, devDependencies = {} } = JSON.parse(\n readFileSync(packageJsonPath, 'utf-8')\n );\n return { ...dependencies, ...devDependencies };\n } catch {\n return {};\n }\n}\n\nfunction getInitialSkills(\n deps: Record<string, string>\n): (keyof typeof SKILLS_METADATA)[] {\n const skills: (keyof typeof SKILLS_METADATA)[] = [\n 'Usage',\n 'Config',\n 'Content',\n 'RemoteContent',\n ];\n\n if (deps.react || deps.next) skills.push('React');\n if (deps.next) skills.push('NextJS');\n if (deps.preact) skills.push('Preact');\n if (deps['solid-js']) skills.push('Solid');\n if (deps.vue || deps.nuxt) skills.push('Vue');\n if (deps.svelte || deps['@sveltejs/kit']) skills.push('Svelte');\n if (deps.astro) skills.push('Astro');\n\n return skills;\n}\n\n// --- Main CLI Action ---\n\nexport const initSkills = async (projectRoot?: string) => {\n const root = findProjectRoot(\n projectRoot ? resolve(projectRoot) : process.cwd()\n );\n\n p.intro('Initializing Intlayer skills');\n\n const detectedPlatform = getDetectedPlatform();\n\n let platforms: Platform[];\n try {\n const response = await enquirer.prompt<{ platforms: Platform[] }>({\n type: 'autocomplete',\n name: 'platforms',\n message: 'Which platforms are you using? (Type to search)',\n multiple: true,\n initial: detectedPlatform\n ? PLATFORM_OPTIONS.findIndex((p) => p.value === detectedPlatform)\n : undefined,\n choices: PLATFORM_OPTIONS.map((p) => ({\n name: p.value,\n message: p.label,\n hint: p.hint,\n })),\n });\n platforms = response.platforms;\n } catch {\n p.cancel('Operation cancelled.');\n return;\n }\n\n if (!platforms || platforms.length === 0) {\n p.log.warn('No platform selected. Nothing to install.');\n return;\n }\n\n const dependencies = getDependencies(root);\n const initialValues = getInitialSkills(dependencies);\n\n const selectedSkills = await p.multiselect({\n message: 'Select the documentation skills to provide to your AI:',\n initialValues,\n options: SKILLS.map((skill) => ({\n value: skill,\n label: skill,\n hint: SKILLS_METADATA[skill],\n })),\n required: false,\n });\n\n if (\n p.isCancel(selectedSkills) ||\n !selectedSkills ||\n (selectedSkills as string[]).length === 0\n ) {\n p.cancel('Operation cancelled. No skills selected.');\n return;\n }\n\n const s = p.spinner();\n s.start('Installing skills...');\n\n try {\n const installPromises = platforms.map((platform) =>\n installSkills(\n root,\n platform,\n selectedSkills as (keyof typeof SKILLS_METADATA)[]\n )\n );\n\n const results = await Promise.all(installPromises);\n s.stop('Skills installed successfully');\n\n for (const result of results) {\n p.note(result, 'Success');\n }\n } catch (error) {\n s.stop('Failed to install skills');\n p.log.error(error instanceof Error ? error.message : String(error));\n }\n\n p.outro('Intlayer skills initialization complete');\n};\n"],"mappings":"mSAcA,MAAM,EAAuE,CAC3E,CACE,UACE,QAAQ,IAAI,SAAW,QAAU,QAAQ,IAAI,eAAiB,SAChE,SAAU,SACX,CACD,CACE,UACE,QAAQ,IAAI,WAAa,QACzB,QAAQ,IAAI,eAAiB,WAC/B,SAAU,WACX,CACD,CACE,UACE,QAAQ,IAAI,OAAS,QAAU,QAAQ,IAAI,eAAiB,OAC9D,SAAU,OACX,CACD,CAAE,UAAa,QAAQ,IAAI,UAAY,OAAQ,SAAU,SAAU,CACnE,CACE,UACE,QAAQ,IAAI,SAAW,QAAU,QAAQ,IAAI,eAAiB,SAChE,SAAU,SACX,CACD,CAAE,UAAa,QAAQ,IAAI,WAAa,OAAQ,SAAU,WAAY,CACtE,CAAE,UAAa,QAAQ,IAAI,SAAW,OAAQ,SAAU,SAAU,CAClE,CACE,UACE,QAAQ,IAAI,iBAAmB,QAAU,CAAC,CAAC,QAAQ,IAAI,iBACzD,SAAU,SACX,CACF,CAEK,EAID,CACH,CAAE,MAAO,SAAU,MAAO,SAAU,KAAM,mBAAoB,CAC9D,CAAE,MAAO,WAAY,MAAO,WAAY,KAAM,qBAAsB,CACpE,CAAE,MAAO,OAAQ,MAAO,OAAQ,KAAM,iBAAkB,CACxD,CAAE,MAAO,SAAU,MAAO,UAAW,KAAM,iBAAkB,CAC7D,CAAE,MAAO,SAAU,MAAO,UAAW,KAAM,mBAAoB,CAC/D,CAAE,MAAO,WAAY,MAAO,WAAY,KAAM,qBAAsB,CACpE,CAAE,MAAO,SAAU,MAAO,cAAe,KAAM,mBAAoB,CACnE,CACE,MAAO,SACP,MAAO,2BACP,KAAM,mBACP,CACD,CAAE,MAAO,cAAe,MAAO,cAAe,KAAM,kBAAmB,CACvE,CAAE,MAAO,UAAW,MAAO,UAAW,KAAM,oBAAqB,CACjE,CAAE,MAAO,WAAY,MAAO,WAAY,KAAM,WAAY,CAC1D,CAAE,MAAO,QAAS,MAAO,QAAS,KAAM,kBAAmB,CAC3D,CAAE,MAAO,YAAa,MAAO,YAAa,KAAM,sBAAuB,CACvE,CACE,MAAO,cACP,MAAO,eACP,KAAM,wBACP,CACD,CAAE,MAAO,WAAY,MAAO,WAAY,KAAM,qBAAsB,CACpE,CAAE,MAAO,QAAS,MAAO,QAAS,KAAM,kBAAmB,CAC3D,CAAE,MAAO,QAAS,MAAO,QAAS,KAAM,oBAAqB,CAC7D,CAAE,MAAO,QAAS,MAAO,QAAS,KAAM,kBAAmB,CAC3D,CAAE,MAAO,QAAS,MAAO,YAAa,KAAM,kBAAmB,CAC/D,CAAE,MAAO,QAAS,MAAO,QAAS,KAAM,kBAAmB,CAC3D,CAAE,MAAO,WAAY,MAAO,YAAa,KAAM,qBAAsB,CACrE,CAAE,MAAO,OAAQ,MAAO,WAAY,KAAM,iBAAkB,CAC5D,CAAE,MAAO,OAAQ,MAAO,OAAQ,KAAM,iBAAkB,CACxD,CAAE,MAAO,SAAU,MAAO,SAAU,KAAM,mBAAoB,CAC9D,CAAE,MAAO,cAAe,MAAO,eAAgB,KAAM,iBAAkB,CACvE,CAAE,MAAO,MAAO,MAAO,MAAO,KAAM,gBAAiB,CACrD,CAAE,MAAO,YAAa,MAAO,YAAa,KAAM,sBAAuB,CACvE,CAAE,MAAO,KAAM,MAAO,KAAM,KAAM,eAAgB,CAClD,CAAE,MAAO,QAAS,MAAO,QAAS,KAAM,kBAAmB,CAC3D,CAAE,MAAO,OAAQ,MAAO,YAAa,KAAM,iBAAkB,CAC7D,CAAE,MAAO,UAAW,MAAO,WAAY,KAAM,gBAAiB,CAC9D,CAAE,MAAO,WAAY,MAAO,WAAY,KAAM,qBAAsB,CACpE,CAAE,MAAO,UAAW,MAAO,UAAW,KAAM,oBAAqB,CACjE,CAAE,MAAO,QAAS,MAAO,QAAS,KAAM,kBAAmB,CAC3D,CAAE,MAAO,QAAS,MAAO,QAAS,KAAM,WAAY,CACrD,CAIY,MACX,EAAgB,MAAM,CAAE,WAAY,GAAO,CAAC,EAAE,SAEhD,SAAS,EAAgB,EAAsC,CAC7D,GAAI,CACF,IAAM,EAAkB,EAAK,EAAM,eAAe,CAClD,GAAI,CAAC,EAAW,EAAgB,CAAE,MAAO,EAAE,CAE3C,GAAM,CAAE,eAAe,EAAE,CAAE,kBAAkB,EAAE,EAAK,KAAK,MACvD,EAAa,EAAiB,QAAQ,CACvC,CACD,MAAO,CAAE,GAAG,EAAc,GAAG,EAAiB,MACxC,CACN,MAAO,EAAE,EAIb,SAAS,EACP,EACkC,CAClC,IAAM,EAA2C,CAC/C,QACA,SACA,UACA,gBACD,CAUD,OARI,EAAK,OAAS,EAAK,OAAM,EAAO,KAAK,QAAQ,CAC7C,EAAK,MAAM,EAAO,KAAK,SAAS,CAChC,EAAK,QAAQ,EAAO,KAAK,SAAS,CAClC,EAAK,aAAa,EAAO,KAAK,QAAQ,EACtC,EAAK,KAAO,EAAK,OAAM,EAAO,KAAK,MAAM,EACzC,EAAK,QAAU,EAAK,mBAAkB,EAAO,KAAK,SAAS,CAC3D,EAAK,OAAO,EAAO,KAAK,QAAQ,CAE7B,EAKT,MAAa,EAAa,KAAO,IAAyB,CACxD,IAAM,EAAO,EACX,EAAc,EAAQ,EAAY,CAAG,QAAQ,KAAK,CACnD,CAED,EAAE,MAAM,+BAA+B,CAEvC,IAAM,EAAmB,GAAqB,CAE1C,EACJ,GAAI,CAeF,GAdiB,MAAM,EAAS,OAAkC,CAChE,KAAM,eACN,KAAM,YACN,QAAS,kDACT,SAAU,GACV,QAAS,EACL,EAAiB,UAAW,GAAM,EAAE,QAAU,EAAiB,CAC/D,IAAA,GACJ,QAAS,EAAiB,IAAK,IAAO,CACpC,KAAM,EAAE,MACR,QAAS,EAAE,MACX,KAAM,EAAE,KACT,EAAE,CACJ,CAAC,EACmB,eACf,CACN,EAAE,OAAO,uBAAuB,CAChC,OAGF,GAAI,CAAC,GAAa,EAAU,SAAW,EAAG,CACxC,EAAE,IAAI,KAAK,4CAA4C,CACvD,OAIF,IAAM,EAAgB,EADD,EAAgB,EAAK,CACU,CAE9C,EAAiB,MAAM,EAAE,YAAY,CACzC,QAAS,yDACT,gBACA,QAAS,EAAO,IAAK,IAAW,CAC9B,MAAO,EACP,MAAO,EACP,KAAM,EAAgB,GACvB,EAAE,CACH,SAAU,GACX,CAAC,CAEF,GACE,EAAE,SAAS,EAAe,EAC1B,CAAC,GACA,EAA4B,SAAW,EACxC,CACA,EAAE,OAAO,2CAA2C,CACpD,OAGF,IAAM,EAAI,EAAE,SAAS,CACrB,EAAE,MAAM,uBAAuB,CAE/B,GAAI,CACF,IAAM,EAAkB,EAAU,IAAK,GACrC,EACE,EACA,EACA,EACD,CACF,CAEK,EAAU,MAAM,QAAQ,IAAI,EAAgB,CAClD,EAAE,KAAK,gCAAgC,CAEvC,IAAK,IAAM,KAAU,EACnB,EAAE,KAAK,EAAQ,UAAU,OAEpB,EAAO,CACd,EAAE,KAAK,2BAA2B,CAClC,EAAE,IAAI,MAAM,aAAiB,MAAQ,EAAM,QAAU,OAAO,EAAM,CAAC,CAGrE,EAAE,MAAM,0CAA0C"}
@@ -1,39 +1,2 @@
1
- import { formatPath } from "@intlayer/chokidar";
2
- import { colon, colorizeKey, colorizeNumber, getAppLogger, getConfiguration } from "@intlayer/config";
3
- import { relative } from "node:path";
4
- import { getUnmergedDictionaries } from "@intlayer/unmerged-dictionaries-entry";
5
-
6
- //#region src/listContentDeclaration.ts
7
- const listContentDeclarationRows = (options) => {
8
- const config = getConfiguration(options?.configOptions);
9
- const unmergedDictionariesRecord = getUnmergedDictionaries(config);
10
- return Object.values(unmergedDictionariesRecord).flat().map((dictionary) => ({
11
- key: dictionary.key ?? "",
12
- path: options?.absolute ? dictionary.filePath ?? "Remote" : relative(config.content.baseDir, dictionary.filePath ?? "Remote")
13
- }));
14
- };
15
- const listContentDeclaration = (options) => {
16
- const rows = listContentDeclarationRows(options);
17
- if (options?.json) {
18
- console.log(JSON.stringify(rows));
19
- return;
20
- }
21
- const appLogger = getAppLogger(getConfiguration(options?.configOptions));
22
- const lines = rows.map((row) => [
23
- colon(` - ${colorizeKey(row.key)}`, {
24
- colSize: rows.map((row) => row.key.length),
25
- maxSize: 60
26
- }),
27
- " - ",
28
- formatPath(row.path)
29
- ].join(""));
30
- appLogger(`Content declaration files:`);
31
- lines.forEach((line) => {
32
- appLogger(line, { level: "info" });
33
- });
34
- appLogger(`Total content declaration files: ${colorizeNumber(rows.length)}`);
35
- };
36
-
37
- //#endregion
38
- export { listContentDeclaration, listContentDeclarationRows };
1
+ import{formatPath as e}from"@intlayer/chokidar/utils";import{getConfiguration as t}from"@intlayer/config/node";import{relative as n}from"node:path";import{colon as r,colorizeKey as i,colorizeNumber as a,getAppLogger as o}from"@intlayer/config/logger";import{getUnmergedDictionaries as s}from"@intlayer/unmerged-dictionaries-entry";const c=e=>{let r=t(e?.configOptions),i=s(r);return Object.values(i).flat().map(t=>({key:t.key??``,path:e?.absolute?t.filePath??`Remote`:n(r.content.baseDir,t.filePath??`Remote`)}))},l=n=>{let s=c(n);if(n?.json){console.log(JSON.stringify(s));return}let l=o(t(n?.configOptions)),u=s.map(t=>[r(` - ${i(t.key)}`,{colSize:s.map(e=>e.key.length),maxSize:60}),` - `,e(t.path)].join(``));l(`Content declaration files:`),u.forEach(e=>{l(e,{level:`info`})}),l(`Total content declaration files: ${a(s.length)}`)};export{l as listContentDeclaration,c as listContentDeclarationRows};
39
2
  //# sourceMappingURL=listContentDeclaration.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"listContentDeclaration.mjs","names":[],"sources":["../../src/listContentDeclaration.ts"],"sourcesContent":["import { relative } from 'node:path';\nimport { formatPath } from '@intlayer/chokidar';\nimport {\n colon,\n colorizeKey,\n colorizeNumber,\n type GetConfigurationOptions,\n getAppLogger,\n getConfiguration,\n} from '@intlayer/config';\nimport { getUnmergedDictionaries } from '@intlayer/unmerged-dictionaries-entry';\n\ntype ListContentDeclarationOptions = {\n configOptions?: GetConfigurationOptions;\n json?: boolean;\n absolute?: boolean;\n};\n\nexport const listContentDeclarationRows = (\n options?: ListContentDeclarationOptions\n) => {\n const config = getConfiguration(options?.configOptions);\n\n const unmergedDictionariesRecord = getUnmergedDictionaries(config);\n\n const rows = Object.values(unmergedDictionariesRecord)\n .flat()\n .map((dictionary) => ({\n key: dictionary.key ?? '',\n path: options?.absolute\n ? (dictionary.filePath ?? 'Remote')\n : relative(config.content.baseDir, dictionary.filePath ?? 'Remote'),\n }));\n return rows;\n};\n\nexport const listContentDeclaration = (\n options?: ListContentDeclarationOptions\n) => {\n const rows = listContentDeclarationRows(options);\n\n if (options?.json) {\n console.log(JSON.stringify(rows));\n return;\n }\n\n const config = getConfiguration(options?.configOptions);\n const appLogger = getAppLogger(config);\n\n const lines = rows.map((row) =>\n [\n colon(` - ${colorizeKey(row.key)}`, {\n colSize: rows.map((row) => row.key.length),\n maxSize: 60,\n }),\n ' - ',\n formatPath(row.path),\n ].join('')\n );\n\n appLogger(`Content declaration files:`);\n\n lines.forEach((line) => {\n appLogger(line, {\n level: 'info',\n });\n });\n\n appLogger(`Total content declaration files: ${colorizeNumber(rows.length)}`);\n};\n"],"mappings":";;;;;;AAkBA,MAAa,8BACX,YACG;CACH,MAAM,SAAS,iBAAiB,SAAS,cAAc;CAEvD,MAAM,6BAA6B,wBAAwB,OAAO;AAUlE,QARa,OAAO,OAAO,2BAA2B,CACnD,MAAM,CACN,KAAK,gBAAgB;EACpB,KAAK,WAAW,OAAO;EACvB,MAAM,SAAS,WACV,WAAW,YAAY,WACxB,SAAS,OAAO,QAAQ,SAAS,WAAW,YAAY,SAAS;EACtE,EAAE;;AAIP,MAAa,0BACX,YACG;CACH,MAAM,OAAO,2BAA2B,QAAQ;AAEhD,KAAI,SAAS,MAAM;AACjB,UAAQ,IAAI,KAAK,UAAU,KAAK,CAAC;AACjC;;CAIF,MAAM,YAAY,aADH,iBAAiB,SAAS,cAAc,CACjB;CAEtC,MAAM,QAAQ,KAAK,KAAK,QACtB;EACE,MAAM,MAAM,YAAY,IAAI,IAAI,IAAI;GAClC,SAAS,KAAK,KAAK,QAAQ,IAAI,IAAI,OAAO;GAC1C,SAAS;GACV,CAAC;EACF;EACA,WAAW,IAAI,KAAK;EACrB,CAAC,KAAK,GAAG,CACX;AAED,WAAU,6BAA6B;AAEvC,OAAM,SAAS,SAAS;AACtB,YAAU,MAAM,EACd,OAAO,QACR,CAAC;GACF;AAEF,WAAU,oCAAoC,eAAe,KAAK,OAAO,GAAG"}
1
+ {"version":3,"file":"listContentDeclaration.mjs","names":[],"sources":["../../src/listContentDeclaration.ts"],"sourcesContent":["import { relative } from 'node:path';\nimport { formatPath } from '@intlayer/chokidar/utils';\nimport {\n colon,\n colorizeKey,\n colorizeNumber,\n getAppLogger,\n} from '@intlayer/config/logger';\nimport {\n type GetConfigurationOptions,\n getConfiguration,\n} from '@intlayer/config/node';\nimport { getUnmergedDictionaries } from '@intlayer/unmerged-dictionaries-entry';\n\ntype ListContentDeclarationOptions = {\n configOptions?: GetConfigurationOptions;\n json?: boolean;\n absolute?: boolean;\n};\n\nexport const listContentDeclarationRows = (\n options?: ListContentDeclarationOptions\n) => {\n const config = getConfiguration(options?.configOptions);\n\n const unmergedDictionariesRecord = getUnmergedDictionaries(config);\n\n const rows = Object.values(unmergedDictionariesRecord)\n .flat()\n .map((dictionary) => ({\n key: dictionary.key ?? '',\n path: options?.absolute\n ? (dictionary.filePath ?? 'Remote')\n : relative(config.content.baseDir, dictionary.filePath ?? 'Remote'),\n }));\n return rows;\n};\n\nexport const listContentDeclaration = (\n options?: ListContentDeclarationOptions\n) => {\n const rows = listContentDeclarationRows(options);\n\n if (options?.json) {\n console.log(JSON.stringify(rows));\n return;\n }\n\n const config = getConfiguration(options?.configOptions);\n const appLogger = getAppLogger(config);\n\n const lines = rows.map((row) =>\n [\n colon(` - ${colorizeKey(row.key)}`, {\n colSize: rows.map((row) => row.key.length),\n maxSize: 60,\n }),\n ' - ',\n formatPath(row.path),\n ].join('')\n );\n\n appLogger(`Content declaration files:`);\n\n lines.forEach((line) => {\n appLogger(line, {\n level: 'info',\n });\n });\n\n appLogger(`Total content declaration files: ${colorizeNumber(rows.length)}`);\n};\n"],"mappings":"2UAoBA,MAAa,EACX,GACG,CACH,IAAM,EAAS,EAAiB,GAAS,cAAc,CAEjD,EAA6B,EAAwB,EAAO,CAUlE,OARa,OAAO,OAAO,EAA2B,CACnD,MAAM,CACN,IAAK,IAAgB,CACpB,IAAK,EAAW,KAAO,GACvB,KAAM,GAAS,SACV,EAAW,UAAY,SACxB,EAAS,EAAO,QAAQ,QAAS,EAAW,UAAY,SAAS,CACtE,EAAE,EAIM,EACX,GACG,CACH,IAAM,EAAO,EAA2B,EAAQ,CAEhD,GAAI,GAAS,KAAM,CACjB,QAAQ,IAAI,KAAK,UAAU,EAAK,CAAC,CACjC,OAIF,IAAM,EAAY,EADH,EAAiB,GAAS,cAAc,CACjB,CAEhC,EAAQ,EAAK,IAAK,GACtB,CACE,EAAM,MAAM,EAAY,EAAI,IAAI,GAAI,CAClC,QAAS,EAAK,IAAK,GAAQ,EAAI,IAAI,OAAO,CAC1C,QAAS,GACV,CAAC,CACF,MACA,EAAW,EAAI,KAAK,CACrB,CAAC,KAAK,GAAG,CACX,CAED,EAAU,6BAA6B,CAEvC,EAAM,QAAS,GAAS,CACtB,EAAU,EAAM,CACd,MAAO,OACR,CAAC,EACF,CAEF,EAAU,oCAAoC,EAAe,EAAK,OAAO,GAAG"}
@@ -1,27 +1,2 @@
1
- import { relative } from "node:path";
2
- import { listProjects } from "@intlayer/chokidar/cli";
3
-
4
- //#region src/listProjects.ts
5
- const listProjectsCommand = async (options) => {
6
- const { searchDir, projectsPath } = await listProjects(options);
7
- const projectsRelativePath = projectsPath.map((projectPath) => options?.absolute ? projectPath : relative(searchDir, projectPath)).map((projectPath) => projectPath === "" ? "." : projectPath);
8
- if (options?.json) {
9
- console.dir(projectsRelativePath, {
10
- depth: null,
11
- arrayLimit: null
12
- });
13
- return;
14
- }
15
- if (projectsPath.length === 0) {
16
- console.log("No Intlayer projects found.");
17
- return;
18
- }
19
- console.log(`Found ${projectsPath.length} Intlayer project(s):\n`);
20
- projectsPath.forEach((project) => {
21
- console.log(` - ${project}`);
22
- });
23
- };
24
-
25
- //#endregion
26
- export { listProjectsCommand };
1
+ import{relative as e}from"node:path";import{listProjects as t}from"@intlayer/chokidar/cli";const n=async n=>{let{searchDir:r,projectsPath:i}=await t(n),a=i.map(t=>n?.absolute?t:e(r,t)).map(e=>e===``?`.`:e);if(n?.json){console.dir(a,{depth:null,arrayLimit:null});return}if(i.length===0){console.log(`No Intlayer projects found.`);return}console.log(`Found ${i.length} Intlayer project(s):\n`),i.forEach(e=>{console.log(` - ${e}`)})};export{n as listProjectsCommand};
27
2
  //# sourceMappingURL=listProjects.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"listProjects.mjs","names":[],"sources":["../../src/listProjects.ts"],"sourcesContent":["import { relative } from 'node:path';\nimport { type ListProjectsOptions, listProjects } from '@intlayer/chokidar/cli';\n\nexport type ListProjectsCommandOptions = ListProjectsOptions & {\n json?: boolean;\n absolute?: boolean;\n};\n\nexport const listProjectsCommand = async (\n options?: ListProjectsCommandOptions\n) => {\n const { searchDir, projectsPath } = await listProjects(options);\n\n const projectsRelativePath = projectsPath\n .map((projectPath) =>\n options?.absolute ? projectPath : relative(searchDir, projectPath)\n )\n .map((projectPath) => (projectPath === '' ? '.' : projectPath));\n\n if (options?.json) {\n console.dir(projectsRelativePath, { depth: null, arrayLimit: null });\n return;\n }\n\n if (projectsPath.length === 0) {\n console.log('No Intlayer projects found.');\n return;\n }\n\n console.log(`Found ${projectsPath.length} Intlayer project(s):\\n`);\n projectsPath.forEach((project) => {\n console.log(` - ${project}`);\n });\n};\n"],"mappings":";;;;AAQA,MAAa,sBAAsB,OACjC,YACG;CACH,MAAM,EAAE,WAAW,iBAAiB,MAAM,aAAa,QAAQ;CAE/D,MAAM,uBAAuB,aAC1B,KAAK,gBACJ,SAAS,WAAW,cAAc,SAAS,WAAW,YAAY,CACnE,CACA,KAAK,gBAAiB,gBAAgB,KAAK,MAAM,YAAa;AAEjE,KAAI,SAAS,MAAM;AACjB,UAAQ,IAAI,sBAAsB;GAAE,OAAO;GAAM,YAAY;GAAM,CAAC;AACpE;;AAGF,KAAI,aAAa,WAAW,GAAG;AAC7B,UAAQ,IAAI,8BAA8B;AAC1C;;AAGF,SAAQ,IAAI,SAAS,aAAa,OAAO,yBAAyB;AAClE,cAAa,SAAS,YAAY;AAChC,UAAQ,IAAI,OAAO,UAAU;GAC7B"}
1
+ {"version":3,"file":"listProjects.mjs","names":[],"sources":["../../src/listProjects.ts"],"sourcesContent":["import { relative } from 'node:path';\nimport { type ListProjectsOptions, listProjects } from '@intlayer/chokidar/cli';\n\nexport type ListProjectsCommandOptions = ListProjectsOptions & {\n json?: boolean;\n absolute?: boolean;\n};\n\nexport const listProjectsCommand = async (\n options?: ListProjectsCommandOptions\n) => {\n const { searchDir, projectsPath } = await listProjects(options);\n\n const projectsRelativePath = projectsPath\n .map((projectPath) =>\n options?.absolute ? projectPath : relative(searchDir, projectPath)\n )\n .map((projectPath) => (projectPath === '' ? '.' : projectPath));\n\n if (options?.json) {\n console.dir(projectsRelativePath, { depth: null, arrayLimit: null });\n return;\n }\n\n if (projectsPath.length === 0) {\n console.log('No Intlayer projects found.');\n return;\n }\n\n console.log(`Found ${projectsPath.length} Intlayer project(s):\\n`);\n projectsPath.forEach((project) => {\n console.log(` - ${project}`);\n });\n};\n"],"mappings":"2FAQA,MAAa,EAAsB,KACjC,IACG,CACH,GAAM,CAAE,YAAW,gBAAiB,MAAM,EAAa,EAAQ,CAEzD,EAAuB,EAC1B,IAAK,GACJ,GAAS,SAAW,EAAc,EAAS,EAAW,EAAY,CACnE,CACA,IAAK,GAAiB,IAAgB,GAAK,IAAM,EAAa,CAEjE,GAAI,GAAS,KAAM,CACjB,QAAQ,IAAI,EAAsB,CAAE,MAAO,KAAM,WAAY,KAAM,CAAC,CACpE,OAGF,GAAI,EAAa,SAAW,EAAG,CAC7B,QAAQ,IAAI,8BAA8B,CAC1C,OAGF,QAAQ,IAAI,SAAS,EAAa,OAAO,yBAAyB,CAClE,EAAa,QAAS,GAAY,CAChC,QAAQ,IAAI,OAAO,IAAU,EAC7B"}