Skip to content

Commit

Permalink
chore: update to typescript@4.5 (#11142)
Browse files Browse the repository at this point in the history
  • Loading branch information
SimenB committed Feb 9, 2022
1 parent 5587740 commit e98d044
Show file tree
Hide file tree
Showing 28 changed files with 63 additions and 66 deletions.
4 changes: 0 additions & 4 deletions .eslintrc.js
Expand Up @@ -35,10 +35,6 @@ module.exports = {
rules: {
'@typescript-eslint/array-type': ['error', {default: 'generic'}],
'@typescript-eslint/ban-types': 'error',
'@typescript-eslint/no-implicit-any-catch': [
'error',
{allowExplicitAny: true},
],
'@typescript-eslint/no-unused-vars': [
'error',
{argsIgnorePattern: '^_'},
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nodejs.yml
Expand Up @@ -59,7 +59,7 @@ jobs:
run: yarn build
- name: test typings
run: yarn test-types
- name: verify TypeScript@3.8 compatibility
- name: verify TypeScript@4.2 compatibility
run: yarn verify-old-ts
- name: verify Yarn PnP compatibility
run: yarn verify-pnp
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Expand Up @@ -10,6 +10,7 @@
### Chore & Maintenance

- `[*]` [**BREAKING**] Drop support for Node v10 and v15 and target first LTS `16.13.0` ([#12220](https://github.com/facebook/jest/pull/12220))
- `[*]` [**BREAKING**] Drop support for `typescript@3.8`, minimum version is now `4.2` ([#11142](https://github.com/facebook/jest/pull/11142))
- `[@jest/core]` Use `index.ts` instead of `jest.ts` as main export ([#12329](https://github.com/facebook/jest/pull/12329))
- `[jest]` Use `index.ts` instead of `jest.ts` as main export ([#12329](https://github.com/facebook/jest/pull/12329))

Expand Down
2 changes: 1 addition & 1 deletion e2e/__tests__/resolveConditions.test.ts
Expand Up @@ -21,7 +21,7 @@ onNodeVersions('>=12.16.0', () => {
});
try {
expect(exitCode).toBe(0);
} catch (error: unknown) {
} catch (error) {
console.log(`Test failed on iteration ${i + 1}`);
throw error;
}
Expand Down
6 changes: 3 additions & 3 deletions package.json
Expand Up @@ -13,7 +13,7 @@
"@jest/globals": "workspace:*",
"@jest/test-utils": "workspace:*",
"@tsconfig/node12": "^1.0.9",
"@tsd/typescript": "~4.1.5",
"@tsd/typescript": "~4.5.5",
"@types/babel__core": "^7.0.0",
"@types/babel__generator": "^7.0.0",
"@types/babel__template": "^7.0.0",
Expand Down Expand Up @@ -55,7 +55,7 @@
"jest-changed-files": "workspace:*",
"jest-junit": "^13.0.0",
"jest-mock": "workspace:*",
"jest-runner-tsd": "^2.0.0",
"jest-runner-tsd": "^3.0.0",
"jest-silent-reporter": "^0.5.0",
"jest-snapshot": "workspace:*",
"jest-watch-typeahead": "^0.6.0",
Expand All @@ -79,7 +79,7 @@
"tempy": "^1.0.0",
"throat": "^6.0.1",
"ts-node": "^9.0.0",
"type-fest": "^1.1.1",
"type-fest": "^2.11.2",
"typescript": "^4.0.2",
"which": "^2.0.1"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/expect/package.json
Expand Up @@ -26,7 +26,7 @@
},
"devDependencies": {
"@jest/test-utils": "^27.5.1",
"@tsd/typescript": "~4.1.5",
"@tsd/typescript": "~4.5.5",
"chalk": "^4.0.0",
"fast-check": "^2.0.0",
"immutable": "^4.0.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/expect/src/__tests__/isError.test.ts
Expand Up @@ -43,7 +43,7 @@ describe('isError', () => {
testErrorFromDifferentContext((win: Window) => {
try {
win.document.querySelectorAll('');
} catch (e: unknown) {
} catch (e) {
return e;
}
return null;
Expand Down
2 changes: 1 addition & 1 deletion packages/expect/src/toThrowMatchers.ts
Expand Up @@ -107,7 +107,7 @@ export const createMatcher = (
} else {
try {
received();
} catch (e: unknown) {
} catch (e) {
thrown = getThrown(e);
}
}
Expand Down
4 changes: 2 additions & 2 deletions packages/jest-circus/src/run.ts
Expand Up @@ -157,7 +157,7 @@ const _callCircusHook = async ({
timeout,
});
await dispatch({describeBlock, hook, name: 'hook_success', test});
} catch (error: unknown) {
} catch (error) {
await dispatch({describeBlock, error, hook, name: 'hook_failure', test});
}
};
Expand All @@ -180,7 +180,7 @@ const _callCircusTest = async (
timeout,
});
await dispatch({name: 'test_fn_success', test});
} catch (error: unknown) {
} catch (error) {
await dispatch({error, name: 'test_fn_failure', test});
}
};
Expand Down
2 changes: 1 addition & 1 deletion packages/jest-circus/src/types.ts
Expand Up @@ -7,7 +7,7 @@

// Used as type
import type {Circus} from '@jest/types';
import expect = require('expect');
import type expect = require('expect');

export const STATE_SYM = Symbol(
'JEST_STATE_SYMBOL',
Expand Down
2 changes: 1 addition & 1 deletion packages/jest-circus/src/utils.ts
Expand Up @@ -253,7 +253,7 @@ export const callAsyncCircusFn = (
} else {
try {
returnedValue = fn.call(testContext);
} catch (error: unknown) {
} catch (error) {
reject(error);
return;
}
Expand Down
2 changes: 1 addition & 1 deletion packages/jest-config/src/readConfigFileAndSetRootDir.ts
Expand Up @@ -39,7 +39,7 @@ export default async function readConfigFileAndSetRootDir(
} else {
configObject = await requireOrImportModule<any>(configPath);
}
} catch (error: unknown) {
} catch (error) {
if (isTS) {
throw new Error(
`Jest: Failed to parse the TypeScript config file ${configPath}\n` +
Expand Down
2 changes: 1 addition & 1 deletion packages/jest-core/src/TestScheduler.ts
Expand Up @@ -286,7 +286,7 @@ class TestScheduler {
);
}
}
} catch (error: unknown) {
} catch (error) {
if (!watcher.isInterrupted()) {
throw error;
}
Expand Down
2 changes: 1 addition & 1 deletion packages/jest-core/src/cli/index.ts
Expand Up @@ -175,7 +175,7 @@ const _run10000 = async (
filterSetupPromise = (async () => {
try {
await rawFilter.setup();
} catch (err: unknown) {
} catch (err) {
return err;
}
return undefined;
Expand Down
2 changes: 1 addition & 1 deletion packages/jest-core/src/runGlobalHook.ts
Expand Up @@ -58,7 +58,7 @@ export default async function runGlobalHook({
await globalModule(globalConfig);
},
);
} catch (error: unknown) {
} catch (error) {
if (util.types.isNativeError(error)) {
error.message = `Jest: Got error running ${moduleName} - ${modulePath}, reason: ${error.message}`;

Expand Down
2 changes: 1 addition & 1 deletion packages/jest-fake-timers/src/legacyFakeTimers.ts
Expand Up @@ -308,7 +308,7 @@ export default class FakeTimers<TimerRef> {
let errThrown = false;
try {
cb();
} catch (e: unknown) {
} catch (e) {
errThrown = true;
cbErr = e;
}
Expand Down
2 changes: 1 addition & 1 deletion packages/jest-globals/src/index.ts
Expand Up @@ -7,7 +7,7 @@

import type {Jest} from '@jest/environment';
import type {Global} from '@jest/types';
import importedExpect = require('expect');
import type importedExpect = require('expect');

export declare const jest: Jest;

Expand Down
2 changes: 1 addition & 1 deletion packages/jest-jasmine2/src/PCancelable.ts
Expand Up @@ -75,7 +75,7 @@ export default class PCancelable<T> implements PromiseLike<T> {
if (typeof this._cancel === 'function') {
try {
this._cancel();
} catch (err: unknown) {
} catch (err) {
this._reject(err);
}
}
Expand Down
2 changes: 1 addition & 1 deletion packages/jest-jasmine2/src/jasmineAsyncInstall.ts
Expand Up @@ -212,7 +212,7 @@ function makeConcurrent(
`Jest: concurrent test "${spec.getFullName()}" must return a Promise.`,
);
});
} catch (error: unknown) {
} catch (error) {
promise = Promise.reject(error);
}
// Avoid triggering the uncaught promise rejection handler in case the test errors before
Expand Down
2 changes: 1 addition & 1 deletion packages/jest-jasmine2/src/types.ts
Expand Up @@ -7,7 +7,7 @@

import type {AssertionError} from 'assert';
import type {Config} from '@jest/types';
import expect = require('expect');
import type expect = require('expect');
import type CallTracker from './jasmine/CallTracker';
import type Env from './jasmine/Env';
import type JsApiReporter from './jasmine/JsApiReporter';
Expand Down
2 changes: 1 addition & 1 deletion packages/jest-mock/src/index.ts
Expand Up @@ -672,7 +672,7 @@ export class ModuleMocker {

return undefined;
})();
} catch (error: unknown) {
} catch (error) {
// Store the thrown error so we can record it, then re-throw it.
thrownError = error;
callDidThrowError = true;
Expand Down
2 changes: 1 addition & 1 deletion packages/jest-resolve/src/resolver.ts
Expand Up @@ -123,7 +123,7 @@ export default class Resolver {
paths: paths ? (nodePaths || []).concat(paths) : nodePaths,
rootDir: options.rootDir,
});
} catch (e: unknown) {
} catch (e) {
if (options.throwIfNotFound) {
throw e;
}
Expand Down
2 changes: 1 addition & 1 deletion packages/jest-runner/src/types.ts
Expand Up @@ -5,7 +5,7 @@
* LICENSE file in the root directory of this source tree.
*/

import Emittery = require('emittery');
import type Emittery = require('emittery');
import type {JestEnvironment} from '@jest/environment';
import type {
SerializableError,
Expand Down
12 changes: 6 additions & 6 deletions packages/jest-runtime/src/index.ts
Expand Up @@ -5,7 +5,7 @@
* LICENSE file in the root directory of this source tree.
*/

import * as nativeModule from 'module';
import nativeModule = require('module');
import * as path from 'path';
import {URL, fileURLToPath, pathToFileURL} from 'url';
import {
Expand Down Expand Up @@ -512,7 +512,7 @@ export default class Runtime {
this._esmoduleRegistry.set(cacheKey, module);

transformResolve();
} catch (error: unknown) {
} catch (error) {
transformReject(error);
throw error;
}
Expand Down Expand Up @@ -838,7 +838,7 @@ export default class Runtime {
options,
moduleRegistry,
);
} catch (error: unknown) {
} catch (error) {
moduleRegistry.delete(modulePath);
throw error;
}
Expand Down Expand Up @@ -1013,7 +1013,7 @@ export default class Runtime {
} else {
return this.requireModule<T>(from, moduleName);
}
} catch (e: unknown) {
} catch (e) {
const moduleNotFound = Resolver.tryCastModuleNotFoundError(e);
if (moduleNotFound) {
if (
Expand Down Expand Up @@ -1279,7 +1279,7 @@ export default class Runtime {
return this._resolveModule(from, moduleName, {
conditions: this.cjsConditions,
});
} catch (err: unknown) {
} catch (err) {
const module = this._resolver.getMockModule(from, moduleName);

if (module) {
Expand Down Expand Up @@ -1718,7 +1718,7 @@ export default class Runtime {
let modulePath;
try {
modulePath = this._resolveModule(from, moduleName, options);
} catch (e: unknown) {
} catch (e) {
const manualMock = this._resolver.getMockModule(from, moduleName);
if (manualMock) {
this._shouldMockModuleCache.set(moduleID, true);
Expand Down
2 changes: 1 addition & 1 deletion packages/jest-snapshot/src/index.ts
Expand Up @@ -511,7 +511,7 @@ const _toThrowErrorMatchingSnapshot = (
} else {
try {
received();
} catch (e: unknown) {
} catch (e) {
error = e;
}
}
Expand Down
2 changes: 1 addition & 1 deletion packages/jest-types/package.json
Expand Up @@ -27,7 +27,7 @@
"chalk": "^4.0.0"
},
"devDependencies": {
"@tsd/typescript": "~4.1.5",
"@tsd/typescript": "~4.5.5",
"tsd-lite": "^0.5.1"
},
"publishConfig": {
Expand Down
12 changes: 6 additions & 6 deletions scripts/verifyOldTs.js
Expand Up @@ -16,25 +16,25 @@ const tempy = require('tempy');

const jestDirectory = path.resolve(__dirname, '../packages/jest');

/* eslint-disable sort-keys */
const tsConfig = {
extends: '@tsconfig/node12/tsconfig.json',
compilerOptions: {
esModuleInterop: false,
lib: ['es2018'],
module: 'commonjs',
moduleResolution: 'node',
noEmit: true,
strict: true,
target: 'es5',
},
};
/* eslint-enable */

const cwd = tempy.directory();

const tsVersion = '3.8';
const tsVersion = '4.2';

try {
fs.writeFileSync(path.join(cwd, '.yarnrc.yml'), 'nodeLinker: node-modules\n');
execa.sync('yarn', ['init', '--yes'], {cwd, stdio: 'inherit'});
execa.sync('yarn', ['add', `typescript@~${tsVersion}`], {
execa.sync('yarn', ['add', `typescript@~${tsVersion}`, '@tsconfig/node12'], {
cwd,
stdio: 'inherit',
});
Expand Down

0 comments on commit e98d044

Please sign in to comment.