Dedupe regression with browserify v8
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
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- javascript
- Lĩnh vực
- build-system
Hướng nghiên cứu
Tái hiện kịch bản khử trùng lặp với factor-bundle và browserify 8.0.0, đồng thời so sánh bundle A được tạo ra với đầu ra của browserify v7 được hiển thị ở đây. Truy vết cách bundle chung và bundle A tham chiếu đến các ID module 100 và 200. Hoàn thành khi module đã khử trùng lặp được tải mà không gặp TypeError đã báo cáo, đồng thời vẫn giữ nguyên trường hợp có các dependency khác nhau.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
I'm logging the issue here, but the error is due to changes in browserify 8.0.0.
This might be best explained with an example:
- Module
Adepends on moduleB - Other modules depend on module
B', which is identical toBbut a separate copy exists for whatever reason Bis deduped by browserify and points toB'Bgets routed to theAbundle, assigned ID of200B'gets routed to the common bundle, assigned ID of100- Page includes common bundle then
Abundle
A bundle in browserify v7:
200:[function(require,module,exports){
module.exports=require(100)
},{"dup":100}]}
A bundle in browserify v8:
200:[function(require,module,exports){
arguments[4][100][0].apply(exports,arguments)
},{"dup":100}]}
This results in an exception Uncaught TypeError: Cannot read property '0' of undefined because ID 100 is not defined in the current bundle.
This worked in v7 because it used require, which tries to resolve the module with previously defined requires from other bundles.
I realize this is an edge case and that if npm is correctly deduping dependencies, this situation should not occur. And the v8 behaviour is more correct in theory because B may have different dependencies from B'. However, assuming that any module is defined in the current bundle is dangerous when factor-bundle is involved.
- Ngôn ngữ chính
- JavaScript
- Star
- 397
- Fork
- 24
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Chúng tôi chưa kiểm tra các tệp thiết lập môi trường của dự án này. Hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của browserify/factor-bundle
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 32/100
browserify/factor-bundle#95 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
browserify/factor-bundle#94 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
browserify/factor-bundle#92 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
browserify/factor-bundle#83 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
browserify/factor-bundle#82 · 3 reaction ·
Tất cả issue của browserify/factor-bundle
Issue tương tự
-
Add: Digi 4K LogoĐang mởcheck:passed logos:add
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
component/administration domain/framework needs-triage Platform(Default) priority/low
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
semantic-release/gitlab#1032 ·
-
agent/guide documentation hive/hosted-available-lke648397-260827-5n31
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[aw] Upgrade availableĐang mởagentic-workflows
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
githubnext/gh-aw-workshop#3933 ·
Maintainer thường phản hồi trong vòng 1 ngày