如何使eslint检测JSON文件中的规则冲突?

时间:2019-02-15 13:30:17

标签: javascript coding-style eslint lint

下面看到我的.eslintrc文件,其中包含需要应用于.json文件的规则。

#toggle:checked ~ div.sidebar {
    display: none;
}

.sidebar {
  width: 100px;
  height: 100px;
  background: #000;
}

该规则实际上在项目中的任何地方都有效,除了.json文件。

我尝试使用“ eslint-plugin-json”和其他几个模块,但是它们只是不起作用。

请不要提供诸如“改用jsonlint等等”之类的解决方案,该项目中用于linting的模块为eslint。

2 个答案:

答案 0 :(得分:1)

如果我理解正确,则大多数情况下JSON文件的JavaScript语法无效:大括号{}被解析为带有语句的块,并且解析错误Unexpected token :出现在第一个{{1}对。因此,我不确定使用ESLint是否可以实现这一点(ESLint根据定义检查JavaScript)。

不过,您可以尝试类似key: value之类的东西。

但是,echo "(`cat test.json`)" | eslint --stdin特别不能在这里应用:ESlint似乎忽略了带引号的键,并且您不能在JSON中使用未带引号的键。

答案 1 :(得分:0)

我选择了eslint-plugin-json的替代方法,因为它对我不起作用并且没有自动修复功能-eslint-plugin-json-format

它还将(可选)为您对package.json进行排序

eslint --ext .json,.js . --fix