sxy-test-runner 2.3.16 → 2.3.18

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 (327) hide show
  1. package/dist/cli/help.js.map +1 -1
  2. package/dist/cli/index.js.map +1 -1
  3. package/dist/cli/init.js.map +1 -1
  4. package/dist/cli/lib/addBasePath.js.map +1 -1
  5. package/dist/cli/lib/addExports.js.map +1 -1
  6. package/dist/cli/lib/applyConfigDefaults.js.map +1 -1
  7. package/dist/cli/lib/buildDependencyTree.js.map +1 -1
  8. package/dist/cli/lib/buildDependencyTrees.js.map +1 -1
  9. package/dist/cli/lib/consoleCapture.js.map +1 -1
  10. package/dist/cli/lib/defaultConfig.js.map +1 -1
  11. package/dist/cli/lib/doUserSetup.js.map +1 -1
  12. package/dist/cli/lib/doUserTeardown.js.map +1 -1
  13. package/dist/cli/lib/filter.js.map +1 -1
  14. package/dist/cli/lib/findTestFiles.js.map +1 -1
  15. package/dist/cli/lib/findingTestsMessage.js.map +1 -1
  16. package/dist/cli/lib/foundTestsMessage.js.map +1 -1
  17. package/dist/cli/lib/functions.js.map +1 -1
  18. package/dist/cli/lib/getAllowedFlags.js.map +1 -1
  19. package/dist/cli/lib/globArgCombine.js.map +1 -1
  20. package/dist/cli/lib/handleUserInput.js.map +1 -1
  21. package/dist/cli/lib/injectProperties.js.map +1 -1
  22. package/dist/cli/lib/isTest.js.map +1 -1
  23. package/dist/cli/lib/listenToUser.js.map +1 -1
  24. package/dist/cli/lib/loadConfig.js.map +1 -1
  25. package/dist/cli/lib/loadTestFile.js.map +1 -1
  26. package/dist/cli/lib/makeWatchRunState.js.map +1 -1
  27. package/dist/cli/lib/parseCommandLineArguments.js.map +1 -1
  28. package/dist/cli/lib/parseDescribe.js.map +1 -1
  29. package/dist/cli/lib/reRunManager.js.map +1 -1
  30. package/dist/cli/lib/reservedExportKeys.js.map +1 -1
  31. package/dist/cli/lib/runDescribe.js.map +1 -1
  32. package/dist/cli/lib/runDescribeRun.js +10 -2
  33. package/dist/cli/lib/runDescribeRun.js.map +1 -1
  34. package/dist/cli/lib/runIt.js.map +1 -1
  35. package/dist/cli/lib/runTasks.js.map +1 -1
  36. package/dist/cli/lib/runTest.js.map +1 -1
  37. package/dist/cli/lib/runTests.js.map +1 -1
  38. package/dist/cli/lib/setEnv.js.map +1 -1
  39. package/dist/cli/lib/showTestLoadingError.js.map +1 -1
  40. package/dist/cli/lib/showTestResult.js.map +1 -1
  41. package/dist/cli/lib/showTtyHelp.js.map +1 -1
  42. package/dist/cli/lib/shutdown.js.map +1 -1
  43. package/dist/cli/lib/timeProfier.js.map +1 -1
  44. package/dist/cli/lib/validateConfig.js.map +1 -1
  45. package/dist/cli/lib/watchFilesAndRunTests.js.map +1 -1
  46. package/dist/cli/lib/watchFilesAndRunTestsChokidar.js.map +1 -1
  47. package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.js.map +1 -1
  48. package/dist/cli/lib/watchFilesChokidar.js.map +1 -1
  49. package/dist/cli/lib/watchFilesNodeWatch.js.map +1 -1
  50. package/dist/cli/once.js.map +1 -1
  51. package/dist/cli/watch.js.map +1 -1
  52. package/dist/config.js.map +1 -1
  53. package/dist/describe.d.ts +6 -0
  54. package/dist/describe.js +11 -1
  55. package/dist/describe.js.map +1 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/indexNumberToLetters.js.map +1 -1
  58. package/dist/output.js.map +1 -1
  59. package/dist/packages/chalk.js.map +1 -1
  60. package/dist/packages/esmReload.js.map +1 -1
  61. package/dist/packages/figures.js.map +1 -1
  62. package/dist/packages/loadConfig.js.map +1 -1
  63. package/dist/packages/mergeStructuredConfig.js.map +1 -1
  64. package/dist/packages/slash.js.map +1 -1
  65. package/dist/packages/timeProfiler.js.map +1 -1
  66. package/dist/types.d.ts +2 -0
  67. package/dist/types.js.map +1 -1
  68. package/package.json +5 -1
  69. package/dist/cli/help.d.ts.map +0 -1
  70. package/dist/cli/help.unitTest.d.ts +0 -2
  71. package/dist/cli/help.unitTest.d.ts.map +0 -1
  72. package/dist/cli/help.unitTest.js +0 -29
  73. package/dist/cli/help.unitTest.js.map +0 -1
  74. package/dist/cli/index.d.ts.map +0 -1
  75. package/dist/cli/init.d.ts.map +0 -1
  76. package/dist/cli/lib/addBasePath.d.ts.map +0 -1
  77. package/dist/cli/lib/addBasePath.unitTest.d.ts +0 -2
  78. package/dist/cli/lib/addBasePath.unitTest.d.ts.map +0 -1
  79. package/dist/cli/lib/addBasePath.unitTest.js +0 -55
  80. package/dist/cli/lib/addBasePath.unitTest.js.map +0 -1
  81. package/dist/cli/lib/addExports.d.ts.map +0 -1
  82. package/dist/cli/lib/addExports.unitTest.d.ts +0 -2
  83. package/dist/cli/lib/addExports.unitTest.d.ts.map +0 -1
  84. package/dist/cli/lib/addExports.unitTest.js +0 -17
  85. package/dist/cli/lib/addExports.unitTest.js.map +0 -1
  86. package/dist/cli/lib/applyConfigDefaults.d.ts.map +0 -1
  87. package/dist/cli/lib/applyConfigDefaults.unitTest.d.ts +0 -2
  88. package/dist/cli/lib/applyConfigDefaults.unitTest.d.ts.map +0 -1
  89. package/dist/cli/lib/applyConfigDefaults.unitTest.js +0 -32
  90. package/dist/cli/lib/applyConfigDefaults.unitTest.js.map +0 -1
  91. package/dist/cli/lib/buildDependencyTree.d.ts.map +0 -1
  92. package/dist/cli/lib/buildDependencyTree.unitTest.d.ts +0 -2
  93. package/dist/cli/lib/buildDependencyTree.unitTest.d.ts.map +0 -1
  94. package/dist/cli/lib/buildDependencyTree.unitTest.js +0 -19
  95. package/dist/cli/lib/buildDependencyTree.unitTest.js.map +0 -1
  96. package/dist/cli/lib/buildDependencyTrees.d.ts.map +0 -1
  97. package/dist/cli/lib/buildDependencyTrees.unitTest.d.ts +0 -2
  98. package/dist/cli/lib/buildDependencyTrees.unitTest.d.ts.map +0 -1
  99. package/dist/cli/lib/buildDependencyTrees.unitTest.js +0 -23
  100. package/dist/cli/lib/buildDependencyTrees.unitTest.js.map +0 -1
  101. package/dist/cli/lib/consoleCapture.d.ts.map +0 -1
  102. package/dist/cli/lib/defaultConfig.d.ts.map +0 -1
  103. package/dist/cli/lib/defaultConfig.unitTest.d.ts +0 -2
  104. package/dist/cli/lib/defaultConfig.unitTest.d.ts.map +0 -1
  105. package/dist/cli/lib/defaultConfig.unitTest.js +0 -7
  106. package/dist/cli/lib/defaultConfig.unitTest.js.map +0 -1
  107. package/dist/cli/lib/doUserSetup.d.ts.map +0 -1
  108. package/dist/cli/lib/doUserSetup.unitTest.d.ts +0 -7
  109. package/dist/cli/lib/doUserSetup.unitTest.d.ts.map +0 -1
  110. package/dist/cli/lib/doUserSetup.unitTest.js +0 -46
  111. package/dist/cli/lib/doUserSetup.unitTest.js.map +0 -1
  112. package/dist/cli/lib/doUserTeardown.d.ts.map +0 -1
  113. package/dist/cli/lib/doUserTeardown.unitTest.d.ts +0 -7
  114. package/dist/cli/lib/doUserTeardown.unitTest.d.ts.map +0 -1
  115. package/dist/cli/lib/doUserTeardown.unitTest.js +0 -46
  116. package/dist/cli/lib/doUserTeardown.unitTest.js.map +0 -1
  117. package/dist/cli/lib/filter.d.ts.map +0 -1
  118. package/dist/cli/lib/findTestFiles.d.ts.map +0 -1
  119. package/dist/cli/lib/findTestFiles.unitTest.d.ts +0 -2
  120. package/dist/cli/lib/findTestFiles.unitTest.d.ts.map +0 -1
  121. package/dist/cli/lib/findTestFiles.unitTest.js +0 -32
  122. package/dist/cli/lib/findTestFiles.unitTest.js.map +0 -1
  123. package/dist/cli/lib/findingTestsMessage.d.ts.map +0 -1
  124. package/dist/cli/lib/findingTestsMessage.unitTest.d.ts +0 -2
  125. package/dist/cli/lib/findingTestsMessage.unitTest.d.ts.map +0 -1
  126. package/dist/cli/lib/findingTestsMessage.unitTest.js +0 -33
  127. package/dist/cli/lib/findingTestsMessage.unitTest.js.map +0 -1
  128. package/dist/cli/lib/foundTestsMessage.d.ts.map +0 -1
  129. package/dist/cli/lib/functions.d.ts.map +0 -1
  130. package/dist/cli/lib/functions.unitTest.d.ts +0 -2
  131. package/dist/cli/lib/functions.unitTest.d.ts.map +0 -1
  132. package/dist/cli/lib/functions.unitTest.js +0 -35
  133. package/dist/cli/lib/functions.unitTest.js.map +0 -1
  134. package/dist/cli/lib/getAllowedFlags.d.ts.map +0 -1
  135. package/dist/cli/lib/getAllowedFlags.unitTest.d.ts +0 -2
  136. package/dist/cli/lib/getAllowedFlags.unitTest.d.ts.map +0 -1
  137. package/dist/cli/lib/getAllowedFlags.unitTest.js +0 -23
  138. package/dist/cli/lib/getAllowedFlags.unitTest.js.map +0 -1
  139. package/dist/cli/lib/globArgCombine.d.ts.map +0 -1
  140. package/dist/cli/lib/globArgCombine.unitTest.d.ts +0 -2
  141. package/dist/cli/lib/globArgCombine.unitTest.d.ts.map +0 -1
  142. package/dist/cli/lib/globArgCombine.unitTest.js +0 -19
  143. package/dist/cli/lib/globArgCombine.unitTest.js.map +0 -1
  144. package/dist/cli/lib/handleUserInput.d.ts.map +0 -1
  145. package/dist/cli/lib/handleUserInput.unitTest.d.ts +0 -2
  146. package/dist/cli/lib/handleUserInput.unitTest.d.ts.map +0 -1
  147. package/dist/cli/lib/handleUserInput.unitTest.js +0 -99
  148. package/dist/cli/lib/handleUserInput.unitTest.js.map +0 -1
  149. package/dist/cli/lib/injectProperties.d.ts.map +0 -1
  150. package/dist/cli/lib/injectProperties.unitTest.d.ts +0 -2
  151. package/dist/cli/lib/injectProperties.unitTest.d.ts.map +0 -1
  152. package/dist/cli/lib/injectProperties.unitTest.js +0 -19
  153. package/dist/cli/lib/injectProperties.unitTest.js.map +0 -1
  154. package/dist/cli/lib/isTest.d.ts.map +0 -1
  155. package/dist/cli/lib/listenToUser.d.ts.map +0 -1
  156. package/dist/cli/lib/listenToUser.unitTest.d.ts +0 -2
  157. package/dist/cli/lib/listenToUser.unitTest.d.ts.map +0 -1
  158. package/dist/cli/lib/listenToUser.unitTest.js +0 -83
  159. package/dist/cli/lib/listenToUser.unitTest.js.map +0 -1
  160. package/dist/cli/lib/loadConfig.d.ts.map +0 -1
  161. package/dist/cli/lib/loadConfig.unitTest.d.ts +0 -2
  162. package/dist/cli/lib/loadConfig.unitTest.d.ts.map +0 -1
  163. package/dist/cli/lib/loadConfig.unitTest.js +0 -16
  164. package/dist/cli/lib/loadConfig.unitTest.js.map +0 -1
  165. package/dist/cli/lib/loadTestFile.d.ts.map +0 -1
  166. package/dist/cli/lib/loadTestFile.unitTest.d.ts +0 -2
  167. package/dist/cli/lib/loadTestFile.unitTest.d.ts.map +0 -1
  168. package/dist/cli/lib/loadTestFile.unitTest.js +0 -26
  169. package/dist/cli/lib/loadTestFile.unitTest.js.map +0 -1
  170. package/dist/cli/lib/makeWatchRunState.d.ts.map +0 -1
  171. package/dist/cli/lib/parseCommandLineArguments.d.ts.map +0 -1
  172. package/dist/cli/lib/parseCommandLineArguments.unitTest.d.ts +0 -2
  173. package/dist/cli/lib/parseCommandLineArguments.unitTest.d.ts.map +0 -1
  174. package/dist/cli/lib/parseCommandLineArguments.unitTest.js +0 -23
  175. package/dist/cli/lib/parseCommandLineArguments.unitTest.js.map +0 -1
  176. package/dist/cli/lib/parseDescribe.d.ts.map +0 -1
  177. package/dist/cli/lib/parseDescribe.unitTest.d.ts +0 -2
  178. package/dist/cli/lib/parseDescribe.unitTest.d.ts.map +0 -1
  179. package/dist/cli/lib/parseDescribe.unitTest.js +0 -23
  180. package/dist/cli/lib/parseDescribe.unitTest.js.map +0 -1
  181. package/dist/cli/lib/reRunManager.d.ts.map +0 -1
  182. package/dist/cli/lib/reRunManager.unitTest.d.ts +0 -2
  183. package/dist/cli/lib/reRunManager.unitTest.d.ts.map +0 -1
  184. package/dist/cli/lib/reRunManager.unitTest.js +0 -74
  185. package/dist/cli/lib/reRunManager.unitTest.js.map +0 -1
  186. package/dist/cli/lib/reservedExportKeys.d.ts.map +0 -1
  187. package/dist/cli/lib/reservedExportKeys.unitTest.d.ts +0 -2
  188. package/dist/cli/lib/reservedExportKeys.unitTest.d.ts.map +0 -1
  189. package/dist/cli/lib/reservedExportKeys.unitTest.js +0 -7
  190. package/dist/cli/lib/reservedExportKeys.unitTest.js.map +0 -1
  191. package/dist/cli/lib/runDescribe.d.ts.map +0 -1
  192. package/dist/cli/lib/runDescribe.unitTest.d.ts +0 -2
  193. package/dist/cli/lib/runDescribe.unitTest.d.ts.map +0 -1
  194. package/dist/cli/lib/runDescribe.unitTest.js +0 -25
  195. package/dist/cli/lib/runDescribe.unitTest.js.map +0 -1
  196. package/dist/cli/lib/runDescribeRun.d.ts.map +0 -1
  197. package/dist/cli/lib/runDescribeRun.unitTest.d.ts +0 -2
  198. package/dist/cli/lib/runDescribeRun.unitTest.d.ts.map +0 -1
  199. package/dist/cli/lib/runDescribeRun.unitTest.js +0 -48
  200. package/dist/cli/lib/runDescribeRun.unitTest.js.map +0 -1
  201. package/dist/cli/lib/runIt.d.ts.map +0 -1
  202. package/dist/cli/lib/runIt.unitTest.d.ts +0 -2
  203. package/dist/cli/lib/runIt.unitTest.d.ts.map +0 -1
  204. package/dist/cli/lib/runIt.unitTest.js +0 -77
  205. package/dist/cli/lib/runIt.unitTest.js.map +0 -1
  206. package/dist/cli/lib/runTasks.d.ts.map +0 -1
  207. package/dist/cli/lib/runTasks.unitTest.d.ts +0 -5
  208. package/dist/cli/lib/runTasks.unitTest.d.ts.map +0 -1
  209. package/dist/cli/lib/runTasks.unitTest.js +0 -36
  210. package/dist/cli/lib/runTasks.unitTest.js.map +0 -1
  211. package/dist/cli/lib/runTest.d.ts.map +0 -1
  212. package/dist/cli/lib/runTest.unitTest.d.ts +0 -20
  213. package/dist/cli/lib/runTest.unitTest.d.ts.map +0 -1
  214. package/dist/cli/lib/runTest.unitTest.js +0 -290
  215. package/dist/cli/lib/runTest.unitTest.js.map +0 -1
  216. package/dist/cli/lib/runTests.d.ts.map +0 -1
  217. package/dist/cli/lib/runTests.unitTest.d.ts +0 -6
  218. package/dist/cli/lib/runTests.unitTest.d.ts.map +0 -1
  219. package/dist/cli/lib/runTests.unitTest.js +0 -129
  220. package/dist/cli/lib/runTests.unitTest.js.map +0 -1
  221. package/dist/cli/lib/setEnv.d.ts.map +0 -1
  222. package/dist/cli/lib/showTestLoadingError.d.ts.map +0 -1
  223. package/dist/cli/lib/showTestLoadingError.unitTest.d.ts +0 -2
  224. package/dist/cli/lib/showTestLoadingError.unitTest.d.ts.map +0 -1
  225. package/dist/cli/lib/showTestLoadingError.unitTest.js +0 -18
  226. package/dist/cli/lib/showTestLoadingError.unitTest.js.map +0 -1
  227. package/dist/cli/lib/showTestResult.d.ts.map +0 -1
  228. package/dist/cli/lib/showTestResult.unitTest.d.ts +0 -2
  229. package/dist/cli/lib/showTestResult.unitTest.d.ts.map +0 -1
  230. package/dist/cli/lib/showTestResult.unitTest.js +0 -302
  231. package/dist/cli/lib/showTestResult.unitTest.js.map +0 -1
  232. package/dist/cli/lib/showTtyHelp.d.ts.map +0 -1
  233. package/dist/cli/lib/showTtyHelp.unitTest.d.ts +0 -2
  234. package/dist/cli/lib/showTtyHelp.unitTest.d.ts.map +0 -1
  235. package/dist/cli/lib/showTtyHelp.unitTest.js +0 -27
  236. package/dist/cli/lib/showTtyHelp.unitTest.js.map +0 -1
  237. package/dist/cli/lib/shutdown.d.ts.map +0 -1
  238. package/dist/cli/lib/shutdown.unitTest.d.ts +0 -2
  239. package/dist/cli/lib/shutdown.unitTest.d.ts.map +0 -1
  240. package/dist/cli/lib/shutdown.unitTest.js +0 -66
  241. package/dist/cli/lib/shutdown.unitTest.js.map +0 -1
  242. package/dist/cli/lib/testHelpers/makeCustomOut.d.ts +0 -7
  243. package/dist/cli/lib/testHelpers/makeCustomOut.d.ts.map +0 -1
  244. package/dist/cli/lib/testHelpers/makeCustomOut.js +0 -10
  245. package/dist/cli/lib/testHelpers/makeCustomOut.js.map +0 -1
  246. package/dist/cli/lib/timeProfier.d.ts.map +0 -1
  247. package/dist/cli/lib/validateConfig.d.ts.map +0 -1
  248. package/dist/cli/lib/validateConfig.unitTest.d.ts +0 -2
  249. package/dist/cli/lib/validateConfig.unitTest.d.ts.map +0 -1
  250. package/dist/cli/lib/validateConfig.unitTest.js +0 -34
  251. package/dist/cli/lib/validateConfig.unitTest.js.map +0 -1
  252. package/dist/cli/lib/watchFilesAndRunTests.d.ts.map +0 -1
  253. package/dist/cli/lib/watchFilesAndRunTests.unitTest.d.ts +0 -2
  254. package/dist/cli/lib/watchFilesAndRunTests.unitTest.d.ts.map +0 -1
  255. package/dist/cli/lib/watchFilesAndRunTests.unitTest.js +0 -127
  256. package/dist/cli/lib/watchFilesAndRunTests.unitTest.js.map +0 -1
  257. package/dist/cli/lib/watchFilesAndRunTestsChokidar.d.ts.map +0 -1
  258. package/dist/cli/lib/watchFilesAndRunTestsChokidar.unitTest.d.ts +0 -2
  259. package/dist/cli/lib/watchFilesAndRunTestsChokidar.unitTest.d.ts.map +0 -1
  260. package/dist/cli/lib/watchFilesAndRunTestsChokidar.unitTest.js +0 -126
  261. package/dist/cli/lib/watchFilesAndRunTestsChokidar.unitTest.js.map +0 -1
  262. package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.d.ts.map +0 -1
  263. package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.unitTest.d.ts +0 -2
  264. package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.unitTest.d.ts.map +0 -1
  265. package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.unitTest.js +0 -128
  266. package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.unitTest.js.map +0 -1
  267. package/dist/cli/lib/watchFilesChokidar.d.ts.map +0 -1
  268. package/dist/cli/lib/watchFilesChokidar.unitTest.d.ts +0 -2
  269. package/dist/cli/lib/watchFilesChokidar.unitTest.d.ts.map +0 -1
  270. package/dist/cli/lib/watchFilesChokidar.unitTest.js +0 -125
  271. package/dist/cli/lib/watchFilesChokidar.unitTest.js.map +0 -1
  272. package/dist/cli/lib/watchFilesNodeWatch.d.ts.map +0 -1
  273. package/dist/cli/lib/watchFilesNodeWatch.unitTest.d.ts +0 -2
  274. package/dist/cli/lib/watchFilesNodeWatch.unitTest.d.ts.map +0 -1
  275. package/dist/cli/lib/watchFilesNodeWatch.unitTest.js +0 -88
  276. package/dist/cli/lib/watchFilesNodeWatch.unitTest.js.map +0 -1
  277. package/dist/cli/once-seq-a.unitTest.d.ts +0 -2
  278. package/dist/cli/once-seq-a.unitTest.d.ts.map +0 -1
  279. package/dist/cli/once-seq-a.unitTest.js +0 -134
  280. package/dist/cli/once-seq-a.unitTest.js.map +0 -1
  281. package/dist/cli/once-seq-d.unitTest.d.ts +0 -2
  282. package/dist/cli/once-seq-d.unitTest.d.ts.map +0 -1
  283. package/dist/cli/once-seq-d.unitTest.js +0 -134
  284. package/dist/cli/once-seq-d.unitTest.js.map +0 -1
  285. package/dist/cli/once-seq-f.unitTest.d.ts +0 -2
  286. package/dist/cli/once-seq-f.unitTest.d.ts.map +0 -1
  287. package/dist/cli/once-seq-f.unitTest.js +0 -134
  288. package/dist/cli/once-seq-f.unitTest.js.map +0 -1
  289. package/dist/cli/once-seq-t.unitTest.d.ts +0 -2
  290. package/dist/cli/once-seq-t.unitTest.d.ts.map +0 -1
  291. package/dist/cli/once-seq-t.unitTest.js +0 -134
  292. package/dist/cli/once-seq-t.unitTest.js.map +0 -1
  293. package/dist/cli/once.d.ts.map +0 -1
  294. package/dist/cli/once.unitTest.d.ts +0 -6
  295. package/dist/cli/once.unitTest.d.ts.map +0 -1
  296. package/dist/cli/once.unitTest.js +0 -201
  297. package/dist/cli/once.unitTest.js.map +0 -1
  298. package/dist/cli/watch.d.ts.map +0 -1
  299. package/dist/cli/watch.unitTest.d.ts +0 -6
  300. package/dist/cli/watch.unitTest.d.ts.map +0 -1
  301. package/dist/cli/watch.unitTest.js +0 -124
  302. package/dist/cli/watch.unitTest.js.map +0 -1
  303. package/dist/config.d.ts.map +0 -1
  304. package/dist/describe.d.ts.map +0 -1
  305. package/dist/describe.unitTest.d.ts +0 -2
  306. package/dist/describe.unitTest.d.ts.map +0 -1
  307. package/dist/describe.unitTest.js +0 -22
  308. package/dist/describe.unitTest.js.map +0 -1
  309. package/dist/index.d.ts.map +0 -1
  310. package/dist/indexNumberToLetters.d.ts.map +0 -1
  311. package/dist/output.d.ts.map +0 -1
  312. package/dist/packages/chalk.d.ts.map +0 -1
  313. package/dist/packages/esmReload.d.ts.map +0 -1
  314. package/dist/packages/esmReload.unitTest.d.ts +0 -2
  315. package/dist/packages/esmReload.unitTest.d.ts.map +0 -1
  316. package/dist/packages/esmReload.unitTest.js +0 -50
  317. package/dist/packages/esmReload.unitTest.js.map +0 -1
  318. package/dist/packages/figures.d.ts.map +0 -1
  319. package/dist/packages/loadConfig.d.ts.map +0 -1
  320. package/dist/packages/mergeStructuredConfig.d.ts.map +0 -1
  321. package/dist/packages/slash.d.ts.map +0 -1
  322. package/dist/packages/timeProfiler.d.ts.map +0 -1
  323. package/dist/testing/makeTestReRunManager.d.ts +0 -4
  324. package/dist/testing/makeTestReRunManager.d.ts.map +0 -1
  325. package/dist/testing/makeTestReRunManager.js +0 -6
  326. package/dist/testing/makeTestReRunManager.js.map +0 -1
  327. package/dist/types.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"showTestResult.js","sourceRoot":"","sources":["../../../src/cli/lib/showTestResult.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"showTestResult.js","sourceRoot":"","sources":["../../../src/cli/lib/showTestResult.ts"],"names":[],"mappings":"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","sourcesContent":["import { createTimeProfiler } from '../../packages/timeProfiler.js'\nimport { showTimeProfiling } from '../../config.js'\nimport _chalk from 'chalk'\nimport chalk from '../../packages/chalk.js'\nimport { out as mainOut } from '../../output.js'\nimport figures from '../../packages/figures.js'\nimport { indexNumberToLetters } from '../../indexNumberToLetters.js'\n\nimport type { FinalConfig, OutFn, TestResult } from '../../types.js'\nimport { AssertionError as ChaiAssertionError } from 'chai'\nimport { AssertionError as NodeAssertionError } from 'node:assert'\nimport { AssertionError as NodeStrictAssertionError } from 'node:assert/strict'\nimport { inspect } from 'node:util'\n\n\nconst { timeProfileAsync } = createTimeProfiler(showTimeProfiling)\n\nexport async function showTestResult(config: FinalConfig, testResult: TestResult, customOut?: OutFn): Promise<void> {\n const out = customOut ?? mainOut\n\n await timeProfileAsync('show test result', () => {\n out()\n out(chalk.grey`File ${testResult.file}`)\n\n const indent = ' '\n\n if (testResult.logs.length > 0) {\n out()\n out(chalk.grey`console.logs:`)\n testResult.logs.forEach(log => {\n out(...log)\n })\n out()\n }\n\n let first = true\n\n for (const describeResult of testResult.describeResults) {\n if (!first) out()\n first = false\n\n out(chalk.lightgrey`${describeResult.counter}) describing ` + chalk.brightblue(describeResult.thing)\n + chalk.grey` ${describeResult.time.toLocaleString()}ms`)\n out()\n\n if (describeResult.logs && describeResult.logs.length > 0) {\n out(chalk.grey`console.logs:`)\n describeResult.logs.forEach(log => {\n out(...log)\n })\n out()\n }\n\n if (describeResult.error !== undefined) {\n const describeError = describeResult.error\n const describeErrorText = (\n typeof describeError === 'object'\n && describeError !== null\n && 'name' in describeError\n && 'message' in describeError\n && typeof describeError.name === 'string'\n && typeof describeError.message === 'string'\n )\n ? `${describeError.name}: ${describeError.message}`\n : String(describeError) // eslint-disable-line @typescript-eslint/no-base-to-string -- only a fallback, if it gives poor results, change it\n\n out(chalk.mediumred(`${indent}Threw:`))\n out(chalk.mediumred(`${indent}${describeErrorText}`))\n if (config.showErrorTrace) {\n const describeErrorStack = (\n typeof describeError === 'object'\n && describeError !== null\n && 'stack' in describeError\n && typeof describeError.stack === 'string'\n )\n ? describeError.stack\n : ''\n out()\n out(chalk.grey(describeErrorStack))\n }\n out()\n }\n\n for (const itResult of describeResult.itResults) {\n const letters = indexNumberToLetters(itResult.counter) ?? ''\n const itTime = chalk.grey` ${itResult.time.toLocaleString()}ms`\n if (itResult.success === true) {\n out(chalk.lightgrey`${indent}${letters})`\n + chalk.mediumgreen` ${figures.tick} ${itResult.should}` + itTime)\n } else {\n out(chalk.lightgrey`${indent}${letters})`\n + chalk.mediumred` ${figures.cross} ${itResult.should}` + itTime)\n out()\n const spacer = `${indent}${' '.repeat(letters.length)} `\n const err = itResult.error\n if (err) {\n if (err instanceof ChaiAssertionError) {\n out(chalk.mediumred(`${spacer}Chai Assertion Failed: ${err.message}`))\n const diffOutput\n = _chalk.yellow`${spacer}Actual ${inspect(err.actual, { depth: 5 })}\\n`\n + _chalk.blueBright`${spacer}Expected ${inspect(err.expected, { depth: 5 })}`\n out(diffOutput)\n } else if (err instanceof NodeAssertionError) {\n /// Node asserts seem to put a message on the 3rd lline, at the start of the line\n out(chalk.mediumred(\n `${spacer}Node Assertion Failed: ${err.message.split('\\n')\n // this version would collapse it onto one line - but I'm scared of breaking more\n // complex displays from more complex types / assertions\n // .reduce<string[]>(\n // (prev, curr) => prev.length === 0\n // ? [curr]\n // : (curr.trim()) ? [...prev, ' ' + curr] : prev,\n // []\n // ).join('')}`\n .reduce<string[]>(\n (prev, curr) => prev.length === 0\n ? [curr]\n : (curr.trim()) ? [...prev, spacer + curr] : prev,\n []\n ).join('\\n')}`\n ))\n const diffOutput\n = _chalk.yellow`${spacer}Actual ${inspect(err.actual, { depth: 5 })}\\n`\n + _chalk.blueBright`${spacer}Expected ${inspect(err.expected, { depth: 5 })}`\n out(diffOutput)\n } else\n if (err.actual && err.expected) {\n out(chalk.mediumred(`${spacer}Assertion Failed: ${err.message}`))\n const diffOutput\n = _chalk.yellow`${spacer}Actual ${inspect(err.actual, { depth: 5 })}\\n`\n + _chalk.blueBright`${spacer}Expected ${inspect(err.expected, { depth: 5 })}`\n out(diffOutput)\n } else {\n out(chalk.mediumred(`${spacer}${err.name}: ${err.message}`))\n }\n // stack trace\n if (config.showErrorTrace) {\n out()\n out(chalk.grey(err.stack ?? ''))\n }\n }\n }\n\n out()\n if (itResult.logs.length > 0) {\n out(chalk.grey`console.logs:`)\n itResult.logs.forEach(log => {\n out(...log)\n })\n out()\n }\n }\n }\n })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"showTtyHelp.js","sourceRoot":"","sources":["../../../src/cli/lib/showTtyHelp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAGhD,MAAM,UAAU,WAAW,CACvB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAC3B,YAAmB,OAAO;IAE1B,IAAI,CAAC,KAAK;QAAE,OAAM;IAElB,SAAS,CAAC,KAAK,CAAC,IAAI,CAChB,sDAAsD,CACzD,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"showTtyHelp.js","sourceRoot":"","sources":["../../../src/cli/lib/showTtyHelp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAGhD,MAAM,UAAU,WAAW,CACvB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAC3B,YAAmB,OAAO;IAE1B,IAAI,CAAC,KAAK;QAAE,OAAM;IAElB,SAAS,CAAC,KAAK,CAAC,IAAI,CAChB,sDAAsD,CACzD,CAAC,CAAA;AACN,CAAC","sourcesContent":["import chalk from '../../packages/chalk.js'\nimport { out as mainOut } from '../../output.js'\nimport type { OutFn } from '../../types.js'\n\nexport function showTtyHelp(\n isTty = process.stdin.isTTY,\n customOut: OutFn = mainOut\n): void {\n if (!isTty) return\n\n customOut(chalk.grey(\n 'a = re-run all, l = re-run last, f = re-run failures'\n ))\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../../../src/cli/lib/shutdown.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,6FAA6F;AAC7F,0CAA0C;AAC1C,EAAE;AACF,4FAA4F;AAC5F,8FAA8F;AAC9F,qFAAqF;AAIrF,+FAA+F;AAC/F,+EAA+E;AAC/E,oCAAoC;AACpC,2FAA2F;AAC3F,0FAA0F;AAC1F,yEAAyE;AACzE,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAU,CAAA;AAElE,MAAM,eAAe,GAA2B;IAC5C,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,GAAG;CACf,CAAA;AASD,SAAS,KAAK,CAAC,EAAU;IACrB,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;QAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QACrC,iDAAiD;QACjD,KAAK,CAAC,KAAK,EAAE,CAAA;IACjB,CAAC,CAAC,CAAA;AACN,CAAC;AAED,MAAM,UAAU,YAAY,CACxB,MAAmB,EACnB,OAAwB;IAExB,IAAI,WAAW,GAAG,KAAK,CAAA;IAEvB,OAAO,KAAK,UAAU,QAAQ,CAAC,MAAc;QACzC,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAE7C,mEAAmE;QACnE,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACtB,OAAM;QACV,CAAC;QACD,WAAW,GAAG,IAAI,CAAA;QAElB,IAAI,CAAC;YACD,MAAM,OAAO,CAAC,IAAI,CAAC;gBACf,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACxB,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;aACnC,CAAC,CAAA;QACN,CAAC;QAAC,MAAM,CAAC;YACL,2DAA2D;QAC/D,CAAC;gBAAS,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1B,CAAC;IACL,CAAC,CAAA;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAmB,EAAE,OAAwB;IAClF,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9C,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACnC,qFAAqF;QACrF,4DAA4D;QAC5D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IACvD,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../../../src/cli/lib/shutdown.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,6FAA6F;AAC7F,0CAA0C;AAC1C,EAAE;AACF,4FAA4F;AAC5F,8FAA8F;AAC9F,qFAAqF;AAIrF,+FAA+F;AAC/F,+EAA+E;AAC/E,oCAAoC;AACpC,2FAA2F;AAC3F,0FAA0F;AAC1F,yEAAyE;AACzE,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAU,CAAA;AAElE,MAAM,eAAe,GAA2B;IAC5C,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,GAAG;CACf,CAAA;AASD,SAAS,KAAK,CAAC,EAAU;IACrB,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;QAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QACrC,iDAAiD;QACjD,KAAK,CAAC,KAAK,EAAE,CAAA;IACjB,CAAC,CAAC,CAAA;AACN,CAAC;AAED,MAAM,UAAU,YAAY,CACxB,MAAmB,EACnB,OAAwB;IAExB,IAAI,WAAW,GAAG,KAAK,CAAA;IAEvB,OAAO,KAAK,UAAU,QAAQ,CAAC,MAAc;QACzC,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAE7C,mEAAmE;QACnE,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACtB,OAAM;QACV,CAAC;QACD,WAAW,GAAG,IAAI,CAAA;QAElB,IAAI,CAAC;YACD,MAAM,OAAO,CAAC,IAAI,CAAC;gBACf,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACxB,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;aACnC,CAAC,CAAA;QACN,CAAC;QAAC,MAAM,CAAC;YACL,2DAA2D;QAC/D,CAAC;gBAAS,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1B,CAAC;IACL,CAAC,CAAA;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAmB,EAAE,OAAwB;IAClF,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9C,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACnC,qFAAqF;QACrF,4DAA4D;QAC5D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IACvD,CAAC;AACL,CAAC","sourcesContent":["// Watch mode never finishes - it parks on a promise that never settles - so there is no\n// natural point at which to run the user's teardown. The only way it gets a chance is on the\n// way out, when the process is signalled.\n//\n// All the logic lives in makeShutdown so it can be tested by calling the returned function.\n// registerShutdownHandlers is deliberately trivial: attaching the listeners is the one part a\n// test cannot exercise, because delivering a real signal would kill the test runner.\n\nimport type { FinalConfig } from '../../types.js'\n\n// SIGINT - ctrl-c. In watch mode with ttyActionsOnKeypress the terminal is in raw mode, so the\n// OS does not raise it; listenToUser re-raises it by hand when it sees ctrl-c.\n// SIGBREAK - ctrl-break on Windows.\n// SIGTERM - not delivered by Windows, but the usual way a POSIX/CI parent asks us to stop.\n// SIGHUP is left out on purpose: Windows hard-kills roughly ten seconds after the console\n// window closes, so honouring it would only ever be a partial guarantee.\nconst shutdownSignals = ['SIGINT', 'SIGBREAK', 'SIGTERM'] as const\n\nconst signalExitCodes: Record<string, number> = {\n SIGINT: 130,\n SIGBREAK: 130,\n SIGTERM: 143\n}\n\nexport interface ShutdownOptions {\n teardown: (config: FinalConfig) => Promise<void>\n exit: (code: number) => void\n // how long teardown gets before we leave anyway\n timeoutMs?: number\n}\n\nfunction delay(ms: number): Promise<void> {\n return new Promise<void>(resolve => {\n const timer = setTimeout(resolve, ms)\n // must not be the reason the process stays alive\n timer.unref()\n })\n}\n\nexport function makeShutdown(\n config: FinalConfig,\n options: ShutdownOptions\n): (signal: string) => Promise<void> {\n let tearingDown = false\n\n return async function shutdown(signal: string): Promise<void> {\n const exitCode = signalExitCodes[signal] ?? 0\n\n // a second signal means the user is not willing to wait any longer\n if (tearingDown) {\n options.exit(exitCode)\n return\n }\n tearingDown = true\n\n try {\n await Promise.race([\n options.teardown(config),\n delay(options.timeoutMs ?? 5000)\n ])\n } catch {\n // a failing teardown must not trap the user in the process\n } finally {\n options.exit(exitCode)\n }\n }\n}\n\nexport function registerShutdownHandlers(config: FinalConfig, options: ShutdownOptions): void {\n const shutdown = makeShutdown(config, options)\n for (const signal of shutdownSignals) {\n // attaching a listener replaces the default behaviour for these signals, so shutdown\n // is now solely responsible for actually ending the process\n process.on(signal, () => { void shutdown(signal) })\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"timeProfier.js","sourceRoot":"","sources":["../../../src/cli/lib/timeProfier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;AAE/E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"timeProfier.js","sourceRoot":"","sources":["../../../src/cli/lib/timeProfier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;AAE/E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAA","sourcesContent":["import { createTimeProfiler } from '../../packages/timeProfiler.js'\nimport { showTimeProfiling } from '../../config.js'\n\nconst { timeProfile, timeProfileAsync } = createTimeProfiler(showTimeProfiling)\n\nexport { timeProfile, timeProfileAsync }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"validateConfig.js","sourceRoot":"","sources":["../../../src/cli/lib/validateConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAGhD,MAAM,UAAU,cAAc,CAAC,MAAmB,EAAE,SAAiB;IACjE,MAAM,GAAG,GAAG,SAAS,IAAI,OAAO,CAAA;IAEhC,SAAS,OAAO,CAAC,OAAe;QAC5B,GAAG,CAAC,OAAO,CAAC,CAAA;QACZ,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,+CAA+C,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QACnF,OAAO,CAAC,+EAA+E,CAAC,CAAA;IAC5F,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,KAAK,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;QAC3F,OAAO,CAAC,mFAAmF,CAAC,CAAA;IAChG,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QACnF,OAAO,CAAC,+EAA+E,CAAC,CAAA;IAC5F,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACzD,OAAO,CAAC,qEAAqE,CAAC,CAAA;IAClF,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"validateConfig.js","sourceRoot":"","sources":["../../../src/cli/lib/validateConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAGhD,MAAM,UAAU,cAAc,CAAC,MAAmB,EAAE,SAAiB;IACjE,MAAM,GAAG,GAAG,SAAS,IAAI,OAAO,CAAA;IAEhC,SAAS,OAAO,CAAC,OAAe;QAC5B,GAAG,CAAC,OAAO,CAAC,CAAA;QACZ,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,+CAA+C,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QACnF,OAAO,CAAC,+EAA+E,CAAC,CAAA;IAC5F,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,KAAK,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;QAC3F,OAAO,CAAC,mFAAmF,CAAC,CAAA;IAChG,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QACnF,OAAO,CAAC,+EAA+E,CAAC,CAAA;IAC5F,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACzD,OAAO,CAAC,qEAAqE,CAAC,CAAA;IAClF,CAAC;AACL,CAAC","sourcesContent":["import { out as mainOut } from '../../output.js'\nimport type { FinalConfig, OutFn } from '../../types.js'\n\nexport function validateConfig(config: FinalConfig, customOut?: OutFn): void {\n const out = customOut ?? mainOut\n\n function doError(message: string): never {\n out(message)\n throw new Error(message)\n }\n\n if (config.execution === undefined) {\n doError('Config error, config.execution is not defined')\n }\n\n if (config.execution.files !== 'parallel' && config.execution.files !== 'sequential') {\n doError('Config error, config.execution.files should be \\'parallel\\' or \\'sequential\\'')\n }\n\n if (config.execution.describes !== 'parallel' && config.execution.describes !== 'sequential') {\n doError('Config error, config.execution.describes should be \\'parallel\\' or \\'sequential\\'')\n }\n\n if (config.execution.tests !== 'parallel' && config.execution.tests !== 'sequential') {\n doError('Config error, config.execution.tests should be \\'parallel\\' or \\'sequential\\'')\n }\n\n if (typeof config.watch.ttyActionsOnKeypress !== 'boolean') {\n doError('Config error, config.watch.ttyActionsOnKeypress should be a boolean')\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"watchFilesAndRunTests.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesAndRunTests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,IAAI,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAE7G,6GAA6G"}
1
+ {"version":3,"file":"watchFilesAndRunTests.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesAndRunTests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,IAAI,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAE7G,6GAA6G","sourcesContent":["export { watchFilesAndRunTestsNodeWatch as watchFilesAndRunTests } from './watchFilesAndRunTestsNodeWatch.js'\n\n//export { watchFilesAndRunTestsChokidar as watchFilesAndRunTests } from './watchFilesAndRunTestsChokidar.js'\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"watchFilesAndRunTestsChokidar.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesAndRunTestsChokidar.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,sDAAsD;AACtD,8CAA8C;AAC9C,oCAAoC;AACpC,8CAA8C;AAC9C,oDAAoD;;AAEpD,2CAA2C;AAC3C,iEAAiE;AACjE,uDAAuD;AACvD,+DAA+D;AAC/D,uCAAuC;AACvC,4DAA4D;AAE5D,kGAAkG;AAClG,4DAA4D;AAC5D,mDAAmD;AAEnD,qEAAqE;AAErE,uDAAuD;AACvD,2BAA2B;AAC3B,2BAA2B;AAC3B,wCAAwC;AACxC,8BAA8B;AAC9B,8DAA8D;AAC9D,uCAAuC;AACvC,yBAAyB;AACzB,kDAAkD;AAClD,qBAAqB;AACrB,uCAAuC;AAEvC,6DAA6D;AAC7D,yDAAyD;AACzD,mEAAmE;AAEnE,0DAA0D;AAC1D,mEAAmE;AACnE,0EAA0E;AAC1E,uBAAuB;AACvB,uDAAuD;AACvD,mDAAmD;AACnD,4EAA4E;AAC5E,oBAAoB;AACpB,YAAY;AAEZ,4BAA4B;AAC5B,uDAAuD;AAEvD,uEAAuE;AACvE,6DAA6D;AAE7D,iGAAiG;AACjG,uEAAuE;AACvE,mDAAmD;AACnD,mDAAmD;AACnD,gBAAgB;AAEhB,yCAAyC;AACzC,8DAA8D;AAE9D,+CAA+C;AAC/C,mDAAmD;AAEnD,6FAA6F;AAC7F,6BAA6B;AAC7B,wCAAwC;AACxC,gBAAgB;AAEhB,2CAA2C;AAC3C,8EAA8E;AAC9E,2DAA2D;AAC3D,4BAA4B;AAC5B,qDAAqD;AACrD,qDAAqD;AACrD,0EAA0E;AAC1E,mDAAmD;AACnD,sDAAsD;AACtD,kIAAkI;AAClI,uGAAuG;AACvG,gEAAgE;AAChE,uDAAuD;AACvD,6FAA6F;AAC7F,+EAA+E;AAC/E,2DAA2D;AAC3D,wCAAwC;AACxC,oCAAoC;AACpC,gCAAgC;AAChC,+DAA+D;AAC/D,sDAAsD;AACtD,6FAA6F;AAC7F,2EAA2E;AAC3E,+HAA+H;AAC/H,sEAAsE;AACtE,oDAAoD;AACpD,oCAAoC;AACpC,gCAAgC;AAChC,4BAA4B;AAE5B,4CAA4C;AAE5C,gDAAgD;AAEhD,8CAA8C;AAC9C,mGAAmG;AACnG,wDAAwD;AAExD,wDAAwD;AACxD,sEAAsE;AACtE,6FAA6F;AAE7F,gFAAgF;AAChF,4FAA4F;AAC5F,6DAA6D;AAE7D,+DAA+D;AAC/D,0DAA0D;AAE1D,uEAAuE;AACvE,8CAA8C;AAC9C,8CAA8C;AAC9C,oDAAoD;AACpD,iDAAiD;AACjD,qDAAqD;AACrD,iDAAiD;AACjD,uDAAuD;AACvD,oCAAoC;AACpC,iEAAiE;AACjE,iCAAiC;AACjC,4BAA4B;AAC5B,oCAAoC;AACpC,wDAAwD;AACxD,wBAAwB;AACxB,qBAAqB;AACrB,qBAAqB;AACrB,kCAAkC;AAElC,wDAAwD;AACxD,0CAA0C;AAC1C,2EAA2E;AAC3E,yDAAyD;AACzD,yEAAyE;AACzE,+CAA+C;AAC/C,YAAY;AACZ,SAAS;AAET,0FAA0F;AAC1F,uFAAuF;AACvF,qFAAqF;AACrF,4CAA4C;AAC5C,IAAI"}
1
+ {"version":3,"file":"watchFilesAndRunTestsChokidar.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesAndRunTestsChokidar.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,sDAAsD;AACtD,8CAA8C;AAC9C,oCAAoC;AACpC,8CAA8C;AAC9C,oDAAoD;;AAEpD,2CAA2C;AAC3C,iEAAiE;AACjE,uDAAuD;AACvD,+DAA+D;AAC/D,uCAAuC;AACvC,4DAA4D;AAE5D,kGAAkG;AAClG,4DAA4D;AAC5D,mDAAmD;AAEnD,qEAAqE;AAErE,uDAAuD;AACvD,2BAA2B;AAC3B,2BAA2B;AAC3B,wCAAwC;AACxC,8BAA8B;AAC9B,8DAA8D;AAC9D,uCAAuC;AACvC,yBAAyB;AACzB,kDAAkD;AAClD,qBAAqB;AACrB,uCAAuC;AAEvC,6DAA6D;AAC7D,yDAAyD;AACzD,mEAAmE;AAEnE,0DAA0D;AAC1D,mEAAmE;AACnE,0EAA0E;AAC1E,uBAAuB;AACvB,uDAAuD;AACvD,mDAAmD;AACnD,4EAA4E;AAC5E,oBAAoB;AACpB,YAAY;AAEZ,4BAA4B;AAC5B,uDAAuD;AAEvD,uEAAuE;AACvE,6DAA6D;AAE7D,iGAAiG;AACjG,uEAAuE;AACvE,mDAAmD;AACnD,mDAAmD;AACnD,gBAAgB;AAEhB,yCAAyC;AACzC,8DAA8D;AAE9D,+CAA+C;AAC/C,mDAAmD;AAEnD,6FAA6F;AAC7F,6BAA6B;AAC7B,wCAAwC;AACxC,gBAAgB;AAEhB,2CAA2C;AAC3C,8EAA8E;AAC9E,2DAA2D;AAC3D,4BAA4B;AAC5B,qDAAqD;AACrD,qDAAqD;AACrD,0EAA0E;AAC1E,mDAAmD;AACnD,sDAAsD;AACtD,kIAAkI;AAClI,uGAAuG;AACvG,gEAAgE;AAChE,uDAAuD;AACvD,6FAA6F;AAC7F,+EAA+E;AAC/E,2DAA2D;AAC3D,wCAAwC;AACxC,oCAAoC;AACpC,gCAAgC;AAChC,+DAA+D;AAC/D,sDAAsD;AACtD,6FAA6F;AAC7F,2EAA2E;AAC3E,+HAA+H;AAC/H,sEAAsE;AACtE,oDAAoD;AACpD,oCAAoC;AACpC,gCAAgC;AAChC,4BAA4B;AAE5B,4CAA4C;AAE5C,gDAAgD;AAEhD,8CAA8C;AAC9C,mGAAmG;AACnG,wDAAwD;AAExD,wDAAwD;AACxD,sEAAsE;AACtE,6FAA6F;AAE7F,gFAAgF;AAChF,4FAA4F;AAC5F,6DAA6D;AAE7D,+DAA+D;AAC/D,0DAA0D;AAE1D,uEAAuE;AACvE,8CAA8C;AAC9C,8CAA8C;AAC9C,oDAAoD;AACpD,iDAAiD;AACjD,qDAAqD;AACrD,iDAAiD;AACjD,uDAAuD;AACvD,oCAAoC;AACpC,iEAAiE;AACjE,iCAAiC;AACjC,4BAA4B;AAC5B,oCAAoC;AACpC,wDAAwD;AACxD,wBAAwB;AACxB,qBAAqB;AACrB,qBAAqB;AACrB,kCAAkC;AAElC,wDAAwD;AACxD,0CAA0C;AAC1C,2EAA2E;AAC3E,yDAAyD;AACzD,yEAAyE;AACzE,+CAA+C;AAC/C,YAAY;AACZ,SAAS;AAET,0FAA0F;AAC1F,uFAAuF;AACvF,qFAAqF;AACrF,4CAA4C;AAC5C,IAAI","sourcesContent":["// import { createTimeProfiler } from '../../packages/timeProfiler.js'\n// import { showTimeProfiling } from '../../config.js'\n// import chalk from '../../packages/chalk.js'\n// import minimatch from 'minimatch'\n// import slash from '../../packages/slash.js'\n// import { out, log, debug } from '../../output.js'\n\n// import { runTests } from './runTests.js'\n// import { buildDependencyTree } from './buildDependencyTree.js'\n// import { globArgCombine } from './globArgCombine.js'\n// import { watchFilesChokidar } from './watchFilesChokidar.js'\n// import { filter } from './filter.js'\n// import { remove as arrayRemove } from 'sxy-lib/arrays.js'\n\n// import type { FinalConfig, DependencyTrees, OutFn, TestExecutionFilters } from '../../types.js'\n// import { ReRunManageState } from './makeWatchRunState.js'\n// import { ReRunManager } from './reRunManager.js'\n\n// const { timeProfileAsync } = createTimeProfiler(showTimeProfiling)\n\n// export async function watchFilesAndRunTestsChokidar(\n// config: FinalConfig,\n// testFiles: string[],\n// dependencyTrees: DependencyTrees,\n// failingTests: string[],\n// reRunManager: ReRunManager, // still needs to be incopr\n// watchRunState: ReRunManageState,\n// customOut?: OutFn,\n// executionFilters: TestExecutionFilters = {}\n// ): Promise<void> {\n// const projectDir = process.cwd()\n\n// await timeProfileAsync('start watching', async () => {\n// let changedFiles: Array<[string, string]> = []\n// let timeout: ReturnType<typeof setTimeout> | null = null\n\n// const testFilter = (file: string): boolean => {\n// return minimatch(file, globArgCombine(config.tests))\n// && !minimatch(file, globArgCombine(config.testsIgnore))\n// && (\n// config.testsFilter === undefined\n// || config.testsFilter === ''\n// || filter(config.testsBase, config.testsFilter, file)\n// )\n// }\n\n// // start watching\n// await watchFilesChokidar(config, watchEvent)\n\n// function watchEvent(filename: string, event: string): void {\n// debug('chokidar watch event', filename, event)\n\n// // remove dep tree for any tests that are deleted, avoiding trying to run it later\n// if (event === 'remove' && filename in dependencyTrees) {\n// arrayRemove(testFiles, filename)\n// delete dependencyTrees[filename]\n// }\n\n// // info on the event found\n// out(chalk.grey`change: ${filename} (${event})`)\n\n// // add the file to changed files\n// changedFiles.push([filename, event])\n\n// // wait 100ms after any change before processing, to avoid multiple execution?\n// if (timeout) {\n// clearTimeout(timeout)\n// }\n\n// timeout = setTimeout(() => {\n// void timeProfileAsync('handle changed files', async () => {\n// debug('changed files', changedFiles)\n// try {\n// // build related test list\n// const tests: string[] = []\n// for (const [file, fileEvent] of changedFiles) {\n// debug('check', file)\n// debug('1 tests', tests)\n// if (fileEvent !== 'remove') { // only check if it's a test if it exists (has not just been removed)\n// if (testFilter(file)) { // it is a test file itself, add to run list\n// debug('its a test', file)\n// tests.push(file)\n// if (!(file in dependencyTrees)) { // if its a new test\n// debug('try to add a new test', file)\n// addNewTest(file)\n// }\n// }\n// }\n// debug('dtrees', dependencyTrees)\n// debug('2 tests', tests)\n// for (const f of Object.getOwnPropertyNames(dependencyTrees)) {\n// debug('dep tree', f, dependencyTrees[f])\n// if (dependencyTrees[f]?.some(dep => dep === file) === true) { // a test depends on this file\n// debug('its a dependency', file)\n// tests.push(f)\n// }\n// }\n// }\n\n// changedFiles = []\n\n// debug('tests', tests)\n\n// if (tests.length) {\n// await timeProfileAsync('run tests related to changes', async () => {\n// debug('tests', tests)\n\n// debug('tests', tests)\n// debug('failingTests', failingTests)\n// debug('reRunFailingTests', config.watch.reRunFailingTests)\n\n// const toTest = config.watch.reRunFailingTests\n// ? [...new Set([...tests, ...failingTests])].reverse()\n// : [...tests].reverse()\n\n// debug('run tests on change')\n// debug('toTest', toTest)\n\n// watchRunState.currentRun = runTests(\n// config,\n// toTest,\n// failingTests,\n// 'refresh',\n// watchRunState,\n// customOut,\n// executionFilters\n// )\n// await watchRunState.currentRun\n// })\n// }\n// } catch (e) {\n// log('watch handler error', e)\n// }\n// })\n// }, 33)\n// } // end of watch event\n\n// function addNewTest(testFile: string): void {\n// debug('new test', testFile)\n// const dependencyTree = buildDependencyTree(config, testFile)\n// dependencyTrees[testFile] = dependencyTree\n// .map(file => slash(file).slice(projectDir.length + 1))\n// .filter(f => f !== testFile)\n// }\n// })\n\n// // NOTE: \"watching...\" is intentionally NOT printed here. watch() already emits it,\n// // tied to a real milestone (the initial test run finishing, or no tests found).\n// // Printing it again here produced a duplicate \"watching...\" on every startup.\n// // out(chalk.brightblue`watching...`)\n// }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"watchFilesAndRunTestsNodeWatch.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesAndRunTestsNodeWatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watchFilesAndRunTestsNodeWatch.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesAndRunTestsNodeWatch.ts"],"names":[],"mappings":"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","sourcesContent":["import { createTimeProfiler } from '../../packages/timeProfiler.js'\nimport { showTimeProfiling } from '../../config.js'\nimport chalk from '../../packages/chalk.js'\nimport minimatch from 'minimatch'\nimport slash from '../../packages/slash.js'\nimport { out, log, debug } from '../../output.js'\n\nimport { runTests } from './runTests.js'\nimport { buildDependencyTree } from './buildDependencyTree.js'\nimport { globArgCombine } from './globArgCombine.js'\nimport { addBasePath } from './addBasePath.js'\nimport { watchFilesNodeWatch } from './watchFilesNodeWatch.js'\nimport { filter } from './filter.js'\nimport { remove as arrayRemove } from 'sxy-lib/arrays.js'\n\nimport type { FinalConfig, DependencyTrees, OutFn, TestExecutionFilters } from '../../types.js'\nimport { ReRunManageState } from './makeWatchRunState.js'\nimport { ReRunManager } from './reRunManager.js'\nimport { inspect } from 'util'\n\nconst { timeProfileAsync } = createTimeProfiler(showTimeProfiling)\n\nexport async function watchFilesAndRunTestsNodeWatch(\n config: FinalConfig,\n //testFiles: Set<string>,\n dependencyTrees: DependencyTrees,\n failingTests: string[],\n reRunManager: ReRunManager,\n //watchRunState: WatchRunState,\n customOut?: OutFn,\n executionFilters: TestExecutionFilters = {}\n): Promise<void> {\n const projectDir = process.cwd()\n\n await timeProfileAsync('init watching', async () => {\n debug('failingTests', failingTests)\n\n const testsGlobs = addBasePath(config.testsBase, config.tests)\n const testsIgnoreGlobs = addBasePath(config.testsBase, config.testsIgnore)\n\n // indentify a test file\n const testFilter = (file: string): boolean => {\n return minimatch(file, globArgCombine(testsGlobs))\n && !minimatch(file, globArgCombine(testsIgnoreGlobs))\n && (\n config.testsFilter === undefined\n || config.testsFilter === ''\n || filter(config.testsBase, config.testsFilter, file)\n )\n }\n\n let changedFiles: Array<[string, string]> = []\n let timeout: ReturnType<typeof setTimeout> | null = null\n\n if (config.watch.watchFilesBase === '') {\n out('No config.watch.watchFilesBase provided, defaulting to \\'.\\'')\n config.watch.watchFilesBase = '.'\n }\n\n await watchFilesNodeWatch(config, watchEvent)\n\n function watchEvent(filename: string, event: string): void {\n debug('handle watch event ', filename, event)\n\n filename = slash(filename)\n\n // remove dep tree for any tests that are deleted, avoiding trying to run it later\n if (event === 'remove') {\n debug('removing test', filename)\n if (filename in dependencyTrees) {\n reRunManager.state.allTestFiles.delete(filename)\n delete dependencyTrees[filename]\n }\n }\n\n // info on the event found\n out(chalk.grey`change: ${filename} (${event})`)\n\n // add the file to changed files\n changedFiles.push([filename, event])\n\n // wait 100ms after any change before processing, to avoid multiple execution?\n if (timeout) {\n clearTimeout(timeout)\n }\n\n timeout = setTimeout(() => {\n void timeProfileAsync('handle changed files', async () => {\n debug('changedFiles', changedFiles)\n try {\n // build related test list\n //const tests: string[] = []\n const tests = new Set<string>\n for (const [file, fileEvent] of changedFiles) {\n debug('check', file)\n debug('1 tests', tests)\n if (fileEvent !== 'remove') { // only check if it's a test if it exists (has not just been removed)\n if (testFilter(file)) { // it is a test file itself, add to run list\n debug('its a test', file)\n //tests.push(file)\n tests.add(file)\n if (!(file in dependencyTrees)) { // if its a new test\n debug('try to add a new test', file)\n addNewTest(file)\n }\n }\n }\n debug('dtrees', dependencyTrees)\n debug('2 tests', tests)\n for (const f of Object.getOwnPropertyNames(dependencyTrees)) {\n debug('dep tree', f, dependencyTrees[f])\n if (dependencyTrees[f]?.some(dep => dep === file) === true) { // a test depends on this file\n debug('its a dependency', file)\n //tests.push(f)\n tests.add(f)\n }\n }\n }\n\n changedFiles = []\n\n debug('tests', tests)\n\n if (tests.size > 0) {\n await timeProfileAsync('build list of files to test and request a run', async () => {\n debug('tests', tests)\n\n // NOTE: the original guarded this cleanup with `config.reRunFailingTests`\n // (missing the `.watch.` prefix every other reference here uses), which is\n // always undefined - so this block never ran. Preserved as dead code rather\n // than newly activating it as part of a TS conversion.\n\n debug('tests', tests)\n debug('failingTests', failingTests)\n debug('reRunFailingTests', config.watch.reRunFailingTests)\n\n const toTest = config.watch.reRunFailingTests\n ? [...new Set([...tests, ...failingTests])].reverse()\n : [...tests].reverse()\n\n //console.log('toTest', inspect(toTest))\n\n debug('run tests on change')\n debug('toTest', toTest)\n\n //console.log('reRunManager.state.untestedFiles', inspect(reRunManager.state.untestedFiles))\n\n //console.log('tests', inspect(tests))\n\n reRunManager.state.untestedFiles = reRunManager.state.untestedFiles.union(tests)\n\n //console.log('unioned', inspect(reRunManager.state.untestedFiles))\n\n reRunManager.requestRun(\n 'auto',\n () => runTests(\n config,\n reRunManager.state.untestedFiles,\n reRunManager,\n //failingTests,\n 'refresh',\n //reRunManager.state,\n customOut,\n executionFilters\n )\n )\n //await watchRunState.currentRun\n })\n }\n } catch (e) {\n log('watch handler error', e)\n }\n })\n }, 33)\n } // end of watch event\n\n function addNewTest(testFile: string): void {\n debug('new test', testFile)\n const dependencyTree = buildDependencyTree(config, testFile)\n dependencyTrees[testFile] = dependencyTree\n .map(file => slash(file).slice(projectDir.length + 1))\n .filter(f => f !== testFile)\n }\n })\n\n // NOTE: \"watching...\" is intentionally NOT printed here. watch() already emits it,\n // tied to a real milestone (the initial test run finishing, or no tests found).\n // Printing it again here produced a duplicate \"watching...\" on every startup.\n // out(chalk.brightblue`watching...`)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"watchFilesChokidar.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesChokidar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAKpD,MAAM,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;AAElE,MAAM,UAAU,kBAAkB,CAAC,MAAmB,EAAE,OAAmB;IACvE,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC3C,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,EAAE,EAAE,CAAC;YACrC,GAAG,CAAC,8DAA8D,CAAC,CAAA;YACnE,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAA;QACrC,CAAC;QAED,yEAAyE;QACzE,6DAA6D;QAC7D,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAEpF,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACvD,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;YACzE,CAAC,CAAC,SAAS,CAAA;QAEf,gFAAgF;QAChF,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAW,EAAE,CACvC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAA;QAE1E,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAC1B,MAAM,CAAC,KAAK,CAAC,cAAc,EAC3B;YACI,OAAO,EAAE,UAAU;YACnB,aAAa,EAAE,IAAI;SACtB,CACJ,CAAA;QAED,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAClC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAM;YAC/B,KAAK,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;YACvC,OAAO,CACH,QAAQ,EACR,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAC1C,CAAA;QACL,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACrB,KAAK,CAAC,wBAAwB,CAAC,CAAA;gBAC/B,OAAO,CAAC,OAAO,CAAC,CAAA;YACpB,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"watchFilesChokidar.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesChokidar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAKpD,MAAM,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;AAElE,MAAM,UAAU,kBAAkB,CAAC,MAAmB,EAAE,OAAmB;IACvE,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC3C,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,EAAE,EAAE,CAAC;YACrC,GAAG,CAAC,8DAA8D,CAAC,CAAA;YACnE,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAA;QACrC,CAAC;QAED,yEAAyE;QACzE,6DAA6D;QAC7D,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAEpF,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACvD,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;YACzE,CAAC,CAAC,SAAS,CAAA;QAEf,gFAAgF;QAChF,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAW,EAAE,CACvC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAA;QAE1E,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAC1B,MAAM,CAAC,KAAK,CAAC,cAAc,EAC3B;YACI,OAAO,EAAE,UAAU;YACnB,aAAa,EAAE,IAAI;SACtB,CACJ,CAAA;QAED,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAClC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAM;YAC/B,KAAK,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;YACvC,OAAO,CACH,QAAQ,EACR,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAC1C,CAAA;QACL,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACrB,KAAK,CAAC,wBAAwB,CAAC,CAAA;gBAC/B,OAAO,CAAC,OAAO,CAAC,CAAA;YACpB,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC","sourcesContent":["import { createTimeProfiler } from '../../packages/timeProfiler.js'\nimport { showTimeProfiling } from '../../config.js'\nimport slash from '../../packages/slash.js'\nimport chokidar from 'chokidar'\nimport minimatch from 'minimatch'\nimport { out, debug } from '../../output.js'\n\nimport { addBasePath } from './addBasePath.js'\nimport { globArgCombine } from './globArgCombine.js'\n\nimport type { FinalConfig } from '../../types.js'\nimport type { WatchEvent } from './watchFilesNodeWatch.js'\n\nconst { timeProfileAsync } = createTimeProfiler(showTimeProfiling)\n\nexport function watchFilesChokidar(config: FinalConfig, onEvent: WatchEvent): Promise<import('chokidar').FSWatcher> {\n return timeProfileAsync('start watching', () => {\n if (config.watch.watchFilesBase === '') {\n out('No config.watch.watchFilesBase provided, defaulting to \\'.\\'')\n config.watch.watchFilesBase = '.'\n }\n\n // watch globs are relative to watchFilesBase, and chokidar reports paths\n // including the base, so bring the globs up to the same base\n const watchGlobs = addBasePath(config.watch.watchFilesBase, config.watch.watchFiles)\n\n const ignoreGlob = config.watch.watchFilesIgnore.length > 0\n ? addBasePath(config.watch.watchFilesBase, config.watch.watchFilesIgnore)\n : undefined\n\n // chokidar has no include option, and ignoring non-matching paths would stop it\n // descending into directories, so watchFiles is applied to the events instead\n const included = (file: string): boolean =>\n watchGlobs.length === 0 || minimatch(file, globArgCombine(watchGlobs))\n\n const watcher = chokidar.watch(\n config.watch.watchFilesBase,\n {\n ignored: ignoreGlob,\n ignoreInitial: true\n }\n )\n\n watcher.on('all', (event, filename) => {\n filename = slash(filename)\n if (!included(filename)) return\n debug('[watch event]', filename, event)\n onEvent(\n filename,\n (event === 'unlink') ? 'remove' : event\n )\n })\n\n return new Promise(resolve => {\n watcher.on('ready', () => {\n debug('chokidar watcher ready')\n resolve(watcher)\n })\n })\n })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"watchFilesNodeWatch.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesNodeWatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,KAAK,WAAW,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAI9C,MAAM,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;AAalE,MAAM,SAAS,GAAG,WAAW,CAAC,OAAiC,CAAA;AAI/D,MAAM,UAAU,mBAAmB,CAAC,MAAmB,EAAE,OAAmB;IACxE,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QACjD,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,EAAE,EAAE,CAAC;YACrC,GAAG,CAAC,8DAA8D,CAAC,CAAA;YACnE,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAA;QACrC,CAAC;QAED,+EAA+E;QAC/E,mEAAmE;QACnE,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACpF,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAEhG,0DAA0D;QAC1D,MAAM,WAAW,GAAG,CAAC,IAAY,EAAW,EAAE,CAC1C,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;eAC5E,CACC,gBAAgB,CAAC,MAAM,KAAK,CAAC;mBAC1B,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAC/D,CAAA;QAEL,MAAM,OAAO,GAAG,SAAS,CACrB,MAAM,CAAC,KAAK,CAAC,cAAc,EAC3B;YACI,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,WAAW;SACtB,EACD,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAChB,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC1B,KAAK,CAAC,aAAa,CAAC,CAAA;YACpB,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC5B,CAAC,CACJ,CAAA;QAED,kCAAkC;QAClC,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAC9B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QAEF,OAAO,OAAO,CAAA;IAClB,CAAC,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"watchFilesNodeWatch.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesNodeWatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,KAAK,WAAW,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAI9C,MAAM,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;AAalE,MAAM,SAAS,GAAG,WAAW,CAAC,OAAiC,CAAA;AAI/D,MAAM,UAAU,mBAAmB,CAAC,MAAmB,EAAE,OAAmB;IACxE,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QACjD,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,EAAE,EAAE,CAAC;YACrC,GAAG,CAAC,8DAA8D,CAAC,CAAA;YACnE,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAA;QACrC,CAAC;QAED,+EAA+E;QAC/E,mEAAmE;QACnE,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACpF,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAEhG,0DAA0D;QAC1D,MAAM,WAAW,GAAG,CAAC,IAAY,EAAW,EAAE,CAC1C,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;eAC5E,CACC,gBAAgB,CAAC,MAAM,KAAK,CAAC;mBAC1B,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAC/D,CAAA;QAEL,MAAM,OAAO,GAAG,SAAS,CACrB,MAAM,CAAC,KAAK,CAAC,cAAc,EAC3B;YACI,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,WAAW;SACtB,EACD,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAChB,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC1B,KAAK,CAAC,aAAa,CAAC,CAAA;YACpB,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC5B,CAAC,CACJ,CAAA;QAED,kCAAkC;QAClC,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAC9B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QAEF,OAAO,OAAO,CAAA;IAClB,CAAC,CAAC,CAAA;AACN,CAAC","sourcesContent":["import { createTimeProfiler } from '../../packages/timeProfiler.js'\nimport { showTimeProfiling } from '../../config.js'\nimport minimatch from 'minimatch'\nimport slash from '../../packages/slash.js'\nimport * as nodeWatchNS from 'node-watch'\nimport { out, debug } from '../../output.js'\n\nimport { globArgCombine } from './globArgCombine.js'\nimport { addBasePath } from './addBasePath.js'\n\nimport type { FinalConfig } from '../../types.js'\n\nconst { timeProfileAsync } = createTimeProfiler(showTimeProfiling)\n\nexport interface NodeWatchWatcher {\n on(event: 'ready', listener: () => void): void\n}\n\n// node-watch's shipped .d.ts mistypes the default export under NodeNext CJS interop\n// (resolves to the module namespace type, not the function) - cast at the call site.\ntype NodeWatchFn = (\n pathName: string,\n options: { recursive?: boolean; filter?: (file: string) => boolean },\n callback: (event: string, filename: string) => void\n) => NodeWatchWatcher\nconst nodeWatch = nodeWatchNS.default as unknown as NodeWatchFn\n\nexport type WatchEvent = (filename: string, event: string) => void\n\nexport function watchFilesNodeWatch(config: FinalConfig, onEvent: WatchEvent): Promise<NodeWatchWatcher> {\n return timeProfileAsync('start watching', async () => {\n if (config.watch.watchFilesBase === '') {\n out('No config.watch.watchFilesBase provided, defaulting to \\'.\\'')\n config.watch.watchFilesBase = '.'\n }\n\n // watch globs are relative to watchFilesBase, but node-watch's filter is given\n // paths including the base, so bring the globs up to the same base\n const watchGlobs = addBasePath(config.watch.watchFilesBase, config.watch.watchFiles)\n const watchIgnoreGlobs = addBasePath(config.watch.watchFilesBase, config.watch.watchFilesIgnore)\n\n // identify a file we should be watching and responding to\n const watchFilter = (file: string): boolean =>\n (watchGlobs.length === 0 || minimatch(slash(file), globArgCombine(watchGlobs)))\n && (\n watchIgnoreGlobs.length === 0\n || !minimatch(slash(file), globArgCombine(watchIgnoreGlobs))\n )\n\n const watcher = nodeWatch(\n config.watch.watchFilesBase,\n {\n recursive: true,\n filter: watchFilter\n },\n (event, filename) => {\n filename = slash(filename)\n debug('watch event')\n onEvent(filename, event)\n }\n )\n\n // wait until the watcher is ready\n await new Promise<void>(resolve => {\n watcher.on('ready', resolve)\n })\n\n return watcher\n })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"once.js","sourceRoot":"","sources":["../../src/cli/once.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"once.js","sourceRoot":"","sources":["../../src/cli/once.ts"],"names":[],"mappings":"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","sourcesContent":["\r\nimport chalk from '../packages/chalk.js'\r\n\r\nimport { packageName, configFileNames } from '../config.js'\r\nimport { out, log } from '../output.js'\r\n\r\nimport type { AllowedArguments } from '../types.js'\r\nimport { setEnv } from './lib/setEnv.js'\r\nimport { findingTestsMessage } from './lib/findingTestsMessage.js'\r\nimport { foundTestsMessage } from './lib/foundTestsMessage.js'\r\nimport { isTest } from './lib/isTest.js'\r\n\r\n\r\nexport async function once(): Promise<void> {\r\n out(chalk.brightblue`[${packageName}]...`)\r\n\r\n const startTime = new Date().getTime()\r\n\r\n const { parseCommandLineArguments } = await import('./lib/parseCommandLineArguments.js')\r\n const allowedClArguments: AllowedArguments = {\r\n config: {\r\n flag: 'c',\r\n hasValue: true\r\n },\r\n 'test-files': {\r\n flag: 't',\r\n hasValue: true\r\n },\r\n filter: {\r\n flag: 'f',\r\n hasValue: true\r\n },\r\n 'filter-it': {\r\n flag: 'i',\r\n hasValue: true\r\n },\r\n 'filter-describe': {\r\n flag: 'd',\r\n hasValue: true\r\n }\r\n }\r\n const clArguments = parseCommandLineArguments(allowedClArguments)\r\n //debug('clArguments', clArguments)\r\n\r\n setEnv()\r\n\r\n const { loadConfig } = await import('./lib/loadConfig.js')\r\n const userConfig = (typeof clArguments.config === 'string')\r\n ? await loadConfig(clArguments.config)\r\n : await loadConfig()\r\n\r\n if ('test-files' in clArguments) {\r\n const testFilesPattern = clArguments['test-files']\r\n if (typeof testFilesPattern !== 'string' || testFilesPattern === '') {\r\n throw new Error('No pattern specified for --test-files or -t argument')\r\n }\r\n //console.log('Looking for tests using pattern: ' + testFilesPattern) // eslint-disable-line no-console\r\n userConfig.tests = testFilesPattern\r\n }\r\n\r\n if ('filter' in clArguments) {\r\n const filter = clArguments.filter\r\n if (typeof filter !== 'string' || filter === '') {\r\n throw new Error('No pattern specified for --filter or -f argument')\r\n }\r\n //console.log('Filtering tests using pattern: ' + filter) // eslint-disable-line no-console\r\n userConfig.testsFilter = filter\r\n }\r\n\r\n const filterIt = clArguments['filter-it']\r\n const filterDescribe = clArguments['filter-describe']\r\n if (filterIt === true || filterIt === '') throw new Error('No substring specified for --filter-it')\r\n if (filterDescribe === true || filterDescribe === '') {\r\n throw new Error('No substring specified for --filter-describe')\r\n }\r\n\r\n const { applyConfigDefaults } = await import('./lib/applyConfigDefaults.js')\r\n const config = applyConfigDefaults(userConfig)\r\n\r\n const { validateConfig } = await import('./lib/validateConfig.js')\r\n validateConfig(config)\r\n\r\n //console.log('run setup')\r\n //console.log(util.inspect(config))\r\n const { doUserSetup } = await import('./lib/doUserSetup.js')\r\n await doUserSetup(config)\r\n //console.log('ran setup')\r\n \r\n out(chalk.brightblue(findingTestsMessage(config)))\r\n const { findTestFiles } = await import('./lib/findTestFiles.js')\r\n const testFiles = await findTestFiles(config)\r\n\r\n if (testFiles.size === 0) {\r\n out(chalk.mediumred(`[${packageName}] Found no tests.`\r\n + '\\nCreate tests matching the patterns, '\r\n + `\\nor set new patterns in ${configFileNames.map(x => `${x}.js/cjs/mjs`).join(' or ')}`))\r\n\r\n const endTime = new Date().getTime()\r\n const time = endTime - startTime\r\n out(chalk.brightblue(`[${packageName}] time: ${time.toLocaleString()}ms`))\r\n\r\n // setup has already run by this point, so teardown must run too, or its side\r\n // effects are left behind\r\n const { doUserTeardown } = await import('./lib/doUserTeardown.js')\r\n await doUserTeardown(config)\r\n\r\n process.exit(4)\r\n }\r\n\r\n out(chalk.brightblue(foundTestsMessage(testFiles.size)))\r\n\r\n // testFiles.size is guaranteed non-zero here - the no-tests case exited above\r\n const { runTests } = await import('./lib/runTests.js')\r\n log(chalk.brightblue`running tests...`)\r\n const testsResult = await runTests(\r\n config, testFiles,\r\n undefined,\r\n (isTest) ? 'refresh' : 'cached',\r\n undefined,\r\n {\r\n it: filterIt,\r\n describe: filterDescribe\r\n }\r\n )\r\n // 5 - not 4 - so callers can tell \"no test files matched\" from \"filters matched nothing\"\r\n const exitCode = testsResult === null ? 5 : testsResult ? 0 : 3\r\n\r\n const time = new Date().getTime() - startTime\r\n out(chalk.grey`\\n${time.toLocaleString()}ms\\n`)\r\n\r\n const { doUserTeardown } = await import('./lib/doUserTeardown.js')\r\n await doUserTeardown(config)\r\n\r\n process.exit(exitCode)\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/cli/watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/cli/watch.ts"],"names":[],"mappings":"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","sourcesContent":["import chalk from '../packages/chalk.js'\r\n\r\nimport { packageName } from '../config.js'\r\nimport { out, debug } from '../output.js'\r\n\r\nimport type { AllowedArguments, DependencyTrees } from '../types.js'\r\nimport { setEnv } from './lib/setEnv.js'\r\nimport { findingTestsMessage } from './lib/findingTestsMessage.js'\r\nimport { foundTestsMessage } from './lib/foundTestsMessage.js'\r\nimport { isTest } from './lib/isTest.js'\r\nimport { makeRunManagerState } from './lib/makeWatchRunState.js'\r\nimport { makeReRunManager } from './lib/reRunManager.js'\r\n\r\nexport async function watch(): Promise<void> {\r\n out(chalk.brightblue`[${packageName}]...`)\r\n\r\n const startTime = new Date().getTime()\r\n\r\n const { parseCommandLineArguments } = await import('./lib/parseCommandLineArguments.js')\r\n const allowedClArguments: AllowedArguments = {\r\n 'config': {\r\n flag: 'c',\r\n hasValue: true\r\n },\r\n 'test-files': {\r\n flag: 't',\r\n hasValue: true\r\n },\r\n 'filter': {\r\n flag: 'f',\r\n hasValue: true\r\n },\r\n 'filter-it': {\r\n flag: 'i',\r\n hasValue: true\r\n },\r\n 'filter-describe': {\r\n flag: 'd',\r\n hasValue: true\r\n }\r\n }\r\n const clArguments = parseCommandLineArguments(allowedClArguments)\r\n //debug('clArguments', clArguments)\r\n\r\n setEnv()\r\n\r\n const { loadConfig } = await import('./lib/loadConfig.js')\r\n const userConfig = (typeof clArguments.config === 'string')\r\n ? await loadConfig(clArguments.config)\r\n : await loadConfig()\r\n\r\n if ('test-files' in clArguments) {\r\n const testFilesPattern = clArguments['test-files']\r\n if (typeof testFilesPattern !== 'string' || testFilesPattern === '') {\r\n throw new Error('No pattern specified for --test-files or -t argument')\r\n }\r\n userConfig.tests = testFilesPattern\r\n }\r\n\r\n if ('filter' in clArguments) {\r\n const filter = clArguments.filter\r\n if (typeof filter !== 'string' || filter === '') {\r\n throw new Error('No pattern specified for --filter or -f argument')\r\n }\r\n userConfig.testsFilter = filter\r\n }\r\n\r\n const filterIt = clArguments['filter-it']\r\n const filterDescribe = clArguments['filter-describe']\r\n if (filterIt === true || filterIt === '') throw new Error('No substring specified for --filter-it')\r\n if (filterDescribe === true || filterDescribe === '') {\r\n throw new Error('No substring specified for --filter-describe')\r\n }\r\n const executionFilters = { it: filterIt, describe: filterDescribe }\r\n\r\n const { applyConfigDefaults } = await import('./lib/applyConfigDefaults.js')\r\n const config = applyConfigDefaults(userConfig)\r\n\r\n const { validateConfig } = await import('./lib/validateConfig.js')\r\n validateConfig(config)\r\n\r\n const { doUserSetup } = await import('./lib/doUserSetup.js')\r\n await doUserSetup(config)\r\n\r\n // watch mode never reaches an end of its own, so teardown only gets a chance on the way\r\n // out. Registered here so it pairs with the setup above and covers the initial run too.\r\n const { doUserTeardown } = await import('./lib/doUserTeardown.js')\r\n const { registerShutdownHandlers } = await import('./lib/shutdown.js')\r\n registerShutdownHandlers(config, {\r\n teardown: doUserTeardown,\r\n exit: code => process.exit(code)\r\n })\r\n\r\n out(chalk.brightblue(findingTestsMessage(config)))\r\n const { findTestFiles } = await import('./lib/findTestFiles.js')\r\n const testFiles = await findTestFiles(config)\r\n debug(testFiles)\r\n\r\n // global store of the dependencies of tests\r\n let dependencyTrees: DependencyTrees = {}\r\n // store failing tests so we can re-run them.\r\n const failingTests: string[] = []\r\n \r\n const reRunManager = makeReRunManager(\r\n null,\r\n makeRunManagerState({\r\n allTestFiles: testFiles,\r\n lastTestFiles: testFiles\r\n }),\r\n )\r\n\r\n const { runTests } = await import('./lib/runTests.js')\r\n let initialTestRun: Promise<boolean | null> | null = null\r\n\r\n if (testFiles.size > 0) {\r\n out(chalk.brightblue(foundTestsMessage(testFiles.size)))\r\n const { buildDependencyTrees } = await import('./lib/buildDependencyTrees.js')\r\n out(chalk.brightblue`finding initial dependency trees...`)\r\n dependencyTrees = await buildDependencyTrees(config, testFiles)\r\n\r\n if (config.watch.runAllOnStartup) {\r\n out(chalk.brightblue`running initial tests...`)\r\n initialTestRun = runTests(\r\n config, testFiles, reRunManager,\r\n (isTest) ? 'refresh' : 'cached',\r\n undefined, executionFilters\r\n ).then(async testsResult => {\r\n const time = new Date().getTime() - startTime\r\n //await new Promise((resolve) => setTimeout(resolve, 100))\r\n out(chalk.grey`\\n${time.toLocaleString()}ms`)\r\n return testsResult\r\n })\r\n reRunManager.state.currentRun = initialTestRun\r\n // do we need to catch errors like this?\r\n initialTestRun.catch(err => `Error during initial test run: ${err}`)\r\n }\r\n } else {\r\n out(chalk.orange`no test files found`)\r\n }\r\n\r\n const { watchFilesAndRunTests } = await import('./lib/watchFilesAndRunTests.js')\r\n await watchFilesAndRunTests(\r\n config,\r\n //testFiles,\r\n dependencyTrees,\r\n failingTests, // CHECK this should also be in state\r\n reRunManager,\r\n //watchRunState,\r\n undefined,\r\n executionFilters\r\n )\r\n\r\n\r\n out(chalk.brightblue`watching...`)\r\n\r\n const { listenToUser } = await import('./lib/listenToUser.js')\r\n listenToUser(\r\n reRunManager,\r\n files => () => {\r\n return runTests(config, files, reRunManager, 'refresh', undefined, executionFilters)\r\n },\r\n config.watch.ttyActionsOnKeypress,\r\n initialTestRun\r\n ).catch(e => { throw e })\r\n\r\n\r\n // park forever - watch mode ends by being signalled, and the shutdown handlers registered\r\n // above run the user's teardown on the way out\r\n await new Promise<void>(() => {})\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAA;AAE5C,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAA;AAEjC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAA;AACxE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA,CAAC,2DAA2D;AAEzG,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAA;AAE9B,6EAA6E;AAC7E,8EAA8E;AAC9E,wDAAwD;AACxD,SAAS,OAAO,CAAC,KAAyB;IACtC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IACzE,OAAO,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,GAAG,CAAA;AACtD,CAAC;AAED,sEAAsE;AACtE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAA;AAE5C,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAA;AAEjC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAA;AACxE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA,CAAC,2DAA2D;AAEzG,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAA;AAE9B,6EAA6E;AAC7E,8EAA8E;AAC9E,wDAAwD;AACxD,SAAS,OAAO,CAAC,KAAyB;IACtC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IACzE,OAAO,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,GAAG,CAAA;AACtD,CAAC;AAED,sEAAsE;AACtE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA","sourcesContent":["export const packageName = 'sxy-test-runner'\n\nexport const cliName = 'sxy-test'\n\nexport const configFileNames = ['sxyt.config', 'sxy-test-runner.config']\nexport const configLocations = ['', 'config'] // locations where the configs may be placed in proj folder\n\nexport const debugging = false\n\n// Parse a boolean-ish env var. Accepts true/false and 1/0, case-insensitive,\n// tolerant of surrounding quotes and whitespace (e.g. TIME_PROFILING=\"true\").\n// Anything unrecognised (or unset) is treated as false.\nfunction envFlag(value: string | undefined): boolean {\n if (value === undefined) return false\n const normalized = value.trim().replace(/^[\"']|[\"']$/g, '').toLowerCase()\n return normalized === 'true' || normalized === '1'\n}\n\n// Toggle per-phase timing output with the SXYT_TIME_PROFILING env var\n// (SXYT_TIME_PROFILING=true | 1). Defaults to off so normal runs stay clean.\nexport const showTimeProfiling = envFlag(process.env.SXYT_TIME_PROFILING)\n"]}
@@ -1,3 +1,9 @@
1
1
  import type { DescribeCallback } from './types.js';
2
+ export type DescribeMeta = {
3
+ parallelTests: boolean;
4
+ } | {
5
+ sequentialTests: boolean;
6
+ };
2
7
  export declare function describe(theThing: string, tests: DescribeCallback): void;
8
+ export declare function describe(theThing: string, meta: DescribeMeta, tests: DescribeCallback): void;
3
9
  //# sourceMappingURL=describe.d.ts.map
package/dist/describe.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import chalk from './packages/chalk.js';
2
2
  import { debug } from './output.js';
3
- export function describe(theThing, tests) {
3
+ export function describe(theThing, testsOrMeta, possiblyTests) {
4
4
  if (!global.__sxy_test_runner__) {
5
5
  throw new Error('sxy-test-runner describe() was called, but the test framework has not initialized.'
6
6
  + ' This might be because you have run a test file directly'
@@ -9,9 +9,19 @@ export function describe(theThing, tests) {
9
9
  }
10
10
  const thisDescribeCounter = global.__sxy_test_runner__.describeCounter;
11
11
  global.__sxy_test_runner__.describeCounter++;
12
+ let meta = undefined;
13
+ let tests;
14
+ if (typeof testsOrMeta === 'function') {
15
+ tests = testsOrMeta;
16
+ }
17
+ else {
18
+ meta = testsOrMeta;
19
+ tests = possiblyTests; // eslint-disable-line no-type-assertion/no-type-assertion
20
+ }
12
21
  global.__sxy_test_runner__.describes.push({
13
22
  counter: thisDescribeCounter,
14
23
  thing: theThing,
24
+ meta,
15
25
  tests
16
26
  });
17
27
  debug(chalk.lightgrey `${thisDescribeCounter})`
@@ -1 +1 @@
1
- {"version":3,"file":"describe.js","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,qBAAqB,CAAA;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGnC,MAAM,UAAU,QAAQ,CAAC,QAAgB,EAAE,KAAuB;IAC9D,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACX,oFAAoF;cAClF,0DAA0D;cAC1D,+CAA+C,CACpD,CAAA;QACD,gFAAgF;IACpF,CAAC;IAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAA;IACtE,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAA;IAE5C,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC;QACtC,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,QAAQ;QACf,KAAK;KACR,CAAC,CAAA;IAEF,KAAK,CACD,KAAK,CAAC,SAAS,CAAA,GAAG,mBAAmB,GAAG;UAClC,KAAK,CAAC,SAAS,CAAA,aAAa,GAAG,KAAK,CAAC,UAAU,CAAA,GAAG,QAAQ,IAAI,CACvE,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"describe.js","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,qBAAqB,CAAA;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAOnC,MAAM,UAAU,QAAQ,CACpB,QAAgB,EAAE,WAA4C,EAAE,aAAgC;IAEhG,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACX,oFAAoF;cAClF,0DAA0D;cAC1D,+CAA+C,CACpD,CAAA;QACD,gFAAgF;IACpF,CAAC;IAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAA;IACtE,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAA;IAE5C,IAAI,IAAI,GAAG,SAAS,CAAA;IACpB,IAAI,KAAK,CAAA;IACT,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;QACpC,KAAK,GAAG,WAAW,CAAA;IACvB,CAAC;SAAM,CAAC;QACJ,IAAI,GAAG,WAAW,CAAA;QAClB,KAAK,GAAG,aAAiC,CAAA,CAAC,0DAA0D;IACxG,CAAC;IACD,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC;QACtC,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,QAAQ;QACf,IAAI;QACJ,KAAK;KACR,CAAC,CAAA;IAEF,KAAK,CACD,KAAK,CAAC,SAAS,CAAA,GAAG,mBAAmB,GAAG;UAClC,KAAK,CAAC,SAAS,CAAA,aAAa,GAAG,KAAK,CAAC,UAAU,CAAA,GAAG,QAAQ,IAAI,CACvE,CAAA;AACL,CAAC","sourcesContent":["import chalk from './packages/chalk.js'\n\nimport { debug } from './output.js'\nimport type { DescribeCallback } from './types.js'\n\nexport type DescribeMeta = { parallelTests: boolean } | { sequentialTests: boolean }\n\nexport function describe(theThing: string, tests: DescribeCallback): void;\nexport function describe(theThing: string, meta: DescribeMeta, tests: DescribeCallback): void;\nexport function describe(\n theThing: string, testsOrMeta: DescribeCallback | DescribeMeta, possiblyTests?: DescribeCallback\n): void {\n if (!global.__sxy_test_runner__) {\n throw new Error(\n 'sxy-test-runner describe() was called, but the test framework has not initialized.'\n + ' This might be because you have run a test file directly'\n + ', instead of running \\'pnpm sxy-test-runner\\''\n )\n // todo - maybe we can initialise the framework and just run only this test file\n }\n\n const thisDescribeCounter = global.__sxy_test_runner__.describeCounter\n global.__sxy_test_runner__.describeCounter++\n\n let meta = undefined\n let tests\n if (typeof testsOrMeta === 'function') {\n tests = testsOrMeta\n } else {\n meta = testsOrMeta\n tests = possiblyTests as DescribeCallback // eslint-disable-line no-type-assertion/no-type-assertion\n }\n global.__sxy_test_runner__.describes.push({\n counter: thisDescribeCounter,\n thing: theThing,\n meta,\n tests\n })\n\n debug(\n chalk.lightgrey`${thisDescribeCounter})`\n + chalk.lightgrey` Done with ` + chalk.brightblue`${theThing}\\n`\n )\n}\n"]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA","sourcesContent":["\nexport { describe } from './describe.js'\nexport type { UserConfig as Config } from './types.js'\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"indexNumberToLetters.js","sourceRoot":"","sources":["../src/indexNumberToLetters.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,SAAS,GAAG,KAAK;IAClE,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACzC,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,IAAI,WAAmB,CAAA;IAEvB,OAAO,MAAM,GAAG,CAAC,EAAE,CAAC;QAChB,WAAW,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;QAC/B,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,IAAI,CAAA;QAC9D,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,IAAI,IAAI,SAAS,CAAA;AAC5B,CAAC"}
1
+ {"version":3,"file":"indexNumberToLetters.js","sourceRoot":"","sources":["../src/indexNumberToLetters.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,SAAS,GAAG,KAAK;IAClE,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACzC,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,IAAI,WAAmB,CAAA;IAEvB,OAAO,MAAM,GAAG,CAAC,EAAE,CAAC;QAChB,WAAW,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;QAC/B,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,IAAI,CAAA;QAC9D,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,IAAI,IAAI,SAAS,CAAA;AAC5B,CAAC","sourcesContent":["export function indexNumberToLetters(number: number, uppercase = false): string | undefined {\n const charCodeStart = uppercase ? 65 : 97\n let text = ''\n let letterIndex: number\n\n while (number > 0) {\n letterIndex = (number - 1) % 26\n text = String.fromCharCode(charCodeStart + letterIndex) + text\n number = ((number - letterIndex) / 26) | 0\n }\n return text || undefined\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,UAAU,GAAG,CAAC,GAAG,KAAgB;IACnC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,GAAG,KAAgB;IACpC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAG,KAAgB;IACrC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,GAAG,KAAgB;IACnC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAkC,CAAC,SAAS,CAAC;IAC3D,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,KAAgB;QAChC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;IACzB,CAAC;IACD,CAAC,CAAC,SAAS,KAAK;QACZ,mCAAmC;IACvC,CAAC,CAAA"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,UAAU,GAAG,CAAC,GAAG,KAAgB;IACnC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,GAAG,KAAgB;IACpC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAG,KAAgB;IACrC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,GAAG,KAAgB;IACnC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAkC,CAAC,SAAS,CAAC;IAC3D,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,KAAgB;QAChC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;IACzB,CAAC;IACD,CAAC,CAAC,SAAS,KAAK;QACZ,mCAAmC;IACvC,CAAC,CAAA","sourcesContent":["/* eslint-disable no-console */\n\nimport { debugging } from './config.js'\n\nexport function out(...texts: unknown[]): void {\n console.log(...texts)\n}\n\nexport function warn(...texts: unknown[]): void {\n console.log(...texts)\n}\n\nexport function error(...texts: unknown[]): void {\n console.log(...texts)\n}\n\nexport function log(...texts: unknown[]): void {\n console.log(...texts)\n}\n\nexport const debug: (...texts: unknown[]) => void = (debugging)\n ? function debug(...texts: unknown[]) {\n console.log(...texts)\n }\n : function debug() {\n // no-op when debugging is disabled\n }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"chalk.js","sourceRoot":"","sources":["../../src/packages/chalk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,iFAAiF;AACjF,mCAAmC;AACnC,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,6DAA6D;AAC7D,eAAe;IACX,GAAG,EAAE,KAAK,CAAC,GAAG;IACd,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAO,0CAA0C;IAC7E,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAG,0CAA0C;IAC7E,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAI,sCAAsC;IACzE,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,mCAAmC;IACtE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAI,mCAAmC;CACzE,CAAA"}
1
+ {"version":3,"file":"chalk.js","sourceRoot":"","sources":["../../src/packages/chalk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,iFAAiF;AACjF,mCAAmC;AACnC,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,6DAA6D;AAC7D,eAAe;IACX,GAAG,EAAE,KAAK,CAAC,GAAG;IACd,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAO,0CAA0C;IAC7E,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAG,0CAA0C;IAC7E,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAI,sCAAsC;IACzE,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,mCAAmC;IACtE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAI,mCAAmC;CACzE,CAAA","sourcesContent":["import chalk from 'chalk'\n\n// Local replacement for `chalk-extensions`. That package monkey-patches chalk's\n// shared singleton with dozens of named colours; we only use a handful, so this\n// is a small facade that delegates to chalk and adds just those. Each entry is a\n// chalk instance, so both call form (`chalk.orange(x)`) and tagged-template form\n// (`chalk.mediumgreen\\`…\\``) work.\n//\n// The custom colours reproduce chalk-extensions' exact definitions. It defined\n// several via chalk's CSS-keyword helper; the equivalent hex is inlined here so\n// output is identical without loading chalk's keyword table.\nexport default {\n red: chalk.red,\n grey: chalk.grey,\n yellow: chalk.yellow,\n blue: chalk.blue,\n orange: chalk.hex('#FF8C00'), // chalk-extensions: keyword('darkorange')\n brightblue: chalk.hex('#1E90FF'), // chalk-extensions: keyword('dodgerblue')\n lightgrey: chalk.hex('#C0C0C0'), // chalk-extensions: keyword('silver')\n mediumgreen: chalk.hex('#20d970'), // chalk-extensions: hex('#20d970')\n mediumred: chalk.hex('#e0444c') // chalk-extensions: hex('#e0444c')\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"esmReload.js","sourceRoot":"","sources":["../../src/packages/esmReload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAoCjD,MAAM,mBAAmB,GAAG,2CAA2C,CAAA;AAEvE,IAAI,QAAQ,GAAG,CAAC,CAAA;AAEhB,SAAS,gBAAgB;IACrB,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC9D,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC7B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxC,SAAS,CAAC,MAAM,GAAG,EAAE,CAAA;IACrB,OAAO,CAAC,MAAM,GAAG,EAAE,CAAA;IACnB,OAAO,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAA;AAC1C,CAAC;AAED,SAAS,cAAc,CAAC,GAAQ;IAC5B,OAAO,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CACzB,SAAiB,EACjB,OAAuB,EACvB,WAAwB;IAExB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAEpD,IAAI,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACvF,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAE/B,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,cAAc,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAA;IAEtC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE;QAClD,CAAC,CAAC,0BAA0B,QAAQ,EAAE,EAAE;QACxC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAEjD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,MAAM,CAAA;IAEpC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACjC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;IAE/C,OAAO;QACH,GAAG,MAAM;QACT,GAAG,EAAE,GAAG,CAAC,IAAI;KAChB,CAAA;AACL,CAAC;AAED,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;IACtB,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAA;AACzC,CAAC"}
1
+ {"version":3,"file":"esmReload.js","sourceRoot":"","sources":["../../src/packages/esmReload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAoCjD,MAAM,mBAAmB,GAAG,2CAA2C,CAAA;AAEvE,IAAI,QAAQ,GAAG,CAAC,CAAA;AAEhB,SAAS,gBAAgB;IACrB,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC9D,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC7B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxC,SAAS,CAAC,MAAM,GAAG,EAAE,CAAA;IACrB,OAAO,CAAC,MAAM,GAAG,EAAE,CAAA;IACnB,OAAO,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAA;AAC1C,CAAC;AAED,SAAS,cAAc,CAAC,GAAQ;IAC5B,OAAO,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CACzB,SAAiB,EACjB,OAAuB,EACvB,WAAwB;IAExB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAEpD,IAAI,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACvF,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAE/B,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,cAAc,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAA;IAEtC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE;QAClD,CAAC,CAAC,0BAA0B,QAAQ,EAAE,EAAE;QACxC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAEjD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,MAAM,CAAA;IAEpC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACjC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;IAE/C,OAAO;QACH,GAAG,MAAM;QACT,GAAG,EAAE,GAAG,CAAC,IAAI;KAChB,CAAA;AACL,CAAC;AAED,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;IACtB,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAA;AACzC,CAAC","sourcesContent":["import { isBuiltin, register } from 'node:module'\n\n/*\n * Based on esm-reload by Marcel Laverdet and Pierre-Yves Gérardy.\n *\n * ISC License\n *\n * Copyright 2024 Marcel Laverdet & Pierre-Yves Gérardy\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n */\n\ninterface ResolveContext {\n parentURL?: string\n}\n\ninterface ResolveResult {\n url: string\n [key: string]: unknown\n}\n\ntype NextResolve = (\n specifier: string,\n context: ResolveContext\n) => ResolveResult | Promise<ResolveResult>\n\nconst cachedModulePattern = /\\._cached_\\.(?:[cm]?js|[cm]?ts|jsx|tsx)$/i\n\nlet reloadId = 0\n\nfunction isLoaderInstance(): boolean {\n return new URL(import.meta.url).searchParams.has('loader')\n}\n\nfunction isThisModule(url: string): boolean {\n const candidate = new URL(url)\n const current = new URL(import.meta.url)\n candidate.search = ''\n current.search = ''\n return candidate.href === current.href\n}\n\nfunction isCachedModule(url: URL): boolean {\n return cachedModulePattern.test(url.pathname)\n}\n\nexport async function resolve(\n specifier: string,\n context: ResolveContext,\n nextResolve: NextResolve\n): Promise<ResolveResult> {\n const result = await nextResolve(specifier, context)\n\n if (isThisModule(result.url) || isBuiltin(result.url) || context.parentURL === undefined) {\n return result\n }\n\n const url = new URL(result.url)\n\n // A *._cached_.js/ts module and its dependency graph use Node's ordinary\n // process-wide module cache instead of inheriting the test file instance.\n if (isCachedModule(url)) return result\n\n const parentUrl = new URL(context.parentURL)\n const instance = url.searchParams.get('reload') === ''\n ? `sxy-test-runner-reload-${reloadId++}`\n : parentUrl.searchParams.get('sxyt-instance')\n\n if (instance === null) return result\n\n url.searchParams.delete('reload')\n url.searchParams.set('sxyt-instance', instance)\n\n return {\n ...result,\n url: url.href\n }\n}\n\nif (!isLoaderInstance()) {\n register(`${import.meta.url}?loader`)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"figures.js","sourceRoot":"","sources":["../../src/packages/figures.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,4EAA4E;AAC5E,kFAAkF;AAClF,SAAS,kBAAkB;IACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAA,CAAC,yBAAyB;IACjE,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;WACvB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,mBAAmB;WACnD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,qBAAqB;WAC3D,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,cAAc,CAAC,mBAAmB;WAC7D,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,kBAAkB;WAC/C,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,QAAQ;WACrC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,gBAAgB;WACrC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW;WAChC,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,oBAAoB,CAAA;AACjE,CAAC;AAED,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAA;AAEpC,MAAM,OAAO,GAAG;IACZ,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;IACzB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;CAC7B,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"figures.js","sourceRoot":"","sources":["../../src/packages/figures.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,4EAA4E;AAC5E,kFAAkF;AAClF,SAAS,kBAAkB;IACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAA,CAAC,yBAAyB;IACjE,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;WACvB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,mBAAmB;WACnD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,qBAAqB;WAC3D,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,cAAc,CAAC,mBAAmB;WAC7D,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,kBAAkB;WAC/C,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,QAAQ;WACrC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,gBAAgB;WACrC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW;WAChC,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,oBAAoB,CAAA;AACjE,CAAC;AAED,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAA;AAEpC,MAAM,OAAO,GAAG;IACZ,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;IACzB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;CAC7B,CAAA;AAED,eAAe,OAAO,CAAA","sourcesContent":["// Local replacement for the `figures` package (sindresorhus/figures).\n// The runner uses only `tick` and `cross`; we reproduce the main glyphs and\n// their Windows-console ASCII fallbacks, gated by the same unicode-support check.\nfunction isUnicodeSupported(): boolean {\n if (process.platform !== 'win32') {\n return process.env.TERM !== 'linux' // Linux console (kernel)\n }\n\n return Boolean(process.env.CI)\n || Boolean(process.env.WT_SESSION) // Windows Terminal\n || Boolean(process.env.TERMINUS_SUBLIME) // Terminus (<0.2.27)\n || process.env.ConEmuTask === '{cmd::Cmder}' // ConEmu and cmder\n || process.env.TERM_PROGRAM === 'Terminus-Sublime'\n || process.env.TERM_PROGRAM === 'vscode'\n || process.env.TERM === 'xterm-256color'\n || process.env.TERM === 'alacritty'\n || process.env.TERMINAL_EMULATOR === 'JetBrains-JediTerm'\n}\n\nconst useMain = isUnicodeSupported()\n\nconst figures = {\n tick: useMain ? '✔' : '√',\n cross: useMain ? '✖' : '×'\n}\n\nexport default figures\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"loadConfig.js","sourceRoot":"","sources":["../../src/packages/loadConfig.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,yFAAyF;AACzF,uFAAuF;AACvF,yFAAyF;AACzF,oBAAoB;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,WAAqB,EACrB,YAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC;IAEpC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAEhC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC/B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;gBACjC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,UAAU,IAAI,GAAG,EAAE,CAAC,CAAA;gBACvE,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC3B,OAAO,CAAC,MAAM,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,OAAY,CAAA;gBAChE,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAc,cAAsB;IACrE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IACxD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,MAAM,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,OAAY,CAAA;IAChE,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"loadConfig.js","sourceRoot":"","sources":["../../src/packages/loadConfig.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,yFAAyF;AACzF,uFAAuF;AACvF,yFAAyF;AACzF,oBAAoB;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,WAAqB,EACrB,YAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC;IAEpC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAEhC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC/B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;gBACjC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,UAAU,IAAI,GAAG,EAAE,CAAC,CAAA;gBACvE,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC3B,OAAO,CAAC,MAAM,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,OAAY,CAAA;gBAChE,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAc,cAAsB;IACrE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IACxD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,MAAM,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,OAAY,CAAA;IAChE,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC","sourcesContent":["// Local replacement for sxy-dev-tools' loadConfig / loadConfigExact.\n// Searches the given locations for `<configName>.{js,cjs,mjs}` (js first, per location),\n// dynamically imports the first match and returns its default export, or null if none.\n// The upstream `types` / mergeConfig path was dead here (the runner never passes types),\n// so it is omitted.\n\nimport { existsSync } from 'fs'\nimport { join } from 'path'\n\nconst configExtensions = ['js', 'cjs', 'mjs']\n\nexport async function loadConfig<T = unknown>(\n configNames: string[],\n locations: string[] = ['', 'config']\n): Promise<T | null> {\n const projectDir = process.cwd()\n\n for (const location of locations) {\n for (const configName of configNames) {\n for (const ext of configExtensions) {\n const fullLocation = join(projectDir, location, `${configName}.${ext}`)\n if (existsSync(fullLocation)) {\n return (await import('file://' + fullLocation)).default as T\n }\n }\n }\n }\n\n return null\n}\n\nexport async function loadConfigExact<T = unknown>(configLocation: string): Promise<T | null> {\n const fullLocation = join(process.cwd(), configLocation)\n if (existsSync(fullLocation)) {\n return (await import('file://' + fullLocation)).default as T\n }\n return null\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mergeStructuredConfig.js","sourceRoot":"","sources":["../../src/packages/mergeStructuredConfig.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,2FAA2F;AAC3F,oFAAoF;AACpF,4FAA4F;AAC5F,uFAAuF;AACvF,2FAA2F;AAC3F,0FAA0F;AAE1F,MAAM,UAAU,qBAAqB,CACjC,SAAiB,EACjB,UAAa,EACb,GAAG,YAAiB;IAEpB,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,CAA4B,CAAA;IAC1E,MAAM,MAAM,GAAG,SAAoC,CAAA;IAEnD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACrC,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI;YAAE,SAAQ;QAC/D,KAAK,MAAM,GAAG,IAAI,WAAsC,EAAE,CAAC;YACvD,MAAM,UAAU,GAAI,WAAuC,CAAC,GAAG,CAAC,CAAA;YAChE,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;gBAChB,WAAW,CAAC,GAAG,CAAC,GAAG,qBAAqB,CACnC,MAAM,CAAC,GAAG,CAAwB,IAAI,EAAE,EACzC,WAAW,CAAC,GAAG,CAAC,EAChB,UAAU,CACb,CAAA;YACL,CAAC;iBAAM,CAAC;gBACJ,WAAW,CAAC,GAAG,CAAC,GAAG,UAAU,CAAA;YACjC,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,WAAgB,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"mergeStructuredConfig.js","sourceRoot":"","sources":["../../src/packages/mergeStructuredConfig.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,2FAA2F;AAC3F,oFAAoF;AACpF,4FAA4F;AAC5F,uFAAuF;AACvF,2FAA2F;AAC3F,0FAA0F;AAE1F,MAAM,UAAU,qBAAqB,CACjC,SAAiB,EACjB,UAAa,EACb,GAAG,YAAiB;IAEpB,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,CAA4B,CAAA;IAC1E,MAAM,MAAM,GAAG,SAAoC,CAAA;IAEnD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACrC,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI;YAAE,SAAQ;QAC/D,KAAK,MAAM,GAAG,IAAI,WAAsC,EAAE,CAAC;YACvD,MAAM,UAAU,GAAI,WAAuC,CAAC,GAAG,CAAC,CAAA;YAChE,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;gBAChB,WAAW,CAAC,GAAG,CAAC,GAAG,qBAAqB,CACnC,MAAM,CAAC,GAAG,CAAwB,IAAI,EAAE,EACzC,WAAW,CAAC,GAAG,CAAC,EAChB,UAAU,CACb,CAAA;YACL,CAAC;iBAAM,CAAC;gBACJ,WAAW,CAAC,GAAG,CAAC,GAAG,UAAU,CAAA;YACjC,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,WAAgB,CAAA;AAC3B,CAAC","sourcesContent":["// Local replacement for sxy-dev-tools' mergeStructuredConfig.\n// `structure` marks which keys are nested config branches (terminated by an empty object);\n// those are merged recursively, everything else is overwritten by the later config.\n// The upstream used a global `Object.copy` (from sxy-standard-object-copy) to deep-copy the\n// base; the built-in `structuredClone` does the same. Only the base config (pure data:\n// defaultConfig and its execution/watch branches) is ever cloned - user-supplied functions\n// (setup/teardown) sit on non-structure keys and are assigned by reference, never cloned.\n\nexport function mergeStructuredConfig<T, E = unknown>(\n structure: object,\n baseConfig: T,\n ...extraConfigs: E[]\n): T {\n const finalConfig = structuredClone(baseConfig) as Record<string, unknown>\n const struct = structure as Record<string, unknown>\n\n for (const extraConfig of extraConfigs) {\n if (extraConfig === undefined || extraConfig === null) continue\n for (const key in extraConfig as Record<string, unknown>) {\n const extraValue = (extraConfig as Record<string, unknown>)[key]\n if (key in struct) {\n finalConfig[key] = mergeStructuredConfig(\n (struct[key] as object | undefined) ?? {},\n finalConfig[key],\n extraValue\n )\n } else {\n finalConfig[key] = extraValue\n }\n }\n }\n\n return finalConfig as T\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"slash.js","sourceRoot":"","sources":["../../src/packages/slash.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,yEAAyE;AACzE,+EAA+E;AAC/E,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAY;IACtC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAA;IAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACnC,CAAC"}
1
+ {"version":3,"file":"slash.js","sourceRoot":"","sources":["../../src/packages/slash.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,yEAAyE;AACzE,+EAA+E;AAC/E,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAY;IACtC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAA;IAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACnC,CAAC","sourcesContent":["// Local replacement for the `slash` package (sindresorhus/slash).\n// Converts Windows backslash path separators to forward slashes, leaving\n// extended-length paths (\\\\?\\...) untouched — matching the upstream behaviour.\nexport default function slash(path: string): string {\n if (path.startsWith('\\\\\\\\?\\\\')) return path\n return path.replace(/\\\\/g, '/')\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"timeProfiler.js","sourceRoot":"","sources":["../../src/packages/timeProfiler.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,uFAAuF;AACvF,sFAAsF;AACtF,kDAAkD;AAElD,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAOlC,MAAM,UAAU,kBAAkB,CAAC,SAAS,GAAG,IAAI;IAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;YACH,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;YACpC,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;SAClD,CAAA;IACL,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAU,EAAQ,EAAE;QAC9C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAA,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAA,GAAG,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;IAC/E,CAAC,CAAA;IAED,OAAO;QACH,WAAW,CAAC,IAAI,EAAE,IAAI;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACxB,MAAM,MAAM,GAAG,IAAI,EAAE,CAAA;YACrB,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;YAChC,OAAO,MAAM,CAAA;QACjB,CAAC;QACD,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACxB,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAA;YAC3B,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;YAChC,OAAO,MAAM,CAAA;QACjB,CAAC;KACJ,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"timeProfiler.js","sourceRoot":"","sources":["../../src/packages/timeProfiler.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,uFAAuF;AACvF,sFAAsF;AACtF,kDAAkD;AAElD,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAOlC,MAAM,UAAU,kBAAkB,CAAC,SAAS,GAAG,IAAI;IAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;YACH,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;YACpC,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;SAClD,CAAA;IACL,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAU,EAAQ,EAAE;QAC9C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAA,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAA,GAAG,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;IAC/E,CAAC,CAAA;IAED,OAAO;QACH,WAAW,CAAC,IAAI,EAAE,IAAI;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACxB,MAAM,MAAM,GAAG,IAAI,EAAE,CAAA;YACrB,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;YAChC,OAAO,MAAM,CAAA;QACjB,CAAC;QACD,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACxB,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAA;YAC3B,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;YAChC,OAAO,MAAM,CAAA;QACjB,CAAC;KACJ,CAAA;AACL,CAAC","sourcesContent":["// Local replacement for sxy-dev-tools' createTimeProfiler.\n// The upstream package's index eagerly imports sxy-standard + sxy-standard-object-copy\n// (global-patching side effects, ~108ms to load); this trivial reimplementation drops\n// that cost and the external dependency entirely.\n\nimport chalk from './chalk.js'\nimport { out } from '../output.js'\n\nexport interface TimeProfiler {\n timeProfile: <T>(name: string, task: () => T) => T\n timeProfileAsync: <T>(name: string, task: () => T | Promise<T>) => Promise<T>\n}\n\nexport function createTimeProfiler(profiling = true): TimeProfiler {\n if (!profiling) {\n return {\n timeProfile: (_name, task) => task(),\n timeProfileAsync: async (_name, task) => task()\n }\n }\n\n const report = (name: string, ms: number): void => {\n out(chalk.yellow`${name}` + ' - ' + chalk.orange`${ms.toLocaleString()}ms`)\n }\n\n return {\n timeProfile(name, task) {\n const start = Date.now()\n const result = task()\n report(name, Date.now() - start)\n return result\n },\n async timeProfileAsync(name, task) {\n const start = Date.now()\n const result = await task()\n report(name, Date.now() - start)\n return result\n }\n }\n}\n"]}
package/dist/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { DescribeMeta } from './describe.js';
1
2
  export type ExecutionMode = 'parallel' | 'sequential';
2
3
  export type GlobPattern = string | string[];
3
4
  export interface ExecutionConfig {
@@ -52,6 +53,7 @@ export type DescribeCallback = (parcel: DescribeParcel) => void | Promise<void>;
52
53
  export interface Describe {
53
54
  counter: number;
54
55
  thing: string;
56
+ meta?: DescribeMeta;
55
57
  tests: DescribeCallback;
56
58
  }
57
59
  export interface It {
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,2EAA2E;AAC3E,2EAA2E;AAC3E,+EAA+E"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,2EAA2E;AAC3E,2EAA2E;AAC3E,+EAA+E","sourcesContent":["// Shared types for the test-run data model, user config, and CLI plumbing.\n// The config/result shapes are inferred from usage across the old awaitful\n// source (defaultConfig.js, validateConfig.js, init.js's template, and the\n// run*/parseDescribe/showTestResult modules) - there was no prior type source.\n\nimport { DescribeMeta } from './describe.js'\n\nexport type ExecutionMode = 'parallel' | 'sequential'\nexport type GlobPattern = string | string[]\n\nexport interface ExecutionConfig {\n files: ExecutionMode\n describes: ExecutionMode\n tests: ExecutionMode\n}\n\nexport interface WatchConfig {\n watchFilesBase: string\n watchFiles: GlobPattern\n watchFilesIgnore: GlobPattern\n runAllOnStartup: boolean\n reRunFailingTests: boolean\n ttyActionsOnKeypress: boolean\n}\n\nexport type TaskExports = Record<string, unknown>\nexport type ConfigTaskFn = (parcel?: TaskExports) => TaskExports | void | Promise<TaskExports | void>\n// a task may also be a file path (relative to the project root) to dynamically import\nexport type ConfigTask = ConfigTaskFn | string\nexport type ConfigTasks = ConfigTask | ConfigTask[]\n\nexport interface FinalConfig {\n testsBase: string\n tests: GlobPattern\n testsFilter?: string\n testsIgnore: GlobPattern\n setup?: ConfigTasks\n beforeEachFile?: ConfigTasks\n afterEachFile?: ConfigTasks\n beforeEachDescribe?: ConfigTasks\n afterEachDescribe?: ConfigTasks\n beforeEachTest?: ConfigTasks\n afterEachTest?: ConfigTasks\n teardown?: ConfigTasks\n showErrorTrace: boolean\n compact: boolean\n execution: ExecutionConfig\n watch: WatchConfig\n}\n\nexport type UserConfig = Partial<Omit<FinalConfig, 'testsFilter' | 'execution' | 'watch'>> & {\n execution?: Partial<ExecutionConfig>\n watch?: Partial<WatchConfig>\n}\n\nexport type UserConfigInternal = UserConfig & Partial<Pick<FinalConfig, 'testsFilter'>>\n\n\n// -- test-run data model --------------------------------------------------\n\nexport type TestParcel = TaskExports\n\nexport interface DescribeParcel extends TaskExports {\n it: (should: string, test: (parcel: TestParcel) => void | Promise<void>) => void\n test: (should: string, test: (parcel: TestParcel) => void | Promise<void>) => void\n afterDescribe: (func: () => void | Promise<void>) => void\n beforeEachTest: (func: () => TaskExports | void | Promise<TaskExports | void>) => void\n afterEachTest: (func: () => void | Promise<void>) => void\n}\n\nexport type DescribeCallback = (parcel: DescribeParcel) => void | Promise<void>\n\nexport interface Describe {\n counter: number\n thing: string\n meta?: DescribeMeta\n tests: DescribeCallback\n}\n\nexport interface It {\n counter: number\n should: string\n test: (parcel: TestParcel) => void | Promise<void>\n}\n\nexport interface ParsedDescribe {\n its: It[]\n beforeDescribeExports: TaskExports\n afterDescribeFunc?: () => void | Promise<void>\n beforeEachTestFunc?: () => TaskExports | void | Promise<TaskExports | void>\n afterEachTestFunc?: () => void | Promise<void>\n error?: unknown\n}\n\nexport interface TestError extends Error {\n actual?: unknown\n expected?: unknown\n}\n\nexport interface ItResult {\n counter: number\n should: string\n success: boolean | null\n time: number\n error?: TestError\n logs: unknown[][]\n}\n\nexport interface ItResultsSummary {\n total: number\n passes: number\n}\n\nexport interface DescribeResult {\n counter: number\n thing: string\n success: boolean | null\n // total elapsed for the whole describe, filled in by runDescribe once it has finished\n time: number\n itResults: ItResult[]\n itResultsSummary: ItResultsSummary\n logs?: unknown[][]\n error?: unknown\n}\n\nexport interface DescribeResultsSummary {\n total: number\n passes: number\n invalid: number\n itsTotal: number\n itsPasses: number\n}\n\nexport interface TestFile {\n file: string\n describes?: Describe[]\n error?: string | false\n logs?: unknown[][]\n}\n\nexport interface TestResult {\n file: string\n success: boolean | null\n describeResults: DescribeResult[]\n describeResultsSummary: DescribeResultsSummary\n logs: unknown[][]\n}\n\nexport interface TestsResultsSummary {\n total: number\n passes: number\n invalid: number\n describesTotal: number\n describesPasses: number\n describesInvalid: number\n itsTotal: number\n itsPasses: number\n}\n\nexport type DependencyTrees = Record<string, string[]>\n\nexport type OutFn = (...texts: unknown[]) => void\n\n\n\n// -- CLI argument parsing ---------------------------------------------------\n\nexport interface AllowedArgument {\n flag?: string\n hasValue: boolean\n}\n\nexport type AllowedArguments = Record<string, AllowedArgument>\nexport type AllowedFlags = Record<string, string>\nexport type ParsedArguments = Record<string, string | true>\n\nexport interface TestExecutionFilters {\n describe?: string\n it?: string\n}\n\n// -- globals ----------------------------------------------------------------\n\nexport interface SxyTestRunnerGlobal {\n describes: Describe[]\n describeCounter: number\n}\ndeclare global {\n // eslint-disable-next-line camelcase\n var __sxy_test_runner__: SxyTestRunnerGlobal | undefined\n // eslint-disable-next-line camelcase\n var __sxyt_commandLineArguments: string[]\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sxy-test-runner",
3
- "version": "2.3.16",
3
+ "version": "2.3.18",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/RobertSandiford/sxy-test-runner",
6
6
  "repository": {
@@ -30,6 +30,10 @@
30
30
  },
31
31
  "files": [
32
32
  "dist",
33
+ "!dist/**/*.unitTest.*",
34
+ "!dist/**/testHelpers/**",
35
+ "!dist/testing/**",
36
+ "!dist/**/*.d.ts.map",
33
37
  "sxy-loader.config.js",
34
38
  "AGENTS.md",
35
39
  "readme.md"
@@ -1 +0,0 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAIA,wBAAgB,IAAI,IAAI,IAAI,CA8C3B"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=help.unitTest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"help.unitTest.d.ts","sourceRoot":"","sources":["../../src/cli/help.unitTest.ts"],"names":[],"mappings":""}
@@ -1,29 +0,0 @@
1
- import { help } from './help.js';
2
- mochaDescribe('help command', function () {
3
- mochaIt('shows usage, commands, options, and configuration locations', function () {
4
- const originalConsoleLog = console.log; // eslint-disable-line no-console
5
- let output = '';
6
- console.log = (...texts) => {
7
- output += texts.join(' ');
8
- };
9
- try {
10
- help();
11
- }
12
- finally {
13
- console.log = originalConsoleLog; // eslint-disable-line no-console
14
- }
15
- output.should.include('Usage:');
16
- output.should.include('sxy-test [watch] [options]');
17
- output.should.include('once Run the test suite once and exit');
18
- output.should.include('-c, --config <file>');
19
- output.should.include('-t, --test-files <glob>');
20
- output.should.include('-f, --filter <glob>');
21
- output.should.include('r/l + Enter');
22
- output.should.include('a + Enter');
23
- output.should.include('f + Enter');
24
- output.should.include('watch.ttyActionsOnKeypress');
25
- output.should.include('sxyt.config.{js,cjs,mjs}');
26
- output.should.include('the project root or config/');
27
- });
28
- });
29
- //# sourceMappingURL=help.unitTest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"help.unitTest.js","sourceRoot":"","sources":["../../src/cli/help.unitTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,aAAa,CAAC,cAAc,EAAE;IAC1B,OAAO,CAAC,6DAA6D,EAAE;QACnE,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAA,CAAC,iCAAiC;QACxE,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,KAAgB,EAAE,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC7B,CAAC,CAAA;QAED,IAAI,CAAC;YACD,IAAI,EAAE,CAAA;QACV,CAAC;gBAAS,CAAC;YACP,OAAO,CAAC,GAAG,GAAG,kBAAkB,CAAA,CAAC,iCAAiC;QACtE,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAA;QACnD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAA;QAChE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;QAC5C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAA;QAChD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;QAC5C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QACpC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAA;QACnD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAA;QACjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAMA,wBAAgB,IAAI,IAAI,IAAI,CAyI3B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"addBasePath.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/addBasePath.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CASrF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=addBasePath.unitTest.d.ts.map