ESLint hat in der JS-Community viel Anklang gefunden. WĂ€re eine Migration zu eslint willkommen?
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.
@roblarsen Ich bin total an @amilajacks Seite,
Ich habe einen kurzen Vergleich zwischen den beiden mit einigen Daten gemacht, die ich aus dem Internet gesammelt habe, wenn Sie einen Blick darauf werfen möchten.
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
[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.
https://github.com/h5bp/html5-boilerplate/issues/1913#issuecomment -377298563 (eslint: empfehlen) klingt gut, obwohl ich https://github.com/h5bp/html5-boilerplate/ persönlich bevorzuge
Scherzhaft: https://github.com/christophwitzko/semicolon-indent#semicolon -indent
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.
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.