Skip to content

Commit 87f2782

Browse files
authored
build(deps): update dependency typescript to v5 (#4064)
* build(deps): update dependency typescript to v5 * test(custom-compiler): skip due to ttypescript lacks ts@5 support so far
1 parent 40c981c commit 87f2782

File tree

10 files changed

+86
-61
lines changed

10 files changed

+86
-61
lines changed

e2e/__tests__/custom-compiler.test.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,19 @@ import { runNpmInstall } from '../utils'
55

66
const DIR_NAME = 'custom-compiler'
77

8-
describe('ttypescript', () => {
8+
/**
9+
* Test disabled after typescript@5 support due to issues on ttypescript.
10+
* Now typescript exports module rather than object namespaces so ttypescript is not working anymore.
11+
* @see https://github.com/kulshekhar/ts-jest/pull/4064#issuecomment-1483937671
12+
*
13+
* Additional info can be found on the following links:
14+
* @see https://github.com/cevek/ttypescript/issues/140
15+
* @see https://github.com/microsoft/TypeScript/issues/52826
16+
*
17+
* Test can be re-enabled after the library supports typescript@5
18+
*/
19+
// eslint-disable-next-line jest/no-disabled-tests
20+
describe.skip('ttypescript', () => {
921
const TTS_DIR_NAME = 'ttypescript'
1022

1123
beforeAll(() => {

package-lock.json

Lines changed: 30 additions & 29 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
"@jest/types": "^29.0.0",
6666
"babel-jest": "^29.0.0",
6767
"jest": "^29.0.0",
68-
"typescript": ">=4.3"
68+
"typescript": ">=4.3 <6"
6969
},
7070
"peerDependenciesMeta": {
7171
"@babel/core": {
@@ -102,7 +102,6 @@
102102
"@types/lodash.set": "4.x",
103103
"@types/micromatch": "4.x",
104104
"@types/node": "18.15.9",
105-
"@types/node-fetch": "^3.0.3",
106105
"@types/react": "18.x",
107106
"@types/rimraf": "^3.0.2",
108107
"@types/semver": "latest",
@@ -135,7 +134,7 @@
135134
"lodash.set": "^4.3.2",
136135
"node-fetch": "^3.3.1",
137136
"prettier": "^2.8.7",
138-
"typescript": "~4.9.5"
137+
"typescript": "~5.0.2"
139138
},
140139
"lint-staged": {
141140
"*.{ts,tsx,js,jsx}": [

src/legacy/compiler/ts-compiler.spec.ts

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
11
import { readFileSync } from 'fs'
22
import { basename, join, normalize } from 'path'
33

4-
import {
5-
type CompilerOptions,
6-
DiagnosticCategory,
7-
type EmitOutput,
8-
type transpileModule,
9-
type TranspileOutput,
10-
} from 'typescript'
4+
import type { CompilerOptions, EmitOutput, transpileModule, TranspileOutput } from 'typescript'
5+
import * as ts from 'typescript'
116

127
import { createConfigSet, makeCompiler } from '../../__helpers__/fakers'
138
import type { DepGraphInfo } from '../../types'
@@ -16,6 +11,15 @@ import { Errors, interpolate } from '../../utils/messages'
1611
import { updateOutput } from './compiler-utils'
1712
import { TsCompiler } from './ts-compiler'
1813

14+
jest.mock('typescript', () => {
15+
const actualModule = jest.requireActual('typescript') as typeof ts
16+
17+
return {
18+
__esModule: true,
19+
...actualModule,
20+
}
21+
})
22+
1923
const mockFolder = join(process.cwd(), 'src', '__mocks__')
2024

2125
const baseTsJestConfig = { tsconfig: join(process.cwd(), 'tsconfig.spec.json') }
@@ -147,7 +151,7 @@ describe('TsCompiler', () => {
147151
outputText: 'var bar = 1',
148152
diagnostics: [
149153
{
150-
category: DiagnosticCategory.Error,
154+
category: ts.DiagnosticCategory.Error,
151155
code: 123,
152156
messageText: 'An error occurs',
153157
file: undefined,
@@ -550,15 +554,15 @@ describe('TsCompiler', () => {
550554
} as EmitOutput)
551555
const diagnostics = [
552556
{
553-
category: DiagnosticCategory.Error,
557+
category: ts.DiagnosticCategory.Error,
554558
code: 123,
555559
messageText: 'An error occurs',
556560
file: undefined,
557561
start: 0,
558562
length: 1,
559563
},
560564
{
561-
category: DiagnosticCategory.Error,
565+
category: ts.DiagnosticCategory.Error,
562566
code: 456,
563567
messageText: 'An error occurs',
564568
file: undefined,
@@ -611,15 +615,15 @@ describe('TsCompiler', () => {
611615
})
612616
const diagnostics = [
613617
{
614-
category: DiagnosticCategory.Error,
618+
category: ts.DiagnosticCategory.Error,
615619
code: 123,
616620
messageText: 'An error occurs',
617621
file: undefined,
618622
start: 0,
619623
length: 1,
620624
},
621625
{
622-
category: DiagnosticCategory.Error,
626+
category: ts.DiagnosticCategory.Error,
623627
code: 456,
624628
messageText: 'An error occurs',
625629
file: undefined,

src/legacy/config/config-set.spec.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { join, resolve } from 'path'
22

33
import type { Transformer } from '@jest/transform'
44
import { LogLevels, testing } from 'bs-logger'
5-
import ts from 'typescript'
5+
import * as ts from 'typescript'
66

77
import { createConfigSet } from '../../__helpers__/fakers'
88
import { logTargetMock } from '../../__helpers__/mocks'
@@ -19,6 +19,15 @@ jest.mock('../../utils/backports')
1919
jest.mock('../index')
2020
jest.mock('../../utils/get-package-version')
2121

22+
jest.mock('typescript', () => {
23+
const actualModule = jest.requireActual('typescript') as typeof ts
24+
25+
return {
26+
__esModule: true,
27+
...actualModule,
28+
}
29+
})
30+
2231
const backports = jest.mocked(_backports)
2332

2433
backports.backportJestConfig.mockImplementation((_, config) => ({

src/transformers/hoist-jest.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,9 +155,11 @@ export function factory({ configSet }: TsCompilerInstance) {
155155
return visitor
156156
}
157157

158+
type TransformerFunction = _ts.Transformer<_ts.SourceFile>
159+
158160
// returns the transformer factory
159-
return (ctx: _ts.TransformationContext): _ts.Transformer<_ts.SourceFile> =>
161+
return (ctx: _ts.TransformationContext): TransformerFunction =>
160162
logger.wrap({ [LogContexts.logLevel]: LogLevels.debug, call: null }, 'visitSourceFileNode(): hoist jest', (sf) =>
161163
ts.visitNode(sf, createVisitor(ctx, sf)),
162-
)
164+
) as TransformerFunction
163165
}

src/utils/version-checkers.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ const pv = jest.mocked(_pv)
1616
describeChecker(VersionCheckers.jest, 'jest', ['29.0.0'], [undefined, '23.6.0', '24.1.0', '30.0.0'])
1717
describeChecker(VersionCheckers.babelJest, 'babel-jest', ['29.0.0'], [undefined, '23.6.0', '24.1.0', '30.0.0'])
1818
describeChecker(VersionCheckers.babelCore, '@babel/core', ['7.0.0'], [undefined, '6.0.0', '8.0.0'])
19-
describeChecker(VersionCheckers.typescript, 'typescript', ['4.3.0', '4.3.5'], [undefined, '4.2.0', '5.0.0'])
19+
describeChecker(VersionCheckers.typescript, 'typescript', ['4.3.0', '4.3.5', '5.0.0'], [undefined, '4.2.0', '6.0.0'])
2020

2121
function describeChecker(
2222
checker: VersionChecker,

src/utils/version-checkers.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const logger = rootLogger.child({ namespace: 'versions' })
1313
*/
1414
const enum ExpectedVersions {
1515
Jest = '>=29.0.0 <30',
16-
TypeScript = '>=4.3 <5',
16+
TypeScript = '>=4.3 <6',
1717
BabelJest = '>=29.0.0 <30',
1818
BabelCore = '>=7.0.0-beta.0 <8',
1919
}
@@ -43,9 +43,7 @@ type CheckVersionAction = 'warn' | 'throw'
4343
* @internal
4444
*/
4545
function checkVersion(name: string, expectedRange: string, action?: Exclude<CheckVersionAction, 'throw'>): boolean
46-
// eslint-disable-next-line no-redeclare
4746
function checkVersion(name: string, expectedRange: string, action: 'throw'): true | never
48-
// eslint-disable-next-line no-redeclare
4947
function checkVersion(
5048
name: string,
5149
expectedRange: string,

website/package-lock.json

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

website/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"@docusaurus/module-type-aliases": "^2.4.0",
3131
"@tsconfig/docusaurus": "^1.0.7",
3232
"@types/react": "^16.14.24",
33-
"typescript": "~4.9.5"
33+
"typescript": "~5.0.2"
3434
},
3535
"browserslist": {
3636
"production": [

0 commit comments

Comments
 (0)