sxy-test-runner 2.2.1 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/AGENTS.md +15 -4
  2. package/dist/cli/help.d.ts.map +1 -1
  3. package/dist/cli/help.js +8 -4
  4. package/dist/cli/help.js.map +1 -1
  5. package/dist/cli/help.unitTest.js +5 -2
  6. package/dist/cli/help.unitTest.js.map +1 -1
  7. package/dist/cli/lib/findTestFiles.d.ts +1 -1
  8. package/dist/cli/lib/findTestFiles.d.ts.map +1 -1
  9. package/dist/cli/lib/findTestFiles.js +5 -2
  10. package/dist/cli/lib/findTestFiles.js.map +1 -1
  11. package/dist/cli/lib/findTestFiles.unitTest.js +5 -0
  12. package/dist/cli/lib/findTestFiles.unitTest.js.map +1 -1
  13. package/dist/cli/lib/listenToUser.d.ts +2 -1
  14. package/dist/cli/lib/listenToUser.d.ts.map +1 -1
  15. package/dist/cli/lib/listenToUser.js +23 -9
  16. package/dist/cli/lib/listenToUser.js.map +1 -1
  17. package/dist/cli/lib/listenToUser.unitTest.d.ts +2 -0
  18. package/dist/cli/lib/listenToUser.unitTest.d.ts.map +1 -0
  19. package/dist/cli/lib/listenToUser.unitTest.js +37 -0
  20. package/dist/cli/lib/listenToUser.unitTest.js.map +1 -0
  21. package/dist/cli/lib/matchesTestFilesFilter.d.ts +3 -0
  22. package/dist/cli/lib/matchesTestFilesFilter.d.ts.map +1 -0
  23. package/dist/cli/lib/matchesTestFilesFilter.js +10 -0
  24. package/dist/cli/lib/matchesTestFilesFilter.js.map +1 -0
  25. package/dist/cli/lib/runTests.d.ts.map +1 -1
  26. package/dist/cli/lib/runTests.js +32 -7
  27. package/dist/cli/lib/runTests.js.map +1 -1
  28. package/dist/cli/lib/runTests.unitTest.js +55 -0
  29. package/dist/cli/lib/runTests.unitTest.js.map +1 -1
  30. package/dist/cli/lib/watchFilesAndRunTestsChokidar.d.ts +1 -1
  31. package/dist/cli/lib/watchFilesAndRunTestsChokidar.d.ts.map +1 -1
  32. package/dist/cli/lib/watchFilesAndRunTestsChokidar.js +4 -2
  33. package/dist/cli/lib/watchFilesAndRunTestsChokidar.js.map +1 -1
  34. package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.d.ts +1 -1
  35. package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.d.ts.map +1 -1
  36. package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.js +4 -2
  37. package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.js.map +1 -1
  38. package/dist/cli/lib/watchFilesChokidar.d.ts.map +1 -1
  39. package/dist/cli/lib/watchFilesChokidar.js +10 -0
  40. package/dist/cli/lib/watchFilesChokidar.js.map +1 -1
  41. package/dist/cli/lib/watchFilesChokidar.unitTest.js +41 -0
  42. package/dist/cli/lib/watchFilesChokidar.unitTest.js.map +1 -1
  43. package/dist/cli/lib/watchFilesNodeWatch.d.ts.map +1 -1
  44. package/dist/cli/lib/watchFilesNodeWatch.js +9 -4
  45. package/dist/cli/lib/watchFilesNodeWatch.js.map +1 -1
  46. package/dist/cli/lib/watchFilesNodeWatch.unitTest.js +42 -0
  47. package/dist/cli/lib/watchFilesNodeWatch.unitTest.js.map +1 -1
  48. package/dist/cli/once.d.ts.map +1 -1
  49. package/dist/cli/once.js +23 -2
  50. package/dist/cli/once.js.map +1 -1
  51. package/dist/cli/once.unitTest.js +33 -0
  52. package/dist/cli/once.unitTest.js.map +1 -1
  53. package/dist/cli/watch.d.ts.map +1 -1
  54. package/dist/cli/watch.js +23 -10
  55. package/dist/cli/watch.js.map +1 -1
  56. package/dist/cli/watch.unitTest.js +56 -65
  57. package/dist/cli/watch.unitTest.js.map +1 -1
  58. package/package.json +3 -2
  59. package/readme.md +20 -0
@@ -9,9 +9,10 @@ import { buildDependencyTree } from './buildDependencyTree.js';
9
9
  import { globArgCombine } from './globArgCombine.js';
10
10
  import { addBasePath } from './addBasePath.js';
11
11
  import { watchFilesNodeWatch } from './watchFilesNodeWatch.js';
12
+ import { matchesTestFilesFilter } from './matchesTestFilesFilter.js';
12
13
  import { remove as arrayRemove } from 'sxy-lib/arrays.js';
13
14
  const { timeProfileAsync } = createTimeProfiler(showTimeProfiling);
14
- export async function watchFilesAndRunTestsNodeWatch(config, testFiles, dependencyTrees, failingTests, watchRunState, customOut) {
15
+ export async function watchFilesAndRunTestsNodeWatch(config, testFiles, dependencyTrees, failingTests, watchRunState, customOut, testFilesFilter) {
15
16
  const projectDir = process.cwd();
16
17
  await timeProfileAsync('init watching', async () => {
17
18
  debug('failingTests', failingTests);
@@ -20,7 +21,8 @@ export async function watchFilesAndRunTestsNodeWatch(config, testFiles, dependen
20
21
  // indentify a test file
21
22
  const testFilter = (file) => {
22
23
  return minimatch(file, globArgCombine(testsGlobs))
23
- && !minimatch(file, globArgCombine(testsIgnoreGlobs));
24
+ && !minimatch(file, globArgCombine(testsIgnoreGlobs))
25
+ && matchesTestFilesFilter(config, file, testFilesFilter);
24
26
  };
25
27
  let changedFiles = [];
26
28
  let timeout = null;
@@ -1 +1 @@
1
- {"version":3,"file":"watchFilesAndRunTestsNodeWatch.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesAndRunTestsNodeWatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watchFilesAndRunTestsNodeWatch.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesAndRunTestsNodeWatch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"watchFilesChokidar.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesChokidar.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAI1D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,UAAU,EAAE,SAAS,CAAC,CAmClH"}
1
+ {"version":3,"file":"watchFilesChokidar.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesChokidar.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAI1D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,UAAU,EAAE,SAAS,CAAC,CA6ClH"}
@@ -2,8 +2,10 @@ import { createTimeProfiler } from '../../packages/timeProfiler.js';
2
2
  import { showTimeProfiling } from '../../config.js';
3
3
  import slash from '../../packages/slash.js';
4
4
  import chokidar from 'chokidar';
5
+ import minimatch from 'minimatch';
5
6
  import { out, debug } from '../../output.js';
6
7
  import { addBasePath } from './addBasePath.js';
8
+ import { globArgCombine } from './globArgCombine.js';
7
9
  const { timeProfileAsync } = createTimeProfiler(showTimeProfiling);
8
10
  export function watchFilesChokidar(config, onEvent) {
9
11
  return timeProfileAsync('start watching', () => {
@@ -11,15 +13,23 @@ export function watchFilesChokidar(config, onEvent) {
11
13
  out('No config.watch.watchFilesBase provided, defaulting to \'.\'');
12
14
  config.watch.watchFilesBase = '.';
13
15
  }
16
+ // watch globs are relative to watchFilesBase, and chokidar reports paths
17
+ // including the base, so bring the globs up to the same base
18
+ const watchGlobs = addBasePath(config.watch.watchFilesBase, config.watch.watchFiles);
14
19
  const ignoreGlob = config.watch.watchFilesIgnore.length > 0
15
20
  ? addBasePath(config.watch.watchFilesBase, config.watch.watchFilesIgnore)
16
21
  : undefined;
22
+ // chokidar has no include option, and ignoring non-matching paths would stop it
23
+ // descending into directories, so watchFiles is applied to the events instead
24
+ const included = (file) => watchGlobs.length === 0 || minimatch(file, globArgCombine(watchGlobs));
17
25
  const watcher = chokidar.watch(config.watch.watchFilesBase, {
18
26
  ignored: ignoreGlob,
19
27
  ignoreInitial: true
20
28
  });
21
29
  watcher.on('all', (event, filename) => {
22
30
  filename = slash(filename);
31
+ if (!included(filename))
32
+ return;
23
33
  debug('[watch event]', filename, event);
24
34
  onEvent(filename, (event === 'unlink') ? 'remove' : event);
25
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"watchFilesChokidar.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesChokidar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAK9C,MAAM,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;AAElE,MAAM,UAAU,kBAAkB,CAAC,MAAmB,EAAE,OAAmB;IACvE,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC3C,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,EAAE,EAAE,CAAC;YACrC,GAAG,CAAC,8DAA8D,CAAC,CAAA;YACnE,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAA;QACrC,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACvD,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;YACzE,CAAC,CAAC,SAAS,CAAA;QAEf,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAC1B,MAAM,CAAC,KAAK,CAAC,cAAc,EAC3B;YACI,OAAO,EAAE,UAAU;YACnB,aAAa,EAAE,IAAI;SACtB,CACJ,CAAA;QAED,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAClC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC1B,KAAK,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;YACvC,OAAO,CACH,QAAQ,EACR,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAC1C,CAAA;QACL,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACrB,KAAK,CAAC,wBAAwB,CAAC,CAAA;gBAC/B,OAAO,CAAC,OAAO,CAAC,CAAA;YACpB,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"watchFilesChokidar.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesChokidar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAKpD,MAAM,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;AAElE,MAAM,UAAU,kBAAkB,CAAC,MAAmB,EAAE,OAAmB;IACvE,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC3C,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,EAAE,EAAE,CAAC;YACrC,GAAG,CAAC,8DAA8D,CAAC,CAAA;YACnE,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAA;QACrC,CAAC;QAED,yEAAyE;QACzE,6DAA6D;QAC7D,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAEpF,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACvD,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;YACzE,CAAC,CAAC,SAAS,CAAA;QAEf,gFAAgF;QAChF,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAW,EAAE,CACvC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAA;QAE1E,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAC1B,MAAM,CAAC,KAAK,CAAC,cAAc,EAC3B;YACI,OAAO,EAAE,UAAU;YACnB,aAAa,EAAE,IAAI;SACtB,CACJ,CAAA;QAED,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAClC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAM;YAC/B,KAAK,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;YACvC,OAAO,CACH,QAAQ,EACR,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAC1C,CAAA;QACL,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACrB,KAAK,CAAC,wBAAwB,CAAC,CAAA;gBAC/B,OAAO,CAAC,OAAO,CAAC,CAAA;YACpB,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC"}
@@ -43,6 +43,47 @@ mochaDescribe('watchFilesChokidar() function', function () {
43
43
  });
44
44
  eventComplete.should.equal(true);
45
45
  });
46
+ mochaIt('matches a watch glob that is relative to the watch base', async function () {
47
+ this.timeout(12000);
48
+ const config = applyConfigDefaults({
49
+ watch: {
50
+ watchFilesBase: 'watchTests/watchFilesChokidar',
51
+ watchFiles: '*.js' // relative to the base, no leading **/
52
+ }
53
+ });
54
+ let eventComplete = false;
55
+ await watchFilesChokidar(config, () => {
56
+ eventComplete = true;
57
+ });
58
+ void fs.writeFile('watchTests/watchFilesChokidar/base-relative-file.js', 'abc');
59
+ await new Promise(resolve => {
60
+ const interval = setInterval(() => {
61
+ if (eventComplete) {
62
+ clearInterval(interval);
63
+ resolve();
64
+ }
65
+ }, 50);
66
+ });
67
+ eventComplete.should.equal(true);
68
+ });
69
+ mochaIt('does not call back for a file outside the watch glob', async function () {
70
+ this.timeout(12000);
71
+ const config = applyConfigDefaults({
72
+ watch: {
73
+ watchFilesBase: 'watchTests/watchFilesChokidar',
74
+ watchFiles: '**/*.js'
75
+ }
76
+ });
77
+ let eventComplete = false;
78
+ await watchFilesChokidar(config, () => {
79
+ eventComplete = true;
80
+ });
81
+ void fs.writeFile('watchTests/watchFilesChokidar/not-watched-file.txt', 'abc');
82
+ await new Promise(resolve => {
83
+ setTimeout(resolve, 1000);
84
+ });
85
+ eventComplete.should.not.equal(true);
86
+ });
46
87
  mochaIt('ignores a file based on ignore glob', async function () {
47
88
  this.timeout(12000);
48
89
  const config = applyConfigDefaults({
@@ -1 +1 @@
1
- {"version":3,"file":"watchFilesChokidar.unitTest.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesChokidar.unitTest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watchFilesChokidar.unitTest.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesChokidar.unitTest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"watchFilesNodeWatch.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesNodeWatch.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAIjD,MAAM,WAAW,gBAAgB;IAC7B,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAA;CACjD;AAWD,MAAM,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;AAElE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmCvG"}
1
+ {"version":3,"file":"watchFilesNodeWatch.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesNodeWatch.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAIjD,MAAM,WAAW,gBAAgB;IAC7B,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAA;CACjD;AAWD,MAAM,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;AAElE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwCvG"}
@@ -5,18 +5,23 @@ import slash from '../../packages/slash.js';
5
5
  import * as nodeWatchNS from 'node-watch';
6
6
  import { out, debug } from '../../output.js';
7
7
  import { globArgCombine } from './globArgCombine.js';
8
+ import { addBasePath } from './addBasePath.js';
8
9
  const { timeProfileAsync } = createTimeProfiler(showTimeProfiling);
9
10
  const nodeWatch = nodeWatchNS.default;
10
11
  export function watchFilesNodeWatch(config, onEvent) {
11
12
  return timeProfileAsync('start watching', async () => {
12
- // identify a file we should be watching and responding to
13
- const watchFilter = (file) => (config.watch.watchFiles.length === 0 || minimatch(file, globArgCombine(config.watch.watchFiles)))
14
- && (config.watch.watchFilesIgnore.length === 0
15
- || !minimatch(file, globArgCombine(config.watch.watchFilesIgnore)));
16
13
  if (config.watch.watchFilesBase === '') {
17
14
  out('No config.watch.watchFilesBase provided, defaulting to \'.\'');
18
15
  config.watch.watchFilesBase = '.';
19
16
  }
17
+ // watch globs are relative to watchFilesBase, but node-watch's filter is given
18
+ // paths including the base, so bring the globs up to the same base
19
+ const watchGlobs = addBasePath(config.watch.watchFilesBase, config.watch.watchFiles);
20
+ const watchIgnoreGlobs = addBasePath(config.watch.watchFilesBase, config.watch.watchFilesIgnore);
21
+ // identify a file we should be watching and responding to
22
+ const watchFilter = (file) => (watchGlobs.length === 0 || minimatch(slash(file), globArgCombine(watchGlobs)))
23
+ && (watchIgnoreGlobs.length === 0
24
+ || !minimatch(slash(file), globArgCombine(watchIgnoreGlobs)));
20
25
  const watcher = nodeWatch(config.watch.watchFilesBase, {
21
26
  recursive: true,
22
27
  filter: watchFilter
@@ -1 +1 @@
1
- {"version":3,"file":"watchFilesNodeWatch.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesNodeWatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,KAAK,WAAW,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAIpD,MAAM,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;AAalE,MAAM,SAAS,GAAG,WAAW,CAAC,OAAiC,CAAA;AAI/D,MAAM,UAAU,mBAAmB,CAAC,MAAmB,EAAE,OAAmB;IACxE,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QACjD,0DAA0D;QAC1D,MAAM,WAAW,GAAG,CAAC,IAAY,EAAW,EAAE,CAC1C,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;eAC/F,CACC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;mBACvC,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CACrE,CAAA;QAEL,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,EAAE,EAAE,CAAC;YACrC,GAAG,CAAC,8DAA8D,CAAC,CAAA;YACnE,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAA;QACrC,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,CACrB,MAAM,CAAC,KAAK,CAAC,cAAc,EAC3B;YACI,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,WAAW;SACtB,EACD,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAChB,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC1B,KAAK,CAAC,aAAa,CAAC,CAAA;YACpB,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC5B,CAAC,CACJ,CAAA;QAED,kCAAkC;QAClC,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAC9B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QAEF,OAAO,OAAO,CAAA;IAClB,CAAC,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"watchFilesNodeWatch.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesNodeWatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,KAAK,WAAW,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAI9C,MAAM,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;AAalE,MAAM,SAAS,GAAG,WAAW,CAAC,OAAiC,CAAA;AAI/D,MAAM,UAAU,mBAAmB,CAAC,MAAmB,EAAE,OAAmB;IACxE,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QACjD,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,EAAE,EAAE,CAAC;YACrC,GAAG,CAAC,8DAA8D,CAAC,CAAA;YACnE,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAA;QACrC,CAAC;QAED,+EAA+E;QAC/E,mEAAmE;QACnE,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACpF,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAEhG,0DAA0D;QAC1D,MAAM,WAAW,GAAG,CAAC,IAAY,EAAW,EAAE,CAC1C,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;eAC5E,CACC,gBAAgB,CAAC,MAAM,KAAK,CAAC;mBAC1B,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAC/D,CAAA;QAEL,MAAM,OAAO,GAAG,SAAS,CACrB,MAAM,CAAC,KAAK,CAAC,cAAc,EAC3B;YACI,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,WAAW;SACtB,EACD,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAChB,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC1B,KAAK,CAAC,aAAa,CAAC,CAAA;YACpB,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC5B,CAAC,CACJ,CAAA;QAED,kCAAkC;QAClC,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAC9B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QAEF,OAAO,OAAO,CAAA;IAClB,CAAC,CAAC,CAAA;AACN,CAAC"}
@@ -42,5 +42,47 @@ mochaDescribe('watchFilesNodeWatch() function', function () {
42
42
  });
43
43
  eventComplete.should.equal(true);
44
44
  });
45
+ mochaIt('matches a watch glob that is relative to the watch base', async function () {
46
+ const tempFolder = 'watchTests/watchFilesNodeWatcher';
47
+ const config = applyConfigDefaults({
48
+ watch: {
49
+ watchFilesBase: tempFolder,
50
+ watchFiles: '*.js' // relative to the base, no leading **/
51
+ }
52
+ });
53
+ let eventComplete = false;
54
+ await watchFilesNodeWatch(config, () => {
55
+ eventComplete = true;
56
+ });
57
+ void fs.writeFile(`${tempFolder}/base-relative-file.js`, 'abc');
58
+ await new Promise(resolve => {
59
+ const interval = setInterval(() => {
60
+ if (eventComplete) {
61
+ clearInterval(interval);
62
+ resolve();
63
+ }
64
+ }, 50);
65
+ });
66
+ eventComplete.should.equal(true);
67
+ });
68
+ mochaIt('ignores a file based on an ignore glob relative to the watch base', async function () {
69
+ const tempFolder = 'watchTests/watchFilesNodeWatcher';
70
+ const config = applyConfigDefaults({
71
+ watch: {
72
+ watchFilesBase: tempFolder,
73
+ watchFiles: '**/*.js',
74
+ watchFilesIgnore: 'ignore-file.js'
75
+ }
76
+ });
77
+ let eventComplete = false;
78
+ await watchFilesNodeWatch(config, () => {
79
+ eventComplete = true;
80
+ });
81
+ void fs.writeFile(`${tempFolder}/ignore-file.js`, 'abc');
82
+ await new Promise(resolve => {
83
+ setTimeout(resolve, 1000);
84
+ });
85
+ eventComplete.should.not.equal(true);
86
+ });
45
87
  });
46
88
  //# sourceMappingURL=watchFilesNodeWatch.unitTest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"watchFilesNodeWatch.unitTest.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesNodeWatch.unitTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAA;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,aAAa,CAAC,gCAAgC,EAAE;IAC5C,OAAO,CAAC,iDAAiD,EAAE,KAAK;QAC5D,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAA;QAEtC,IAAI,aAAa,GAAG,KAAK,CAAA;QAEzB,MAAM,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE;YACnC,aAAa,GAAG,IAAI,CAAA;QACxB,CAAC,CAAC,CAAA;QAEF,KAAK,EAAE,CAAC,SAAS,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAA;QAEzD,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAC9B,MAAM,QAAQ,GAAG,WAAW,CACxB,GAAG,EAAE;gBACD,IAAI,aAAa,EAAE,CAAC;oBAChB,aAAa,CAAC,QAAQ,CAAC,CAAA;oBACvB,OAAO,EAAE,CAAA;gBACb,CAAC;YACL,CAAC,EACD,EAAE,CACL,CAAA;QACL,CAAC,CAAC,CAAA;QAEF,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,qEAAqE,EAAE,KAAK;QAChF,MAAM,UAAU,GAAG,kCAAkC,CAAA;QAErD,MAAM,MAAM,GAAG,mBAAmB,CAAC;YAC/B,KAAK,EAAE;gBACH,cAAc,EAAE,UAAU;gBAC1B,UAAU,EAAE,SAAS;aACxB;SACJ,CAAC,CAAA;QAEF,IAAI,aAAa,GAAG,KAAK,CAAA;QAEzB,MAAM,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE;YACnC,aAAa,GAAG,IAAI,CAAA;QACxB,CAAC,CAAC,CAAA;QAEF,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,UAAU,YAAY,EAAE,KAAK,CAAC,CAAA;QAEnD,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAC9B,MAAM,QAAQ,GAAG,WAAW,CACxB,GAAG,EAAE;gBACD,IAAI,aAAa,EAAE,CAAC;oBAChB,aAAa,CAAC,QAAQ,CAAC,CAAA;oBACvB,OAAO,EAAE,CAAA;gBACb,CAAC;YACL,CAAC,EACD,EAAE,CACL,CAAA;QACL,CAAC,CAAC,CAAA;QAEF,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"watchFilesNodeWatch.unitTest.js","sourceRoot":"","sources":["../../../src/cli/lib/watchFilesNodeWatch.unitTest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"once.d.ts","sourceRoot":"","sources":["../../src/cli/once.ts"],"names":[],"mappings":"AAWA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAuE1C"}
1
+ {"version":3,"file":"once.d.ts","sourceRoot":"","sources":["../../src/cli/once.ts"],"names":[],"mappings":"AAWA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA8F1C"}
package/dist/cli/once.js CHANGED
@@ -11,7 +11,11 @@ export async function once() {
11
11
  flag: 'c',
12
12
  hasValue: true
13
13
  },
14
- files: {
14
+ 'test-files': {
15
+ flag: 't',
16
+ hasValue: true
17
+ },
18
+ filter: {
15
19
  flag: 'f',
16
20
  hasValue: true
17
21
  }
@@ -23,6 +27,23 @@ export async function once() {
23
27
  const userConfig = (typeof clArguments.config === 'string')
24
28
  ? await loadConfig(clArguments.config)
25
29
  : await loadConfig();
30
+ if ('test-files' in clArguments) {
31
+ const testFilesPattern = clArguments['test-files'];
32
+ if (typeof testFilesPattern !== 'string' || testFilesPattern === '') {
33
+ throw new Error('No pattern specified for --test-files or -t argument');
34
+ }
35
+ console.log('Looking for tests using pattern: ' + testFilesPattern); // eslint-disable-line no-console
36
+ userConfig.tests = testFilesPattern;
37
+ }
38
+ let testFilesFilter;
39
+ if ('filter' in clArguments) {
40
+ const filter = clArguments.filter;
41
+ if (typeof filter !== 'string' || filter === '') {
42
+ throw new Error('No pattern specified for --filter or -f argument');
43
+ }
44
+ console.log('Filtering tests using pattern: ' + filter); // eslint-disable-line no-console
45
+ testFilesFilter = filter;
46
+ }
26
47
  const { applyConfigDefaults } = await import('./lib/applyConfigDefaults.js');
27
48
  const config = applyConfigDefaults(userConfig);
28
49
  const { validateConfig } = await import('./lib/validateConfig.js');
@@ -34,7 +55,7 @@ export async function once() {
34
55
  //console.log('ran setup')
35
56
  log(chalk.brightblue `finding tests...`);
36
57
  const { findTestFiles } = await import('./lib/findTestFiles.js');
37
- const testFiles = await findTestFiles(config);
58
+ const testFiles = await findTestFiles(config, testFilesFilter);
38
59
  if (testFiles.length === 0) {
39
60
  const testsText = Array.isArray(config.tests) ? config.tests.join(', ') : config.tests;
40
61
  out(chalk.orange(`[${packageName}] Found no tests.`
@@ -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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"}
@@ -36,6 +36,39 @@ mochaDescribe('once command', function () {
36
36
  consoleLogBuffer.should.include(should);
37
37
  consoleLogBuffer.should.include(figures.tick);
38
38
  });
39
+ mochaIt('overrides and filters the configured test pattern', async function () {
40
+ this.timeout(12000);
41
+ const originalConsoleLog = console.log; // eslint-disable-line no-console
42
+ let consoleLogBuffer = '';
43
+ console.log = function testLog(...texts) {
44
+ consoleLogBuffer += texts.join(' ') + '\n';
45
+ };
46
+ global.commandLineArguments = ['-t', 'example*.test.js', '-f', 'example.test.js'];
47
+ const originalProcessExit = process.exit.bind(process);
48
+ let exitCode;
49
+ process.exit = ((code) => {
50
+ exitCode = code;
51
+ throw new Error(`process.exit:${code ?? 0}`);
52
+ });
53
+ try {
54
+ await once();
55
+ throw new Error('once() should have exited the process');
56
+ }
57
+ catch (error) {
58
+ chaiExpect(error).to.be.an.instanceOf(Error);
59
+ error.message.should.equal(`process.exit:${exitCode ?? 0}`);
60
+ }
61
+ finally {
62
+ process.exit = originalProcessExit;
63
+ console.log = originalConsoleLog; // eslint-disable-line no-console
64
+ }
65
+ exitCode?.should.equal(0);
66
+ consoleLogBuffer.should.include('Looking for tests using pattern: example*.test.js');
67
+ consoleLogBuffer.should.include('Filtering tests using pattern: example.test.js');
68
+ consoleLogBuffer.should.include('trialTests/example.test.js');
69
+ consoleLogBuffer.should.not.include('trialTests/example2.test.js');
70
+ consoleLogBuffer.should.include('Test Files: 1/1');
71
+ });
39
72
  mochaIt('setup function and setup file from the config should have run', async function () {
40
73
  this.timeout(6000);
41
74
  global.configBasedSetupFunctionRan = false;
@@ -1 +1 @@
1
- {"version":3,"file":"once.unitTest.js","sourceRoot":"","sources":["../../src/cli/once.unitTest.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,wBAAwB,CAAA;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,aAAa,CAAC,cAAc,EAAE;IAE1B,OAAO,CAAC,qCAAqC,EAAE,KAAK;QAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAEnB,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAA;QACtC,IAAI,gBAAgB,GAAG,EAAE,CAAA;QAEzB,OAAO,CAAC,GAAG,GAAG,SAAS,OAAO,CAAC,GAAG,KAAgB;YAC9C,gBAAgB,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;QAC9C,CAAC,CAAA;QAED,MAAM,CAAC,oBAAoB,GAAG,EAAE,CAAA;QAEhC,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,QAA4B,CAAA;QAChC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,IAAa,EAAE,EAAE;YAC9B,QAAQ,GAAG,IAAI,CAAA;YACf,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,IAAI,CAAC,EAAE,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC;YACD,MAAM,IAAI,EAAE,CAAA;YACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAC3C;YAAC,KAAe,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAA;QAC3E,CAAC;gBAAS,CAAC;YACP,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAA;YAClC,OAAO,CAAC,GAAG,GAAG,kBAAkB,CAAA;QACpC,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAE7B,MAAM,YAAY,GAAG,4BAA4B,CAAA;QACjD,MAAM,KAAK,GAAG,aAAa,CAAA;QAC3B,MAAM,MAAM,GAAG,kBAAkB,CAAA;QAEjC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAE,YAAY,CAAE,CAAA;QAC/C,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAE,KAAK,CAAE,CAAA;QACxC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAE,MAAM,CAAE,CAAA;QACzC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAE,OAAO,CAAC,IAAI,CAAE,CAAA;IAEnD,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,+DAA+D,EAAE,KAAK;QAC1E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAElB,MAAM,CAAC,2BAA2B,GAAG,KAAK,CAAA;QAC1C,MAAM,CAAC,oBAAoB,GAAG,KAAK,CAAA;QAEnC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAA,CAAC,iCAAiC;QACxE,IAAI,gBAAgB,GAAG,EAAE,CAAA;QACzB,OAAO,CAAC,GAAG,GAAG,SAAS,OAAO,CAAC,GAAG,KAAgB;YAC9C,gBAAgB,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;QAC9C,CAAC,CAAA;QAED,MAAM,CAAC,oBAAoB,GAAG;YAC1B,UAAU;YACV,uCAAuC;SAC1C,CAAA;QAED,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,QAA4B,CAAA;QAChC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,IAAa,EAAE,EAAE;YAC9B,QAAQ,GAAG,IAAI,CAAA;YACf,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,IAAI,CAAC,EAAE,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC;YACD,MAAM,IAAI,EAAE,CAAA;YACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAC3C;YAAC,KAAe,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAA;QAC3E,CAAC;gBAAS,CAAC;YACP,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAA;YAClC,OAAO,CAAC,GAAG,GAAG,kBAAkB,CAAA,CAAC,iCAAiC;QACtE,CAAC;QAED,MAAM,CAAC,2BAA2B,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACrD,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9C,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC7C,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;AAEN,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"once.unitTest.js","sourceRoot":"","sources":["../../src/cli/once.unitTest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/cli/watch.ts"],"names":[],"mappings":"AAQA,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAuF3C"}
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/cli/watch.ts"],"names":[],"mappings":"AAQA,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA+G3C"}
package/dist/cli/watch.js CHANGED
@@ -10,7 +10,11 @@ export async function watch() {
10
10
  flag: 'c',
11
11
  hasValue: true
12
12
  },
13
- files: {
13
+ 'test-files': {
14
+ flag: 't',
15
+ hasValue: true
16
+ },
17
+ filter: {
14
18
  flag: 'f',
15
19
  hasValue: true
16
20
  }
@@ -22,13 +26,22 @@ export async function watch() {
22
26
  const userConfig = (typeof clArguments.config === 'string')
23
27
  ? await loadConfig(clArguments.config)
24
28
  : await loadConfig();
25
- if ('files' in clArguments) {
26
- const files = clArguments.files;
27
- if (typeof files !== 'string' || files === '') {
28
- throw new Error('No pattern specified for --files or -f argument');
29
+ if ('test-files' in clArguments) {
30
+ const testFilesPattern = clArguments['test-files'];
31
+ if (typeof testFilesPattern !== 'string' || testFilesPattern === '') {
32
+ throw new Error('No pattern specified for --test-files or -t argument');
33
+ }
34
+ console.log('Looking for tests using pattern: ' + testFilesPattern); // eslint-disable-line no-console
35
+ userConfig.tests = testFilesPattern;
36
+ }
37
+ let testFilesFilter;
38
+ if ('filter' in clArguments) {
39
+ const filter = clArguments.filter;
40
+ if (typeof filter !== 'string' || filter === '') {
41
+ throw new Error('No pattern specified for --filter or -f argument');
29
42
  }
30
- console.log('Looking for tests using pattern: ' + files); // eslint-disable-line no-console
31
- userConfig.tests = files;
43
+ console.log('Filtering tests using pattern: ' + filter); // eslint-disable-line no-console
44
+ testFilesFilter = filter;
32
45
  }
33
46
  const { applyConfigDefaults } = await import('./lib/applyConfigDefaults.js');
34
47
  const config = applyConfigDefaults(userConfig);
@@ -38,7 +51,7 @@ export async function watch() {
38
51
  await doUserSetup(config);
39
52
  out(chalk.brightblue `finding tests...`);
40
53
  const { findTestFiles } = await import('./lib/findTestFiles.js');
41
- const testFiles = await findTestFiles(config);
54
+ const testFiles = await findTestFiles(config, testFilesFilter);
42
55
  debug(testFiles);
43
56
  // global store of the dependencies of tests
44
57
  let dependencyTrees = {};
@@ -65,9 +78,9 @@ export async function watch() {
65
78
  out(chalk.brightblue `watching...`);
66
79
  }
67
80
  const { watchFilesAndRunTests } = await import('./lib/watchFilesAndRunTests.js');
68
- await watchFilesAndRunTests(config, testFiles, dependencyTrees, failingTests, watchRunState);
81
+ await watchFilesAndRunTests(config, testFiles, dependencyTrees, failingTests, watchRunState, undefined, testFilesFilter);
69
82
  const { listenToUser } = await import('./lib/listenToUser.js');
70
- listenToUser(watchRunState, files => runTests(config, files, failingTests, watchRunState));
83
+ listenToUser(watchRunState, testFiles, failingTests, files => runTests(config, files, failingTests, watchRunState));
71
84
  await new Promise(() => { });
72
85
  // won't run because promise will never finish
73
86
  const { doUserTeardown } = await import('./lib/doUserTeardown.js');
@@ -1 +1 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/cli/watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/cli/watch.ts"],"names":[],"mappings":"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;AAExC,MAAM,CAAC,KAAK,UAAU,KAAK;IACvB,GAAG,CAAC,KAAK,CAAC,UAAU,CAAA,IAAI,WAAW,MAAM,CAAC,CAAA;IAE1C,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAA;IACxF,MAAM,kBAAkB,GAAqB;QACzC,MAAM,EAAE;YACJ,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;SACjB;QACD,YAAY,EAAE;YACV,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;SACjB;QACD,MAAM,EAAE;YACJ,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,OAAO,CAAC,GAAG,CAAC,mCAAmC,GAAG,gBAAgB,CAAC,CAAA,CAAC,iCAAiC;QACrG,UAAU,CAAC,KAAK,GAAG,gBAAgB,CAAA;IACvC,CAAC;IAED,IAAI,eAAmC,CAAA;IACvC,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,OAAO,CAAC,GAAG,CAAC,iCAAiC,GAAG,MAAM,CAAC,CAAA,CAAC,iCAAiC;QACzF,eAAe,GAAG,MAAM,CAAA;IAC5B,CAAC;IAED,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,CAAA,kBAAkB,CAAC,CAAA;IACvC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAA;IAChE,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC9D,KAAK,CAAC,SAAS,CAAC,CAAA;IAEhB,4CAA4C;IAC5C,IAAI,eAAe,GAAoB,EAAE,CAAA;IACzC,6CAA6C;IAC7C,MAAM,YAAY,GAAa,EAAE,CAAA;IACjC,MAAM,aAAa,GAAkB;QACjC,aAAa,EAAE,EAAE;QACjB,UAAU,EAAE,CAAC;KAChB,CAAA;IACD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAEtD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,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,KAAK,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAA,aAAa,CAAC,CAAA;YACtC,CAAC,CAAC,CAAA;QACN,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,GAAG,CAAC,KAAK,CAAC,UAAU,CAAA,gBAAgB,CAAC,CAAA;QACrC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAA,aAAa,CAAC,CAAA;IACtC,CAAC;IAED,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAA;IAChF,MAAM,qBAAqB,CACvB,MAAM,EACN,SAAS,EACT,eAAe,EACf,YAAY,EACZ,aAAa,EACb,SAAS,EACT,eAAe,CAClB,CAAA;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAA;IAC9D,YAAY,CACR,aAAa,EACb,SAAS,EACT,YAAY,EACZ,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC,CAChE,CAAA;IAED,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"}