Upgrade typescript- and linting-dependencies

Attempts to fix linter parsing issues stemming from changes in typescript v3.7.

- Upgrade `eslint`-related packages.
- Upgrade `typescript` and related `@sindresorhus/tsconfig`.
- Fixes linting errors due to upgraded rules.
- Note that you might need to remove `node_modules` and run `npm install` again to properly clear linting caches.
- Include the `test` directory in a separate `tsconfig.xo.json` to fix the below parsing error.

> Parsing error: `"parserOptions.project"` has been set for `@typescript-eslint/parser`.
> The file does not match your project config: `test/test.ts`.
> The file must be included in at least one of the projects provided.

See

- https://github.com/typescript-eslint/typescript-eslint/pull/1045
- https://github.com/microsoft/TypeScript/commits/v3.7.5
- https://github.com/sindresorhus/tsconfig/issues/7
- https://github.com/xojs/eslint-config-xo-typescript/issues/20
- https://github.com/xojs/eslint-config-xo-typescript/issues/15
This commit is contained in:
Joel Purra 2020-01-21 15:22:38 +01:00
parent aeb3f74d65
commit 58b23772de
No known key found for this signature in database
GPG key ID: 82DEF4832B487331
4 changed files with 16 additions and 7 deletions

View file

@ -46,20 +46,20 @@
"types"
],
"devDependencies": {
"@sindresorhus/tsconfig": "^0.6.0",
"@sindresorhus/tsconfig": "^0.7.0",
"@types/jsdom": "^12.2.4",
"@types/node": "^12.12.6",
"@types/zen-observable": "^0.8.0",
"@typescript-eslint/eslint-plugin": "^1.11.0",
"@typescript-eslint/parser": "^1.11.0",
"@typescript-eslint/eslint-plugin": "^2.17.0",
"@typescript-eslint/parser": "^2.17.0",
"ava": "^2.1.0",
"del-cli": "^2.0.0",
"eslint-config-xo-typescript": "^0.15.0",
"eslint-config-xo-typescript": "^0.24.1",
"jsdom": "^15.0.0",
"rxjs": "^6.4.0",
"tempy": "^0.3.0",
"ts-node": "^8.3.0",
"typescript": "^3.7.2",
"typescript": "^3.7.5",
"xo": "^0.25.3",
"zen-observable": "^0.8.8"
},
@ -80,6 +80,9 @@
"extensions": [
"ts"
],
"parserOptions": {
"project": "./tsconfig.xo.json"
},
"globals": [
"BigInt",
"BigInt64Array",

View file

@ -278,8 +278,8 @@ is.typedArray = (value: unknown): value is TypedArray => {
};
export interface ArrayLike<T> {
readonly length: number;
readonly [index: number]: T;
readonly length: number;
}
const isValidLength = (value: unknown): value is number => is.safeInteger(value) && value >= 0;

View file

@ -457,7 +457,7 @@ const testType = (t: ExecutionContext, type: string, exclude?: string[]) => {
for (const [key, {fixtures}] of types) {
// TODO: Automatically exclude value types in other tests that we have in the current one.
// Could reduce the use of `exclude`.
if (exclude && exclude.includes(key)) {
if (exclude?.includes(key)) {
continue;
}

6
tsconfig.xo.json Normal file
View file

@ -0,0 +1,6 @@
{
"extends": "./tsconfig.json",
"include": [
"test"
]
}