sxy-test-runner 2.3.15 → 2.3.17
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.
- package/AGENTS.md +2 -1
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/lib/addBasePath.js.map +1 -1
- package/dist/cli/lib/addExports.js.map +1 -1
- package/dist/cli/lib/applyConfigDefaults.js.map +1 -1
- package/dist/cli/lib/buildDependencyTree.js.map +1 -1
- package/dist/cli/lib/buildDependencyTrees.js.map +1 -1
- package/dist/cli/lib/consoleCapture.d.ts +3 -0
- package/dist/cli/lib/consoleCapture.js +36 -0
- package/dist/cli/lib/consoleCapture.js.map +1 -0
- package/dist/cli/lib/defaultConfig.js.map +1 -1
- package/dist/cli/lib/doUserSetup.js.map +1 -1
- package/dist/cli/lib/doUserTeardown.js.map +1 -1
- package/dist/cli/lib/filter.js.map +1 -1
- package/dist/cli/lib/findTestFiles.js.map +1 -1
- package/dist/cli/lib/findingTestsMessage.js.map +1 -1
- package/dist/cli/lib/foundTestsMessage.d.ts +2 -0
- package/dist/cli/lib/foundTestsMessage.js +4 -0
- package/dist/cli/lib/foundTestsMessage.js.map +1 -0
- package/dist/cli/lib/functions.js.map +1 -1
- package/dist/cli/lib/getAllowedFlags.js.map +1 -1
- package/dist/cli/lib/globArgCombine.js.map +1 -1
- package/dist/cli/lib/handleUserInput.js.map +1 -1
- package/dist/cli/lib/injectProperties.js.map +1 -1
- package/dist/cli/lib/isTest.js.map +1 -1
- package/dist/cli/lib/listenToUser.js +6 -1
- package/dist/cli/lib/listenToUser.js.map +1 -1
- package/dist/cli/lib/loadConfig.js.map +1 -1
- package/dist/cli/lib/loadTestFile.js +16 -26
- package/dist/cli/lib/loadTestFile.js.map +1 -1
- package/dist/cli/lib/makeWatchRunState.js.map +1 -1
- package/dist/cli/lib/parseCommandLineArguments.js.map +1 -1
- package/dist/cli/lib/parseDescribe.js.map +1 -1
- package/dist/cli/lib/reRunManager.js.map +1 -1
- package/dist/cli/lib/reservedExportKeys.js.map +1 -1
- package/dist/cli/lib/runDescribe.js +12 -22
- package/dist/cli/lib/runDescribe.js.map +1 -1
- package/dist/cli/lib/runDescribeRun.js.map +1 -1
- package/dist/cli/lib/runIt.js +39 -49
- package/dist/cli/lib/runIt.js.map +1 -1
- package/dist/cli/lib/runTasks.js.map +1 -1
- package/dist/cli/lib/runTest.js.map +1 -1
- package/dist/cli/lib/runTests.js.map +1 -1
- package/dist/cli/lib/setEnv.js.map +1 -1
- package/dist/cli/lib/showTestLoadingError.js.map +1 -1
- package/dist/cli/lib/showTestResult.js +6 -6
- package/dist/cli/lib/showTestResult.js.map +1 -1
- package/dist/cli/lib/showTtyHelp.js.map +1 -1
- package/dist/cli/lib/shutdown.d.ts +9 -0
- package/dist/cli/lib/shutdown.js +59 -0
- package/dist/cli/lib/shutdown.js.map +1 -0
- package/dist/cli/lib/timeProfier.js.map +1 -1
- package/dist/cli/lib/validateConfig.js.map +1 -1
- package/dist/cli/lib/watchFilesAndRunTests.js.map +1 -1
- package/dist/cli/lib/watchFilesAndRunTestsChokidar.js.map +1 -1
- package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.js.map +1 -1
- package/dist/cli/lib/watchFilesChokidar.js.map +1 -1
- package/dist/cli/lib/watchFilesNodeWatch.js.map +1 -1
- package/dist/cli/once.js +16 -13
- package/dist/cli/once.js.map +1 -1
- package/dist/cli/watch.js +12 -4
- package/dist/cli/watch.js.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/describe.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/indexNumberToLetters.js.map +1 -1
- package/dist/output.js.map +1 -1
- package/dist/packages/chalk.js.map +1 -1
- package/dist/packages/esmReload.js.map +1 -1
- package/dist/packages/figures.js.map +1 -1
- package/dist/packages/loadConfig.js.map +1 -1
- package/dist/packages/mergeStructuredConfig.js.map +1 -1
- package/dist/packages/slash.js.map +1 -1
- package/dist/packages/timeProfiler.js.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +6 -1
- package/dist/cli/help.d.ts.map +0 -1
- package/dist/cli/help.unitTest.d.ts +0 -2
- package/dist/cli/help.unitTest.d.ts.map +0 -1
- package/dist/cli/help.unitTest.js +0 -29
- package/dist/cli/help.unitTest.js.map +0 -1
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/init.d.ts.map +0 -1
- package/dist/cli/lib/addBasePath.d.ts.map +0 -1
- package/dist/cli/lib/addBasePath.unitTest.d.ts +0 -2
- package/dist/cli/lib/addBasePath.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/addBasePath.unitTest.js +0 -55
- package/dist/cli/lib/addBasePath.unitTest.js.map +0 -1
- package/dist/cli/lib/addExports.d.ts.map +0 -1
- package/dist/cli/lib/addExports.unitTest.d.ts +0 -2
- package/dist/cli/lib/addExports.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/addExports.unitTest.js +0 -17
- package/dist/cli/lib/addExports.unitTest.js.map +0 -1
- package/dist/cli/lib/applyConfigDefaults.d.ts.map +0 -1
- package/dist/cli/lib/applyConfigDefaults.unitTest.d.ts +0 -2
- package/dist/cli/lib/applyConfigDefaults.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/applyConfigDefaults.unitTest.js +0 -32
- package/dist/cli/lib/applyConfigDefaults.unitTest.js.map +0 -1
- package/dist/cli/lib/buildDependencyTree.d.ts.map +0 -1
- package/dist/cli/lib/buildDependencyTree.unitTest.d.ts +0 -2
- package/dist/cli/lib/buildDependencyTree.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/buildDependencyTree.unitTest.js +0 -19
- package/dist/cli/lib/buildDependencyTree.unitTest.js.map +0 -1
- package/dist/cli/lib/buildDependencyTrees.d.ts.map +0 -1
- package/dist/cli/lib/buildDependencyTrees.unitTest.d.ts +0 -2
- package/dist/cli/lib/buildDependencyTrees.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/buildDependencyTrees.unitTest.js +0 -23
- package/dist/cli/lib/buildDependencyTrees.unitTest.js.map +0 -1
- package/dist/cli/lib/defaultConfig.d.ts.map +0 -1
- package/dist/cli/lib/defaultConfig.unitTest.d.ts +0 -2
- package/dist/cli/lib/defaultConfig.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/defaultConfig.unitTest.js +0 -7
- package/dist/cli/lib/defaultConfig.unitTest.js.map +0 -1
- package/dist/cli/lib/doUserSetup.d.ts.map +0 -1
- package/dist/cli/lib/doUserSetup.unitTest.d.ts +0 -7
- package/dist/cli/lib/doUserSetup.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/doUserSetup.unitTest.js +0 -46
- package/dist/cli/lib/doUserSetup.unitTest.js.map +0 -1
- package/dist/cli/lib/doUserTeardown.d.ts.map +0 -1
- package/dist/cli/lib/doUserTeardown.unitTest.d.ts +0 -7
- package/dist/cli/lib/doUserTeardown.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/doUserTeardown.unitTest.js +0 -46
- package/dist/cli/lib/doUserTeardown.unitTest.js.map +0 -1
- package/dist/cli/lib/filter.d.ts.map +0 -1
- package/dist/cli/lib/findTestFiles.d.ts.map +0 -1
- package/dist/cli/lib/findTestFiles.unitTest.d.ts +0 -2
- package/dist/cli/lib/findTestFiles.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/findTestFiles.unitTest.js +0 -32
- package/dist/cli/lib/findTestFiles.unitTest.js.map +0 -1
- package/dist/cli/lib/findingTestsMessage.d.ts.map +0 -1
- package/dist/cli/lib/findingTestsMessage.unitTest.d.ts +0 -2
- package/dist/cli/lib/findingTestsMessage.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/findingTestsMessage.unitTest.js +0 -33
- package/dist/cli/lib/findingTestsMessage.unitTest.js.map +0 -1
- package/dist/cli/lib/functions.d.ts.map +0 -1
- package/dist/cli/lib/functions.unitTest.d.ts +0 -2
- package/dist/cli/lib/functions.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/functions.unitTest.js +0 -35
- package/dist/cli/lib/functions.unitTest.js.map +0 -1
- package/dist/cli/lib/getAllowedFlags.d.ts.map +0 -1
- package/dist/cli/lib/getAllowedFlags.unitTest.d.ts +0 -2
- package/dist/cli/lib/getAllowedFlags.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/getAllowedFlags.unitTest.js +0 -23
- package/dist/cli/lib/getAllowedFlags.unitTest.js.map +0 -1
- package/dist/cli/lib/globArgCombine.d.ts.map +0 -1
- package/dist/cli/lib/globArgCombine.unitTest.d.ts +0 -2
- package/dist/cli/lib/globArgCombine.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/globArgCombine.unitTest.js +0 -19
- package/dist/cli/lib/globArgCombine.unitTest.js.map +0 -1
- package/dist/cli/lib/handleUserInput.d.ts.map +0 -1
- package/dist/cli/lib/handleUserInput.unitTest.d.ts +0 -2
- package/dist/cli/lib/handleUserInput.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/handleUserInput.unitTest.js +0 -99
- package/dist/cli/lib/handleUserInput.unitTest.js.map +0 -1
- package/dist/cli/lib/injectProperties.d.ts.map +0 -1
- package/dist/cli/lib/injectProperties.unitTest.d.ts +0 -2
- package/dist/cli/lib/injectProperties.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/injectProperties.unitTest.js +0 -19
- package/dist/cli/lib/injectProperties.unitTest.js.map +0 -1
- package/dist/cli/lib/isTest.d.ts.map +0 -1
- package/dist/cli/lib/listenToUser.d.ts.map +0 -1
- package/dist/cli/lib/listenToUser.unitTest.d.ts +0 -2
- package/dist/cli/lib/listenToUser.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/listenToUser.unitTest.js +0 -52
- package/dist/cli/lib/listenToUser.unitTest.js.map +0 -1
- package/dist/cli/lib/loadConfig.d.ts.map +0 -1
- package/dist/cli/lib/loadConfig.unitTest.d.ts +0 -2
- package/dist/cli/lib/loadConfig.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/loadConfig.unitTest.js +0 -16
- package/dist/cli/lib/loadConfig.unitTest.js.map +0 -1
- package/dist/cli/lib/loadTestFile.d.ts.map +0 -1
- package/dist/cli/lib/loadTestFile.unitTest.d.ts +0 -2
- package/dist/cli/lib/loadTestFile.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/loadTestFile.unitTest.js +0 -26
- package/dist/cli/lib/loadTestFile.unitTest.js.map +0 -1
- package/dist/cli/lib/makeWatchRunState.d.ts.map +0 -1
- package/dist/cli/lib/parseCommandLineArguments.d.ts.map +0 -1
- package/dist/cli/lib/parseCommandLineArguments.unitTest.d.ts +0 -2
- package/dist/cli/lib/parseCommandLineArguments.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/parseCommandLineArguments.unitTest.js +0 -23
- package/dist/cli/lib/parseCommandLineArguments.unitTest.js.map +0 -1
- package/dist/cli/lib/parseDescribe.d.ts.map +0 -1
- package/dist/cli/lib/parseDescribe.unitTest.d.ts +0 -2
- package/dist/cli/lib/parseDescribe.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/parseDescribe.unitTest.js +0 -23
- package/dist/cli/lib/parseDescribe.unitTest.js.map +0 -1
- package/dist/cli/lib/reRunManager.d.ts.map +0 -1
- package/dist/cli/lib/reRunManager.unitTest.d.ts +0 -2
- package/dist/cli/lib/reRunManager.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/reRunManager.unitTest.js +0 -74
- package/dist/cli/lib/reRunManager.unitTest.js.map +0 -1
- package/dist/cli/lib/reservedExportKeys.d.ts.map +0 -1
- package/dist/cli/lib/reservedExportKeys.unitTest.d.ts +0 -2
- package/dist/cli/lib/reservedExportKeys.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/reservedExportKeys.unitTest.js +0 -7
- package/dist/cli/lib/reservedExportKeys.unitTest.js.map +0 -1
- package/dist/cli/lib/runDescribe.d.ts.map +0 -1
- package/dist/cli/lib/runDescribe.unitTest.d.ts +0 -2
- package/dist/cli/lib/runDescribe.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/runDescribe.unitTest.js +0 -25
- package/dist/cli/lib/runDescribe.unitTest.js.map +0 -1
- package/dist/cli/lib/runDescribeRun.d.ts.map +0 -1
- package/dist/cli/lib/runDescribeRun.unitTest.d.ts +0 -2
- package/dist/cli/lib/runDescribeRun.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/runDescribeRun.unitTest.js +0 -48
- package/dist/cli/lib/runDescribeRun.unitTest.js.map +0 -1
- package/dist/cli/lib/runIt.d.ts.map +0 -1
- package/dist/cli/lib/runIt.unitTest.d.ts +0 -2
- package/dist/cli/lib/runIt.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/runIt.unitTest.js +0 -77
- package/dist/cli/lib/runIt.unitTest.js.map +0 -1
- package/dist/cli/lib/runTasks.d.ts.map +0 -1
- package/dist/cli/lib/runTasks.unitTest.d.ts +0 -5
- package/dist/cli/lib/runTasks.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/runTasks.unitTest.js +0 -36
- package/dist/cli/lib/runTasks.unitTest.js.map +0 -1
- package/dist/cli/lib/runTest.d.ts.map +0 -1
- package/dist/cli/lib/runTest.unitTest.d.ts +0 -20
- package/dist/cli/lib/runTest.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/runTest.unitTest.js +0 -290
- package/dist/cli/lib/runTest.unitTest.js.map +0 -1
- package/dist/cli/lib/runTests.d.ts.map +0 -1
- package/dist/cli/lib/runTests.unitTest.d.ts +0 -6
- package/dist/cli/lib/runTests.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/runTests.unitTest.js +0 -129
- package/dist/cli/lib/runTests.unitTest.js.map +0 -1
- package/dist/cli/lib/setEnv.d.ts.map +0 -1
- package/dist/cli/lib/showTestLoadingError.d.ts.map +0 -1
- package/dist/cli/lib/showTestLoadingError.unitTest.d.ts +0 -2
- package/dist/cli/lib/showTestLoadingError.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/showTestLoadingError.unitTest.js +0 -18
- package/dist/cli/lib/showTestLoadingError.unitTest.js.map +0 -1
- package/dist/cli/lib/showTestResult.d.ts.map +0 -1
- package/dist/cli/lib/showTestResult.unitTest.d.ts +0 -2
- package/dist/cli/lib/showTestResult.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/showTestResult.unitTest.js +0 -324
- package/dist/cli/lib/showTestResult.unitTest.js.map +0 -1
- package/dist/cli/lib/showTtyHelp.d.ts.map +0 -1
- package/dist/cli/lib/showTtyHelp.unitTest.d.ts +0 -2
- package/dist/cli/lib/showTtyHelp.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/showTtyHelp.unitTest.js +0 -27
- package/dist/cli/lib/showTtyHelp.unitTest.js.map +0 -1
- package/dist/cli/lib/testHelpers/makeCustomOut.d.ts +0 -7
- package/dist/cli/lib/testHelpers/makeCustomOut.d.ts.map +0 -1
- package/dist/cli/lib/testHelpers/makeCustomOut.js +0 -10
- package/dist/cli/lib/testHelpers/makeCustomOut.js.map +0 -1
- package/dist/cli/lib/timeProfier.d.ts.map +0 -1
- package/dist/cli/lib/validateConfig.d.ts.map +0 -1
- package/dist/cli/lib/validateConfig.unitTest.d.ts +0 -2
- package/dist/cli/lib/validateConfig.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/validateConfig.unitTest.js +0 -34
- package/dist/cli/lib/validateConfig.unitTest.js.map +0 -1
- package/dist/cli/lib/watchFilesAndRunTests.d.ts.map +0 -1
- package/dist/cli/lib/watchFilesAndRunTests.unitTest.d.ts +0 -2
- package/dist/cli/lib/watchFilesAndRunTests.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/watchFilesAndRunTests.unitTest.js +0 -127
- package/dist/cli/lib/watchFilesAndRunTests.unitTest.js.map +0 -1
- package/dist/cli/lib/watchFilesAndRunTestsChokidar.d.ts.map +0 -1
- package/dist/cli/lib/watchFilesAndRunTestsChokidar.unitTest.d.ts +0 -2
- package/dist/cli/lib/watchFilesAndRunTestsChokidar.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/watchFilesAndRunTestsChokidar.unitTest.js +0 -126
- package/dist/cli/lib/watchFilesAndRunTestsChokidar.unitTest.js.map +0 -1
- package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.d.ts.map +0 -1
- package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.unitTest.d.ts +0 -2
- package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.unitTest.js +0 -128
- package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.unitTest.js.map +0 -1
- package/dist/cli/lib/watchFilesChokidar.d.ts.map +0 -1
- package/dist/cli/lib/watchFilesChokidar.unitTest.d.ts +0 -2
- package/dist/cli/lib/watchFilesChokidar.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/watchFilesChokidar.unitTest.js +0 -125
- package/dist/cli/lib/watchFilesChokidar.unitTest.js.map +0 -1
- package/dist/cli/lib/watchFilesNodeWatch.d.ts.map +0 -1
- package/dist/cli/lib/watchFilesNodeWatch.unitTest.d.ts +0 -2
- package/dist/cli/lib/watchFilesNodeWatch.unitTest.d.ts.map +0 -1
- package/dist/cli/lib/watchFilesNodeWatch.unitTest.js +0 -88
- package/dist/cli/lib/watchFilesNodeWatch.unitTest.js.map +0 -1
- package/dist/cli/once-seq-a.unitTest.d.ts +0 -2
- package/dist/cli/once-seq-a.unitTest.d.ts.map +0 -1
- package/dist/cli/once-seq-a.unitTest.js +0 -134
- package/dist/cli/once-seq-a.unitTest.js.map +0 -1
- package/dist/cli/once-seq-d.unitTest.d.ts +0 -2
- package/dist/cli/once-seq-d.unitTest.d.ts.map +0 -1
- package/dist/cli/once-seq-d.unitTest.js +0 -134
- package/dist/cli/once-seq-d.unitTest.js.map +0 -1
- package/dist/cli/once-seq-f.unitTest.d.ts +0 -2
- package/dist/cli/once-seq-f.unitTest.d.ts.map +0 -1
- package/dist/cli/once-seq-f.unitTest.js +0 -134
- package/dist/cli/once-seq-f.unitTest.js.map +0 -1
- package/dist/cli/once-seq-t.unitTest.d.ts +0 -2
- package/dist/cli/once-seq-t.unitTest.d.ts.map +0 -1
- package/dist/cli/once-seq-t.unitTest.js +0 -134
- package/dist/cli/once-seq-t.unitTest.js.map +0 -1
- package/dist/cli/once.d.ts.map +0 -1
- package/dist/cli/once.unitTest.d.ts +0 -2
- package/dist/cli/once.unitTest.d.ts.map +0 -1
- package/dist/cli/once.unitTest.js +0 -138
- package/dist/cli/once.unitTest.js.map +0 -1
- package/dist/cli/watch.d.ts.map +0 -1
- package/dist/cli/watch.unitTest.d.ts +0 -6
- package/dist/cli/watch.unitTest.d.ts.map +0 -1
- package/dist/cli/watch.unitTest.js +0 -107
- package/dist/cli/watch.unitTest.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/describe.d.ts.map +0 -1
- package/dist/describe.unitTest.d.ts +0 -2
- package/dist/describe.unitTest.d.ts.map +0 -1
- package/dist/describe.unitTest.js +0 -22
- package/dist/describe.unitTest.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/indexNumberToLetters.d.ts.map +0 -1
- package/dist/output.d.ts.map +0 -1
- package/dist/packages/chalk.d.ts.map +0 -1
- package/dist/packages/esmReload.d.ts.map +0 -1
- package/dist/packages/esmReload.unitTest.d.ts +0 -2
- package/dist/packages/esmReload.unitTest.d.ts.map +0 -1
- package/dist/packages/esmReload.unitTest.js +0 -50
- package/dist/packages/esmReload.unitTest.js.map +0 -1
- package/dist/packages/figures.d.ts.map +0 -1
- package/dist/packages/loadConfig.d.ts.map +0 -1
- package/dist/packages/mergeStructuredConfig.d.ts.map +0 -1
- package/dist/packages/slash.d.ts.map +0 -1
- package/dist/packages/timeProfiler.d.ts.map +0 -1
- package/dist/testing/makeTestReRunManager.d.ts +0 -4
- package/dist/testing/makeTestReRunManager.d.ts.map +0 -1
- package/dist/testing/makeTestReRunManager.js +0 -6
- package/dist/testing/makeTestReRunManager.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
package/dist/cli/once.js
CHANGED
|
@@ -3,6 +3,7 @@ import { packageName, configFileNames } from '../config.js';
|
|
|
3
3
|
import { out, log } from '../output.js';
|
|
4
4
|
import { setEnv } from './lib/setEnv.js';
|
|
5
5
|
import { findingTestsMessage } from './lib/findingTestsMessage.js';
|
|
6
|
+
import { foundTestsMessage } from './lib/foundTestsMessage.js';
|
|
6
7
|
import { isTest } from './lib/isTest.js';
|
|
7
8
|
export async function once() {
|
|
8
9
|
out(chalk.brightblue `[${packageName}]...`);
|
|
@@ -73,26 +74,28 @@ export async function once() {
|
|
|
73
74
|
const { findTestFiles } = await import('./lib/findTestFiles.js');
|
|
74
75
|
const testFiles = await findTestFiles(config);
|
|
75
76
|
if (testFiles.size === 0) {
|
|
76
|
-
|
|
77
|
-
out(chalk.orange(`[${packageName}] Found no tests.`
|
|
78
|
-
+ `\nTests patterns [${testsText}].`
|
|
77
|
+
out(chalk.mediumred(`[${packageName}] Found no tests.`
|
|
79
78
|
+ '\nCreate tests matching the patterns, '
|
|
80
|
-
+ `\nor set new patterns in ${configFileNames.map(x => `${x}
|
|
79
|
+
+ `\nor set new patterns in ${configFileNames.map(x => `${x}.js/cjs/mjs`).join(' or ')}`));
|
|
81
80
|
const endTime = new Date().getTime();
|
|
82
81
|
const time = endTime - startTime;
|
|
83
82
|
out(chalk.brightblue(`[${packageName}] time: ${time.toLocaleString()}ms`));
|
|
83
|
+
// setup has already run by this point, so teardown must run too, or its side
|
|
84
|
+
// effects are left behind
|
|
85
|
+
const { doUserTeardown } = await import('./lib/doUserTeardown.js');
|
|
86
|
+
await doUserTeardown(config);
|
|
84
87
|
process.exit(4);
|
|
85
88
|
}
|
|
89
|
+
out(chalk.brightblue(foundTestsMessage(testFiles.size)));
|
|
90
|
+
// testFiles.size is guaranteed non-zero here - the no-tests case exited above
|
|
86
91
|
const { runTests } = await import('./lib/runTests.js');
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
exitCode = testsResult === null ? 4 : testsResult ? 0 : 3;
|
|
95
|
-
}
|
|
92
|
+
log(chalk.brightblue `running tests...`);
|
|
93
|
+
const testsResult = await runTests(config, testFiles, undefined, (isTest) ? 'refresh' : 'cached', undefined, {
|
|
94
|
+
it: filterIt,
|
|
95
|
+
describe: filterDescribe
|
|
96
|
+
});
|
|
97
|
+
// 5 - not 4 - so callers can tell "no test files matched" from "filters matched nothing"
|
|
98
|
+
const exitCode = testsResult === null ? 5 : testsResult ? 0 : 3;
|
|
96
99
|
const time = new Date().getTime() - startTime;
|
|
97
100
|
out(chalk.grey `\n${time.toLocaleString()}ms\n`);
|
|
98
101
|
const { doUserTeardown } = await import('./lib/doUserTeardown.js');
|
package/dist/cli/once.js.map
CHANGED
|
@@ -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"]}
|
package/dist/cli/watch.js
CHANGED
|
@@ -3,6 +3,7 @@ import { packageName } from '../config.js';
|
|
|
3
3
|
import { out, debug } from '../output.js';
|
|
4
4
|
import { setEnv } from './lib/setEnv.js';
|
|
5
5
|
import { findingTestsMessage } from './lib/findingTestsMessage.js';
|
|
6
|
+
import { foundTestsMessage } from './lib/foundTestsMessage.js';
|
|
6
7
|
import { isTest } from './lib/isTest.js';
|
|
7
8
|
import { makeRunManagerState } from './lib/makeWatchRunState.js';
|
|
8
9
|
import { makeReRunManager } from './lib/reRunManager.js';
|
|
@@ -67,6 +68,14 @@ export async function watch() {
|
|
|
67
68
|
validateConfig(config);
|
|
68
69
|
const { doUserSetup } = await import('./lib/doUserSetup.js');
|
|
69
70
|
await doUserSetup(config);
|
|
71
|
+
// watch mode never reaches an end of its own, so teardown only gets a chance on the way
|
|
72
|
+
// out. Registered here so it pairs with the setup above and covers the initial run too.
|
|
73
|
+
const { doUserTeardown } = await import('./lib/doUserTeardown.js');
|
|
74
|
+
const { registerShutdownHandlers } = await import('./lib/shutdown.js');
|
|
75
|
+
registerShutdownHandlers(config, {
|
|
76
|
+
teardown: doUserTeardown,
|
|
77
|
+
exit: code => process.exit(code)
|
|
78
|
+
});
|
|
70
79
|
out(chalk.brightblue(findingTestsMessage(config)));
|
|
71
80
|
const { findTestFiles } = await import('./lib/findTestFiles.js');
|
|
72
81
|
const testFiles = await findTestFiles(config);
|
|
@@ -82,7 +91,7 @@ export async function watch() {
|
|
|
82
91
|
const { runTests } = await import('./lib/runTests.js');
|
|
83
92
|
let initialTestRun = null;
|
|
84
93
|
if (testFiles.size > 0) {
|
|
85
|
-
out(chalk.brightblue
|
|
94
|
+
out(chalk.brightblue(foundTestsMessage(testFiles.size)));
|
|
86
95
|
const { buildDependencyTrees } = await import('./lib/buildDependencyTrees.js');
|
|
87
96
|
out(chalk.brightblue `finding initial dependency trees...`);
|
|
88
97
|
dependencyTrees = await buildDependencyTrees(config, testFiles);
|
|
@@ -114,9 +123,8 @@ export async function watch() {
|
|
|
114
123
|
listenToUser(reRunManager, files => () => {
|
|
115
124
|
return runTests(config, files, reRunManager, 'refresh', undefined, executionFilters);
|
|
116
125
|
}, config.watch.ttyActionsOnKeypress, initialTestRun).catch(e => { throw e; });
|
|
126
|
+
// park forever - watch mode ends by being signalled, and the shutdown handlers registered
|
|
127
|
+
// above run the user's teardown on the way out
|
|
117
128
|
await new Promise(() => { });
|
|
118
|
-
// won't run because promise will never finish
|
|
119
|
-
const { doUserTeardown } = await import('./lib/doUserTeardown.js');
|
|
120
|
-
await doUserTeardown(config);
|
|
121
129
|
}
|
|
122
130
|
//# sourceMappingURL=watch.js.map
|
package/dist/cli/watch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/cli/watch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,sBAAsB,CAAA;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAGzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,MAAM,CAAC,KAAK,UAAU,KAAK;IACvB,GAAG,CAAC,KAAK,CAAC,UAAU,CAAA,IAAI,WAAW,MAAM,CAAC,CAAA;IAE1C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;IAEtC,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAA;IACxF,MAAM,kBAAkB,GAAqB;QACzC,QAAQ,EAAE;YACN,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;SACjB;QACD,YAAY,EAAE;YACV,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;SACjB;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;SACjB;QACD,WAAW,EAAE;YACT,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;SACjB;QACD,iBAAiB,EAAE;YACf,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;SACjB;KACJ,CAAA;IACD,MAAM,WAAW,GAAG,yBAAyB,CAAC,kBAAkB,CAAC,CAAA;IACjE,mCAAmC;IAEnC,MAAM,EAAE,CAAA;IAER,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;IAC1D,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,MAAM,KAAK,QAAQ,CAAC;QACvD,CAAC,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC;QACtC,CAAC,CAAC,MAAM,UAAU,EAAE,CAAA;IAExB,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,gBAAgB,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;QAClD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,KAAK,EAAE,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QAC3E,CAAC;QACD,UAAU,CAAC,KAAK,GAAG,gBAAgB,CAAA;IACvC,CAAC;IAED,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;QACjC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QACvE,CAAC;QACD,UAAU,CAAC,WAAW,GAAG,MAAM,CAAA;IACnC,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAA;IACzC,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAA;IACrD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IACnG,IAAI,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACnE,CAAC;IACD,MAAM,gBAAgB,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;IAEnE,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAA;IAC5E,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAE9C,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAA;IAClE,cAAc,CAAC,MAAM,CAAC,CAAA;IAEtB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAA;IAC5D,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;IAEzB,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAClD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAA;IAChE,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAA;IAC7C,KAAK,CAAC,SAAS,CAAC,CAAA;IAEhB,4CAA4C;IAC5C,IAAI,eAAe,GAAoB,EAAE,CAAA;IACzC,6CAA6C;IAC7C,MAAM,YAAY,GAAa,EAAE,CAAA;IAEjC,MAAM,YAAY,GAAG,gBAAgB,CACjC,IAAI,EACJ,mBAAmB,CAAC;QAChB,YAAY,EAAE,SAAS;QACvB,aAAa,EAAE,SAAS;KAC3B,CAAC,CACL,CAAA;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAA;IACtD,IAAI,cAAc,GAAmC,IAAI,CAAA;IAEzD,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACrB,GAAG,CAAC,KAAK,CAAC,UAAU,CAAA,SAAS,SAAS,CAAC,IAAI,aAAa,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;QAC1F,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAA;QAC9E,GAAG,CAAC,KAAK,CAAC,UAAU,CAAA,qCAAqC,CAAC,CAAA;QAC1D,eAAe,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAE/D,IAAI,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC/B,GAAG,CAAC,KAAK,CAAC,UAAU,CAAA,0BAA0B,CAAC,CAAA;YAC/C,cAAc,GAAG,QAAQ,CACrB,MAAM,EAAE,SAAS,EAAE,YAAY,EAC/B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAC/B,SAAS,EAAE,gBAAgB,CAC9B,CAAC,IAAI,CAAC,KAAK,EAAC,WAAW,EAAC,EAAE;gBACvB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,CAAA;gBAC7C,0DAA0D;gBAC1D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAA,KAAK,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;gBAC7C,OAAO,WAAW,CAAA;YACtB,CAAC,CAAC,CAAA;YACF,YAAY,CAAC,KAAK,CAAC,UAAU,GAAG,cAAc,CAAA;YAC9C,wCAAwC;YACxC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAA;QACxE,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,GAAG,CAAC,KAAK,CAAC,MAAM,CAAA,qBAAqB,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAA;IAChF,MAAM,qBAAqB,CACvB,MAAM;IACN,YAAY;IACZ,eAAe,EACf,YAAY,EAAE,qCAAqC;IACnD,YAAY;IACZ,gBAAgB;IAChB,SAAS,EACT,gBAAgB,CACnB,CAAA;IAGD,GAAG,CAAC,KAAK,CAAC,UAAU,CAAA,aAAa,CAAC,CAAA;IAElC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAA;IAC9D,YAAY,CACR,YAAY,EACZ,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE;QACV,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAA;IACxF,CAAC,EACD,MAAM,CAAC,KAAK,CAAC,oBAAoB,EACjC,cAAc,CACjB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IAGzB,MAAM,IAAI,OAAO,CAAO,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAEjC,8CAA8C;IAC9C,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAA;IAClE,MAAM,cAAc,CAAC,MAAM,CAAC,CAAA;AAChC,CAAC"}
|
|
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"]}
|
package/dist/config.js.map
CHANGED
|
@@ -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"]}
|
package/dist/describe.js.map
CHANGED
|
@@ -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;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","sourcesContent":["import chalk from './packages/chalk.js'\n\nimport { debug } from './output.js'\nimport type { DescribeCallback } from './types.js'\n\nexport function describe(theThing: string, tests: DescribeCallback): 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 global.__sxy_test_runner__.describes.push({\n counter: thisDescribeCounter,\n thing: theThing,\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"]}
|
package/dist/output.js.map
CHANGED
|
@@ -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.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\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 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.
|
|
3
|
+
"version": "2.3.17",
|
|
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"
|
|
@@ -55,6 +59,7 @@
|
|
|
55
59
|
"@types/node": "^24.13.3",
|
|
56
60
|
"@types/sinon": "^17.0.4",
|
|
57
61
|
"@types/sinon-chai": "^3.2.12",
|
|
62
|
+
"@typescript-eslint/utils": "^8.65.0",
|
|
58
63
|
"chai": "^6.0.0",
|
|
59
64
|
"chai-as-promised": "^7.1.2",
|
|
60
65
|
"chai-string": "^1.6.0",
|
package/dist/cli/help.d.ts.map
DELETED
|
@@ -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 +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"}
|
package/dist/cli/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":""}
|
package/dist/cli/init.d.ts.map
DELETED
|
@@ -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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addBasePath.unitTest.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/addBasePath.unitTest.ts"],"names":[],"mappings":""}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { addBasePath } from './addBasePath.js';
|
|
2
|
-
// addBaseToGlobs(base, globs)
|
|
3
|
-
// base: string
|
|
4
|
-
// globs: string or array of strings
|
|
5
|
-
mochaDescribe('addBaseToGlobs() function', function () {
|
|
6
|
-
mochaIt('adds a base to a glob string', function () {
|
|
7
|
-
const result = addBasePath('src', '**/*.js');
|
|
8
|
-
result.should.equal('src/**/*.js');
|
|
9
|
-
});
|
|
10
|
-
mochaIt('adds a base to an array of glob strings', function () {
|
|
11
|
-
const result = addBasePath('src', [
|
|
12
|
-
'**/*.test.js',
|
|
13
|
-
'**/*.mocha.js'
|
|
14
|
-
]);
|
|
15
|
-
result.should.have.members([
|
|
16
|
-
'src/**/*.test.js',
|
|
17
|
-
'src/**/*.mocha.js'
|
|
18
|
-
]);
|
|
19
|
-
});
|
|
20
|
-
mochaIt('it handles an empty string base', function () {
|
|
21
|
-
const result = addBasePath('', [
|
|
22
|
-
'**/*.test.js',
|
|
23
|
-
'**/*.mocha.js'
|
|
24
|
-
]);
|
|
25
|
-
result.should.have.members([
|
|
26
|
-
'**/*.test.js',
|
|
27
|
-
'**/*.mocha.js'
|
|
28
|
-
]);
|
|
29
|
-
});
|
|
30
|
-
mochaIt('it handles a . base', function () {
|
|
31
|
-
const result = addBasePath('.', [
|
|
32
|
-
'**/*.test.js',
|
|
33
|
-
'**/*.mocha.js'
|
|
34
|
-
]);
|
|
35
|
-
result.should.have.members([
|
|
36
|
-
'**/*.test.js',
|
|
37
|
-
'**/*.mocha.js'
|
|
38
|
-
]);
|
|
39
|
-
});
|
|
40
|
-
mochaIt('it handles an undefined base', function () {
|
|
41
|
-
const result = addBasePath(undefined, [
|
|
42
|
-
'**/*.test.js',
|
|
43
|
-
'**/*.mocha.js'
|
|
44
|
-
]);
|
|
45
|
-
result.should.have.members([
|
|
46
|
-
'**/*.test.js',
|
|
47
|
-
'**/*.mocha.js'
|
|
48
|
-
]);
|
|
49
|
-
});
|
|
50
|
-
mochaIt('it handles adding a base to a file path', function () {
|
|
51
|
-
const result = addBasePath('base', 'test/file.js');
|
|
52
|
-
result.should.equal('base/test/file.js');
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
//# sourceMappingURL=addBasePath.unitTest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addBasePath.unitTest.js","sourceRoot":"","sources":["../../../src/cli/lib/addBasePath.unitTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,8BAA8B;AAC9B,eAAe;AACf,oCAAoC;AAEpC,aAAa,CAAC,2BAA2B,EAAE;IACvC,OAAO,CAAC,8BAA8B,EAAE;QACpC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QAE5C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,yCAAyC,EAAE;QAC/C,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE;YAC9B,cAAc;YACd,eAAe;SAClB,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,kBAAkB;YAClB,mBAAmB;SACtB,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,iCAAiC,EAAE;QACvC,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,EAAE;YAC3B,cAAc;YACd,eAAe;SAClB,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,cAAc;YACd,eAAe;SAClB,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,qBAAqB,EAAE;QAC3B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,cAAc;YACd,eAAe;SAClB,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,cAAc;YACd,eAAe;SAClB,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,8BAA8B,EAAE;QACpC,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE;YAClC,cAAc;YACd,eAAe;SAClB,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,cAAc;YACd,eAAe;SAClB,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,yCAAyC,EAAE;QAC/C,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QAElD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addExports.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/addExports.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAUhH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addExports.unitTest.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/addExports.unitTest.ts"],"names":[],"mappings":""}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { expect } from 'chai';
|
|
2
|
-
import { addExports } from './addExports.js';
|
|
3
|
-
mochaDescribe('addExports() function', function () {
|
|
4
|
-
mochaIt('should add passed properties to a base object', function () {
|
|
5
|
-
const exports = {};
|
|
6
|
-
const newProperties = { a: 1, b: 2 };
|
|
7
|
-
addExports(exports, newProperties);
|
|
8
|
-
exports.should.have.keys(['a', 'b']);
|
|
9
|
-
});
|
|
10
|
-
mochaIt('should complain about duplicates', function () {
|
|
11
|
-
const exports = { a: 1, b: 2 };
|
|
12
|
-
const newProperties = { a: 3, b: 4 };
|
|
13
|
-
const errorText = 'already been exported';
|
|
14
|
-
expect(() => addExports(exports, newProperties, 'placeholder', 'placeholder')).to.throw(errorText);
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
//# sourceMappingURL=addExports.unitTest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addExports.unitTest.js","sourceRoot":"","sources":["../../../src/cli/lib/addExports.unitTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,aAAa,CAAC,uBAAuB,EAAE;IACnC,OAAO,CAAC,+CAA+C,EAAE;QACrD,MAAM,OAAO,GAA4B,EAAE,CAAA;QAE3C,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAEpC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;QAElC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,kCAAkC,EAAE;QACxC,MAAM,OAAO,GAA4B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAEvD,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAEpC,MAAM,SAAS,GAAG,uBAAuB,CAAA;QAEzC,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACtG,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"applyConfigDefaults.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/applyConfigDefaults.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAc,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAIjF,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,kBAAkB,GAAG,WAAW,CAO/E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"applyConfigDefaults.unitTest.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/applyConfigDefaults.unitTest.ts"],"names":[],"mappings":""}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { defaultConfig } from './defaultConfig.js';
|
|
2
|
-
import { applyConfigDefaults } from './applyConfigDefaults.js';
|
|
3
|
-
mochaDescribe('applyConfigDefaults() function', function () {
|
|
4
|
-
mochaIt('has sensible defaults when passed an empty user config', function () {
|
|
5
|
-
const finalConfig = applyConfigDefaults({});
|
|
6
|
-
finalConfig.should.include.keys(['tests', 'testsIgnore', 'watch']);
|
|
7
|
-
});
|
|
8
|
-
mochaIt('retains a passed config setting', function () {
|
|
9
|
-
const finalConfig = applyConfigDefaults({
|
|
10
|
-
tests: 'foo'
|
|
11
|
-
});
|
|
12
|
-
finalConfig.tests.should.equal('foo');
|
|
13
|
-
});
|
|
14
|
-
mochaIt('fills in defaults in a watch object with missing params', function () {
|
|
15
|
-
const finalConfig = applyConfigDefaults({
|
|
16
|
-
watch: {
|
|
17
|
-
watchFilesBase: 'src'
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
finalConfig.watch.watchFiles.should.equal(defaultConfig.watch.watchFiles);
|
|
21
|
-
finalConfig.watch.ttyActionsOnKeypress.should.equal(false);
|
|
22
|
-
});
|
|
23
|
-
mochaIt('retains the immediate keypress setting', function () {
|
|
24
|
-
const finalConfig = applyConfigDefaults({
|
|
25
|
-
watch: {
|
|
26
|
-
ttyActionsOnKeypress: true
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
finalConfig.watch.ttyActionsOnKeypress.should.equal(true);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
//# sourceMappingURL=applyConfigDefaults.unitTest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"applyConfigDefaults.unitTest.js","sourceRoot":"","sources":["../../../src/cli/lib/applyConfigDefaults.unitTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,aAAa,CAAC,gCAAgC,EAAE;IAC5C,OAAO,CAAC,wDAAwD,EAAE;QAC9D,MAAM,WAAW,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAA;QAE3C,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAA;IACtE,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,iCAAiC,EAAE;QACvC,MAAM,WAAW,GAAG,mBAAmB,CAAC;YACpC,KAAK,EAAE,KAAK;SACf,CAAC,CAAA;QAEF,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,yDAAyD,EAAE;QAC/D,MAAM,WAAW,GAAG,mBAAmB,CAAC;YACpC,KAAK,EAAE;gBACH,cAAc,EAAE,KAAK;aACxB;SACJ,CAAC,CAAA;QAEF,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACzE,WAAW,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,wCAAwC,EAAE;QAC9C,MAAM,WAAW,GAAG,mBAAmB,CAAC;YACpC,KAAK,EAAE;gBACH,oBAAoB,EAAE,IAAI;aAC7B;SACJ,CAAC,CAAA;QAEF,WAAW,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildDependencyTree.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/buildDependencyTree.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAwBnF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildDependencyTree.unitTest.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/buildDependencyTree.unitTest.ts"],"names":[],"mappings":""}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { applyConfigDefaults } from './applyConfigDefaults.js';
|
|
2
|
-
import { buildDependencyTree } from './buildDependencyTree.js';
|
|
3
|
-
import { join } from 'path';
|
|
4
|
-
// buildDependencyTree(config, file)
|
|
5
|
-
// config:
|
|
6
|
-
// file: relative to config.watch.watchFilesBase
|
|
7
|
-
mochaDescribe('buildDependencyTree() function', function () {
|
|
8
|
-
mochaIt('identifies the dependencies for a js file passed to it', function () {
|
|
9
|
-
// get the default configs
|
|
10
|
-
const config = applyConfigDefaults({});
|
|
11
|
-
const sampleFile = join('unitTesting/sampleFiles/c.js');
|
|
12
|
-
const depTree = buildDependencyTree(config, sampleFile);
|
|
13
|
-
depTree.should.have.members([
|
|
14
|
-
'unitTesting/sampleFiles/a.js',
|
|
15
|
-
'unitTesting/sampleFiles/b.js'
|
|
16
|
-
]);
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
//# sourceMappingURL=buildDependencyTree.unitTest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildDependencyTree.unitTest.js","sourceRoot":"","sources":["../../../src/cli/lib/buildDependencyTree.unitTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,oCAAoC;AACpC,UAAU;AACV,gDAAgD;AAEhD,aAAa,CAAC,gCAAgC,EAAE;IAC5C,OAAO,CAAC,wDAAwD,EAAE;QAC9D,0BAA0B;QAC1B,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAA;QAEtC,MAAM,UAAU,GAAG,IAAI,CAAC,8BAA8B,CAAC,CAAA;QACvD,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAEvD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACxB,8BAA8B;YAC9B,8BAA8B;SACjC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|