Rumah > Artikel > hujung hadapan web > Pakej pembalak dalam changeset monorepo
Pakej CLI Changes mempunyai import seperti yang ditunjukkan di bawah pada baris 3 dalam packages/cli/src/index.ts#L3
import { error } from "@changesets/logger";
Saya pernah melihat ini sebelum ini, pakej khusus hanya untuk pembalak, dalam docusaurus-logger. Pada ketika ini, saya percaya adalah standard biasa/amalan terbaik di seluruh OSS untuk mempunyai pakej khusus untuk mempunyai pembalak yang konsisten untuk digunakan merentas pangkalan kod.
Memandangkan changesets ialah monorepo (begitu juga Docusaurus), anda akan mendapati diri anda menggunakan semula pakej merentasi pangkalan kod tetapi bayangkan senario di mana anda melog masuk ralat ke CLI menggunakan warna. Kenapa warna ini dalam gambar sekarang? anda mungkin tertanya-tanya. Apabila anda menggunakan pakej CLI bagi mana-mana projek Sumber Terbuka seperti Next.js atau Docusaurus atau Changesets, maklum balas yang anda dapat daripada berinteraksi dengan CLI sering kali diwarnakan, sebagai contoh, untuk menunjukkan ralat atau amaran atau maklumat.
Saya memilih beberapa fungsi daripada Changesets packages/cli/src/index.ts
export function error(…args: Array<any>) { console.error(format(args, pc.red("error"))); } export function info(…args: Array<any>) { console.info(format(args, pc.cyan("info"))); } export function success(…args: Array<any>) { console.log(format(args, pc.green("success"))); }
Jadi apa itu pc? Ia adalah pakej picocolors yang diimport di bahagian atas fail.
import pc from "picocolors";
Anda akan mendapat banyak manfaat daripada keupayaan pengelogan yang konsisten merentas pangkalan kod anda kerana anda akan menentukan log biasa dengan pengekodan warna jika diperlukan.
Di bawah ialah coretan kod yang dipilih daripada Docusuarus.
function warn(msg: unknown, …values: InterpolatableValue[]): void { console.warn( chalk.yellow( `${chalk.bold('[WARNING]')} ${ values.length === 0 ? stringify(msg) : interpolate(msg as TemplateStringsArray, …values) }`, ), ); }
Docusaurus menggunakan kapur untuk mewarnai rentetan keluaran CLI. Saya menyebut Docusaurus dan menunjukkan contoh untuk menunjukkan cara pakej digunakan semata-mata untuk tujuan pembalakan.
Di Thinkthroo, kami mengkaji projek sumber terbuka yang besar dan menyediakan panduan seni bina. Kami telah membangunkan Komponen boleh guna semula, dibina dengan tailwind, yang boleh anda gunakan dalam projek anda. Kami menawarkan perkhidmatan pembangunan Next.js, React dan Node.
Tempah mesyuarat dengan kami untuk membincangkan projek anda.
https://github.com/changesets/changesets/blob/main/packages/logger/src/index.ts#L18
https://github.com/changesets/changesets/blob/main/packages/cli/src/index.ts#L3
https://github.com/changesets/changesets/tree/main/packages/logger
https://github.com/facebook/docusaurus/blob/2b8ddb9260c54b7fdba4398bfdce64553a1356b0/packages/docusaurus-logger/src/index.ts
https://www.npmjs.com/package/picocolors
https://www.npmjs.com/package/chalk
Atas ialah kandungan terperinci Pakej pembalak dalam changeset monorepo. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!