Html5-boilerplate: RFC: Migration zu ESLint

Erstellt am 31. Dez. 2016  Â·  19Kommentare  Â·  Quelle: h5bp/html5-boilerplate

ESLint hat in der JS-Community viel Anklang gefunden. WĂ€re eine Migration zu eslint willkommen?

awaiting feedback backlog help wanted

Hilfreichster Kommentar

Danke Leute. Das ist tolles Zeug. Möchte noch jemand mitmachen?

@amilajack danke fĂŒr das Angebot an PR. Es wird wirklich geschĂ€tzt.

Alle 19 Kommentare

Jemand? Ich bin zufrieden, den Status Quo zu verlassen. ESLint ist großartig, aber ich muss ĂŒberzeugt sein, um die Änderung vorzunehmen (und dann mĂŒsste jemand die Änderung in einer PR vornehmen). Ich werde dies fĂŒr eine weitere Woche offen lassen und wenn es keine Aktion gibt, werde ich schließen.

Ich kann PR dafĂŒr. ESLint ist wohl eines der am hĂ€ufigsten verwendeten Tools im Javascript-Ökosystem.

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

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

Danke Leute. Das ist tolles Zeug. Möchte noch jemand mitmachen?

@amilajack danke fĂŒr das Angebot an PR. Es wird wirklich geschĂ€tzt.

@roblarsen Gern geschehen !
@amilajack FĂŒhlen Sie sich frei, mir eine Nachricht zu

@amilajack Arbeitest du noch daran?

@ryzokuken Es gibt eine offene PR, die ich mir ansehen und zusammenfĂŒhren muss. # 1930

Ich wĂŒrde empfehlen, sich Standard anzuschauen, der zusĂ€tzlich zu ESLint verfĂŒgbar ist und sehr beliebt ist. Um ehrlich zu sein, ist es eine Erleichterung, die Wartung von ESLint-Konfigurationen endgĂŒltig einzustellen ...

@ArmorDarks Obwohl ich den Standardstil mag, finde ich es nicht gut, andere dazu zu

So sehr ich die FlexibilitÀt der Programmiersprache mag, hat ein solcher Vorteil seinen Preis, und die Frage ist, ob wir bereit sind, diesen Preis zu zahlen. Strengere Regeln machen den Code fast immer verstÀndlicher und damit zuverlÀssiger, selbst wenn das Projekt wÀchst.

DarĂŒber hinaus gewinnen Semikolons durch Beliebtheit, wobei der JavaScript-Styleguide von Airbnb als Beispiel dient: eines der am hĂ€ufigsten markierten Repositories auf GitHub und höhere Download-Nummern auf NPM. [1] [2] [3] [4]

Außerdem mĂŒssten wir alle JavaScript-Dateien aktualisieren, da alle bereits Semikolons verwenden. [5] [6]

Daher glaube ich nicht, dass dieses Thema das Bikeshedding wert

Verweise:

[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

Das alles wird sowieso auf Codestyle-Streitigkeiten hinauslaufen. Ich schlage nur eine kampferprobte Alternative vor.

Übrigens sollte ich hervorheben, dass unabhĂ€ngig davon, mit welcher Option das Boilerplate verwendet wird (sei es ESLint mit projektspezifischen Regeln, sei es die beliebte ESLint-Konfiguration wie Airbnb oder Standard), es den Benutzern ohnehin etwas aufzwingen wird, dem sie folgen mĂŒssen. Es geht also nur darum, was genau durchgesetzt wird.

An dieser Stelle möchte ich mit möglichst geringer Unterbrechung auf eslint umsteigen. Dazu gehört, dass wir die bestehenden Regeln, die wir im Großhandel eingefĂŒhrt haben, wegblasen, ohne zumindest darĂŒber zu diskutieren, wie neue Regeln aussehen sollten (weshalb die bestehende PR fĂŒr eslint DOA ist).

Ich werde zum Beispiel auf dem HĂŒgel der Semikolons sterben.

Als Hinweis: Die tatsĂ€chlichen Konsumenten des Regelsatzes sind auf die Betreuer und alle beschrĂ€nkt, die gewissenhaft PRs erstellen und ihren Code tatsĂ€chlich testen. Wir werden keine eslintrc in der Ferne versenden. Der eigentliche Vorteil in Bezug auf das Projekt ist, dass wir es tun und als Beispiel dafĂŒr dienen können, wie ein guter Webentwickler aussehen sollte.

Ich werde zum Beispiel auf dem HĂŒgel der Semikolons sterben.

Das sind nur ein paar Striche mit Regex, wissen Sie. Aber ob man sie fĂŒr manche Leute benutzt oder nicht, scheint tatsĂ€chlich ein schmerzhaftes Thema zu sein ...

Wir werden keine Eslintrc in der Ferne versenden. Der eigentliche Vorteil des Projekts besteht darin, dass wir es tun und als Beispiel dafĂŒr dienen können, wie ein guter Webentwickler aussehen sollte.

Sie versenden jedoch den JS-Code, der in anderen Projekten enthalten sein wird, die spĂ€ter fusselig werden, und die Benutzer werden gezwungen, ihn entsprechend ihren Regeln zu bearbeiten oder HTML5Boilerplate-Regeln zu verwenden. Aus diesem Grund sollte JS so nah wie möglich an den Standards der JS-Community sein, und ich denke, dass es unvermeidlich ist, einige notwendige Änderungen an Regeln und Codestyle vorzunehmen. Und eigentlich nicht so problematisch - Standard und ESLint mit --fix beheben automatisch den grĂ¶ĂŸten Teil des eingefĂŒhrten Regelfehlers.

Das eigentliche Problem ist, was als Community-Standard in der JS-Welt zu beachten ist.

Gute Argumente. Es ist gut, an die Downstream-Effekte selbst der geringen Menge an JS erinnert zu werden, die wir versenden.

Und um zu verdeutlichen, bin ich nicht gegen Änderungen. Was ich nicht tun möchte, ist, umfassende Änderungen ohne Diskussion vorzunehmen (also danke, dass Sie Teil der Diskussion sind 👍). Obwohl ich ziemlich verzweifelt bin, 6.0 jetzt aus der TĂŒr zu bekommen, bin ich im Allgemeinen nicht in der Eile, Änderungen vorzunehmen hier, es sei denn, sie sind die richtigen Änderungen.

Eine Möglichkeit besteht darin, die Konfiguration eslint:recommended anzuwenden, die hĂ€ufig auftretende Probleme meldet, aber keine stilistischen PrĂ€ferenzen auferlegt. In diesem Fall wĂŒrde ESLint nur dazu dienen, Fehler und Bugs zu vermeiden. Es ist wirklich eine Art minimale Konfiguration mit gesundem Menschenverstand.

Die einzigen stilbezogenen Regeln, die ich in diesem Fall hinzufĂŒgen möchte, sind die in Ihrem .editorconfig : keine nachgestellten Leerzeichen, 4 LeerzeicheneinrĂŒckungen und endgĂŒltigen ZeilenumbrĂŒche.

4 Leerzeichen

Nur zur Information, keiner der gĂ€ngigen Codestile mit 4 Leerzeichen wird mehr eingerĂŒckt.

Ich bin auch bei Standard, weil sie nicht nur eine gute Konfiguration mit Validierung durch die Community beibehalten, sondern auch exzellente getestete ErgÀnzungen zusÀtzlich zu ESLint liefern.

Aber nur um fair zu sein, sollte ich auch Prettier erwĂ€hnen. Meine Stimme steht jedoch immer noch fĂŒr Standard.

Erinnerung von frĂŒher in der Diskussion

Ich werde zum Beispiel auf dem HĂŒgel der Semikolons sterben.

Stellen Sie sich vor, es ist ein ĂŒberlebendes Spiel und wir entscheiden uns wie im Jahr 2005 fĂŒr Tabs gegen Leerzeichen.

Übrigens, erwĂ€hnenswert ist die Sache mit Prettier - es sollte mit einer guten ESLint-Konfiguration kombiniert werden, da Prettier hauptsĂ€chlich Code-Stil beibehĂ€lt, wĂ€hrend ESLint-Konfigurationen (und insbesondere die von Standard) auch viele nicht-stilistische gute oder schlechte Praktiken abdecken.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen