chore: crush git history - reborn from consolidation on 2026-03-10
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
import { spawnSync } from 'node:child_process'
|
||||
import { resolve } from 'node:path'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
|
||||
import { getBenchOptions, measure, printResults } from './_shared.mjs'
|
||||
|
||||
const __dirname = fileURLToPath(new URL('.', import.meta.url))
|
||||
const repoRoot = resolve(__dirname, '..', '..')
|
||||
|
||||
const options = getBenchOptions()
|
||||
const generationProfiles = (process.env.BENCH_GENERATION_PROFILES ?? 'default,quick,standard,thorough')
|
||||
.split(',')
|
||||
.map((value) => value.trim())
|
||||
.filter(Boolean)
|
||||
|
||||
function withGenerationProfile(baseArgs, profile) {
|
||||
if (profile === 'default') {
|
||||
return baseArgs
|
||||
}
|
||||
return [...baseArgs, '--generation-profile', profile]
|
||||
}
|
||||
|
||||
const scenarios = [
|
||||
{ name: 'cli.help', args: ['--help'] },
|
||||
{ name: 'cli.version', args: ['--version'] },
|
||||
{ name: 'cli.doctor', args: ['doctor', '--cwd', 'src/cli/__fixtures__/tiny-fastify', '--quiet'] },
|
||||
{ name: 'cli.observe.check', args: ['observe', '--cwd', 'src/cli/__fixtures__/observe-config', '--profile', 'staging-observe', '--check-config', '--quiet'] },
|
||||
...generationProfiles.map((profile) => ({
|
||||
name: `cli.qualify.profile[${profile}]`,
|
||||
args: withGenerationProfile(
|
||||
['qualify', '--cwd', 'src/cli/__fixtures__/protocol-lab', '--profile', 'oauth-nightly', '--seed', '42', '--quiet'],
|
||||
profile,
|
||||
),
|
||||
})),
|
||||
]
|
||||
|
||||
async function run() {
|
||||
const results = []
|
||||
|
||||
for (const scenario of scenarios) {
|
||||
const row = await measure(
|
||||
scenario.name,
|
||||
async () => {
|
||||
const proc = spawnSync(
|
||||
process.execPath,
|
||||
['dist/cli/index.js', ...scenario.args],
|
||||
{
|
||||
cwd: repoRoot,
|
||||
stdio: 'pipe',
|
||||
encoding: 'utf8',
|
||||
env: { ...process.env, FORCE_COLOR: '0' },
|
||||
}
|
||||
)
|
||||
|
||||
if (proc.status !== 0) {
|
||||
throw new Error(
|
||||
`Scenario ${scenario.name} failed with code ${proc.status}\nstdout:\n${proc.stdout}\nstderr:\n${proc.stderr}`
|
||||
)
|
||||
}
|
||||
},
|
||||
options,
|
||||
)
|
||||
|
||||
results.push(row)
|
||||
}
|
||||
|
||||
printResults('CLI Benchmarks', results, options)
|
||||
}
|
||||
|
||||
run().catch((error) => {
|
||||
console.error(error)
|
||||
process.exit(1)
|
||||
})
|
||||
Reference in New Issue
Block a user