草庐IT

javascript - 将 JSHint 规则转换为 Sonar

我们的一些开发组正在使用JSHint来提高代码质量,我们希望采用SonarQube来提高透明度。Sonar解释说他们想在这里维护自己的规则列表:TheSonarway有没有办法轻松地将现有的JSHint规则映射到“Sonarway”等价物?我们想为JS维护一套规则。 最佳答案 这取决于您对映射的理解。JSHint有一个内置规则列表,您的开发人员将启用其中的一些规则。对于他们启用的每条规则,他们需要在SonarQubelistofrules中找到对应的规则。(我建议制作一个共享电子表格,这样查找只需进行一次。)如果有任何规则还没有So

javascript - 如何将全局配置传递给 jshint?

如何将全局配置传递给jshint?我没有在文档中找到答案。我的配置文件:>typetests\jshint_options.js/*jshintglobalstrict:true*/这是我到目前为止尝试过的:>jshintmyfile.js--config=tests\jshint_options.jsmyfile.js:line1,col1,Usethefunctionformof"usestrict".myfile.js:line4,col24,Unescaped'['.myfile.js:line4,col49,Unescaped'['.3errors>jshintmyfile.

javascript - 使用自定义检查扩展 jshint

在Python世界中,有多种静态代码分析工具可以很容易地通过编写插件或扩展来使用自定义检查进行扩展,例如:pylintflake8在JavaScript世界中,据我了解,jshint是静态代码分析的第一工具。我已经使用它一段时间了,它肯定有助于发现很多代码风格违规,但是,最近,我遇到了扩展jshint的需要。带有自定义检查。我怎样才能做到这一点?是否可扩展?我查看了文档,唯一发现的是howtowriteacustomreporter这不是我要找的。作为解决方法,我想我可以forkthejshintrepo,实现检查,并在项目中使用分支维护来自上游的更新。 最

javascript - ES6 模块导出默认语法

我正在使用带有esnext:true选项的es6-module-transpiler、esprima和JSHint。JSHint在我输入时提示:exportdefault={some:'thing',other:'thing'};但是esprima在我使用的时候提示exportdefault{some:'thing',other:'thing'};spec说exportdefaultAssignmentExpression;这让我觉得JSHint需要更新,而esprima正在正常轰炸,因为没有分配。有人可以在这里为我做决定吗? 最佳答案

javascript - JSHint 不允许我在 'forEach' 循环中使用 'for'

我有一个以数组作为值的对象。people={'steve':['foo','bar'],'joe':['baz','boo']}对于每个键,我想遍历相应数组中的值。足够简单:for(varpersoninpeople){person.forEach(function(item){console.log(item)})}但是JSHint提示:Don'tmakefunctionswithinaloop.这真的是我的代码有问题吗?我非常喜欢简短的ES5for循环语法。我是否需要使用ES3样式或以其他方式更改我的代码? 最佳答案 那里有两个

javascript - 标签 "javascript:"会导致任何问题吗?

当JSLint和JSHint遇到标识符与以下正则表达式匹配的标记语句时,它们都会发出警告:/^(?:javascript|jscript|ecmascript|vbscript|mocha|livescript)\s*:/i例如,以下代码片段从JSLint生成一个“JavaScriptURL”警告,并从JSHint生成一个“Label'javascript'lookslikeajavascripturl”警告(函数包装器是不必要的,但JSLint不喜欢带标签的语句不是功能范围的,并引发不同的警告):functionexample(x,y){javascript:while(x){whi

javascript - 我在哪里可以为 jshint 设置 ES6 选项?

我试过:/*jshintesversion:6*/但是在运行grunt时出现错误:这应该是首选方法,因为esnext已被弃用。看这里-http://jshint.com/docs/options/#esnext 最佳答案 您可以在gruntfile.js中设置“esversion”选项,如下所示:jshint:{files:['dist/*.js'],options:{'esversion':6,}}, 关于javascript-我在哪里可以为jshint设置ES6选项?,我们在Stac

Javascript ENUM 模式命名约定

我正在开发一个javascript项目,它需要使用javascript“枚举”,意思是像这样的对象:varWinnerEnum={Player1:1,Player2:2,Draw:0};这对我来说非常有用,但是,我不知道什么是正确的方式(根据惯例)命名枚举,因为据我所知只有类名以大写字母开头(表示能够调用上的构造函数)。JSHint还会输出以下警告:Missing'new'prefixwheninvokingaconstructor.如果没有约定,我希望有一种命名枚举的好方法,不会将它们与类名混淆。2014年更新:JSHint不再这样做。 最佳答案

javascript - 将 @author 的使用视为代码风格违规

目标:如果在项目的.js文件中的任何地方使用了@author标签,则发出警告。问题:jshint或其他静态代码检查工具可以提供帮助吗?如果没有,我有什么选择?描述:我完全同意Paul在Javadoc@authortaggoodpractices上的回答线程并将@author标记视为不必要的噪音。而且,在Python世界中,我看到人们检查标签的使用情况。例如,OpenstackStyleGuidelines明确声明不使用@author标签。他们开发了一套自定义flake8检查,其中包括:[H105]Don’tuseauthortags.现在,我正在尝试用JavaScript解决同样的问题

javascript - 如何关闭 Webstorm 中的 JSHint 错误?

我的文件在测试中出现以下错误:预期是赋值或函数调用,但看到的是表达式。它是从Chai库断言生成的。我怎样才能在Webstorm中关闭它?它使线条变黄并显示警告。 最佳答案 在使用chai时遇到同样的问题,这是为我解决的问题—通过依次点击WebStorm打开PreferencesPreferences搜索,不是赋值的表达式语句禁用检查(见屏幕截图),点击应用并确定 关于javascript-如何关闭Webstorm中的JSHint错误?,我们在StackOverflow上找到一个类似的问题