27 lines
964 B
JavaScript
27 lines
964 B
JavaScript
import { build } from 'esbuild'
|
|
import { spawnSync } from 'node:child_process'
|
|
|
|
const tests = [
|
|
'prompt-queue-regression.ts',
|
|
'prompt-queue-adversarial-regression.ts',
|
|
'input-composition-regression.ts',
|
|
'capability-picker-regression.tsx',
|
|
'request-settings-regression.ts',
|
|
'context-usage-regression.ts',
|
|
'claude-capabilities-regression.ts'
|
|
]
|
|
const directory = '.tmp/composer-capabilities-tests'
|
|
await build({
|
|
entryPoints: tests.map(file => `scripts/${file}`),
|
|
outdir: directory, outExtension: { '.js': '.mjs' }, bundle: true,
|
|
platform: 'node', format: 'esm', packages: 'external', jsx: 'automatic',
|
|
loader: { '.css': 'empty' }, logLevel: 'warning'
|
|
})
|
|
for (const file of tests) {
|
|
const result = spawnSync(process.execPath, [`${directory}/${file.replace(/\.tsx?$/, '.mjs')}`], {
|
|
stdio: 'inherit', windowsHide: true, timeout: 120000
|
|
})
|
|
if (result.error) throw result.error
|
|
if (result.status !== 0) process.exit(result.status ?? 1)
|
|
}
|