当您使用 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中文网其他相关文章!