小编Mat*_*ell的帖子

如何在不破坏身份验证的情况下将注册表与 Yarn 2 中的范围关联起来?

本文建议在项目中添加配置.npmrc,将范围与私有注册表关联起来,以降低 npm 替换攻击的风险(有人可能会故意发布同名的恶意公共包)。

如何在 Yarn 2 项目中实现类似的效果?我尝试.yarnrc.yml在项目根目录中添加一个文件:

npmScopes:
  someScope:
    npmRegistryServer: https://npm.pkg.github.com
Run Code Online (Sandbox Code Playgroud)

~/.yarnrc.yml我们还为每个开发人员提供了一个具有类似配置的主目录,但还具有适当的npmAuthToken身份验证功能。

但是,当我执行 a 时yarn install,我收到Invalid authentication (as an anonymous user)该范围内的包的错误。据推测,特定于项目的.yarnrc.yml设置会覆盖每个用户的设置~/.yarnrc.yml,因此身份验证信息不再存在?

我所寻求的缓解措施是,如果开发人员忘记运行yarn npm login,那么它不会检查公共注册表中特定范围内的包。在 Yarn 2 中有办法做到这一点吗?

security yarnpkg yarnpkg-v2

9
推荐指数
1
解决办法
9671
查看次数

拥有多个 React 实例意味着什么?

对于上下文:我在我的 React 应用程序中遇到了一个问题(使用npm+ Create React App + TypeScript),应用程序中似乎有多个 React 副本。这是基于React 文档中给出的诊断片段,您可以在其中进行测试window.React1 === window.React2

这个问题并不要求解决这个问题(我将单独调查)。相反,我想知道拥有库的副本意味着什么。它最终如何作为 CRA 生成的大捆绑脚本的一部分传递到浏览器,以及当我import React from 'react'在源代码中编写时选择哪个副本?重复的库是如何发生的,为什么npm允许这种情况发生?

答案可能是,“去了解 JS 包管理和捆绑是如何工作的”,这可能非常合理,但如果有人有任何具体的答案并指向更多学习资源,我将非常感激。TIA。

dependency-management npm typescript reactjs

7
推荐指数
1
解决办法
1万
查看次数