microsoft / microsoft/TypeScript

exports subpath with array types is not autocompleting

Đang mở
#63,231 5 bình luận 0 reaction 0 người được giao Xem trên GitHub
Needs More Info
Ngôn ngữ chính
Go
Star
111k
Fork
14.3k
Merge trung bình
2 ngày 4 giờ
Pull request đã merge (30 ngày)
132

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu với việc TypeScript's language server xử lý exports của package.json và tái hiện ví dụ từ @repobuddy/storybook, so sánh dạng vô hướng và dạng mảng của mục types. Xác minh tính năng hoàn tất cho import @repobuddy/storybook/storybook-addon-tag-badges, và coi issue là hoàn tất khi subpath xuất hiện trong khi import vẫn được resolve chính xác.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
javascript, typescript
Lĩnh vực
developer-experience, tooling
Loại issue
Lỗi
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
54/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.