#TS Configuration

Cypress' expect type clashes with Jest's: see https://docs.cypress.io/guides/tooling/typescript-support#Clashing-types-with-Jest.
To get around this we use separate tsconfigs to check src files from Cypress tests (.spec.tsx) files, following [cypress' example](https://github.com/cypress-io/cypress-and-jest-typescript-example)

There are some notable specifics in the cypress config that need to be maintained:
* Cypress tests only need to be compiled but do not have public types, so this config sets `"noEmit": true,`
* When types are specified they must be relative paths to the tsconfig, hence the `../node_modules`.
* The inheritance method when using `extends` means that `include` and `exclude` entries need to be explicitly listed or repeated. This affects:
    * Common types, jest and cypress types.
    * `include` must be repeated in `cypress.tsconfig` so that `.spec` files are not excluded