• Robert Knight's avatar
    Prevent Node globals from being included in typechecking environment · 63545fd3
    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
.github Loading commit data...
bin Loading commit data...
dev-server Loading commit data...
docs Loading commit data...
embedding-examples Loading commit data...
images Loading commit data...
requirements Loading commit data...
scripts Loading commit data...
src Loading commit data...
.babelrc Loading commit data...
.dockerignore Loading commit data...
.eslintignore Loading commit data...
.eslintrc Loading commit data...
.gitignore Loading commit data...
.npmignore Loading commit data...
.npmrc Loading commit data...
.prettierignore Loading commit data...
.python-version Loading commit data...
CODE_OF_CONDUCT Loading commit data...
Dockerfile Loading commit data...
Jenkinsfile Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
codecov.yml Loading commit data...
gulpfile.mjs Loading commit data...
package.json Loading commit data...
pyproject.toml Loading commit data...
requirements-dev.in Loading commit data...
rollup-boot.config.mjs Loading commit data...
rollup-tests.config.mjs Loading commit data...
rollup.config.mjs Loading commit data...
tox.ini Loading commit data...
tsconfig.json Loading commit data...
yarn.lock Loading commit data...