Pdf.js: Jatuhkan webpack peerDependency dari proyek pdfjs-dist

Dibuat pada 17 Mei 2018  ·  7Komentar  ·  Sumber: mozilla/pdf.js

Apa perilaku yang diharapkan?
Proyek pdfjs-dist tidak boleh menyertakan webpack sebagai peerDependency karena dapat benar-benar berfungsi tanpanya saat memuat skrip dari direktori build.

Apa yang salah?
Saya menggunakan PDFJS dalam komponen untuk memvisualisasikan PDF menggunakan Angular 6. Tidak termasuk webpack dalam proyek saya (saya tidak membutuhkannya sama sekali), membuat popup peringatan peerDependency setiap kali saya menjalankan perintah npm atau setiap kali ada yang menginstal komponen saya .

1-other

Komentar yang paling membantu

Hai, @timvandermeij. Terima kasih untuk balasan Anda!

webpack adalah alat pembangunan dan, dengan demikian, biasanya hanya masuk akal sebagai "devDependency" - atau dibatasi untuk pipa pembangunan perpustakaan. Menyertakannya sebagai "peerDependency" berarti pengguna harus menginstalnya secara lokal (walaupun mereka mungkin tidak membutuhkannya/tidak mempedulikannya) atau mengabaikan peringatan yang muncul setiap kali pada npm install .

Saya tidak akrab dengan worker-loader , jadi ambil komentar saya dengan sedikit garam. Tetapi jika itu seperti loader webpack , mereka biasanya hanya diperlukan sebagai langkah konfigurasi build dan tidak ada yang lain. Juga, tidak masuk akal dalam konteks di mana perpustakaan dimaksudkan untuk digunakan di luar web (seperti Node).

Apakah pdf.js bertindak sebagai semacam plugin webpack dalam beberapa kasus? Jika _is_, _mungkin_ masuk akal untuk menyertakan loader dan webpack sebagai dependensi. Tetapi, meskipun demikian, saya berpendapat bahwa dukungan semacam itu harus diekstraksi ke repo/modulnya sendiri.

Saya mengambil kebebasan forking repo dan mengambil semua webpack terkait. Ini masih berfungsi dengan baik untuk saya di aplikasi Node saya.

Semua 7 komentar

Tepat. Memiliki webpack sebagai "peerDependency" dalam paket yang dapat didistribusikan seperti ini jelas salah dan harus dihapus.

Ketergantungan rekan ditambahkan di #9249 karena worker-loader . Bisakah Anda menjelaskan sedikit tentang mengapa salah memilikinya di repositori kami? Saya baik-baik saja dengan menghapusnya jika itu pasti tidak akan merusak barang-barang.

Hai, @timvandermeij. Terima kasih untuk balasan Anda!

webpack adalah alat pembangunan dan, dengan demikian, biasanya hanya masuk akal sebagai "devDependency" - atau dibatasi untuk pipa pembangunan perpustakaan. Menyertakannya sebagai "peerDependency" berarti pengguna harus menginstalnya secara lokal (walaupun mereka mungkin tidak membutuhkannya/tidak mempedulikannya) atau mengabaikan peringatan yang muncul setiap kali pada npm install .

Saya tidak akrab dengan worker-loader , jadi ambil komentar saya dengan sedikit garam. Tetapi jika itu seperti loader webpack , mereka biasanya hanya diperlukan sebagai langkah konfigurasi build dan tidak ada yang lain. Juga, tidak masuk akal dalam konteks di mana perpustakaan dimaksudkan untuk digunakan di luar web (seperti Node).

Apakah pdf.js bertindak sebagai semacam plugin webpack dalam beberapa kasus? Jika _is_, _mungkin_ masuk akal untuk menyertakan loader dan webpack sebagai dependensi. Tetapi, meskipun demikian, saya berpendapat bahwa dukungan semacam itu harus diekstraksi ke repo/modulnya sendiri.

Saya mengambil kebebasan forking repo dan mengambil semua webpack terkait. Ini masih berfungsi dengan baik untuk saya di aplikasi Node saya.

Apakah ada rencana untuk menghapus webpack sebagai ketergantungan. @nfantone apakah Anda berencana mengirimkan PR?

@mishwakerman Saya tidak pernah benar-benar menerima tanggapan "resmi" untuk masalah ini - dan saya masih tidak tahu mengapa webpack terdaftar sebagai ketergantungan. Intuisi saya (terbatas) memberi tahu saya bahwa ini adalah bagian dari masalah yang lebih besar di mana pdf.js digabungkan ke beberapa bagian dari implementasinya yang secara tidak langsung bergantung pada webpack dan perlu difaktorkan ulang dalam beberapa cara.

Pertanyaan ini juga ditanyakan di IRC dan kami mendapat jawaban ini: https://mozilla.logbot.info/pdfjs/20180606#c14862530 -c14862541. Singkatnya, saya tidak begitu akrab dengan bundling Webpack itu sendiri, tetapi jika itu benar-benar hanya untuk contoh, saya kira kita dapat menghapusnya. Silakan periksa apakah itu masalahnya sebelum mengirimkan PR.

Menutup karena melakukan ini bukanlah pilihan yang baik mengingat #9248 akan kembali jika kita melakukannya. Sebaliknya, yang harus kita lakukan adalah #9580 yang dibahas di IRC di https://mozilla.logbot.info/pdfjs/20180606#c14862530 -c14862634.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat