cannot redeclare block scoped variable postMessage()

Đang mở
#55,752 4 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
32/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
typescript
Lĩnh vực
compilers

Hướng nghiên cứu

Bắt đầu với ví dụ SharedWorker và các tệp tsconfig.json riêng biệt trong monorepo NPM-workspaces. Kiểm tra các khai báo postMessage trùng lặp trong lib.dom.d.ts và xác định lý do chúng được đưa vào cùng một chương trình TypeScript; xác minh bản sửa bằng cách build lại các module bị ảnh hưởng và xác nhận rằng diagnostic đã biến mất.

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

Mô tả

Needs More Info
🔎 Search Terms

"cannot redeclare block scope variable postMessage typescript"

🕗 Version & Regression Information

TS version: ^5.1.6

⏯ Playground Link

Can't use workers in Playground

💻 Code
const worker = new SharedWorker(new URL('./worker.js', import.meta.url))

/* ... */

worker.port.addEventListener('message', e => {
     if (!e.data?.type) {
          return
      }

      switch (e.data.type) {
          case 'get_tabs': {
               worker.port.postMessage({ //Error here
                   type: 'share_tab_id',
                   tab_id: tabId
               })
          }

    /* ... */
🙁 Actual behavior

I'm getting a Cannot redeclare block-scoped variable 'postMessage' error coming from TypeScript itself. I checked the file (lib.dom.d.ts) and it looks like the postMessage variable is getting declared twice

ts-postmessage-error
ts-postmessage-declaration

🙂 Expected behavior

Expect to have single declaration of postMessage and no error.

Additional information about the issue

I'm using a monorepo with NPM workspaces. Each module has a separate tsconfig.json and are built separately

Ngôn ngữ chính
Go
Star
111k
Fork
14.4k
Merge trung bình
1 ngày 19 giờ
Pull request đã merge (30 ngày)
117

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

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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của microsoft/TypeScript

Tất cả issue của microsoft/TypeScript

Issue tương tự

Thêm issue về Go

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.