@ai-dev-tools/test-copilot-core 1.0.19

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 (328) hide show
  1. package/README.md +6 -0
  2. package/azure-pipelines.yml +51 -0
  3. package/out/cli/commands/appInsightTelemetry.d.ts +7 -0
  4. package/out/cli/commands/appInsightTelemetry.d.ts.map +1 -0
  5. package/out/cli/commands/appInsightTelemetry.js +76 -0
  6. package/out/cli/commands/appInsightTelemetry.js.map +1 -0
  7. package/out/cli/commands/cliConfig.d.ts +4 -0
  8. package/out/cli/commands/cliConfig.d.ts.map +1 -0
  9. package/out/cli/commands/cliConfig.js +68 -0
  10. package/out/cli/commands/cliConfig.js.map +1 -0
  11. package/out/cli/commands/prompt.d.ts +6 -0
  12. package/out/cli/commands/prompt.d.ts.map +1 -0
  13. package/out/cli/commands/prompt.js +29 -0
  14. package/out/cli/commands/prompt.js.map +1 -0
  15. package/out/cli/commands/ut.d.ts +14 -0
  16. package/out/cli/commands/ut.d.ts.map +1 -0
  17. package/out/cli/commands/ut.js +72 -0
  18. package/out/cli/commands/ut.js.map +1 -0
  19. package/out/cli/commands/utPipeCmdWrapper.d.ts +18 -0
  20. package/out/cli/commands/utPipeCmdWrapper.d.ts.map +1 -0
  21. package/out/cli/commands/utPipeCmdWrapper.js +37 -0
  22. package/out/cli/commands/utPipeCmdWrapper.js.map +1 -0
  23. package/out/cli/config/index.d.ts +15 -0
  24. package/out/cli/config/index.d.ts.map +1 -0
  25. package/out/cli/config/index.js +10 -0
  26. package/out/cli/config/index.js.map +1 -0
  27. package/out/cli/index.d.ts +3 -0
  28. package/out/cli/index.d.ts.map +1 -0
  29. package/out/cli/index.js +169 -0
  30. package/out/cli/index.js.map +1 -0
  31. package/out/cli/type.d.ts +11 -0
  32. package/out/cli/type.d.ts.map +1 -0
  33. package/out/cli/type.js +3 -0
  34. package/out/cli/type.js.map +1 -0
  35. package/out/cli/utils/ds.d.ts +3 -0
  36. package/out/cli/utils/ds.d.ts.map +1 -0
  37. package/out/cli/utils/ds.js +50 -0
  38. package/out/cli/utils/ds.js.map +1 -0
  39. package/out/cli/utils/gpt.d.ts +3 -0
  40. package/out/cli/utils/gpt.d.ts.map +1 -0
  41. package/out/cli/utils/gpt.js +63 -0
  42. package/out/cli/utils/gpt.js.map +1 -0
  43. package/out/core/analyze/cjs.d.ts +61 -0
  44. package/out/core/analyze/cjs.d.ts.map +1 -0
  45. package/out/core/analyze/cjs.js +358 -0
  46. package/out/core/analyze/cjs.js.map +1 -0
  47. package/out/core/analyze/class.d.ts +4 -0
  48. package/out/core/analyze/class.d.ts.map +1 -0
  49. package/out/core/analyze/class.js +32 -0
  50. package/out/core/analyze/class.js.map +1 -0
  51. package/out/core/analyze/declares.d.ts +7 -0
  52. package/out/core/analyze/declares.d.ts.map +1 -0
  53. package/out/core/analyze/declares.js +316 -0
  54. package/out/core/analyze/declares.js.map +1 -0
  55. package/out/core/analyze/deps.d.ts +8 -0
  56. package/out/core/analyze/deps.d.ts.map +1 -0
  57. package/out/core/analyze/deps.js +210 -0
  58. package/out/core/analyze/deps.js.map +1 -0
  59. package/out/core/analyze/functionComponent.d.ts +4 -0
  60. package/out/core/analyze/functionComponent.d.ts.map +1 -0
  61. package/out/core/analyze/functionComponent.js +77 -0
  62. package/out/core/analyze/functionComponent.js.map +1 -0
  63. package/out/core/analyze/functions.d.ts +4 -0
  64. package/out/core/analyze/functions.d.ts.map +1 -0
  65. package/out/core/analyze/functions.js +46 -0
  66. package/out/core/analyze/functions.js.map +1 -0
  67. package/out/core/analyze/index.d.ts +16 -0
  68. package/out/core/analyze/index.d.ts.map +1 -0
  69. package/out/core/analyze/index.js +149 -0
  70. package/out/core/analyze/index.js.map +1 -0
  71. package/out/core/analyze/index.type.d.ts +69 -0
  72. package/out/core/analyze/index.type.d.ts.map +1 -0
  73. package/out/core/analyze/index.type.js +14 -0
  74. package/out/core/analyze/index.type.js.map +1 -0
  75. package/out/core/analyze/utils/global.d.ts +2 -0
  76. package/out/core/analyze/utils/global.d.ts.map +1 -0
  77. package/out/core/analyze/utils/global.js +84 -0
  78. package/out/core/analyze/utils/global.js.map +1 -0
  79. package/out/core/analyzev2/declare/class.d.ts +4 -0
  80. package/out/core/analyzev2/declare/class.d.ts.map +1 -0
  81. package/out/core/analyzev2/declare/class.js +24 -0
  82. package/out/core/analyzev2/declare/class.js.map +1 -0
  83. package/out/core/analyzev2/declare/funcLike.d.ts +8 -0
  84. package/out/core/analyzev2/declare/funcLike.d.ts.map +1 -0
  85. package/out/core/analyzev2/declare/funcLike.js +71 -0
  86. package/out/core/analyzev2/declare/funcLike.js.map +1 -0
  87. package/out/core/analyzev2/declare/variable.d.ts +3 -0
  88. package/out/core/analyzev2/declare/variable.d.ts.map +1 -0
  89. package/out/core/analyzev2/declare/variable.js +15 -0
  90. package/out/core/analyzev2/declare/variable.js.map +1 -0
  91. package/out/core/analyzev2/file.d.ts +19 -0
  92. package/out/core/analyzev2/file.d.ts.map +1 -0
  93. package/out/core/analyzev2/file.js +449 -0
  94. package/out/core/analyzev2/file.js.map +1 -0
  95. package/out/core/analyzev2/index.d.ts +5 -0
  96. package/out/core/analyzev2/index.d.ts.map +1 -0
  97. package/out/core/analyzev2/index.js +30 -0
  98. package/out/core/analyzev2/index.js.map +1 -0
  99. package/out/core/analyzev2/type.d.ts +35 -0
  100. package/out/core/analyzev2/type.d.ts.map +1 -0
  101. package/out/core/analyzev2/type.js +3 -0
  102. package/out/core/analyzev2/type.js.map +1 -0
  103. package/out/core/config/index.d.ts +25 -0
  104. package/out/core/config/index.d.ts.map +1 -0
  105. package/out/core/config/index.js +14 -0
  106. package/out/core/config/index.js.map +1 -0
  107. package/out/core/constants.d.ts +9 -0
  108. package/out/core/constants.d.ts.map +1 -0
  109. package/out/core/constants.js +12 -0
  110. package/out/core/constants.js.map +1 -0
  111. package/out/core/features/common/base.d.ts +20 -0
  112. package/out/core/features/common/base.d.ts.map +1 -0
  113. package/out/core/features/common/base.js +77 -0
  114. package/out/core/features/common/base.js.map +1 -0
  115. package/out/core/features/common/types.d.ts +16 -0
  116. package/out/core/features/common/types.d.ts.map +1 -0
  117. package/out/core/features/common/types.js +12 -0
  118. package/out/core/features/common/types.js.map +1 -0
  119. package/out/core/features/generateFile.d.ts +31 -0
  120. package/out/core/features/generateFile.d.ts.map +1 -0
  121. package/out/core/features/generateFile.js +148 -0
  122. package/out/core/features/generateFile.js.map +1 -0
  123. package/out/core/features/generateSingle.d.ts +28 -0
  124. package/out/core/features/generateSingle.d.ts.map +1 -0
  125. package/out/core/features/generateSingle.js +149 -0
  126. package/out/core/features/generateSingle.js.map +1 -0
  127. package/out/core/features/index.d.ts +9 -0
  128. package/out/core/features/index.d.ts.map +1 -0
  129. package/out/core/features/index.js +16 -0
  130. package/out/core/features/index.js.map +1 -0
  131. package/out/core/features/lintFix.d.ts +2 -0
  132. package/out/core/features/lintFix.d.ts.map +1 -0
  133. package/out/core/features/lintFix.js +33 -0
  134. package/out/core/features/lintFix.js.map +1 -0
  135. package/out/core/features/mergeUTFile.d.ts +19 -0
  136. package/out/core/features/mergeUTFile.d.ts.map +1 -0
  137. package/out/core/features/mergeUTFile.js +63 -0
  138. package/out/core/features/mergeUTFile.js.map +1 -0
  139. package/out/core/features/removeFailedCases.d.ts +23 -0
  140. package/out/core/features/removeFailedCases.d.ts.map +1 -0
  141. package/out/core/features/removeFailedCases.js +81 -0
  142. package/out/core/features/removeFailedCases.js.map +1 -0
  143. package/out/core/features/updateSpec.d.ts +20 -0
  144. package/out/core/features/updateSpec.d.ts.map +1 -0
  145. package/out/core/features/updateSpec.js +98 -0
  146. package/out/core/features/updateSpec.js.map +1 -0
  147. package/out/core/features/validFix.d.ts +29 -0
  148. package/out/core/features/validFix.d.ts.map +1 -0
  149. package/out/core/features/validFix.js +219 -0
  150. package/out/core/features/validFix.js.map +1 -0
  151. package/out/core/generate/UTGen.d.ts +79 -0
  152. package/out/core/generate/UTGen.d.ts.map +1 -0
  153. package/out/core/generate/UTGen.js +795 -0
  154. package/out/core/generate/UTGen.js.map +1 -0
  155. package/out/core/llm/index.d.ts +9 -0
  156. package/out/core/llm/index.d.ts.map +1 -0
  157. package/out/core/llm/index.js +39 -0
  158. package/out/core/llm/index.js.map +1 -0
  159. package/out/core/llm/prompts/config.d.ts +6 -0
  160. package/out/core/llm/prompts/config.d.ts.map +1 -0
  161. package/out/core/llm/prompts/config.js +239 -0
  162. package/out/core/llm/prompts/config.js.map +1 -0
  163. package/out/core/llm/prompts/templates/common.d.ts +3 -0
  164. package/out/core/llm/prompts/templates/common.d.ts.map +1 -0
  165. package/out/core/llm/prompts/templates/common.js +27 -0
  166. package/out/core/llm/prompts/templates/common.js.map +1 -0
  167. package/out/core/llm/prompts/templates/fixCase.d.ts +4 -0
  168. package/out/core/llm/prompts/templates/fixCase.d.ts.map +1 -0
  169. package/out/core/llm/prompts/templates/fixCase.js +46 -0
  170. package/out/core/llm/prompts/templates/fixCase.js.map +1 -0
  171. package/out/core/llm/prompts/templates/fixLint.d.ts +3 -0
  172. package/out/core/llm/prompts/templates/fixLint.d.ts.map +1 -0
  173. package/out/core/llm/prompts/templates/fixLint.js +22 -0
  174. package/out/core/llm/prompts/templates/fixLint.js.map +1 -0
  175. package/out/core/llm/prompts/templates/genClassMemberUT.d.ts +5 -0
  176. package/out/core/llm/prompts/templates/genClassMemberUT.d.ts.map +1 -0
  177. package/out/core/llm/prompts/templates/genClassMemberUT.js +115 -0
  178. package/out/core/llm/prompts/templates/genClassMemberUT.js.map +1 -0
  179. package/out/core/llm/prompts/templates/genFuncUT.d.ts +4 -0
  180. package/out/core/llm/prompts/templates/genFuncUT.d.ts.map +1 -0
  181. package/out/core/llm/prompts/templates/genFuncUT.js +64 -0
  182. package/out/core/llm/prompts/templates/genFuncUT.js.map +1 -0
  183. package/out/core/llm/prompts/templates/mergeUT.d.ts +4 -0
  184. package/out/core/llm/prompts/templates/mergeUT.d.ts.map +1 -0
  185. package/out/core/llm/prompts/templates/mergeUT.js +106 -0
  186. package/out/core/llm/prompts/templates/mergeUT.js.map +1 -0
  187. package/out/core/llm/prompts/templates/msnStudio.d.ts +3 -0
  188. package/out/core/llm/prompts/templates/msnStudio.d.ts.map +1 -0
  189. package/out/core/llm/prompts/templates/msnStudio.js +36 -0
  190. package/out/core/llm/prompts/templates/msnStudio.js.map +1 -0
  191. package/out/core/llm/prompts/templates/snapshotUT.d.ts +4 -0
  192. package/out/core/llm/prompts/templates/snapshotUT.d.ts.map +1 -0
  193. package/out/core/llm/prompts/templates/snapshotUT.js +68 -0
  194. package/out/core/llm/prompts/templates/snapshotUT.js.map +1 -0
  195. package/out/core/llm/prompts/templates/updateSpecBlock.d.ts +3 -0
  196. package/out/core/llm/prompts/templates/updateSpecBlock.d.ts.map +1 -0
  197. package/out/core/llm/prompts/templates/updateSpecBlock.js +38 -0
  198. package/out/core/llm/prompts/templates/updateSpecBlock.js.map +1 -0
  199. package/out/core/llm/prompts/templates/updateSpecFile.d.ts +3 -0
  200. package/out/core/llm/prompts/templates/updateSpecFile.d.ts.map +1 -0
  201. package/out/core/llm/prompts/templates/updateSpecFile.js +30 -0
  202. package/out/core/llm/prompts/templates/updateSpecFile.js.map +1 -0
  203. package/out/core/llm/types.d.ts +80 -0
  204. package/out/core/llm/types.d.ts.map +1 -0
  205. package/out/core/llm/types.js +5 -0
  206. package/out/core/llm/types.js.map +1 -0
  207. package/out/core/quality/validateMockedTest.d.ts +3 -0
  208. package/out/core/quality/validateMockedTest.d.ts.map +1 -0
  209. package/out/core/quality/validateMockedTest.js +211 -0
  210. package/out/core/quality/validateMockedTest.js.map +1 -0
  211. package/out/core/utils/checkTestIgnore.d.ts +4 -0
  212. package/out/core/utils/checkTestIgnore.d.ts.map +1 -0
  213. package/out/core/utils/checkTestIgnore.js +52 -0
  214. package/out/core/utils/checkTestIgnore.js.map +1 -0
  215. package/out/core/utils/common.d.ts +4 -0
  216. package/out/core/utils/common.d.ts.map +1 -0
  217. package/out/core/utils/common.js +34 -0
  218. package/out/core/utils/common.js.map +1 -0
  219. package/out/core/utils/console.d.ts +8 -0
  220. package/out/core/utils/console.d.ts.map +1 -0
  221. package/out/core/utils/console.js +24 -0
  222. package/out/core/utils/console.js.map +1 -0
  223. package/out/core/utils/deps.d.ts +3 -0
  224. package/out/core/utils/deps.d.ts.map +1 -0
  225. package/out/core/utils/deps.js +58 -0
  226. package/out/core/utils/deps.js.map +1 -0
  227. package/out/core/utils/eslintRuleHandler.d.ts +3 -0
  228. package/out/core/utils/eslintRuleHandler.d.ts.map +1 -0
  229. package/out/core/utils/eslintRuleHandler.js +98 -0
  230. package/out/core/utils/eslintRuleHandler.js.map +1 -0
  231. package/out/core/utils/file.d.ts +18 -0
  232. package/out/core/utils/file.d.ts.map +1 -0
  233. package/out/core/utils/file.js +142 -0
  234. package/out/core/utils/file.js.map +1 -0
  235. package/out/core/utils/lint.d.ts +9 -0
  236. package/out/core/utils/lint.d.ts.map +1 -0
  237. package/out/core/utils/lint.js +95 -0
  238. package/out/core/utils/lint.js.map +1 -0
  239. package/out/core/utils/lru.d.ts +12 -0
  240. package/out/core/utils/lru.d.ts.map +1 -0
  241. package/out/core/utils/lru.js +47 -0
  242. package/out/core/utils/lru.js.map +1 -0
  243. package/out/core/utils/move.d.ts +12 -0
  244. package/out/core/utils/move.d.ts.map +1 -0
  245. package/out/core/utils/move.js +93 -0
  246. package/out/core/utils/move.js.map +1 -0
  247. package/out/core/utils/msnStudio.d.ts +13 -0
  248. package/out/core/utils/msnStudio.d.ts.map +1 -0
  249. package/out/core/utils/msnStudio.js +150 -0
  250. package/out/core/utils/msnStudio.js.map +1 -0
  251. package/out/core/utils/parseCustomizedCmd.d.ts +2 -0
  252. package/out/core/utils/parseCustomizedCmd.d.ts.map +1 -0
  253. package/out/core/utils/parseCustomizedCmd.js +32 -0
  254. package/out/core/utils/parseCustomizedCmd.js.map +1 -0
  255. package/out/core/utils/specBlock.d.ts +20 -0
  256. package/out/core/utils/specBlock.d.ts.map +1 -0
  257. package/out/core/utils/specBlock.js +231 -0
  258. package/out/core/utils/specBlock.js.map +1 -0
  259. package/out/core/utils/system.d.ts +13 -0
  260. package/out/core/utils/system.d.ts.map +1 -0
  261. package/out/core/utils/system.js +86 -0
  262. package/out/core/utils/system.js.map +1 -0
  263. package/out/core/utils/telemetry.d.ts +9 -0
  264. package/out/core/utils/telemetry.d.ts.map +1 -0
  265. package/out/core/utils/telemetry.js +32 -0
  266. package/out/core/utils/telemetry.js.map +1 -0
  267. package/out/core/utils/tsMorph.d.ts +13 -0
  268. package/out/core/utils/tsMorph.d.ts.map +1 -0
  269. package/out/core/utils/tsMorph.js +76 -0
  270. package/out/core/utils/tsMorph.js.map +1 -0
  271. package/out/core/valid/customizedLint.d.ts +2 -0
  272. package/out/core/valid/customizedLint.d.ts.map +1 -0
  273. package/out/core/valid/customizedLint.js +64 -0
  274. package/out/core/valid/customizedLint.js.map +1 -0
  275. package/out/core/valid/customizedTest.d.ts +3 -0
  276. package/out/core/valid/customizedTest.d.ts.map +1 -0
  277. package/out/core/valid/customizedTest.js +58 -0
  278. package/out/core/valid/customizedTest.js.map +1 -0
  279. package/out/core/valid/extractVitestConfig.d.ts +5 -0
  280. package/out/core/valid/extractVitestConfig.d.ts.map +1 -0
  281. package/out/core/valid/extractVitestConfig.js +97 -0
  282. package/out/core/valid/extractVitestConfig.js.map +1 -0
  283. package/out/core/valid/getViteConfig.d.ts +2 -0
  284. package/out/core/valid/getViteConfig.d.ts.map +1 -0
  285. package/out/core/valid/getViteConfig.js +65 -0
  286. package/out/core/valid/getViteConfig.js.map +1 -0
  287. package/out/core/valid/index.d.ts +15 -0
  288. package/out/core/valid/index.d.ts.map +1 -0
  289. package/out/core/valid/index.js +99 -0
  290. package/out/core/valid/index.js.map +1 -0
  291. package/out/core/valid/jest.d.ts +4 -0
  292. package/out/core/valid/jest.d.ts.map +1 -0
  293. package/out/core/valid/jest.js +121 -0
  294. package/out/core/valid/jest.js.map +1 -0
  295. package/out/core/valid/mock.d.ts +2 -0
  296. package/out/core/valid/mock.d.ts.map +1 -0
  297. package/out/core/valid/mock.js +149 -0
  298. package/out/core/valid/mock.js.map +1 -0
  299. package/out/core/valid/remove.d.ts +5 -0
  300. package/out/core/valid/remove.d.ts.map +1 -0
  301. package/out/core/valid/remove.js +109 -0
  302. package/out/core/valid/remove.js.map +1 -0
  303. package/out/core/valid/tag.d.ts +3 -0
  304. package/out/core/valid/tag.d.ts.map +1 -0
  305. package/out/core/valid/tag.js +91 -0
  306. package/out/core/valid/tag.js.map +1 -0
  307. package/out/core/valid/type.d.ts +83 -0
  308. package/out/core/valid/type.d.ts.map +1 -0
  309. package/out/core/valid/type.js +3 -0
  310. package/out/core/valid/type.js.map +1 -0
  311. package/out/core/valid/vitest.d.ts +3 -0
  312. package/out/core/valid/vitest.d.ts.map +1 -0
  313. package/out/core/valid/vitest.js +82 -0
  314. package/out/core/valid/vitest.js.map +1 -0
  315. package/out/index.d.ts +20 -0
  316. package/out/index.d.ts.map +1 -0
  317. package/out/index.js +60 -0
  318. package/out/index.js.map +1 -0
  319. package/out/setup.d.ts +11 -0
  320. package/out/setup.d.ts.map +1 -0
  321. package/out/setup.js +14 -0
  322. package/out/setup.js.map +1 -0
  323. package/out/types.d.ts +23 -0
  324. package/out/types.d.ts.map +1 -0
  325. package/out/types.js +3 -0
  326. package/out/types.js.map +1 -0
  327. package/package.json +39 -0
  328. package/package_devops.json +42 -0
@@ -0,0 +1,358 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommonJSAnalyzer = void 0;
4
+ exports.maybeCjs = maybeCjs;
5
+ exports.analyzeCommonJSFile = analyzeCommonJSFile;
6
+ const ts_morph_1 = require("ts-morph");
7
+ const index_type_1 = require("./index.type");
8
+ const tsMorph_1 = require("../utils/tsMorph");
9
+ const declares_1 = require("./declares");
10
+ const localPackageRegex = /^(\.|@)/;
11
+ function maybeCjs(fileName, fileContent) {
12
+ if (fileName.endsWith(".cjs")) {
13
+ return true;
14
+ }
15
+ if (!/\.jsx?$/.test(fileName)) {
16
+ return false;
17
+ }
18
+ return fileContent.includes("module.exports")
19
+ || fileContent.includes("exports.");
20
+ }
21
+ class CommonJSAnalyzer {
22
+ #imports = {};
23
+ #classes = [];
24
+ #functions = [];
25
+ #variables = [];
26
+ #results = [];
27
+ /**
28
+ * Analyzes a CommonJS file to extract imports and exports
29
+ */
30
+ analyzeFile(filePath) {
31
+ const { sourceFile } = (0, tsMorph_1.getProject)(filePath, {
32
+ projectOptions: {
33
+ compilerOptions: {
34
+ allowJs: true,
35
+ checkJs: true,
36
+ }
37
+ }
38
+ });
39
+ if (!sourceFile) {
40
+ return [];
41
+ }
42
+ this.#classes = sourceFile.getClasses();
43
+ this.#functions = sourceFile.getFunctions();
44
+ this.#variables = sourceFile.getVariableDeclarations().filter((decl) => {
45
+ const init = decl.getInitializer();
46
+ if (!init) {
47
+ return false;
48
+ }
49
+ // Check if it's a function expression or arrow function
50
+ if (init.isKind(ts_morph_1.SyntaxKind.FunctionExpression)
51
+ || init.isKind(ts_morph_1.SyntaxKind.FunctionDeclaration)
52
+ || init.isKind(ts_morph_1.SyntaxKind.ArrowFunction)
53
+ || init.isKind(ts_morph_1.SyntaxKind.ClassExpression)
54
+ || init.isKind(ts_morph_1.SyntaxKind.ClassDeclaration)) {
55
+ return true;
56
+ }
57
+ // TODO: Check for HOC
58
+ // if (init.isKind(SyntaxKind.CallExpression)) {
59
+ // }
60
+ return false;
61
+ });
62
+ // Reset results for each analysis
63
+ this.#results = [];
64
+ this.analyzeRequireImports(sourceFile);
65
+ const exports = this.analyzeExports(sourceFile);
66
+ return exports.map(el => ({
67
+ ...el,
68
+ isCommonJS: true,
69
+ importDeclares: this.#imports,
70
+ }));
71
+ }
72
+ /**
73
+ * Analyzes require() imports in a CommonJS file
74
+ */
75
+ analyzeRequireImports(sourceFile) {
76
+ sourceFile.getVariableStatements().forEach((stmt) => {
77
+ stmt.getDeclarations().forEach((decl) => {
78
+ const requireInfo = this.extractRequireInfo(decl);
79
+ if (!requireInfo) {
80
+ return;
81
+ }
82
+ const { moduleName, nameIdentifier } = requireInfo;
83
+ if (!this.#imports[moduleName]) {
84
+ this.#imports[moduleName] = [];
85
+ }
86
+ this.processRequireDeclaration(nameIdentifier, decl, this.#imports[moduleName]);
87
+ });
88
+ });
89
+ }
90
+ /**
91
+ * Extracts require() call information from a variable declaration
92
+ */
93
+ extractRequireInfo(decl) {
94
+ const init = decl.getInitializer();
95
+ if (!init || !init.isKind(ts_morph_1.SyntaxKind.CallExpression) || !init.getText().startsWith("require(")) {
96
+ return null;
97
+ }
98
+ const moduleNameArg = init.getArguments()?.[0];
99
+ if (!moduleNameArg || !moduleNameArg.isKind(ts_morph_1.SyntaxKind.StringLiteral)) {
100
+ return null;
101
+ }
102
+ const moduleName = moduleNameArg.getLiteralValue();
103
+ if (!moduleName || !localPackageRegex.test(moduleName)) {
104
+ return null;
105
+ }
106
+ return {
107
+ moduleName,
108
+ nameIdentifier: decl.getNameNode()
109
+ };
110
+ }
111
+ /**
112
+ * Processes a require declaration and adds it to the imports array
113
+ */
114
+ processRequireDeclaration(nameIdentifier, decl, imports) {
115
+ if (nameIdentifier.isKind(ts_morph_1.SyntaxKind.Identifier)) {
116
+ // Simple case: const foo = require(...)
117
+ const typeNode = decl.getTypeNode();
118
+ const typeText = typeNode ? typeNode.getText() : decl.getType().getText();
119
+ if (typeText) {
120
+ imports.push({
121
+ name: decl.getName(),
122
+ declare: typeText,
123
+ });
124
+ }
125
+ }
126
+ else if (nameIdentifier.isKind(ts_morph_1.SyntaxKind.ObjectBindingPattern)) {
127
+ // Destructuring case: const { foo, bar } = require(...)
128
+ nameIdentifier.getElements().forEach((element) => {
129
+ if (!element.isKind(ts_morph_1.SyntaxKind.BindingElement)) {
130
+ return;
131
+ }
132
+ const name = element.getName();
133
+ const typeText = element.getType()?.getText();
134
+ if (typeText) {
135
+ imports.push({
136
+ name,
137
+ declare: typeText,
138
+ });
139
+ }
140
+ });
141
+ }
142
+ }
143
+ /**
144
+ * Analyzes exports and module.exports in a CommonJS file
145
+ */
146
+ analyzeExports(sourceFile) {
147
+ sourceFile.getStatements().forEach((stmt) => {
148
+ if (!stmt.isKind(ts_morph_1.SyntaxKind.ExpressionStatement)) {
149
+ return;
150
+ }
151
+ const expr = stmt.asKind(ts_morph_1.SyntaxKind.ExpressionStatement).getExpression();
152
+ if (!expr.isKind(ts_morph_1.SyntaxKind.BinaryExpression)) {
153
+ return;
154
+ }
155
+ const leftText = expr.getLeft().getText();
156
+ const right = expr.getRight();
157
+ this.processExportStatement(leftText, right);
158
+ });
159
+ return this.#results;
160
+ }
161
+ /**
162
+ * Processes a single export statement
163
+ */
164
+ processExportStatement(leftText, right) {
165
+ // (module.)exports.xxx = ...
166
+ const exportsMatch = leftText.match(/^(?:module\.)?exports\.(\w+)$/);
167
+ if (exportsMatch) {
168
+ const name = exportsMatch[1];
169
+ this.processNamedExport(name, right);
170
+ return;
171
+ }
172
+ // module.exports = ...
173
+ if (leftText === "module.exports") {
174
+ this.processModuleExport(right);
175
+ }
176
+ }
177
+ /**
178
+ * Processes a named export (exports.xxx = ...)
179
+ */
180
+ processNamedExport(name, right) {
181
+ if (right.isKind(ts_morph_1.SyntaxKind.FunctionExpression) || right.isKind(ts_morph_1.SyntaxKind.FunctionDeclaration) || right.isKind(ts_morph_1.SyntaxKind.ArrowFunction)) {
182
+ this.extractFunction(right, name);
183
+ }
184
+ else if (right.isKind(ts_morph_1.SyntaxKind.ClassExpression) || right.isKind(ts_morph_1.SyntaxKind.ClassDeclaration)) {
185
+ this.extractClass(right, name);
186
+ }
187
+ else if (right.isKind(ts_morph_1.SyntaxKind.Identifier)) {
188
+ // If it's an identifier, we need to find the declaration
189
+ const decl = this.findByName(right.getText());
190
+ this.checkNode(decl, name);
191
+ }
192
+ }
193
+ /**
194
+ * Processes module.exports assignment
195
+ */
196
+ processModuleExport(right) {
197
+ if (right.isKind(ts_morph_1.SyntaxKind.FunctionExpression) || right.isKind(ts_morph_1.SyntaxKind.FunctionDeclaration) || right.isKind(ts_morph_1.SyntaxKind.ArrowFunction)) {
198
+ this.extractFunction(right);
199
+ }
200
+ else if (right.isKind(ts_morph_1.SyntaxKind.ClassExpression)) {
201
+ this.extractClass(right);
202
+ }
203
+ else if (right.isKind(ts_morph_1.SyntaxKind.ObjectLiteralExpression)) {
204
+ this.processObjectLiteralExport(right);
205
+ }
206
+ else if (right.isKind(ts_morph_1.SyntaxKind.Identifier)) {
207
+ this.checkNode(this.findByName(right.getText()), "default", true);
208
+ }
209
+ }
210
+ /**
211
+ * Processes object literal exports (module.exports = { ... })
212
+ */
213
+ processObjectLiteralExport(right) {
214
+ for (const prop of right.getProperties()) {
215
+ if (prop.isKind(ts_morph_1.SyntaxKind.PropertyAssignment)) {
216
+ this.processPropertyAssignment(prop);
217
+ }
218
+ else if (prop.isKind(ts_morph_1.SyntaxKind.ShorthandPropertyAssignment)) {
219
+ this.processShorthandProperty(prop);
220
+ }
221
+ }
222
+ }
223
+ /**
224
+ * Processes property assignment in object literal export
225
+ */
226
+ processPropertyAssignment(prop) {
227
+ const name = prop.getName();
228
+ const value = prop.getInitializer();
229
+ if (!value) {
230
+ return;
231
+ }
232
+ if (value.isKind(ts_morph_1.SyntaxKind.Identifier)) {
233
+ const varName = value.getText();
234
+ const decl = this.findByName(varName);
235
+ this.checkNode(decl, name);
236
+ }
237
+ else {
238
+ this.checkNode(value, name);
239
+ }
240
+ }
241
+ /**
242
+ * Processes shorthand property in object literal export
243
+ */
244
+ processShorthandProperty(prop) {
245
+ const name = prop.getName();
246
+ // Shorthand properties refer to variables or functions in the same scope
247
+ // Cannot directly extract code, so we look for the declaration
248
+ let decl = this.findByName(name);
249
+ this.checkNode(decl, name);
250
+ }
251
+ checkNode(node, name, isDefaultExport = false) {
252
+ if (!node) {
253
+ return;
254
+ }
255
+ let decl = node;
256
+ if (decl.isKind(ts_morph_1.SyntaxKind.VariableDeclaration) && decl.hasInitializer()) {
257
+ decl = decl.getInitializer();
258
+ }
259
+ if (decl.isKind(ts_morph_1.SyntaxKind.FunctionDeclaration) ||
260
+ decl.isKind(ts_morph_1.SyntaxKind.FunctionExpression) ||
261
+ decl.isKind(ts_morph_1.SyntaxKind.ArrowFunction)) {
262
+ this.extractFunction(decl, name, isDefaultExport);
263
+ }
264
+ else if (decl.isKind(ts_morph_1.SyntaxKind.ClassDeclaration) || decl.isKind(ts_morph_1.SyntaxKind.ClassExpression)) {
265
+ this.extractClass(decl, name, isDefaultExport);
266
+ }
267
+ }
268
+ extractFunction(funcNode, name, isDefaultExport = false) {
269
+ let nodeName = name;
270
+ if (!name && funcNode.isKind(ts_morph_1.SyntaxKind.FunctionDeclaration)) {
271
+ nodeName = funcNode.getName?.() || "default";
272
+ }
273
+ else if (!funcNode.isKind(ts_morph_1.SyntaxKind.FunctionDeclaration)) {
274
+ nodeName = nodeName || "default";
275
+ }
276
+ const linesRange = this.extractRange(funcNode);
277
+ this.#results.push({
278
+ type: index_type_1.CodeType.Function,
279
+ name: nodeName,
280
+ code: funcNode.getText(),
281
+ linesRange,
282
+ isDefaultExport
283
+ });
284
+ }
285
+ extractClass(classNode, name, isDefaultExport = false) {
286
+ const classFunctions = this.extractClassFunctions(classNode);
287
+ const linesRange = this.extractRange(classNode);
288
+ let nodeName = name;
289
+ if (!name) {
290
+ name = classNode.getName?.() || "default";
291
+ }
292
+ const classStructure = (0, declares_1.getClassStructure)(classNode, {
293
+ scanFunc: true,
294
+ skipDependencies: true
295
+ });
296
+ this.#results.push({
297
+ type: index_type_1.CodeType.Class,
298
+ name: nodeName,
299
+ code: (0, declares_1.getClassDeclaration)(classStructure),
300
+ classFunctions,
301
+ linesRange,
302
+ isDefaultExport
303
+ });
304
+ }
305
+ /**
306
+ * Extracts class functions from a class expression
307
+ */
308
+ extractClassFunctions(classExpression) {
309
+ const classFunctions = [];
310
+ for (const m of classExpression.getMembers()) {
311
+ this.addClassFunction(classFunctions, m);
312
+ }
313
+ return classFunctions;
314
+ }
315
+ extractRange(node) {
316
+ return [
317
+ node.getStartLineNumber(),
318
+ node.getEndLineNumber(),
319
+ ];
320
+ }
321
+ addClassFunction(funcs, m) {
322
+ if (m.isKind(ts_morph_1.SyntaxKind.ClassStaticBlockDeclaration)) {
323
+ return;
324
+ }
325
+ let name = '';
326
+ if (m.isKind(ts_morph_1.SyntaxKind.Constructor)) {
327
+ name = 'constructor';
328
+ }
329
+ else {
330
+ name = m.getName?.() ?? "unknown";
331
+ }
332
+ funcs.push({
333
+ name,
334
+ body: m.getText(),
335
+ isStatic: m.hasModifier(ts_morph_1.SyntaxKind.StaticKeyword),
336
+ isProp: m.isKind(ts_morph_1.SyntaxKind.PropertyDeclaration),
337
+ scope: name,
338
+ linesRange: this.extractRange(m),
339
+ });
340
+ }
341
+ findByName(name) {
342
+ return this.#classes.find(c => c.getName() === name)
343
+ || this.#functions.find(f => f.getName() === name)
344
+ || this.#variables.find(v => v.getName() === name);
345
+ }
346
+ }
347
+ exports.CommonJSAnalyzer = CommonJSAnalyzer;
348
+ function analyzeCommonJSFile(filePath) {
349
+ try {
350
+ const analyzer = new CommonJSAnalyzer();
351
+ return analyzer.analyzeFile(filePath);
352
+ }
353
+ catch (error) {
354
+ console.error(`Error analyzing CommonJS file ${filePath}:`, error);
355
+ return [];
356
+ }
357
+ }
358
+ //# sourceMappingURL=cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cjs.js","sourceRoot":"","sources":["../../../src/core/analyze/cjs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Node } from "ts-morph";
2
+ import { CodeMeta, ExtractOptions } from "./index.type";
3
+ export declare function extractClass(name: string, declaration: Node, options?: ExtractOptions): CodeMeta | undefined;
4
+ //# sourceMappingURL=class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../../src/core/analyze/class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,IAAI,EAAc,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAY,cAAc,EAAE,MAAM,cAAc,CAAC;AAIlE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,QAAQ,GAAG,SAAS,CAuB5G"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractClass = extractClass;
4
+ const ts_morph_1 = require("ts-morph");
5
+ const index_type_1 = require("./index.type");
6
+ const declares_1 = require("./declares");
7
+ const deps_1 = require("./deps");
8
+ function extractClass(name, declaration, options) {
9
+ const kind = declaration.getKind();
10
+ if (kind !== ts_morph_1.SyntaxKind.ClassDeclaration) {
11
+ return;
12
+ }
13
+ const classDeclaration = declaration;
14
+ const structure = (0, declares_1.getClassStructure)(classDeclaration, {
15
+ ...options,
16
+ scanFunc: true,
17
+ });
18
+ if (!structure) {
19
+ return;
20
+ }
21
+ const declareString = (0, declares_1.getClassDeclaration)(structure);
22
+ const res = {
23
+ type: index_type_1.CodeType.Class,
24
+ name: name,
25
+ body: `declare ${declareString}`,
26
+ classFunctions: structure.functions,
27
+ externalIdentifiers: options?.skipDependencies ? undefined : (0, deps_1.searchExternalIdentifiers)(declaration, options),
28
+ linesRange: [declaration.getStartLineNumber(), declaration.getEndLineNumber()]
29
+ };
30
+ return res;
31
+ }
32
+ //# sourceMappingURL=class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class.js","sourceRoot":"","sources":["../../../src/core/analyze/class.ts"],"names":[],"mappings":";;AAKA,oCAuBC;AA5BD,uCAA8D;AAC9D,6CAAkE;AAClE,yCAAoE;AACpE,iCAAmD;AAEnD,SAAgB,YAAY,CAAC,IAAY,EAAE,WAAiB,EAAE,OAAwB;IAClF,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;IACnC,IAAI,IAAI,KAAK,qBAAU,CAAC,gBAAgB,EAAE,CAAC;QACvC,OAAO;IACX,CAAC;IACD,MAAM,gBAAgB,GAAG,WAA+B,CAAC;IACzD,MAAM,SAAS,GAAG,IAAA,4BAAiB,EAAC,gBAAgB,EAAE;QAClD,GAAG,OAAO;QACV,QAAQ,EAAE,IAAI;KACjB,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;IACX,CAAC;IACD,MAAM,aAAa,GAAG,IAAA,8BAAmB,EAAC,SAAS,CAAC,CAAC;IACrD,MAAM,GAAG,GAAa;QAClB,IAAI,EAAE,qBAAQ,CAAC,KAAK;QACpB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,WAAW,aAAa,EAAE;QAChC,cAAc,EAAE,SAAS,CAAC,SAAS;QACnC,mBAAmB,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,gCAAyB,EAAC,WAAW,EAAE,OAAO,CAAC;QAC5G,UAAU,EAAE,CAAC,WAAW,CAAC,kBAAkB,EAAE,EAAE,WAAW,CAAC,gBAAgB,EAAE,CAAC;KACjF,CAAC;IACF,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ClassDeclaration, ImportDeclaration, SourceFile } from "ts-morph";
2
+ import { ClassStructure, DependData, ExtractOptions } from "./index.type";
3
+ export declare function getImportDeclarations(imports: ImportDeclaration[]): Record<string, DependData>;
4
+ export declare function getLocalDeclarations(sourceFile: SourceFile): Record<string, DependData>;
5
+ export declare function getClassDeclaration(structure: ClassStructure | undefined): string;
6
+ export declare function getClassStructure(classDeclaration: ClassDeclaration, options?: ExtractOptions): ClassStructure | undefined;
7
+ //# sourceMappingURL=declares.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declares.d.ts","sourceRoot":"","sources":["../../../src/core/analyze/declares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA8F,iBAAiB,EAA8F,UAAU,EAAkF,MAAM,UAAU,CAAC;AACnV,OAAO,EAAiB,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGzF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAiB9F;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAyBvF;AAkJD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,cAAc,GAAG,SAAS,UAMxE;AAgCD,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,cAAc,GAAG,SAAS,CA8D1H"}