-
Robert Knight authored
By default TypeScript includes all `@types/<name>` packages. This includes @types/node, though we don't use it directly, because it is a transitive dependency (see `yarn why @types/node`). As a result Node's globals are added to the environment TS sees, even though they don't really exist when our code runs in a browser. These globals include overloads for `setTimeout` and `setInterval` which return a different type (`Timeout`), causing spurious errors when assigning the result to a number. Fix the problem by using the `types` option [1] in tsconfig.json to explicitly specify which `@types/<name>` packages to include when checking code in src/ This does mean that if we ever intentionally add @types packages which declare globals (eg. for mocha), we'll need to explicitly list them here. In the process the ES target was updated to fix an error about a `BigInt` reference. [1] https://www.typescriptlang.org/tsconfig#types
63545fd3
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
annotator | ||
boot | ||
images/icons | ||
shared | ||
sidebar | ||
styles | ||
test-util | ||
types | ||
.eslintrc | ||
karma.config.js | ||
tsconfig.json |