Setelah 0.11 (tetapi sebelum 0.12 ) saya berencana untuk mengatur ulang repositori menjadi monorepo menggunakan ruang kerja Yarn dan mengimplementasikan kembali modul pegjs menjadi modul independen yang sebagian besar tinggal di @pegjs (dengan tata bahasa resmi di @peg ).
Di bawah ini adalah daftar modul yang saat ini saya rencanakan untuk diterapkan, tetapi ini mungkin berubah sebelum 0.12 dirilis.
0.12.x
)apakah ini berarti bahwa pengguna hilir harus beralih ke benang?
Tolong jangan pindahkan salah satu alat utama internet ke dalam strategi pengembangan eksperimental khusus pada infrastruktur bangunan berbeda yang dikelola oleh perusahaan yang banyak dari kita tidak percaya
Benang sekarat dan ruang kerja dirancang dengan buruk
Sebagian besar pengguna simpul tidak akan beralih ke benang untuk Anda
https://stackoverflow.com/questions/46947557/do-yarn-workspaces-work-with-npm-too
Saya akan dengan senang hati membantu Anda membangun struktur bangunan modern yang normal yang tidak mengharuskan semua orang untuk beralih alat ke barang-barang Facebook, jika Anda menginginkan bantuan itu
Anda dapat menggunakan rollup dan babel (atau sejumlah pengaturan lainnya) untuk membuat ES5 biasa dari itu tanpa overhead. Tidak memerlukan infrastruktur baru yang lengkap.
Dalam prosesnya saya dapat menambahkan beberapa hal penting lainnya, seperti dukungan TypeScript dan flowtype, dukungan modul es6, dan hal-hal lain
@StoneCypher Pegang pasangan kuda Anda Benang hanyalah alternatif untuk NPM, sehingga pengguna hilir dapat memiliki NPM, Benang atau banyak lainnya yang bermunculan, tanpa khawatir tentang ruang kerja karena ini adalah fitur yang hanya akan digunakan oleh root package.json ( "private": true
) dalam repo ini, semua sub-modul yang disebutkan di atas akan menjadi modul independen yang diterbitkan di NPM yang memisahkan bagian-bagian berbeda dari kode dan hanya membuat hidup lebih mudah bagi saya atau siapa pun yang mengembangkan dan/atau meretas kompiler PEG.js.
Juga, Rollup dan Babel menangani masalah yang berbeda satu sama lain dan Benang:
selama ini tidak memaksa saya menjadi benang
Jadi, Anda memaksa saya menjadi benang. Beberapa PR dari orang lain yang Anda tolak untuk digabungkan telah mencoba mengeluarkannya kembali, karena yarn
sedang sekarat, dan alat berkualitas rendah yang tidak bekerja dengan baik di Windows.
yarn
tidak memberikan nilai.
yarn
menawarkan penghalang yang signifikan - banyak orang tidak akan menginstal manajer paket baru untuk membantu Anda (saya menolak beberapa kali sebelum mogok,) dan banyak orang lain tidak diizinkan karena kebijakan kerja.
Perilaku npm
telah berubah. yarn
tidak mengikuti. Perilaku yarn
sekarang sangat berbeda dari ekspektasi masyarakat.
Monorepo juga tidak memberikan nilai, menciptakan langkah pembangunan ekstra yang kompleks, menentang norma, dan membingungkan kontributor potensial.
Semua ini jauh lebih banyak pekerjaan daripada pekerjaan fitur yang tidak Anda lakukan.
Saya pikir Anda mungkin bingung tentang sifat keberatan saya.
Ini adalah pekerjaan yang sia-sia yang mempersulit orang untuk bergabung (bukan berarti itu penting, karena sejak bulan lalu Anda benar-benar membuat tidak mungkin bagi siapa pun untuk berkontribusi pada apa yang sekarang Anda sebut "proyek hobi Anda," dan berharap untuk mengganti secara grosir.)
Ini memperlambat pembangunan, dan kehilangan alat baru yang npm
memiliki yang tidak dimiliki yarn
.
Benang sekarat pada tahun 2018. Ini tahun 2020. Benang pada dasarnya sudah mati sekarang.
Saya belum menginstalnya di komputer saya selama bertahun-tahun. Saya harus menginstal ulang untuk Anda.
Tolong biarkan ini menjadi proyek normal dengan pola pengembangan normal yang sehat lagi, alih-alih basis kode pribadi Anda menggunakan alat tambahan yang berjalan tiga tahun tanpa rilis meskipun ada perbaikan basis kode yang sangat penting dalam repo.
Ya, saya melihat Anda mencoba menjelaskan apa yang dilakukan yarn
, tetapi semua orang tahu apa yang dilakukan yarn
.
Anda menciptakan persis infrastruktur baru yang saya minta untuk tidak Anda buat dua tahun lalu, dan saat ini Anda membuangnya karena alasan yang saya katakan tidak akan berhasil.
Komentar yang paling membantu
@StoneCypher Pegang pasangan kuda Anda Benang hanyalah alternatif untuk NPM, sehingga pengguna hilir dapat memiliki NPM, Benang atau banyak lainnya yang bermunculan, tanpa khawatir tentang ruang kerja karena ini adalah fitur yang hanya akan digunakan oleh root package.json (
"private": true
) dalam repo ini, semua sub-modul yang disebutkan di atas akan menjadi modul independen yang diterbitkan di NPM yang memisahkan bagian-bagian berbeda dari kode dan hanya membuat hidup lebih mudah bagi saya atau siapa pun yang mengembangkan dan/atau meretas kompiler PEG.js.Juga, Rollup dan Babel menangani masalah yang berbeda satu sama lain dan Benang: