Html5-boilerplate: RFC:迁移到ESLint

创建于 2016-12-31  ·  19评论  ·  资料来源: h5bp/html5-boilerplate

ESLint在JS社区中获得了很大的关注。 迁移到eslint会受到欢迎吗?

awaiting feedback backlog help wanted

最有用的评论

多谢你们。 那太好了。 还有其他人想进来吗?

@amilajack感谢您提供给PR。 真的很感激。

所有19条评论

任何人? 我满足于保持现状。 ESLint很棒,但是我需要说服进行更改(然后有人必须在PR中进行更改。)我将再开放一周,如果没有任何操作,我将关闭。

我可以为此做公关。 ESLint可以说是javascript生态系统中使用最广泛的工具之一。

http://www.npmtrends.com/eslint-vs-jshint

screen shot 2017-03-18 at 11 04 30 am

多谢你们。 那太好了。 还有其他人想进来吗?

@amilajack感谢您提供给PR。 真的很感激。

@roblarsen不客气!
@amilajack如果您需要任何帮助,请随时告诉我。 :construction_worker:

@amilajack您还在为此工作吗?

@ryzokuken我需要看一下开放式PR,然后合并。#1930

我建议您研究一下Standard ,它是ESLint之上的新增功能,并且非常受欢迎。 坦白地说,使用它可以最终停止维护ESLint配置,这是一种缓解。

@ArmorDarks即使我喜欢Standard样式,但强制他人遵循它也不是一件好事。 尤其是没有太多知识或经验的开发人员,因为他们的代码可能会导致意外的运行时错误并引起进一步的问题,甚至导致项目问题数量增加。

尽管我喜欢编程语言的灵活性,但这种福利是有代价的,问题是我们是否愿意为此付出代价。 更严格的规则几乎总是使代码更易于理解,因此即使项目不断发展也变得更加可靠。

此外,以Airbnb的JavaScript样式指南为例,分号赢得了广泛的欢迎:GitHub上最知名的存储库之一,NPM上的下载量更高。[1] [2] [3] [4]

另外,我们将需要更新所有JavaScript文件,因为它们都已经使用了分号。[5] [6]

因此,我认为这个主题不值得一成不变

参考文献:

[1] https://github.com/airbnb/javascript
[2] https://www.npmjs.com/package/eslint-config-airbnb-base
[3] https://www.npmjs.com/package/eslint-config-airbnb
[4] https://www.npmjs.com/package/eslint-config-standard
[5] https://github.com/h5bp/html5-boilerplate/blob/master/gulpfile.babel.js
[6] https://github.com/h5bp/html5-boilerplate/blob/master/src/js/plugins.js

无论如何,一切都会归结为代码风格的争议。 我只是在提出经过考验的替代方案。

顺便说一句,我要强调一点,无论使用什么选项样板(无论是带有项目自己规则的ESLint,还是流行的ESLint配置,例如airbnb,还是标准),_它都会强制用户遵循以下内容。 因此,这仅取决于要严格执行的内容。

在这一点上,我想切换到eslint,并尽可能减少干扰。 这包括废除我们已有的现有规则,而没有至少讨论什么新规则(这就是为什么eslint的现有PR是DOA的原因)。

例如,我将死在分号的小山上。

注意:规则集的实际使用者仅限于维护者和认真创建PR并实际测试其代码的任何人。 我们不会在dist中运送eslintrc 。 就该项目而言,真正的好处是我们做到了,并且可以作为一个好的Web开发人员看起来像的例子。

例如,我将死在分号的小山上。

您知道,使用正则表达式只是几招。 但是对于某些人是否使用它们似乎确实是一个痛苦的主题。

我们不会在远方运送eslintrc。 就该项目而言,真正的好处是我们可以做到,并且可以作为优秀的Web开发人员应该长什么样的示例。

但是,您附带了JS代码,该代码将包含在其他项目中,稍后将被替换,人们将被迫或对其进行编辑以使其符合自己的规则,或使用HTML5Boilerplate规则。 这就是为什么JS应该尽可能地接近JS社区标准,并且我认为不可避免地需要对规则和代码样式进行一些必要的更改。 并不是真正的问题,使用--fix Standard和ESLint将自动修复大部分引入的规则错误。

真正的问题是在JS世界中应该考虑社区标准。

好点。 值得提醒的是,即使我们运送的少量JS对下游的影响也是如此。

并且澄清一下,我不反对进行更改。 我不想做的是不经讨论就进行批量更改(因此感谢您参与讨论👍)虽然我非常想现在就发布6.0,但我通常不急于进行更改除非他们是正确的更改,否则在这里。

一种选择是应用eslint:recommended配置,该

在这种情况下,我建议添加的唯一与样式相关的规则是.editorconfig :无尾随空格,4个空格缩进和最终换行符。

4个空格缩进

仅作为参考,不再使用4个空格缩进的流行代码样式。

虽然我个人偏爱https://github.com/h5bp/html5-boilerplate/ ,但https://github.com/h5bp/html5-boilerplate/issues/1913#issuecomment -377298563(eslint:recommend)听起来不错。 issue / 1913#issuecomment -318050971(StandardJS)。

开玩笑地: https :

我也支持Standard,因为它们不仅通过社区验证保持了良好的配置,而且还在ESLint之上提供了经过测试的出色添加。

但是为了公平起见,我还应该提到Prettier 。 虽然,我的投票仍然代表标准。

提早讨论中的提醒

例如,我将死在分号的小山上。

想象一下,它尚存在游戏中,就像我们在2005年决定使用制表符还是空格一样。

顺便说一句,值得一提的是关于Prettier的东西-它应该与良好的ESLint配置搭配使用,因为大多数Prettier维护的都是代码样式,而ESLint配置(尤其是Standard的配置)也涵盖了许多非风格的好习惯。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

necolas picture necolas  ·  44评论

alrra picture alrra  ·  18评论

tomasz1986 picture tomasz1986  ·  5评论

roblarsen picture roblarsen  ·  5评论

coliff picture coliff  ·  10评论