首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >Yarn >Yarn 的插件系统是怎么扩展功能的?

Yarn 的插件系统是怎么扩展功能的?

词条归属:Yarn

1. 模块化架构下的插件设计

  • Yarn Modern 围绕一个精简的核心(@yarnpkg/core)重新设计,大部分实际功能都通过插件实现,甚至连 yarn add、yarn install 本身也是预装插件
  • 插件在运行时被 Yarn 加载,可以注入新行为,并能直接使用 Yarn 提供的核心 API(如 @yarnpkg/core),无需在自己的依赖中重复声明

2. 插件可扩展的能力范围

  • 新增解析器(resolver):将依赖范围(如 ^1.2.0)转换为完全限定的包引用
  • 新增获取器(fetcher):从远程注册表或本地磁盘等数据源获取包数据
  • 新增链接器(linker):生成安装所需的文件,例如 PnP 链接器生成 .pnp.cjs,node-modules 链接器生成传统目录结构
  • 新增命令与钩子:插件可注册自定义 CLI 命令,并监听安装生命周期中的各类事件(如 afterAllInstalled)

3. 官方插件与社区生态

  • 官方插件包括 constraints(跨 workspace 强制 lint 规则)、typescript(自动补充 @types 依赖)、version(monorepo 发布管理)、workspace-tools(workspaces foreach 等命令)、interactive-tools(图形化交互升级)等
  • 社区贡献的插件集中维护在 contrib 列表中,使用前应自行审查其质量与安全性
  • 编写插件可使用 @yarnpkg/builder 工具将 TypeScript 源码打包为单文件发布
相关文章
你们系统是怎么保证可扩展的
前面分享了高并发系统(你们系统是怎么保证高并发的)以及高可用系统(你们系统是怎么保证高可用的)的解决方案,今天我们再来看另一个很重要的模块,可扩展系统,系统的可扩展性同样是架构所需要重点考虑的一个设计点。
架构师修炼
2020-07-20
9420
WordPress是怎么设计扩展字段的?
在WordPress中,有一个直接可用的方式来添加自定义字段,那就是使用自带的“自定义字段”功能。
coderidea
2023-09-07
1.4K0
YARN的机架感知功能
最近几天做Hadoop机架感知功能时,在网上可以找到很多关于HDFS机架感知的资料,但是对于YARN机架感知的介绍却很少。这篇文章最主要就是说明机架感知功能对于YARN来说起到的作用,若有理解的偏差请指正。谢谢。
醉独醒
2022-05-27
1.5K1
Hadoop的eclipse的插件是怎么安装的?
1)马克-to-win @ 马克java社区:网上下载hadoop-eclipse-plugin-2.7.4.jar,将该jar包拷贝到Eclipse安装目录下的dropins文件夹下,我的目录是C:\Users\test\eclipse\jee-oxygen\eclipse\dropins,然后重启Eclipse就可以看到MapReduce选项了。
马克java社区
2021-06-24
1K0
插件 Manifest 应该怎么设计?开源 ITSM 的扩展契约
开源 ITSM 插件系统能不能做好,不取决于插件市场 UI 好不好看,而取决于 Manifest 契约设计得够不够清晰。
heidsoft
2026-07-06
1570
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券