ホームページ > 記事 > ウェブフロントエンド > 変更セットモノリポジトリのロガーパッケージ
Changesets CLI パッケージには、packages/cli/src/index.ts#L3 の行 3 に以下に示すようなインポートがあります
import { error } from "@changesets/logger";
私はこれを以前に見たことがあります。これは、docusaurus-logger のロガー専用のパッケージです。現時点では、コードベース全体で使用できる一貫したロガーを備えた専用のパッケージを用意することが、OSS 全体にわたる共通の標準/ベスト プラクティスであると考えています。
チェンジセットはモノリポジトリであるため (Docusaurus も同様)、コードベース全体でパッケージを再利用することになるでしょうが、色を使用して CLI にログオンしたエラーのシナリオを想像してみてください。なぜ今この色が写っているのでしょうか?と疑問に思うかもしれません。 Next.js、Docusaurus、Changesets などのオープン ソース プロジェクトの CLI パッケージを使用する場合、CLI との対話から得られるフィードバックは、たとえば、エラー、警告、情報を表示するために色付けされることがよくあります。
Changesets package/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"))); }
では、PC とは何でしょうか?ファイルの先頭でインポートされた picocolors パッケージです。
import pc from "picocolors";
必要に応じてカラーエンコーディングを使用して共通ログを定義するため、コードベース全体で一貫したロギング機能から大きなメリットが得られます。
以下は 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 はチョークを使用して CLI 出力文字列に色を付けます。 Docusaurus について言及し、パッケージが純粋にログ記録の目的でどのように使用されるかを示す例を示しました。
Thinkthroo では、大規模なオープンソース プロジェクトを研究し、アーキテクチャ ガイドを提供しています。私たちは、tailwind で構築された、プロジェクトで使用できる再利用可能なコンポーネントを開発しました。 Next.js、React、Node 開発サービスを提供します。
プロジェクトについて話し合うためのミーティングを予約してください。
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
以上が変更セットモノリポジトリのロガーパッケージの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。