3ef28ca3a1
The WithChildren shim is only exercised under jsx:"react-jsx", which lives solely in integration/pty/fixtures/tsconfig.json. Nothing in `ready` ran tsc against that config (vp check uses jsx:"preserve" and excludes the fixtures; pty-test only transpiles them), so a regression in the shim — children silently rejected, or declared props silently widened away — would pass verification unnoticed. Add a type-only regression fixture (not a runnable PTY program; not a *.test.tsx, so vitest never collects it) that pins both directions of the contract: children are accepted on Box/Text/Static/Transform, and declared props stay validated via @ts-expect-error (invalid value, wrong type, unknown prop, and missing required props on Transform/Static). Wire `tsc -p integration/pty/fixtures/tsconfig.json --noEmit` into `ready` via a typecheck:fixtures script, run after build (so @vue-tui/runtime resolves against fresh dist types) and before pty-test, so the react-jsx path is actually enforced rather than only manually checkable.
29 lines
783 B
JSON
29 lines
783 B
JSON
{
|
|
"name": "@vue-tui/runtime-tests",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"test": "vp test",
|
|
"pty-test": "vp test run --config vitest.pty.config.ts --passWithNoTests",
|
|
"typecheck:fixtures": "tsc -p integration/pty/fixtures/tsconfig.json --noEmit",
|
|
"check": "vp check"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^25.9.1",
|
|
"@vitejs/plugin-vue-jsx": "catalog:",
|
|
"@vue-tui/runtime": "workspace:*",
|
|
"@vue-tui/testing": "workspace:*",
|
|
"ansi-escapes": "catalog:",
|
|
"chalk": "catalog:",
|
|
"is-in-ci": "catalog:",
|
|
"node-pty": "catalog:",
|
|
"string-width": "catalog:",
|
|
"strip-ansi": "catalog:",
|
|
"tsx": "catalog:",
|
|
"typescript": "^6.0.3",
|
|
"vite-plus": "^0.1.22",
|
|
"vue": "^3.5.34"
|
|
}
|
|
}
|