去年,我们向社区征求意见,了解他们作为第三方节点的“用户”和“创建者”所遇到的困扰。其中一个常见的主题是,仅仅通过查看 Flow Library 页面,很难判断一个节点的质量。
根据这些反馈,我们现在推出 Node 评分卡。
评分卡总结了节点在多个方面的表现,例如是否遵循我们的命名指南,是否应用了有效的许可证,以及是否与库中的其他包冲突。
当我们首次推出 Flow Library 时,我们选择不充当共享内容的“把关人”,除了对节点进行一些非常基本的检查。评分卡并没有改变这一点,但它确实有助于突出节点可能需要额外工作才能满足推荐的最佳实践。
我们已经对 Flow Library 的新提交运行该工具几个月了,因此许多最近更新的节点都有评分卡。您现在将在节点库页面侧边栏中看到一个“查看评分卡”链接,以及评分卡摘要。
点击进去会显示评分卡的更详细视图——列出所有已进行的检查。您可以通过点击右侧的“i”链接了解每个检查的目的。
更改我们推荐的命名约定
作为改进 Flow Library 整体质量工作的一部分,我们正在更改 节点模块的命名指南。
以前,我们要求如果模块名称以 node-red-
开头,则应使用 node-red-contrib-
来区分它与核心项目维护的模块。
我们现在建议“新发布”的模块使用 作用域名称——例如 @myScope/node-red-sample
。这可以是您自己的用户作用域,也可以是组织作用域。
如果您使用作用域名称,则对名称没有进一步的要求。您可以使用 @myScope/node-red-sample
或仅使用 @myScope/sample
——尽管名称中包含 node-red
有助于将模块与项目关联起来。
如果您正在分叉现有包以提供修复,您可以保留相同的名称,但以您自己的作用域发布。但请记住,如果原始维护者对您的贡献没有响应,分叉应始终是最后的手段。
我们不会要求任何人根据此新命名约定重新发布其现有模块,但评分卡会从今天起标记任何不遵循此新约定的新添加模块。
Node 开发者
评分卡背后的工具是 node-red-dev
——一个全新的命令行工具,开发者可以在本地针对自己的代码运行,以在发布到 npm 之前检查任何可能的问题。许多检查都是快速且易于修复的——最好在与社区共享之前就完成。
您可以使用相应的标志,在本地计算机上的路径上或针对已发布到 npm 的包运行该工具,您将在控制台中获得结果。
未来
这是改善我们节点生态系统质量的第一步,随着时间的推移,我们将在评分卡中添加更多检查。它目前不检查节点的代码,但这无疑是可以探索的。
node-red-dev
除了评分卡检查之外,还可以为 Node 开发者做更多事情。例如,使用它来引导新节点模块的开发,并预先应用所有最佳实践。
如果您有兴趣为此做出贡献,请务必到 论坛 与我们交流。