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.
- package/AGENTS.md +15 -4
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +8 -4
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/help.unitTest.js +5 -2
- package/dist/cli/help.unitTest.js.map +1 -1
- package/dist/cli/lib/findTestFiles.d.ts +1 -1
- package/dist/cli/lib/findTestFiles.d.ts.map +1 -1
- package/dist/cli/lib/findTestFiles.js +5 -2
- package/dist/cli/lib/findTestFiles.js.map +1 -1
- package/dist/cli/lib/findTestFiles.unitTest.js +5 -0
- package/dist/cli/lib/findTestFiles.unitTest.js.map +1 -1
- package/dist/cli/lib/listenToUser.d.ts +2 -1
- package/dist/cli/lib/listenToUser.d.ts.map +1 -1
- package/dist/cli/lib/listenToUser.js +23 -9
- package/dist/cli/lib/listenToUser.js.map +1 -1
- package/dist/cli/lib/listenToUser.unitTest.d.ts +2 -0
- package/dist/cli/lib/listenToUser.unitTest.d.ts.map +1 -0
- package/dist/cli/lib/listenToUser.unitTest.js +37 -0
- package/dist/cli/lib/listenToUser.unitTest.js.map +1 -0
- package/dist/cli/lib/matchesTestFilesFilter.d.ts +3 -0
- package/dist/cli/lib/matchesTestFilesFilter.d.ts.map +1 -0
- package/dist/cli/lib/matchesTestFilesFilter.js +10 -0
- package/dist/cli/lib/matchesTestFilesFilter.js.map +1 -0
- package/dist/cli/lib/runTests.d.ts.map +1 -1
- package/dist/cli/lib/runTests.js +32 -7
- package/dist/cli/lib/runTests.js.map +1 -1
- package/dist/cli/lib/runTests.unitTest.js +55 -0
- package/dist/cli/lib/runTests.unitTest.js.map +1 -1
- package/dist/cli/lib/watchFilesAndRunTestsChokidar.d.ts +1 -1
- package/dist/cli/lib/watchFilesAndRunTestsChokidar.d.ts.map +1 -1
- package/dist/cli/lib/watchFilesAndRunTestsChokidar.js +4 -2
- package/dist/cli/lib/watchFilesAndRunTestsChokidar.js.map +1 -1
- package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.d.ts +1 -1
- package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.d.ts.map +1 -1
- package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.js +4 -2
- package/dist/cli/lib/watchFilesAndRunTestsNodeWatch.js.map +1 -1
- package/dist/cli/lib/watchFilesChokidar.d.ts.map +1 -1
- package/dist/cli/lib/watchFilesChokidar.js +10 -0
- package/dist/cli/lib/watchFilesChokidar.js.map +1 -1
- package/dist/cli/lib/watchFilesChokidar.unitTest.js +41 -0
- package/dist/cli/lib/watchFilesChokidar.unitTest.js.map +1 -1
- package/dist/cli/lib/watchFilesNodeWatch.d.ts.map +1 -1
- package/dist/cli/lib/watchFilesNodeWatch.js +9 -4
- package/dist/cli/lib/watchFilesNodeWatch.js.map +1 -1
- package/dist/cli/lib/watchFilesNodeWatch.unitTest.js +42 -0
- package/dist/cli/lib/watchFilesNodeWatch.unitTest.js.map +1 -1
- package/dist/cli/once.d.ts.map +1 -1
- package/dist/cli/once.js +23 -2
- package/dist/cli/once.js.map +1 -1
- package/dist/cli/once.unitTest.js +33 -0
- package/dist/cli/once.unitTest.js.map +1 -1
- package/dist/cli/watch.d.ts.map +1 -1
- package/dist/cli/watch.js +23 -10
- package/dist/cli/watch.js.map +1 -1
- package/dist/cli/watch.unitTest.js +56 -65
- package/dist/cli/watch.unitTest.js.map +1 -1
- package/package.json +3 -2
- 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":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAIzD,MAAM,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;AAElE,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAChD,MAAmB,EACnB,SAAmB,EACnB,eAAgC,EAChC,YAAsB,EACtB,aAA6B,EAC7B,SAAiB;
|
|
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":"
|
|
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;
|
|
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":"
|
|
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;
|
|
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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"}
|
package/dist/cli/once.d.ts.map
CHANGED
|
@@ -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,
|
|
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.`
|
package/dist/cli/once.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"once.js","sourceRoot":"","sources":["../../src/cli/once.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,sBAAsB,CAAA;AAExC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EAAE,GAAG,EAAE,GAAG,EAAS,MAAM,cAAc,CAAA;AAG9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAExC,MAAM,CAAC,KAAK,UAAU,IAAI;IACtB,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,MAAM,EAAE;YACJ,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;SACjB;QACD,
|
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"once.unitTest.js","sourceRoot":"","sources":["../../src/cli/once.unitTest.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/watch.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
|
27
|
-
if (typeof
|
|
28
|
-
throw new Error('No pattern specified for --files or -
|
|
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('
|
|
31
|
-
|
|
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');
|
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;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,
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/cli/watch.ts"],"names":[],"mappings":"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"}
|