當您使用 init 指令透過 CLI 初始化變更集時,此指令會設定 .changeset 資料夾。它產生一個自述文件和一個設定檔。設定檔包含預設選項以及註解
這些選項代表什麼。
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") );
read 函數是另一個名為 config 的套件的一部分。
從上圖可以看出,fs.readJSON 與 path.join 結合使用,path.join 結合了 cwd .changesets “config.json”
parse 接受此 config.json 讀取作為其第一個參數,而此解析函數是一個非常長的函數,它使用此 json 和套件(第二個參數)執行其他操作。
在 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中文網其他相關文章!