node.js - 使用 npm package 验证包名
问题描述
有没有办法使用 npm 包来验证包名?
const npm = require('npm');
const isValid = npm.validatePackageName('foobar'); // true
const isValid = npm.validatePackageName('-4! *'); // false
我看到一个用户区包可以做到这一点,但 npm 包本身肯定可以做到这一点吗?是否有从该包导出的公共实用程序?
解决方案
有效名称
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")
上述所有名称都是有效的,所以你会得到这个对象:
{
validForNewPackages: true,
validForOldPackages: true
}
无效名称
validate(" leading-space:and:weirdchars")
这从来都不是一个有效的包名,所以你得到了这个:
{
validForNewPackages: false,
validForOldPackages: false,
errors: [
'name cannot contain leading or trailing spaces',
'name can only contain URL-friendly characters'
]
}
推荐阅读
- database - 将文本输入数据库的不同选择
- python-3.x - 如何使用递归函数获得最深度的元组?
- shell - Shell awk - 从变量打印位置
- swift - Swift 将 StackView 隐藏到 TableView 中
- c# - .Net核心中带有DBcontext的连接字符串问题
- java - Chrome 不会自动打开网址
- networking - 重新启动后尝试启动时出现“代码:错误的 RIP 值”内核崩溃
- grafana - Promtail 错误流水线阶段必须只包含一个键
- html - 我对 HTML 和 CSS div 高度有疑问
- amazon-web-services - 文件更改的 Amazon S3 通知