Ruby on rails 如何让ESLint在Rails应用程序中定位全局符号,而不在代码中添加注释?

Ruby on rails 如何让ESLint在Rails应用程序中定位全局符号,而不在代码中添加注释?,ruby-on-rails,eslint,asset-pipeline,Ruby On Rails,Eslint,Asset Pipeline,我有一个相当普通的Rails 6应用程序仍在使用链轮(而不是Webpack),我们最近开始引入更复杂的JavaScript视图,足以让app/assets/javascripts现在有几个文件以各种方式对代码进行分组 因为我们已经开始编写更多的JavaScript,我们决定引入ESLint——我们已经在Ruby代码中使用RuboCop很长一段时间了,但到目前为止还没有任何JavaScript Lint或标准 这基本上可以正常工作,但有两个问题: ESLint不会检测在一个文件中声明并在另一个文件

我有一个相当普通的Rails 6应用程序仍在使用链轮(而不是Webpack),我们最近开始引入更复杂的JavaScript视图,足以让
app/assets/javascripts
现在有几个文件以各种方式对代码进行分组

因为我们已经开始编写更多的JavaScript,我们决定引入ESLint——我们已经在Ruby代码中使用RuboCop很长一段时间了,但到目前为止还没有任何JavaScript Lint或标准

这基本上可以正常工作,但有两个问题:

  • ESLint不会检测在一个文件中声明并在另一个文件中使用的全局变量,因此这些全局变量在声明文件中失败
    no unused vars
    ,在另一个文件中失败
    no undef

  • ESLint无法检测ERB文件中的调用,因此这些调用失败
    没有未使用的VAR
    ,例如

    <%= radio_button_tag(:myattr, onchange: 'myJSFunc()') %>
    
    有没有更好的方法

  • 让ESLint知道资产管道的全局JavaScript“加载路径”
  • 让ESLint检测ERB文件中的用法

  • 作为参考,我使用以下命令调用ESLint:

    npx-eslint-app/assets/javascripts
    
    下面是我正在使用的
    .eslintrc.yml

    env:
    浏览器:对
    真的吗
    jquery:true
    节点:false
    延伸:
    -标准
    解析选项:
    sourceType:脚本
    规则:{}