init コマンドを使用して CLI 経由でチェンジセットを初期化すると、このコマンドは .changeset フォルダーをセットアップします。 Readme と構成ファイルが生成されます。構成ファイルには、デフォルトのオプションとコメント
が含まれています。
これらのオプションが何を表すかについて説明します。
init コマンドによって生成されるデフォルトの config.json は次のようになります:
{ "commit": false, "updateInternalDependencies": "patch", "linked": [], "access": "restricted", "baseBranch": "master", "ignore": [], "changelog": "@changesets/cli/changelog" }
config.json の詳細については、こちらをご覧ください。
変更セットを使用する際の config.json の役割を理解したところで、CLI パッケージがこの config.json をどのように読み取るかを見てみましょう。
run 関数で、次の try catch ブロックが見つかります:
try { config = await read(cwd, packages); } catch (e) { let oldConfigExists = await fs.pathExists( path.resolve(cwd, ".changeset/config.js") );
読み取り関数は、config という名前の別のパッケージの一部です。
上の画像からわかるように、fs.readJSON は cwd .changesets “config.json” を組み合わせた path.join と組み合わせて使用されます
parse は、最初の引数として読み取られたこの config.json を受け取ります。この解析関数は、この json とパッケージ (2 番目の引数) を使用して追加の操作を実行する非常に長い関数です。
Thinkthroo では、大規模なオープンソース プロジェクトを研究し、アーキテクチャ ガイドを提供しています。私たちは、tailwind で構築された、プロジェクトで使用できる再利用可能なコンポーネントを開発しました。 Next.js、React、Node 開発サービスを提供します。
プロジェクトについて話し合うためのミーティングを予約してください。
https://github.com/changesets/changesets/blob/main/packages/cli/src/run.ts#L29
https://github.com/changesets/changesets/blob/main/packages/cli/src/run.ts#L44
https://github.com/changesets/changesets/blob/main/packages/config/src/index.ts#L94
https://github.com/changesets/changesets/blob/main/docs/config-file-options.md
https://github.com/changesets/changesets/blob/main/packages/cli/README.md
以上がChangsets が内部で config.json を読み取る方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。