我有 C# 背景,因此在 Visual Studio 中按 F5 并获得了美妙的调试体验,这让我很开心。
我想进入 OSS,并且当我使用 ESLint 时,我经常想尝试回馈。
我已成功遵循 http://eslint.org/docs/developer-guide/development 环境,但现在陷入困境。
如何通过调试器运行规则,以便设置断点并检查 AST、上下文等?
我认为很多
console.log
的声明并不是前进的方向。
您有很多调试 NodeJS 应用程序的选项。我想到的有 Visual Studio Code、WebStorm、Visual Studio + NodeJS Tools、IronNode、Node Inspector。所有这些都将允许您使用相同的工作流程,按 F5 启动流程并附加到它。但对于 NodeJS,大多数都需要一些配置。 特别是对于 ESLint,调试单元测试有点问题,因为 ESLint 为 DRY 单元测试提供了 Mocha 语法的包装器。最好的选择是将调试器设置为在单个文件上运行 mocha,并在规则代码中设置断点,而不是单元测试本身,因为单元测试只是对象数组,因此您无法在其中添加断点。
通过网络风暴,您可以:
node_modules/eslint/bin/eslint.js file-your-want-to-lint.ts --fix
要调试的自定义规则代码添加
debugger
关键字
使用调试按钮运行新配置(不仅仅是运行)
我使用
eslint-plugin-rulesdir
插件创建自定义规则。
进入 vscode 后,我可以使用简单的 console.log 调试我的规则
规则示例
module.exports = {
meta: {
type: 'problem',
docs: {
description: 'Example,
category: 'Best Practices',
recommended: true,
},
schema: [],
},
create(context) {
return {
TryStatement(node) {
console.log('DEBUG 22', node.block.body);
},
};
},
};
然后您可以按照以下步骤检查您的日志