[Draft] plan of action for completing JS->TS #30813
Labels
process: contributing
Related to contributing to the Cypress codebase
type: chore
Work is required w/ no deliverable to end user
In preparation for completing the conversion to TypeScript, defining a shared language to discuss the various states and categories of files and packages is useful for clear communication.
Package Status
@ts-expect-error
notations and implicit / explicitany
types.tsconfig.json
rules forany
types are enabled, and there are no@ts-expect-error
or@ts-ignore
notations. There may yet be circular dependencies, implicit dependencies, etc.Source File Status
.js
files are Unknown..ts
files are Unknown if they have not yet been categorized as partial, incomplete, or complete.@ts-expect-error
notations, implicitany
types, and explicitany
types. They do not yet follow the styleguide.@ts-expect-error
notations have been resolved, and there are no implicit or explicitany
types. They do not yet follow the styleguide, however - there may be duplicated type definitions, circular dependencies, undeclared deep imports, etc.Package and File group categories
Packages and files, when considered as nodes in a dependency tree, can be categorized as "leaf," "shared," or "root."
./cli
Steps to Repo Conversion
warn
on rules that later levelserror
on../guides/style-guide.md
, and linked to from the primaryREADME.md
./npm/eslint-plugin-dev
and the styleguide to define linting configs based on the package status categories defined aboveprettier
for format lintingSample TYPESCRIPT.md
Typescript conversion status of this package:
preliminary|ready|incomplete|complete
Check next to each file that meets the criteria for the next conversion level (
ready|incomplete|complete
):src/
index.js
rootfoo/
bar.ts
sharedbaz.js
leafThe text was updated successfully, but these errors were encountered: