Skip to content

Commit b7ad4e0

Browse files
committed
test: speed up .only
1 parent 1b857c9 commit b7ad4e0

1 file changed

Lines changed: 18 additions & 4 deletions

File tree

scripts/test.mjs

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
// Node 20 does not support --experimental-strip-types flag.
99

1010
import {spawn, execSync} from 'node:child_process';
11+
import {glob, readFile} from 'node:fs/promises';
1112
import path from 'node:path';
1213
import process from 'node:process';
1314

@@ -38,10 +39,23 @@ if (userArgs.length > 0) {
3839
}
3940
} else {
4041
const isNode20 = process.version.startsWith('v20.');
41-
if (isNode20) {
42-
files.push('build/tests');
43-
} else {
44-
files.push('build/tests/**/*.test.js');
42+
if (flags.includes('--test-only')) {
43+
for await (const tsFile of glob('tests/**/*.test.ts')) {
44+
const content = await readFile(tsFile, 'utf8');
45+
if (content.includes('.only(')) {
46+
files.push(path.join('build', tsFile.replace(/\.ts$/, '.js')));
47+
}
48+
}
49+
if (files.length === 0) {
50+
console.warn('no files contain .only');
51+
process.exit(0);
52+
}
53+
} else if (files.length === 0) {
54+
if (isNode20) {
55+
files.push('build/tests');
56+
} else {
57+
files.push('build/tests/**/*.test.js');
58+
}
4559
}
4660
}
4761

0 commit comments

Comments
 (0)