Minggu ini, saya sedang bersedia untuk mengeluarkan alat baris arahan saya, VShell, kepada pengeluaran. Keluaran ini akan membolehkan pengguna memasang dan menggunakan VShell secara terus melalui npm tanpa perlu mengklon dan membina projek secara tempatan. Ditulis dalam JavaScript dengan Node.js, alat ini akan dihoskan pada npm untuk memudahkan pengedaran. Di bawah ialah pecahan terperinci langkah yang saya ikuti untuk mencapai keluaran ini:
Untuk memastikan binaan yang boleh dihasilkan semula dan automatik, saya mencipta skrip build.js dalam akar projek. Skrip ini menyalin semua fail yang diperlukan ke dalam folder dist, memudahkan proses binaan.
Selain itu, saya juga menyediakan skrip untuk menjalankannya dalam package.json:
"build": "nod build.js"
Untuk menjalankannya, hanya perlu menaip: npm run build on the console
Pada masa ini, saya hanya mahu menunjukkan binaan ringkas sebagai menyalin fail, tetapi pada masa hadapan, jika saya melaksanakan dengan UI, maka saya perlu menggunakan skrip bundle templat sebagai barbel.
Sebelum ini, saya sering terlupa untuk mengemas kini versi projek selepas membuat perubahan. Untuk keluaran ini, saya menggunakan Versi Semantik untuk menyampaikan perubahan dengan jelas dalam API projek.
Memandangkan kemas kini penting sejak v0.0.1, saya menetapkan versi kepada v1.0.0 dengan mengemas kini medan versi dalam package.json. Versi ini mencerminkan API yang stabil dengan perubahan pecah dan ciri baharu.
Untuk menyegerakkan kemas kini versi dengan keluaran GitHub, saya mencipta teg Git untuk v1.0.0:
git tag -a v1.0.0 -m "Release version 1.0.0" git push origin --tags
Ini memastikan keluaran dijejaki dengan betul dalam repositori Git.
Untuk menerbitkan VShell sebagai pakej npm, saya mentakrifkan secara eksplisit fail untuk disertakan dalam pakej menggunakan medan fail dalam package.json. Ini memastikan bahawa hanya fail dan direktori yang diperlukan disertakan dalam pakej yang diterbitkan.
Contoh:
Untuk menerbitkan VShell pada npm:
Ini menjadikan VShell tersedia kepada pengguna melalui npm.
GitHub Dependabot membenderakan isu keselamatan dengan pembiakan silang kebergantungan transitif. Oleh kerana saya tidak memasangnya secara langsung, saya menggunakan:
npm ls bertelur silang
untuk mengenal pasti pakej yang bergantung padanya. Saya mendapati bahawa eslint ialah sumbernya dan menyelesaikan isu tersebut dengan mengemas kini eslint kepada versi terkini.
Selain itu, saya mengemas kini README.md untuk memberikan arahan pemasangan yang jelas untuk pengguna npm. Saya juga menambah baik fail CONTRIBUTING.md untuk membimbing penyumbang tentang menyediakan dan menjalankan VShell secara setempat.
Untuk meningkatkan ketepatan, saya menggabungkan maklum balas daripada Prof. David Humphrey, mengembangkan dan menjelaskan dokumentasi sistem GROQ.
Untuk menyelaraskan proses keluaran, saya menambahkan tugas pada aliran kerja Tindakan GitHub saya untuk mengautomasikan penerbitan npm apabila teg baharu ditolak.
Tambahan Aliran Kerja:
git tag -a v1.0.0 -m "Release version 1.0.0" git push origin --tags
Ciri Utama:
Pencetus Bersyarat: Kerja pelepasan dicetuskan hanya apabila tag (v*.*.*) ditolak.
Pengesahan npm: Menggunakan NPM_AUTH_TOKEN selamat yang disimpan dalam Rahsia GitHub. Anda boleh mencipta token ini dengan pergi ke akaun npm anda dan pilih bahagian Token Akses.
Keluaran GitHub: Menjana keluaran secara automatik menggunakan softprops/action-gh-release.
Dengan mengikuti langkah ini, saya berjaya mengautomasikan keluaran VShell kepada npm. Pengguna kini boleh memasang dan menggunakan alat dengan mudah melalui:
npm pasang -g vshell
Proses diperkemas ini, ditambah dengan versi yang betul, pengurusan pergantungan dan kemas kini dokumentasi, memastikan keluaran VShell yang profesional dan mesra pengguna.
Atas ialah kandungan terperinci VShell: Aliran Kerja Keluaran Pengeluaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!