microsoft / microsoft/TypeScript

exports subpath with array types is not autocompleting

オープン
#63,231 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る
Needs More Info
主要言語
Go
スター
111k
フォーク
14.3k
平均マージ
2日 4時間
マージ済み PR(30日)
132

説明

Does this issue occur when all extensions are disabled?: Yes

- VS Code Version: 1.109.5
- OS Version: Windows 11

This issue should apply to all OS. It's about JavaScript/TypeScript language server handling import paths.

When a dependency uses array form in the export path, e.g. in [@repobuddy/storybook](https://github.com/repobuddy/storybook/blob/main/libs/storybook/package.json):

```jsonc
{
"exports": {
".": {
"types": [
"./esm/index.d.ts",
"./src/index.ts"
],
"default": "./esm/index.js"
},
"./manager": {
"types": "./esm/manager/index.d.ts",
"default": "./esm/manager/index.js"
},
"./storybook-addon-tag-badges": {
"types": [
"./esm/storybook-addon-tag-badges/index.d.ts",
"./src/storybook-addon-tag-badges/index.ts"
],
"default": "./esm/storybook-addon-tag-badges/index.js"
},
}
}
```

The import can resolve correctly, e.g.:

```tsx
import type { Meta, StoryObj } from '@repobuddy/storybook/storybook-addon-tag-badges'
```

But the path completion does not show the subpath:

Image

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

TypeScript の language server による package.json の exports の処理から始め、@repobuddy/storybook の例を再現し、types エントリのスカラー形式と配列形式を比較します。@repobuddy/storybook/storybook-addon-tag-badges の import の補完を確認し、import が引き続き正しく解決される状態でサブパスが表示されれば issue 完了とします。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript, typescript
領域
developer-experience, tooling
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
54/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。