有没有办法使用npm包来验证包名?
const npm = require('npm');
const isValid = npm.validatePackageName('foobar'); // true
const isValid = npm.validatePackageName('-4! *'); // false
Run Code Online (Sandbox Code Playgroud)
我看到一个userland包执行此操作,但肯定npm包本身可以做到这一点?是否有从该包中导出的公用事业?
Nik*_*nov 11
有效名称
var validate = require("validate-npm-package-name")
validate("some-package")
validate("example.com")
validate("under_score")
validate("123numeric")
validate("excited!")
validate("@npm/thingy")
validate("@jane/foo.js")
Run Code Online (Sandbox Code Playgroud)
所有上述名称都是有效的,因此您将获得此对象:
{
validForNewPackages: true,
validForOldPackages: true
}
Run Code Online (Sandbox Code Playgroud)
名称无效
validate(" leading-space:and:weirdchars")
Run Code Online (Sandbox Code Playgroud)
那从来就不是一个有效的包名,所以你得到这个:
{
validForNewPackages: false,
validForOldPackages: false,
errors: [
'name cannot contain leading or trailing spaces',
'name can only contain URL-friendly characters'
]
}
Run Code Online (Sandbox Code Playgroud)
来源:https://github.com/npm/validate-npm-package-name
| 归档时间: |
|
| 查看次数: |
730 次 |
| 最近记录: |