Skip to content

Commit bafdc57

Browse files
committed
Use @import tags
TypeScript 5.5 allows us to use `@import` tags to import types. This syntax looks cleaner, but also they are actual type imports. They don’t redefine types.
1 parent 5892900 commit bafdc57

25 files changed

+42
-60
lines changed

packages/language-server/index.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
#!/usr/bin/env node
22

33
/**
4-
* @typedef {import('@mdx-js/language-service').Commands} Commands
5-
* @typedef {import('unified').PluggableList} PluggableList
6-
* @typedef {import('unified').Plugin} Plugin
4+
* @import {Commands} from '@mdx-js/language-service'
5+
* @import {PluggableList, Plugin} from 'unified'
76
*/
87

98
import assert from 'node:assert'

packages/language-server/test/completion.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @typedef {import('@volar/test-utils').LanguageServerHandle} LanguageServerHandle
2+
* @import {LanguageServerHandle} from '@volar/test-utils'
33
*/
44
import assert from 'node:assert/strict'
55
import {afterEach, beforeEach, test} from 'node:test'

packages/language-server/test/definitions.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @typedef {import('@volar/test-utils').LanguageServerHandle} LanguageServerHandle
2+
* @import {LanguageServerHandle} from '@volar/test-utils'
33
*/
44
import assert from 'node:assert/strict'
55
import {afterEach, beforeEach, test} from 'node:test'

packages/language-server/test/diagnostics.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @typedef {import('@volar/test-utils').LanguageServerHandle} LanguageServerHandle
2+
* @import {LanguageServerHandle} from '@volar/test-utils'
33
*/
44
import assert from 'node:assert/strict'
55
import {afterEach, beforeEach, test} from 'node:test'

packages/language-server/test/document-link.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @typedef {import('@volar/test-utils').LanguageServerHandle} LanguageServerHandle
2+
* @import {LanguageServerHandle} from '@volar/test-utils'
33
*/
44
import assert from 'node:assert/strict'
55
import {afterEach, beforeEach, test} from 'node:test'

packages/language-server/test/document-symbols.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @typedef {import('@volar/test-utils').LanguageServerHandle} LanguageServerHandle
2+
* @import {LanguageServerHandle} from '@volar/test-utils'
33
*/
44
import assert from 'node:assert/strict'
55
import {afterEach, beforeEach, test} from 'node:test'

packages/language-server/test/folding-ranges.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @typedef {import('@volar/test-utils').LanguageServerHandle} LanguageServerHandle
2+
* @import {LanguageServerHandle} from '@volar/test-utils'
33
*/
44
import assert from 'node:assert/strict'
55
import {afterEach, beforeEach, test} from 'node:test'

packages/language-server/test/hover.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @typedef {import('@volar/test-utils').LanguageServerHandle} LanguageServerHandle
2+
* @import {LanguageServerHandle} from '@volar/test-utils'
33
*/
44
import assert from 'node:assert/strict'
55
import {afterEach, beforeEach, test} from 'node:test'

packages/language-server/test/initialize.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @typedef {import('@volar/test-utils').LanguageServerHandle} LanguageServerHandle
2+
* @import {LanguageServerHandle} from '@volar/test-utils'
33
*/
44
import assert from 'node:assert/strict'
55
import {afterEach, beforeEach, test} from 'node:test'

packages/language-server/test/no-tsconfig.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @typedef {import('@volar/test-utils').LanguageServerHandle} LanguageServerHandle
2+
* @import {LanguageServerHandle} from '@volar/test-utils'
33
*/
44
import assert from 'node:assert/strict'
55
import {afterEach, beforeEach, test} from 'node:test'

packages/language-server/test/prepare-rename.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @typedef {import('@volar/test-utils').LanguageServerHandle} LanguageServerHandle
2+
* @import {LanguageServerHandle} from '@volar/test-utils'
33
*/
44
import assert from 'node:assert/strict'
55
import {afterEach, beforeEach, test} from 'node:test'

packages/language-server/test/rename.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @typedef {import('@volar/test-utils').LanguageServerHandle} LanguageServerHandle
2+
* @import {LanguageServerHandle} from '@volar/test-utils'
33
*/
44
import assert from 'node:assert/strict'
55
import {afterEach, beforeEach, test} from 'node:test'

packages/language-server/test/syntax-toggle.test.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
2-
* @typedef {import('@volar/test-utils').LanguageServerHandle} LanguageServerHandle
3-
* @typedef {import('@mdx-js/language-service').SyntaxToggleParams} SyntaxToggleParams
2+
* @import {LanguageServerHandle} from '@volar/test-utils'
3+
* @import {SyntaxToggleParams} from '@mdx-js/language-service'
44
*/
55
import assert from 'node:assert/strict'
66
import {afterEach, beforeEach, test} from 'node:test'

packages/language-server/test/utils.js

-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
/**
2-
* @typedef {import('@volar/language-server').TextDocumentItem} TextDocumentItem
3-
* @typedef {import('@volar/language-server').PublishDiagnosticsParams} PublishDiagnosticsParams
4-
*/
5-
61
import {createRequire} from 'node:module'
72
import path from 'node:path'
83
import {URI, Utils} from 'vscode-uri'

packages/language-service/lib/commands.js

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
/**
2-
* @typedef {import('@volar/language-service').Range} Range
3-
* @typedef {import('@volar/language-service').LanguageServiceContext} LanguageServiceContext
4-
* @typedef {import('@volar/language-service').TextEdit} TextEdit
5-
* @typedef {import('mdast').Nodes} Nodes
2+
* @import {LanguageServiceContext, Range, TextEdit} from '@volar/language-service'
3+
* @import {Nodes} from 'mdast'
64
*/
75

86
/**

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

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/**
2-
* @typedef {import('@volar/language-service').LanguagePlugin<string | URI, VirtualMdxCode>} LanguagePlugin
3-
* @typedef {import('unified').PluggableList} PluggableList
4-
* @typedef {import('vscode-uri').URI} URI
2+
* @import {LanguagePlugin} from '@volar/language-service'
3+
* @import {PluggableList} from 'unified'
4+
* @import {URI} from 'vscode-uri'
55
*/
66

77
import remarkMdx from 'remark-mdx'
@@ -19,7 +19,7 @@ import {VirtualMdxCode} from './virtual-code.js'
1919
* If true, check MDX files strictly.
2020
* @param {string} jsxImportSource
2121
* The JSX import source to use in the embedded JavaScript file.
22-
* @returns {LanguagePlugin}
22+
* @returns {LanguagePlugin<string | URI, VirtualMdxCode>}
2323
* A Volar language plugin to support MDX.
2424
*/
2525
export function createMdxLanguagePlugin(

packages/language-service/lib/mdast-utils.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
/**
2-
* @typedef {import('mdast').Nodes} Nodes
3-
* @typedef {import('unist').Point} Point
4-
* @typedef {import('unist').Position} Position
2+
* @import {Nodes} from 'mdast'
3+
* @import {Point, Position} from 'unist'
54
*/
65

76
/**

packages/language-service/lib/script-snapshot.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @typedef {import('typescript').IScriptSnapshot} IScriptSnapshot
2+
* @import {IScriptSnapshot} from 'typescript'
33
*/
44

55
/**

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

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
/**
2-
* @typedef {import('@volar/language-service').DataTransferItem} DataTransferItem
3-
* @typedef {import('@volar/language-service').LanguageServicePlugin<Provide>} LanguageServicePlugin
4-
* @typedef {import('./commands.js').SyntaxToggle} SyntaxToggle
2+
* @import {DataTransferItem, LanguageServicePlugin} from '@volar/language-service'
3+
* @import {SyntaxToggle} from './commands.js'
54
*/
65

76
/**

packages/language-service/lib/tsconfig.js

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
/**
2-
* @typedef {import('typescript').ParsedCommandLine} ParsedCommandLine
3-
* @typedef {import('unified').Pluggable} Pluggable
4-
* @typedef {import('unified').PluggableList} PluggableList
5-
* @typedef {import('unified').Plugin} Plugin
2+
* @import {Pluggable, PluggableList, Plugin} from 'unified'
63
*/
74

85
/**

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

+8-11
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
/**
2-
* @typedef {import('@volar/language-service').CodeMapping} CodeMapping
3-
* @typedef {import('@volar/language-service').VirtualCode} VirtualCode
4-
* @typedef {import('estree').ExportDefaultDeclaration} ExportDefaultDeclaration
5-
* @typedef {import('estree').Program} Program
6-
* @typedef {import('mdast').Nodes} Nodes
7-
* @typedef {import('mdast').Root} Root
8-
* @typedef {import('mdast-util-mdxjs-esm').MdxjsEsm} MdxjsEsm
9-
* @typedef {import('typescript').IScriptSnapshot} IScriptSnapshot
10-
* @typedef {import('unified').Processor<Root>} Processor
11-
* @typedef {import('vfile-message').VFileMessage} VFileMessage
2+
* @import {CodeMapping, VirtualCode} from '@volar/language-service'
3+
* @import {ExportDefaultDeclaration, Program} from 'estree'
4+
* @import {Nodes, Root} from 'mdast'
5+
* @import {MdxjsEsm} from 'mdast-util-mdxjs-esm'
6+
* @import {IScriptSnapshot} from 'typescript'
7+
* @import {Processor} from 'unified'
8+
* @import {VFileMessage} from 'vfile-message'
129
*/
1310

1411
import {walk} from 'estree-walker'
@@ -765,7 +762,7 @@ export class VirtualMdxCode {
765762
/**
766763
* @param {IScriptSnapshot} snapshot
767764
* The original TypeScript snapshot.
768-
* @param {Processor} processor
765+
* @param {Processor<Root>} processor
769766
* The unified processor to use for parsing.
770767
* @param {boolean} checkMdx
771768
* If true, insert a `@check-js` comment into the virtual JavaScript code.

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

-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
/**
2-
* @typedef {import('@volar/language-service').VirtualCode} VirtualCode
3-
*/
4-
51
import assert from 'node:assert/strict'
62
import {test} from 'node:test'
73
import {createMdxLanguagePlugin} from '@mdx-js/language-service'

packages/language-service/test/tsconfig.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @typedef {import('unified').Plugin} Plugin
2+
* @import {Plugin} from 'unified'
33
*/
44

55
import assert from 'node:assert/strict'

packages/typescript-plugin/index.cjs

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
'use strict'
22

33
/**
4-
* @typedef {import('typescript').TsConfigSourceFile} TsConfigSourceFile
4+
* @import {TsConfigSourceFile} from 'typescript'
5+
*/
6+
7+
/**
58
* @typedef {import('unified', {with: {'resolution-mode': 'import'}}).Plugin} Plugin
69
*/
710

packages/vscode-mdx/src/extension.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
/**
2-
* @typedef {import('@volar/language-server').TextEdit} TextEdit
3-
* @typedef {import('@volar/vscode').LabsInfo} LabsInfo
4-
* @typedef {import('vscode').ExtensionContext} ExtensionContext
2+
* @import {LabsInfo, TextEdit} from '@volar/vscode'
3+
* @import {ExtensionContext} from 'vscode'
54
*/
65

76
import * as languageServerProtocol from '@volar/language-server/protocol.js'

0 commit comments

Comments
 (0)