首页 > 其他分享 >使用pnpm时,hoist-pattern[]=eslint hoist-pattern[]=babel这个配置的作用?

使用pnpm时,hoist-pattern[]=eslint hoist-pattern[]=babel这个配置的作用?

时间:2024-03-24 11:11:55浏览次数:21  
标签:node 依赖 pattern pnpm hoist eslint babel

在 pnpm 工作区(monorepo)中,hoist-pattern 配置项用于决定哪些依赖应该被提升(hoist)到工作区的根节点 node_modules 目录中,而不是保留在每个工作区包各自的 node_modules 目录下。这有助于减少磁盘空间占用并加速依赖的安装速度。

hoist-pattern[]=*eslint*hoist-pattern[]=*babel* 这两个配置意味着:

  • 所有以 eslint 开头的依赖包及其子依赖将会被提升到工作区的根 node_modules 目录下。
  • 所有以 babel 开头的依赖包及其子依赖也会被提升到同样的位置。

举例说明,如果工作区内的某个包的 package.json 中有这样的依赖:

{
  "dependencies": {
    "eslint": "^8.0.0",
    "eslint-config-airbnb": "^19.0.0",
    "babel-core": "^7.0.0",
    "babel-eslint": "^10.0.0"
  }
}

那么,eslinteslint-config-airbnbbabel-corebabel-eslint 这些包及其它们的依赖(如果有的话)都将被提升到工作区根目录的 node_modules 文件夹下,而不是在该包自己的 node_modules 目录下。

需要注意的是,过度提升依赖可能导致依赖版本冲突或某些依赖在特定工作区包内不能正确加载的问题,所以在设置 hoist-pattern 时应当谨慎权衡利弊。

标签:node,依赖,pattern,pnpm,hoist,eslint,babel
From: https://www.cnblogs.com/longmo666/p/18092173

相关文章

  • 代理模式(Proxy Pattern)__浅谈与装饰器模式的区别
    代理模式(英语:ProxyPattern)为其他对象提供一种代理以控制对这个对象的访问。 代理模式和装饰器模式的共同点:  不改变原有组件的情况下增强其功能 代理模式和装饰器模式的差异:  代理模式可以实现延迟加载,即在需要时才真正创建原有组件,而不是在创建代理时就立即创建原有......
  • pnpm 设置代理
    1.在环境变量里添加变量:HTTP_PROXY:http://127.0.0.1:7890HTTPS_PROXY:https://127.0.0.1:7890也可以通过命令来取消或设置环境变量里的代理:一般只设置proxy,而不用设只https_proxy的代理就够用了。关闭代理pnpmconfigsetproxypnpmconfigsethttps-proxy......
  • pnpm : 无法加载文件 D:\dev\nodejs\pnpm.ps1,因为在此系统上禁止运行脚本。有关详
    一、问题现象  二、问题原因  1、此问题是由于PowerShell的执行策略限制了脚本的执行//通过命令可以查看当前策略Get-ExecutionPolicy     2、策略说明:Restricted:默认策略,禁止运行任何脚本,除非明确允许。AllSigned:只允许运行经由数字签名并由受信......
  • 【转】Command Pattern in Go (Golang)
     原文: https://www.sohamkamani.com/golang/command-pattern/ packagemainimport"fmt"//TherestaurantcontainsthetotaldishesandthetotalcleaneddishestypeRestaurantstruct{ TotalDishesint CleanedDishesint}//`NewRestaurant......
  • [转]Golang Functional Options Pattern
     原文: https://golang.cafe/blog/golang-functional-options-pattern.html-------------------- GolangFunctionalOptionsPatternTheGo(Golang)FunctionaOptionsPatternisaway,apatternofstructuringyourstructsinGobydesigningaveryexpressivea......
  • pnpm link --global 用于全局链接本地开发的包
    pnpmlink--global是pnpm(一个更快、更节省磁盘空间的Node.js包管理器)中的命令,它用于全局链接本地开发的包。当你在开发一个自定义的npm包,并希望在全局环境中像已安装的全局包那样试用它时,可以使用pnpmlink--global命令。具体步骤如下:首先,确保你已经在你的包目录中......
  • Java Pattern和Matcher处理正则表达式的用法
    转自:https://zhuanlan.zhihu.com/p/626497347 结论:Pattern与Matcher一起合作.Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持.单独用Pattern只能使用Pattern.matches(Stringregex,CharSequenceinput)一种最基础最简单的匹配。java正则表达式通过ja......
  • 外观模式(facade pattern)
    外观模式(facadepattern) 外观模式(FacadePattern),也叫门面模式,外观模式的原始定义是:为子系统中的一组接口提供统一的接口。它定义了一个更高级别的接口,使子系统更易于使用。外观模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模......
  • 桥接模式(bridge pattern)
    定义:将抽象部分与它的实现部分分离,使他们都可以独立地变化桥接模式使用一种巧妙的方式处理多层继承存在的问题,用抽象关联来取代传统的多层继承,将类之间的静态继承关系转变为动态的组合关系,使得系统更加灵活,并易于扩展,有效的控制了系统中的类的个数(避免了继承层次的指数级爆炸),将两......
  • 23 design patterns
    ///-----------------23个设计模式是7个原则的具体形式,7原则是23个模式的凝练------------------//////-----------------target:高内聚、低耦合------------------///1.软件设计模式结构类比就是结构class或者是结构体行为类比class里面的函数创造的话,是构造出结构,让......