如何配置MSDO的ESLint扫描复现正确命令行输出并解决空引用错误?
Microsoft Security DevOps (MSDO) ESLint配置问题及标签创建求助
需求背景
我正尝试配置MSDO的ESLint扫描,希望复现无自定义配置时生成的以下命令行作为起点:
D:\a\_msdo\packages\node_modules\eslint\eslint.cmd --no-eslintrc --config D:\a\_msdo\packages\node_modules\eslint/node_modules/@microsoft/eslint-plugin-sdl/config/required.js --ext .js --ext .ts --ignore-pattern *.d.ts --format D:\a\_msdo\packages\node_modules\eslint\node_modules\@microsoft\eslint-formatter-sarif\sarif.js --output-file D:\a\1\s\.gdn\.r\eslint\001\eslint.sarif **/*.{js,ts}
当前配置及报错
我使用了如下配置,但MSDO配置项与命令行参数的对应关系不清晰:
注意:当前配置的JSON存在语法错误——"ExclusionsFilePath": "$(BuildSourcesDirectory)/.eslintignore"末尾缺少逗号,这可能是触发NullReferenceException的直接原因。
{ "tools": [ { "tool": { "name": "ESLint", "version": "Latest" }, "arguments": { "DisableDefaultConfigurationFile": true, "ResolvePluginsRelativeTo": "", "ConfigurationFile": "D:\\a\\_msdo\\packages\\node_modules\\eslint/node_modules/@microsoft/eslint-plugin-sdl/config/required.js", "Environments": "", "Extensions": [".js", ".ts"], "Globals": "", "Parser": "", "ParserOptions": "", "AdditionalRulesDirectories": "", "Plugins": "", "Rules": "", "Fix": "", "FixDryRun": "", "FixTypes": "", "ExclusionsFilePath": "$(BuildSourcesDirectory)/.eslintignore", "DisableExclusions": "", "ExclusionPatterns": "*.d.ts", "Quiet": "", "MaxWarnings": "", "ExitOnFatalError": "", "OutputFile": "D:\\a\\1\\s\\.gdn\\.r\\eslint\\001\\eslint.sarif", "OutputFormat": "D:\\a\\_msdo\\packages\\node_modules\\eslint\\node_modules\\@microsoft\\eslint-formatter-sarif\\sarif.js", "DisableInlineConfig": "", "ReportUnusedDisableDirectives": "", "Cache": "", "CacheLocation": "", "Debug": "", "Help": "", "Targets": "**/*.{js,ts}" } } ] }
执行后出现错误:
##[error]NullReferenceException: Object reference not set to an instance of an object.
##[error]MSDO CLI exited with an error exit code: 1
求助内容
- 指导如何通过配置实现预期的命令行输出效果
- 解决无法创建并应用microsoft-security-devops标签的问题
内容的提问来源于stack exchange,提问作者Lincoln Lourens
相关产品推荐
相关产品推荐

