注意:这里使用的pnpm的overrides配置,才能正常构建
pnpm add verdaccio-ldap-auth
在配置文件里这样配置
# ...
auth:
auth:
clientOptions:
url: ldap://xxxxx:389 # 请求的url
verifyPasswordOptions:
adminDn: CN=npm服务,DC=163,DC=com
adminPwd: xxxx
baseDn: DC=163,DC=com
searchOptions:
filter:
mail: "{user}@163.me" # mail是ldap字段名,user是登陆的用户名
filter2ReplaceKey: # 用来声明,用请求的user字段填充填searchOptions的filter
user: user
# ...
可以尝试使用如下包进行覆盖
"pnpm": {
"overrides": {
"@ldapjs/dn": "npm:ldapjs-dn-fork@1.1.0"
}
}
require("node:util") # 此处构建babel和rollup都不管
"pnpm": {
"overrides": {
"process-warning": "~2.2.0"
}
}
更多问题文档 make emit work in jest
需要运行在node v14.17 环境下,该环境下一直没有 replaceAll方法,babel也未注入,需要手动引入
import 'core-js/modules/es.string.replace-all'