ESLint默认忽略点目录子文件,如何解决检测警告问题?
解决ALE/VIM搭配ESLint时的文件忽略警告问题
问题现象
使用ALE/VIM配合ESLint时,频繁收到以下警告:
0:0 warning File ignored by default. Use a negated ignore pattern (like "--ignore-pattern '!<relative/path/to/filename>'") to override
ALE会切换到用户主目录执行ESLint命令,例如编辑~/tmp/.test/foo.js时,执行的命令如下:
/bin/bash -c cd /home/user && \ /home/user/node_modules/eslint/bin/eslint.js -f json --stdin \ --stdin-filename /home/user/tmp/.test/foo.js < /tmp/v7TXBK0/4/foo.js
可通过以下终端命令复现该问题:
~$ npx eslint tmp/.test/foo.js # 或 ~$ node_modules/eslint/bin/eslint.js tmp/.test/foo.js
尝试过的无效操作
在~/tmp/.test/目录下添加.eslintrc.js并配置:
"ignorePatterns": [ "!foo.js" ],
以及其他类似变体配置后,警告依然存在,ESLint也停止解析文件。
开启--debug标志查看详情,发现路径已被加入忽略列表,输出如下:
eslintrc:ignore-pattern processed: { basePath: '/home/user', patterns: [ '/**/node_modules/*', '!/tmp/.test/**/foo.js' ] } eslintrc:ignore-pattern Check { filePath: '/home/user/tmp/.test/foo.js', dot: false, relativePath: 'tmp/.test/foo.js', result: true }
补充:直接在目标目录(如~/tmp/.test/)下运行ESLint,文件可被正常解析。实际项目中的文件位于更深的目录结构,例如~/.dir/sub1/sub2/*。
寻求解决方案
如何配置才能让ESLint正常解析这类文件?
内容的提问来源于stack exchange,提问作者Err488
相关产品推荐
相关产品推荐

