Incremental Migration
// Definition
A migration strategy where files are converted one at a time rather than all at once, using `allowJs: true` in `tsconfig.json` so JavaScript and TypeScript coexist during the transition. The project compiles and tests pass at every stage, so the team can pause between files. Preferred over big-bang migration for larger codebases because CI stays green and risk is contained to one file per commit.
// Related terms
TypeScript Migration
The process of converting a JavaScript codebase to TypeScript — renaming files from `.js` to `.ts`, adding type annotations, and configuring `tsconfig.json`. Done incrementally (one file at a time with `allowJs: true`) or all at once (big-bang). In QA contexts, migration targets test files, page objects, and support files, adding compile-time safety to previously untyped assertions and command signatures.
Type Checking
Static analysis that verifies type correctness at compile time rather than runtime. TypeScript's type checker compares the types of values passed to functions, assigned to variables, and returned from expressions against their declared types. In test suites, type checking catches property typos on fixture objects, wrong argument order on custom commands, and assertions against `undefined` values — before the tests ever run.
tsconfig
The configuration file (`tsconfig.json`) that tells the TypeScript compiler how to type-check and build a project — which files to include, how strict to be, and what module/target settings to use. For a test suite it's where you turn on `strict`, wire path aliases so specs import helpers cleanly, and pull in framework type definitions (Cypress, Playwright, Jest) so editor autocomplete and type errors work inside tests.