Ich möchte einige JavaScript-Code für syntaktische Korrektheit validieren, aber ohne eine bestimmte Codierung-Stil für den Benutzer zu erzwingen.Validieren Sie JavaScript-Code, ohne einen bestimmten Stil zu erzwingen
Meine erste Annäherung war, esvalidate
zu verwenden, die mit esprima
enthalten wird. Dies macht die Arbeit teilweise, da sie unerwartete Token erkennt, wie zum Beispiel:
constx foo = {};
Was sie tut nicht erkennen unter anderem Verwendung von Variablen ist, die nie erklärt worden, wie zum Beispiel:
const foox = {
bar() {}
};
foo.bar();
Ein Tool wie eslint
würde dies erkennen, aber es ist sehr schwierig, ESLint so zu konfigurieren, dass kein bestimmter Stil für den Benutzer durchgesetzt wird (ich sage nicht, dass es nicht möglich ist, ich sage nur, dass es seitdem sehr viel Arbeit ist Sie müssen jede einzelne Regel überprüfen und entscheiden, ob sie aktiviert und deaktiviert werden soll, und mit Hunderten von Regeln ist das ... ja, naja, eine Menge Arbeit).
Welche anderen Optionen habe ich? Wie kann ich den Code ohne diesen Aufwand validieren?
Übrigens: Was möchte ich hier validieren? Es ist nicht die Syntax (ich meine, syntaktisch, alles ist in Ordnung, es macht einfach keinen Sinn), aber es ist auch nicht die Semantik. Was wäre der richtige Begriff für diese Art von Schecks?
Es gibt auch [jshint] (http://jshint.com/). Zumindest sind jshint und eslint in hohem Grade konfigurierbar. –
Das stimmt, aber im Grunde habe ich hier das gleiche Problem (okay, es gibt in JSHint weniger Regeln als in ESLint). Aber vielleicht ist die Verwendung eines Linters der völlig falsche Ansatz? Bitte beachten Sie, dass ich nicht nach einem bestimmten Tool suche. Ich wäre eher daran interessiert, wie Sie das nennen, was ich gerne mache, damit ich selbst im Internet suchen kann. (Okay, tbh, wenn jemand mit einem Tool kommt, das genau das tut, was ich brauche, werde ich nicht "nein" sagen ;-)) –
Validatoren wie eslint arbeiten, indem sie Regeln durchsetzen. Sie können entweder mit sehr strengen (Standard), etwas strengen (xo) oder einem benutzerdefinierten Satz von nicht so strengen Regeln gehen. Sie können Code auch mit babel transpilieren und es wird ungültigen Code werfen. –