perf(build): skip compiling tests into CLI output (#29400)

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
This commit is contained in:
OrcaWin
2026-10-15 23:25:26 -07:00
committed by GitHub
co-authored by OrcaWin
parent 3a18a7c679
commit 7e778d8129
4 changed files with 23 additions and 2 deletions
@@ -29,6 +29,14 @@ function typedFiles(directory) {
}
describe('typecheck project coverage', () => {
it('keeps CLI tests in the scheduled CLI typecheck project', () => {
const project = projects.find(({ config }) => config === 'config/tsconfig.tc.cli.json')
expect(project).toBeDefined()
const tests = typedFiles('src/cli').filter(isTest)
expect(tests.length).toBeGreaterThan(0)
expect(tests.filter((file) => !project.files.has(resolve(root, file)))).toEqual([])
})
it('checks every shared test exactly once, in the scheduled Node project', () => {
const tests = typedFiles('src/shared').filter(isTest)
expect(tests.length).toBeGreaterThan(0)
+9
View File
@@ -0,0 +1,9 @@
{
"extends": "./tsconfig.cli.json",
"exclude": [
"../src/**/*.test.ts",
"../src/**/*.test.tsx",
"../src/**/*.spec.ts",
"../src/**/*.spec.tsx"
]
}
+1 -1
View File
@@ -98,7 +98,7 @@
"verify:localization-extraction": "node config/scripts/verify-localization-extraction.mjs",
"verify:localization-coverage": "node config/scripts/audit-localization-coverage.mjs --check",
"audit:localization": "node config/scripts/audit-localization-coverage.mjs",
"build:cli": "pnpm run build:packages && tsc -p config/tsconfig.cli.json --outDir out --composite false --incremental false && pnpm run prepare:cli-output",
"build:cli": "pnpm run build:packages && tsc -p config/tsconfig.build.cli.json --outDir out --composite false --incremental false && pnpm run prepare:cli-output",
"prepare:cli-output": "node config/scripts/verify-cli-bin.mjs --fix-executable --fix-package-json && node config/scripts/install-dev-cli.mjs",
"test:linux-cli-contract": "node config/scripts/run-linux-cli-launch-contract-docker.mjs --appimage dist/orca-linux.AppImage",
"test:repro:skills-cli-runtime": "pnpm run build:cli && pnpm run build:electron-vite && pnpm run verify:built-skills-cli",
+5 -1
View File
@@ -1,4 +1,5 @@
import { execFile, spawn } from 'node:child_process'
import { globSync } from 'node:fs'
import {
copyFile,
cp,
@@ -68,7 +69,7 @@ describe('packaged CLI assets', () => {
args: [
join(projectDir, 'node_modules', 'typescript', 'bin', 'tsc'),
'-p',
join(projectDir, 'config', 'tsconfig.cli.json'),
join(projectDir, 'config', 'tsconfig.build.cli.json'),
'--outDir',
join(source, 'out'),
'--composite',
@@ -82,6 +83,9 @@ describe('packaged CLI assets', () => {
timeoutMs: 60_000
})
expect(compile.code, compile.stdout + compile.stderr).toBe(0)
expect(globSync('**/*.{test,spec}.{js,jsx,cjs,mjs}', { cwd: join(source, 'out') })).toEqual(
[]
)
await mkdir(dirname(archive), { recursive: true })
await writeFile(join(source, 'out', 'package.json'), JSON.stringify({ type: 'commonjs' }))
for (const name of ['zod', 'tweetnacl']) {