@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 @@
1
+ {"version":3,"file":"funcLike.js","sourceRoot":"","sources":["../../../../src/core/analyzev2/declare/funcLike.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { VariableDeclaration } from "ts-morph";
2
+ export declare function getVariableDeclaration(node: VariableDeclaration): string;
3
+ //# sourceMappingURL=variable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable.d.ts","sourceRoot":"","sources":["../../../../src/core/analyzev2/declare/variable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA2B,MAAM,UAAU,CAAC;AAExE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CASxE"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getVariableDeclaration = getVariableDeclaration;
4
+ const ts_morph_1 = require("ts-morph");
5
+ function getVariableDeclaration(node) {
6
+ const name = node.getName();
7
+ if (!name) {
8
+ return '';
9
+ }
10
+ const type = node.getType().getText();
11
+ const isExported = node.isExported() ? 'export ' : '';
12
+ const isConst = node.getVariableStatement()?.getDeclarationKind() === ts_morph_1.VariableDeclarationKind.Const ? 'const ' : 'let ';
13
+ return `${isExported}${isConst}${name}: ${type}`;
14
+ }
15
+ //# sourceMappingURL=variable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable.js","sourceRoot":"","sources":["../../../../src/core/analyzev2/declare/variable.ts"],"names":[],"mappings":";;AAEA,wDASC;AAXD,uCAAwE;AAExE,SAAgB,sBAAsB,CAAC,IAAyB;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,EAAE,EAAE,kBAAkB,EAAE,KAAK,kCAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IACxH,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC;AACrD,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { CodeInfo } from './type';
2
+ export declare class AnalyzedFile {
3
+ #private;
4
+ constructor(filePath: string);
5
+ refresh(): void;
6
+ getEntries(): CodeInfo[];
7
+ /**
8
+ * Get node by line number
9
+ * @param line 1-based line number
10
+ * @param type
11
+ */
12
+ getEntryByLine(line: number): CodeInfo | undefined;
13
+ /**
14
+ * Get node by name
15
+ * @param name Function or member name, e.g. `foo`, `foo.bar`, `foo.bar.baz`
16
+ */
17
+ getEntryByName(name: string): CodeInfo | undefined;
18
+ }
19
+ //# sourceMappingURL=file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../src/core/analyzev2/file.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAmB,QAAQ,EAA8C,MAAM,QAAQ,CAAC;AAqB/F,qBAAa,YAAY;;gBAaT,QAAQ,EAAE,MAAM;IAM5B,OAAO;IAOP,UAAU,IAAI,QAAQ,EAAE;IAWxB;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAwBlD;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;CAyZrD"}
@@ -0,0 +1,449 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AnalyzedFile = void 0;
4
+ const ts_morph_1 = require("ts-morph");
5
+ const tsMorph_1 = require("../utils/tsMorph");
6
+ const variable_1 = require("./declare/variable");
7
+ const funcLike_1 = require("./declare/funcLike");
8
+ const class_1 = require("./declare/class");
9
+ function syntaxToCodeType(syntaxType) {
10
+ switch (syntaxType) {
11
+ case ts_morph_1.SyntaxKind.FunctionDeclaration:
12
+ case ts_morph_1.SyntaxKind.FunctionExpression:
13
+ case ts_morph_1.SyntaxKind.ArrowFunction:
14
+ return 'function';
15
+ case ts_morph_1.SyntaxKind.ClassDeclaration:
16
+ return 'class';
17
+ case ts_morph_1.SyntaxKind.MethodDeclaration:
18
+ case ts_morph_1.SyntaxKind.GetAccessor:
19
+ case ts_morph_1.SyntaxKind.SetAccessor:
20
+ case ts_morph_1.SyntaxKind.PropertyDeclaration:
21
+ case ts_morph_1.SyntaxKind.Constructor:
22
+ return 'classMember';
23
+ default:
24
+ return 'unknown';
25
+ }
26
+ }
27
+ class AnalyzedFile {
28
+ #sourceFile;
29
+ // { [packageName]: { [symbolName]: Node } }
30
+ #importSymbolMap = new Map();
31
+ // { [symbolName]: packageName }
32
+ #reverseImportSymbolMap = new Map();
33
+ #localSymbolMap = new Map();
34
+ constructor(filePath) {
35
+ const { sourceFile } = (0, tsMorph_1.getProject)(filePath);
36
+ this.#sourceFile = sourceFile;
37
+ this.#scanFile();
38
+ }
39
+ refresh() {
40
+ const status = this.#sourceFile.refreshFromFileSystemSync();
41
+ if (status === ts_morph_1.FileSystemRefreshResult.Updated) {
42
+ this.#scanFile();
43
+ }
44
+ }
45
+ getEntries() {
46
+ const res = [];
47
+ for (const symbol of this.#localSymbolMap.values()) {
48
+ const info = this.#getNodeInfo(symbol);
49
+ if (info) {
50
+ res.push(info);
51
+ }
52
+ }
53
+ return res;
54
+ }
55
+ /**
56
+ * Get node by line number
57
+ * @param line 1-based line number
58
+ * @param type
59
+ */
60
+ getEntryByLine(line) {
61
+ let res;
62
+ let minDistance = Infinity;
63
+ for (const symbol of this.#localSymbolMap.values()) {
64
+ const startLine = symbol.node.getStartLineNumber();
65
+ const endLine = symbol.node.getEndLineNumber();
66
+ if (line < startLine || line > endLine) {
67
+ continue;
68
+ }
69
+ const distance = line - startLine;
70
+ if (distance === 0) {
71
+ res = symbol;
72
+ break;
73
+ }
74
+ if (distance < minDistance) {
75
+ minDistance = distance;
76
+ res = symbol;
77
+ }
78
+ }
79
+ return res && this.#getNodeInfo(res);
80
+ }
81
+ /**
82
+ * Get node by name
83
+ * @param name Function or member name, e.g. `foo`, `foo.bar`, `foo.bar.baz`
84
+ */
85
+ getEntryByName(name) {
86
+ const arr = name.split('.');
87
+ let node;
88
+ if (arr.length === 1) {
89
+ node = this.#localSymbolMap.get(name);
90
+ }
91
+ else {
92
+ node = this.#localSymbolMap.get(arr[0]);
93
+ for (let i = 1; i < arr.length; i++) {
94
+ if (!node) {
95
+ return;
96
+ }
97
+ const child = node.children?.find((child) => child.name === arr[i]);
98
+ if (!child) {
99
+ return;
100
+ }
101
+ node = child;
102
+ }
103
+ }
104
+ return node && this.#getNodeInfo(node);
105
+ }
106
+ #getNodeInfo(localNode) {
107
+ if (!localNode.deps) {
108
+ const deps = this.#getDependencies(localNode.node, localNode.parent);
109
+ localNode.deps = deps;
110
+ }
111
+ const res = {
112
+ name: localNode.name,
113
+ body: localNode.node.getText({
114
+ trimLeadingIndentation: true,
115
+ includeJsDocComments: true
116
+ }),
117
+ type: syntaxToCodeType(localNode.type),
118
+ deps: localNode.deps
119
+ };
120
+ // class
121
+ if (localNode.type === ts_morph_1.SyntaxKind.ClassDeclaration) {
122
+ const constructorNode = localNode.children?.find((child) => child.type === ts_morph_1.SyntaxKind.Constructor);
123
+ res.classInfo = {
124
+ name: localNode.name,
125
+ constructor: constructorNode?.declare,
126
+ extends: localNode.extends
127
+ };
128
+ res.children = localNode.children?.map((child) => this.#getNodeInfo(child));
129
+ }
130
+ // class member
131
+ if (localNode.parent) {
132
+ const constructorNode = localNode.parent.children?.find((child) => child.type === ts_morph_1.SyntaxKind.Constructor);
133
+ res.classInfo = {
134
+ name: localNode.parent.name,
135
+ constructor: constructorNode?.declare,
136
+ extends: localNode.parent.extends
137
+ };
138
+ res.deps = this.#mergerDependencies(res.deps, constructorNode?.deps);
139
+ if (!localNode.parent.deps) {
140
+ const parentDeps = this.#getClassDependencies(localNode.parent.node);
141
+ localNode.parent.deps = parentDeps;
142
+ }
143
+ res.deps = this.#mergerDependencies(res.deps, localNode.parent.deps);
144
+ }
145
+ return res;
146
+ }
147
+ #scanFile() {
148
+ const sourceFile = this.#sourceFile;
149
+ sourceFile.getImportDeclarations().forEach(this.#scanImport.bind(this));
150
+ sourceFile.getFunctions().forEach(this.#scanFunction.bind(this));
151
+ sourceFile.getClasses().forEach(this.#scanClass.bind(this));
152
+ sourceFile.getTypeAliases().forEach(this.#scanCustomType.bind(this));
153
+ sourceFile.getInterfaces().forEach(this.#scanCustomType.bind(this));
154
+ sourceFile.getEnums().forEach(this.#scanCustomType.bind(this));
155
+ // MUST be the last one
156
+ sourceFile.getVariableStatements().forEach((varStmt) => {
157
+ varStmt.getDeclarations().forEach(this.#scanVariable.bind(this));
158
+ });
159
+ }
160
+ #scanImport(importDecl) {
161
+ const moduleSpecifier = importDecl.getModuleSpecifierValue();
162
+ if (!this.#importSymbolMap.has(moduleSpecifier)) {
163
+ this.#importSymbolMap.set(moduleSpecifier, new Map());
164
+ }
165
+ if (!moduleSpecifier.startsWith('.') && !moduleSpecifier.startsWith('@')) {
166
+ return;
167
+ }
168
+ const moduleMap = this.#importSymbolMap.get(moduleSpecifier);
169
+ // import default from ...
170
+ const defaultImport = importDecl.getDefaultImport();
171
+ const defaultImportName = defaultImport?.getText();
172
+ if (defaultImportName) {
173
+ moduleMap.set(defaultImportName, defaultImport);
174
+ this.#reverseImportSymbolMap.set(defaultImportName, {
175
+ declare: this.#getImportedItemDeclare(defaultImport),
176
+ module: moduleSpecifier,
177
+ });
178
+ }
179
+ // import { ... } from ...
180
+ importDecl.getNamedImports().forEach((namedImport) => {
181
+ const importName = namedImport.getName();
182
+ moduleMap.set(importName, namedImport);
183
+ this.#reverseImportSymbolMap.set(importName, {
184
+ declare: this.#getImportedItemDeclare(namedImport),
185
+ module: moduleSpecifier,
186
+ });
187
+ });
188
+ // import * as ... from ...
189
+ const namespaceImport = importDecl.getNamespaceImport();
190
+ if (namespaceImport) {
191
+ const namespaceImportName = namespaceImport.getText();
192
+ moduleMap.set(namespaceImportName, namespaceImport);
193
+ this.#reverseImportSymbolMap.set(namespaceImportName, {
194
+ declare: this.#getImportedItemDeclare(namespaceImport),
195
+ module: moduleSpecifier,
196
+ });
197
+ }
198
+ }
199
+ #getImportedItemDeclare(symbol) {
200
+ const declare = symbol.getType().getSymbol()?.getDeclarations()?.[0]?.getText();
201
+ if (declare) {
202
+ return declare.replaceAll(/import\([^)]+\)\./g, '');
203
+ }
204
+ const aliasDeclare = symbol.getSymbol()?.getAliasedSymbol()?.getDeclarations()?.[0]?.getText();
205
+ return aliasDeclare?.replaceAll(/import\([^)]+\)\./g, '') || 'any';
206
+ }
207
+ #scanVariable(decl) {
208
+ const varName = decl.getName();
209
+ const initializer = decl.getInitializer();
210
+ if (!initializer) {
211
+ this.#localSymbolMap.set(varName, {
212
+ name: varName,
213
+ node: decl,
214
+ type: ts_morph_1.SyntaxKind.VariableDeclaration,
215
+ declare: (0, variable_1.getVariableDeclaration)(decl)
216
+ });
217
+ }
218
+ const kind = initializer.getKind();
219
+ if (kind === ts_morph_1.SyntaxKind.FunctionExpression || kind === ts_morph_1.SyntaxKind.ArrowFunction) {
220
+ this.#localSymbolMap.set(varName, {
221
+ name: varName,
222
+ node: decl,
223
+ type: kind,
224
+ isFunction: true,
225
+ declare: (0, variable_1.getVariableDeclaration)(decl)
226
+ });
227
+ }
228
+ // HOC, like manageJSS(style)(Compenent)
229
+ if (kind === ts_morph_1.SyntaxKind.CallExpression) {
230
+ let target;
231
+ // check the arguments in the same file and point to the original node
232
+ let exp = initializer;
233
+ while (exp && !target) {
234
+ const args = exp.getArguments();
235
+ if (!args.length) {
236
+ continue;
237
+ }
238
+ for (const arg of args) {
239
+ const argName = arg.getText();
240
+ if (this.#localSymbolMap.has(argName)) {
241
+ target = this.#localSymbolMap.get(argName);
242
+ break;
243
+ }
244
+ }
245
+ const nextCall = exp.getExpression();
246
+ exp = nextCall.getKind() === ts_morph_1.SyntaxKind.CallExpression ? nextCall : undefined;
247
+ }
248
+ // found target, set the reference
249
+ if (target) {
250
+ this.#localSymbolMap.set(varName, {
251
+ name: varName,
252
+ node: target.node,
253
+ type: target.type,
254
+ isFunction: target.isFunction,
255
+ declare: target.declare
256
+ });
257
+ }
258
+ }
259
+ }
260
+ #scanFunction(fn) {
261
+ const fnName = fn.getName();
262
+ if (!fnName) {
263
+ return;
264
+ }
265
+ this.#localSymbolMap.set(fnName, {
266
+ name: fnName,
267
+ node: fn,
268
+ type: ts_morph_1.SyntaxKind.FunctionDeclaration,
269
+ isFunction: true,
270
+ declare: (0, funcLike_1.getFunctionSignature)(fn),
271
+ });
272
+ }
273
+ #scanClass(cls) {
274
+ const className = cls.getName();
275
+ if (!className) {
276
+ return;
277
+ }
278
+ const classNode = {
279
+ name: className,
280
+ node: cls,
281
+ type: ts_morph_1.SyntaxKind.ClassDeclaration,
282
+ declare: (0, class_1.getClassDeclaration)(cls),
283
+ children: [],
284
+ extends: cls.getExtends()?.getText() || '',
285
+ };
286
+ cls.getMembers().forEach(member => this.#scanClassMember(member, classNode));
287
+ this.#localSymbolMap.set(className, classNode);
288
+ }
289
+ #scanClassMember(member, classNode) {
290
+ const kind = member.getKind();
291
+ if (kind === ts_morph_1.SyntaxKind.ClassStaticBlockDeclaration) {
292
+ return;
293
+ }
294
+ if (kind === ts_morph_1.SyntaxKind.Constructor) {
295
+ classNode.children.push({
296
+ name: 'constructor',
297
+ node: member,
298
+ type: ts_morph_1.SyntaxKind.Constructor,
299
+ isFunction: true,
300
+ declare: (0, class_1.getConstructorDeclaration)(member),
301
+ parent: classNode
302
+ });
303
+ return;
304
+ }
305
+ if (kind === ts_morph_1.SyntaxKind.PropertyDeclaration) {
306
+ const propMember = member;
307
+ const type = propMember.getType();
308
+ if (!type.getCallSignatures().length || propMember.isAbstract()) {
309
+ return;
310
+ }
311
+ const propName = propMember.getName();
312
+ propName && classNode.children.push({
313
+ name: propName,
314
+ node: member,
315
+ type: ts_morph_1.SyntaxKind.PropertyDeclaration,
316
+ isFunction: true,
317
+ parent: classNode,
318
+ declare: (0, funcLike_1.getPropertyFunctionSignature)(propMember)
319
+ });
320
+ return;
321
+ }
322
+ const fnMember = member;
323
+ const methodName = fnMember.getName();
324
+ if (!methodName || fnMember.isAbstract()) {
325
+ return;
326
+ }
327
+ classNode.children.push({
328
+ name: methodName,
329
+ node: member,
330
+ type: kind,
331
+ isFunction: true,
332
+ parent: classNode,
333
+ declare: kind === ts_morph_1.SyntaxKind.MethodDeclaration
334
+ ? (0, funcLike_1.getMethodSignature)(fnMember)
335
+ : (0, funcLike_1.getAccessorsSignature)(fnMember),
336
+ });
337
+ }
338
+ #scanCustomType(target) {
339
+ const name = target.getName();
340
+ if (!name) {
341
+ return;
342
+ }
343
+ const type = target.getKind();
344
+ this.#localSymbolMap.set(name, {
345
+ name,
346
+ node: target,
347
+ type,
348
+ });
349
+ }
350
+ #getDependencies(node, parentSymbol) {
351
+ const res = {
352
+ local: {},
353
+ external: {},
354
+ classMembers: []
355
+ };
356
+ node.forEachDescendant((n, t) => this.#nodeTraversal(n, t, res, parentSymbol));
357
+ return res;
358
+ }
359
+ #getClassDependencies(node) {
360
+ const localDeps = {};
361
+ const externalDeps = {};
362
+ const res = {
363
+ local: {},
364
+ external: {},
365
+ classMembers: []
366
+ };
367
+ node.getHeritageClauses().forEach((clause) => clause.forEachDescendant((n, t) => this.#nodeTraversal(n, t, res)));
368
+ node.getDecorators().forEach((decorator) => decorator.forEachDescendant((n, t) => this.#nodeTraversal(n, t, res)));
369
+ return { local: localDeps, external: externalDeps };
370
+ }
371
+ #nodeTraversal(node, traversal, { local, external, classMembers }, parentSymbol) {
372
+ const kind = node.getKind();
373
+ if (kind === ts_morph_1.SyntaxKind.Identifier) {
374
+ this.#checkLocalSymbol(node.getText(), local, external);
375
+ return;
376
+ }
377
+ if (kind === ts_morph_1.SyntaxKind.PropertyAccessExpression) {
378
+ traversal.skip();
379
+ // do not include super
380
+ const classCaller = node.getFirstDescendantByKind(ts_morph_1.SyntaxKind.ThisKeyword);
381
+ if (classCaller) {
382
+ const name = node.getName();
383
+ if (!parentSymbol) {
384
+ return;
385
+ }
386
+ const callerNode = parentSymbol.children?.find((child) => child.name === name);
387
+ if (!callerNode?.declare) {
388
+ return;
389
+ }
390
+ classMembers.push(callerNode.declare);
391
+ return;
392
+ }
393
+ const caller = node.getFirstDescendantByKind(ts_morph_1.SyntaxKind.Identifier)?.getText();
394
+ if (caller === 'window' || caller === 'global') {
395
+ return;
396
+ }
397
+ // TODO: deep check like a.b.c
398
+ this.#checkLocalSymbol(caller, local, external);
399
+ }
400
+ }
401
+ #checkLocalSymbol(name, localDeps, extDeps) {
402
+ if (!name) {
403
+ return;
404
+ }
405
+ const local = this.#localSymbolMap.get(name);
406
+ if (local) {
407
+ localDeps[name] = { declare: local.declare || '' };
408
+ return;
409
+ }
410
+ const importInfo = this.#reverseImportSymbolMap.get(name);
411
+ if (!importInfo) {
412
+ return;
413
+ }
414
+ if (!extDeps[importInfo.module]) {
415
+ extDeps[importInfo.module] = {};
416
+ }
417
+ extDeps[importInfo.module][name] = { declare: importInfo.declare };
418
+ }
419
+ #mergerDependencies(dep1, dep2) {
420
+ if (!dep1 || !dep2) {
421
+ return dep1 || dep2;
422
+ }
423
+ const res = {
424
+ local: {
425
+ ...dep1?.local,
426
+ ...dep2?.local
427
+ },
428
+ external: {
429
+ ...dep1?.external
430
+ },
431
+ classMembers: dep1?.classMembers
432
+ };
433
+ if (dep2?.external) {
434
+ for (const key in dep2.external) {
435
+ res.external[key] = {
436
+ ...res.external[key],
437
+ ...dep2.external[key]
438
+ };
439
+ }
440
+ }
441
+ if (dep2?.classMembers) {
442
+ const classMembers = new Set([...(res.classMembers || []), ...(dep2.classMembers || [])]);
443
+ res.classMembers = Array.from(classMembers);
444
+ }
445
+ return res;
446
+ }
447
+ }
448
+ exports.AnalyzedFile = AnalyzedFile;
449
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/core/analyzev2/file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { AnalyzedFile } from './file';
2
+ export declare function getAnalyzedFile(filePath: string): AnalyzedFile;
3
+ export type { AnalyzedFile } from './file';
4
+ export * from './type';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/analyzev2/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,gBAO/C;AAED,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.getAnalyzedFile = getAnalyzedFile;
18
+ const lru_1 = require("../utils/lru");
19
+ const file_1 = require("./file");
20
+ const fileCache = new lru_1.LRU(20);
21
+ function getAnalyzedFile(filePath) {
22
+ if (!fileCache.has(filePath)) {
23
+ fileCache.set(filePath, new file_1.AnalyzedFile(filePath));
24
+ }
25
+ const file = fileCache.get(filePath);
26
+ file?.refresh();
27
+ return file;
28
+ }
29
+ __exportStar(require("./type"), exports);
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/analyzev2/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,0CAOC;AAZD,sCAAmC;AACnC,iCAAsC;AAEtC,MAAM,SAAS,GAAG,IAAI,SAAG,CAAuB,EAAE,CAAC,CAAC;AAEpD,SAAgB,eAAe,CAAC,QAAgB;IAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,mBAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AAChB,CAAC;AAGD,yCAAuB"}
@@ -0,0 +1,35 @@
1
+ import { Node, SyntaxKind } from "ts-morph";
2
+ export interface CodeInfo {
3
+ name: string;
4
+ body: string;
5
+ type: CodeType;
6
+ deps: DependenciesInfo;
7
+ classInfo?: {
8
+ name: string;
9
+ constructor: string;
10
+ extends: string;
11
+ };
12
+ children?: CodeInfo[];
13
+ }
14
+ export interface LocalSymbolNode {
15
+ name: string;
16
+ node: Node;
17
+ type: SyntaxKind;
18
+ isFunction?: boolean;
19
+ parent?: LocalSymbolNode;
20
+ children?: LocalSymbolNode[];
21
+ declare?: string;
22
+ extends?: string;
23
+ deps?: DependenciesInfo;
24
+ }
25
+ export interface DependenciesInfo {
26
+ local: Record<string, DependencyNode>;
27
+ classMembers?: string[];
28
+ external: Record<string, Record<string, DependencyNode>>;
29
+ }
30
+ export type DependencyNode = {
31
+ declare: string;
32
+ children?: DependencyNode[];
33
+ };
34
+ export type CodeType = 'unknown' | 'function' | 'class' | 'classMember';
35
+ //# sourceMappingURL=type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/core/analyzev2/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,IAAI,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAE7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAEtC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;CAC5D;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/core/analyzev2/type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ export interface CoreConfig {
2
+ common?: {
3
+ createIndexSpec?: boolean;
4
+ removeFailedCases?: boolean;
5
+ ignoreFuncs?: Set<string>;
6
+ retryCount?: number;
7
+ saveFailed?: boolean;
8
+ mockDependencies?: Record<string, Record<string, string>>;
9
+ testFolder?: string;
10
+ testFileSpecifier?: string;
11
+ testFramework?: string;
12
+ testEnv?: Record<string, string>;
13
+ kebabCaseTestFileName?: boolean;
14
+ testDirRelativeToPackage?: string;
15
+ customizedTestCmd?: string;
16
+ customizedLintCmd?: string;
17
+ };
18
+ gpt?: {
19
+ api: string;
20
+ };
21
+ }
22
+ export type ConfigGetter = () => CoreConfig;
23
+ export declare function setConfigGetter(cb: () => CoreConfig): void;
24
+ export declare function getConfig(): CoreConfig;
25
+ //# sourceMappingURL=index.d.ts.map