问题标签 [eslint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
legacy - eslint 'legacy' 规则会被终止吗?
为什么某些规则(如 max-params 和 max-statements)在http://eslint.org/docs/rules/中被归类为“遗留” 。它们会被弃用吗?他们会改变吗?
javascript - 将@author 的使用视为违反代码风格
目标:
如果在项目文件中的@author
任何位置使用标签,则会发出警告。.js
问题:
它jshint
或其他静态代码检查工具可以提供帮助吗?如果没有,我有什么选择?
描述:
我完全同意 Paul 在Javadoc @author tag good practice thread 上的回答,并将@author
tag 视为不必要的噪音。
而且,在 Python 世界中,我看到人们检查标签的使用情况。例如,Openstack Style Guidelines
明确声明不使用@author
标签。他们开发了一套自定义flake8
检查,其中包括:
现在,我正在尝试在 JavaScript 中解决同样的问题。
示例(这不应通过代码质量检查):
javascript - 带有 syntastic 和 eslint 的 vim:显示警告
我将 Vim 与syntastic插件和 eslint 一起使用。
当我保存一个 JavaScript 文件时,我可以看到错误出现得很好,但我无法显示警告。
这是我的 .vimrc 中的内容:
让 g:syntastic_javascript_checkers = ['eslint']
我安装了 eslint:
npm 安装 eslint -g
我正在运行 Linux Mint 17
如何让警告出现?
javascript - 关闭特定行的 eslint 规则
为了关闭 JSHint 中特定行的 linting 规则,我们使用以下规则:
我一直在尝试为 eslint 找到上述内容的等价物。
javascript - 如何让本地 eslint 插件与本地安装的 eslint 一起工作
根据文档,如果它们是名为“eslint-plugin-”的 npm 模块,插件应该可以工作
所以,我们做一个新项目
生产
将配置更改为
也不
也不
也不
也不
不修复它
如何使用本地安装的 eslint 插件?
javascript - 强制执行延迟控制器逻辑
我们正在尝试应用 John Papa 的AngularJS 样式指南中列出的指南。
我们开始遵循的规则之一是延迟控制器逻辑:
通过委托给服务和工厂来延迟控制器中的逻辑。
为什么?:当放置在服务中并通过函数公开时,逻辑可以被多个控制器重用。
为什么?:服务中的逻辑更容易在单元测试中被隔离,而控制器中的调用逻辑更容易被mock。
为什么?:从控制器中删除依赖项并隐藏实现细节。
这是我们过去通过将数据检索逻辑放入控制器而不是将其隔离在服务中而违反的。
现在我想让规则尽可能严格。理想情况下,如果配置的服务之一作为依赖项传递给控制器,我希望 Angular 抛出错误。它是可以在角度级别上解决的问题,还是我应该尝试单独解决它 - 例如,使用自定义ESlint
规则静态地解决?
将不胜感激任何见解或提示。
特别是,以下控制器违反了规则,因为它直接使用$http
服务:
另外,如果我对代码质量过度关注/疯狂,请告诉我:)
javascript - 使用 npm 作为任务运行器/构建工具 - 某些 cli 模块存在问题
阅读本文后,我正在尝试使用 npm 作为任务运行器/构建工具:
虽然我取得了一些成功,但我仍然坚持一件事。在运行 JSLINT、JSHINT 或 ESLINT 等命令行全局工具时,npm 将始终在控制台窗口中显示 Exit 1 代码:
如您所见,该命令运行良好,但 npm 将其视为错误并显示错误日志信息。这是正常的和/或有没有办法为特定命令关闭它?
附加信息:这是我的 package.json 配置中的脚本块:
“脚本”:{“开始”:“节点./src/server/index.js”,“测试”:“”,“lint”:“eslint index.js”}
然后从 npm cli 我输入:
这将执行 package.json 文件中带有标签的脚本:'lint'
vim - 如何根据根目录中文件的存在情况使 Syntastic 加载不同的检查器?
在工作中,我们使用的语法检查器与我在从事开源工作时使用的语法检查器不同。有没有办法Syntastic
指定默认检查器,如果rc
在项目根目录中找到文件,则更改检查器?
示例:如果.eslintrc
找到使用eslint
. 如果没有.eslintrc
找到,请使用standard
.
谢谢!
编辑:还在scrooloose/syntastic上打开了一个问题。
webstorm - WebStorm 中的 ESLint
有没有人遇到过 ESLint 没有在 WebStorm 中加载的问题?我正在尝试指定路径/usr/local/bin/eslint
,,/usr/local/bin
每次收到这样的信息:
或no such directory
留言。
emacs - 编辑来自特定项目的文件时,在 emacs 上使用 flycheck 和 eslint
通常,在 emacs 上编辑 JavaScript 时,我使用 flycheck 和 jshint 来检查语法错误。所以我在全局安装了 jshint,并在.emacs
文件中使用以下命令在 js-mode 中使用 flycheck:
但我也参与了一个项目,他们使用 eslint 来定义语法规则。我.dir-locals.el
在那个项目文件夹中有一个文件,目前只定义了所需的表格:
是否有可能,也许在.dir-locals.el
文件的帮助下,告诉 emacs 在这个特定的项目文件夹中使用 flycheck 和 eslint,同时在其余项目中继续使用 flycheck 和 jshint?我听说以下几行应该可以解决从 jshint 切换到 eslint 的技巧,但我不完全确定在哪里添加它们:
(你可以猜到,我不擅长设置 emacs,所以我将非常感谢具体的指导。)