Skip to content

Commit 9767738

Browse files
authored
Fix compatibility with TypeScript 5.5 (#450)
This solution solves an upstream regression and is backwards compatible for our use case. Refs microsoft/TypeScript#58960
1 parent bafdc57 commit 9767738

File tree

3 files changed

+38
-30
lines changed

3 files changed

+38
-30
lines changed

.changeset/cold-turtles-divide.md

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
'@mdx-js/language-service': patch
3+
'@mdx-js/language-server': patch
4+
'@mdx-js/typescript-plugin': patch
5+
'vscode-mdx': patch
6+
---
7+
8+
Solve a regression caused by TypeScript 5.5

packages/language-service/lib/virtual-code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ export default function MDXContent(props) {
9090
}
9191
9292
// @ts-ignore
93-
/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */
93+
/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */
9494
`
9595

9696
const jsxIndent = '\n '

packages/language-service/test/language-plugin.js

+29-29
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ test('create virtual code w/ mdxjsEsm', () => {
9898
'}',
9999
'',
100100
'// @ts-ignore',
101-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
101+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
102102
''
103103
)
104104
},
@@ -216,7 +216,7 @@ test('create virtual code w/ mdxjsEsm and CRLF', () => {
216216
'}',
217217
'',
218218
'// @ts-ignore',
219-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
219+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
220220
''
221221
)
222222
},
@@ -332,7 +332,7 @@ test('create virtual code w/o MDX layout in case of named re-export', () => {
332332
'}',
333333
'',
334334
'// @ts-ignore',
335-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
335+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
336336
''
337337
)
338338
},
@@ -449,7 +449,7 @@ test('create virtual code w/ MDX layout in case of default re-export', () => {
449449
'}',
450450
'',
451451
'// @ts-ignore',
452-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
452+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
453453
''
454454
)
455455
},
@@ -569,7 +569,7 @@ test('create virtual code w/ MDX layout in case of named and default re-export',
569569
'}',
570570
'',
571571
'// @ts-ignore',
572-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
572+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
573573
''
574574
)
575575
},
@@ -689,7 +689,7 @@ test('create virtual code w/ MDX layout in case of default and named re-export',
689689
'}',
690690
'',
691691
'// @ts-ignore',
692-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
692+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
693693
''
694694
)
695695
},
@@ -819,7 +819,7 @@ test('create virtual code w/ MDX layout in case of a default exported arrow func
819819
'}',
820820
'',
821821
'// @ts-ignore',
822-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
822+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
823823
''
824824
)
825825
},
@@ -954,7 +954,7 @@ test('create virtual code w/ MDX layout in case of a default exported function d
954954
'}',
955955
'',
956956
'// @ts-ignore',
957-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
957+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
958958
''
959959
)
960960
},
@@ -1071,7 +1071,7 @@ test('create virtual code w/ MDX layout in case of a default exported constant',
10711071
'}',
10721072
'',
10731073
'// @ts-ignore',
1074-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
1074+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
10751075
''
10761076
)
10771077
},
@@ -1206,7 +1206,7 @@ test('create virtual code w/ MDX layout and matching argument name', () => {
12061206
'}',
12071207
'',
12081208
'// @ts-ignore',
1209-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
1209+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
12101210
''
12111211
)
12121212
},
@@ -1345,7 +1345,7 @@ test('create virtual code w/ MDX layout in case of a default export followed by
13451345
'}',
13461346
'',
13471347
'// @ts-ignore',
1348-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
1348+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
13491349
''
13501350
)
13511351
},
@@ -1484,7 +1484,7 @@ test('create virtual code w/ MDX layout in case of a default export preceded by
14841484
'}',
14851485
'',
14861486
'// @ts-ignore',
1487-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
1487+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
14881488
''
14891489
)
14901490
},
@@ -1599,7 +1599,7 @@ test('create virtual code w/ mdxFlowExpression', () => {
15991599
'}',
16001600
'',
16011601
'// @ts-ignore',
1602-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
1602+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
16031603
''
16041604
)
16051605
},
@@ -1715,7 +1715,7 @@ test('create virtual code w/ empty mdxFlowExpression', () => {
17151715
'}',
17161716
'',
17171717
'// @ts-ignore',
1718-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
1718+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
17191719
''
17201720
)
17211721
},
@@ -1861,7 +1861,7 @@ test('create virtual code w/ prefixed JSX expressions for mdxFlowExpression', ()
18611861
'}',
18621862
'',
18631863
'// @ts-ignore',
1864-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
1864+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
18651865
''
18661866
)
18671867
},
@@ -2015,7 +2015,7 @@ test('create virtual code w/ prefixed JSX expressions in attributes', () => {
20152015
'}',
20162016
'',
20172017
'// @ts-ignore',
2018-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
2018+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
20192019
''
20202020
)
20212021
},
@@ -2188,7 +2188,7 @@ test('create virtual code w/ mdxJsxFlowElement w/ children', () => {
21882188
'}',
21892189
'',
21902190
'// @ts-ignore',
2191-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
2191+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
21922192
''
21932193
)
21942194
},
@@ -2330,7 +2330,7 @@ test('create virtual code w/ mdxJsxFlowElement w/ blockquote child', () => {
23302330
'}',
23312331
'',
23322332
'// @ts-ignore',
2333-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
2333+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
23342334
''
23352335
)
23362336
},
@@ -2471,7 +2471,7 @@ test('create virtual code w/ mdxJsxFlowElement w/o children', () => {
24712471
'}',
24722472
'',
24732473
'// @ts-ignore',
2474-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
2474+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
24752475
''
24762476
)
24772477
},
@@ -2617,7 +2617,7 @@ test('create virtual code w/ mdxJsxTextElement', () => {
26172617
'}',
26182618
'',
26192619
'// @ts-ignore',
2620-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
2620+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
26212621
''
26222622
)
26232623
},
@@ -2743,7 +2743,7 @@ test('create virtual code w/ mdxTextExpression', () => {
27432743
'}',
27442744
'',
27452745
'// @ts-ignore',
2746-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
2746+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
27472747
''
27482748
)
27492749
},
@@ -2865,7 +2865,7 @@ test('create virtual code w/ async mdxTextExpression', () => {
28652865
'}',
28662866
'',
28672867
'// @ts-ignore',
2868-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
2868+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
28692869
''
28702870
)
28712871
},
@@ -3030,7 +3030,7 @@ test('ignore async functions in props or expressions', () => {
30303030
'}',
30313031
'',
30323032
'// @ts-ignore',
3033-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
3033+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
30343034
''
30353035
)
30363036
},
@@ -3150,7 +3150,7 @@ test('create virtual code w/ dedented markdown content', () => {
31503150
'}',
31513151
'',
31523152
'// @ts-ignore',
3153-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
3153+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
31543154
''
31553155
)
31563156
},
@@ -3256,7 +3256,7 @@ test('create virtual code w/ syntax error', () => {
32563256
'}',
32573257
'',
32583258
'// @ts-ignore',
3259-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
3259+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
32603260
''
32613261
)
32623262
},
@@ -3342,7 +3342,7 @@ test('create virtual code w/ yaml frontmatter', () => {
33423342
'}',
33433343
'',
33443344
'// @ts-ignore',
3345-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
3345+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
33463346
''
33473347
)
33483348
},
@@ -3474,7 +3474,7 @@ test('update virtual code', () => {
34743474
'}',
34753475
'',
34763476
'// @ts-ignore',
3477-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
3477+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
34783478
''
34793479
)
34803480
},
@@ -3615,7 +3615,7 @@ test('support checkMdx', () => {
36153615
'}',
36163616
'',
36173617
'// @ts-ignore',
3618-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
3618+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
36193619
''
36203620
)
36213621
},
@@ -3715,7 +3715,7 @@ test('support custom jsxImportSource', () => {
37153715
'}',
37163716
'',
37173717
'// @ts-ignore',
3718-
'/** @typedef {(0 extends 1 & Props ? {} : Props) & {components?: {}}} MDXContentProps */',
3718+
'/** @typedef {(void extends Props ? {} : Props) & {components?: {}}} MDXContentProps */',
37193719
''
37203720
)
37213721
},

0 commit comments

Comments
 (0)