yarn autoclean

从包依赖里清除并移除不需要的文件。

yarn autoclean [-I/--init] [-F/--force]

autoclean 命令通过从依赖文件中移除不需要的文件和文件夹来释放空间 它减少了你的项目 node_modules 里的文件,在包直接签入到版本控制系统的环境里很有用。

注意:此命令只被用于高级用例。 除非你遇到了 node_modules 里安装的文件数问题,不推荐使用此命令。 这个命令会永久删除在node_modules里的那些会造成包停止工作的文件

autoclean 默认被禁用。 若要启动,手动创建一个 .yarnclean 文件,或者运行 yarn autoclean --init 来创建默认内容的文件。 .yarnclean 文件应该被加入到版本控制。

当一个包中存在 .yarnclean 文件,autoclean 功能就会启用。清除执行时机为:

  • install
  • add
  • 如果运行了 yarn autoclean --force

清除通过读取 .yarnclean 文件中的每一行执行,每行作为一个要删除文件的 glob 模式。

选项:

-I/--init : 创建 .yarnclean 文件(如果尚不存在)并添加默认记录。 然后需要编辑审查这个文件来定制清理哪些文件 如果文件已存在,不会被覆盖

-F/--force : 如果 .yarnclean 文件存在,运行其清除流程。如果该文件不存在,不做任何事。

默认:

使用 yarn autoclean --init 命令创建.yarnclean文件时,会预生成一系列默认的清理项目。 默认列表猜测了哪些是不必要的 不可能为将来的NPM包预测到实际不需要的全部目录和文件,所以默认列表可能造成某个包不能继续正常工作

强烈建议你手动检查.yarnclean文件中的默认条目,按你的需求来调整定制

如果你发现autoclean过程会删除影响正常工作的包,你应该移除.yarnclean文件里相关的入口。

示例︰

你确定安装到 node_modules 的全部依赖中的所有 YAML 和 Markdown 文件都可以被安全的删除。你可以创建 .yarnclean 包含以下内容:

*.yaml
*.md

然后再运行 yarn installyarn autoclean --force 。 清理进程会删除所有的*.yaml*.md文件,在 node_modules/中层层迭代(包括嵌套的依赖)