Bonsoir,
JSLint vient par défaut avec un script pouvant être exécuté dans WindowsScriptHost (WSH), mais rien pour Ubuntu. Voici donc la démarche à suivre pour cet environnement.
Pour JSLint sous Ubuntu : installez Seed (un interpréteur JavaScript) de préférence (évitez GJS, qui n'est apparemment plus maintenu sérieusement).
Récupérez le source de JSLint sur GitHub : douglascrockford / JSLint.
Renommez éventuellement le fichier fulljslint.js en jslint.js.
Ouvrez jslint.js dans votre éditeur, et ajoutez-y à la fin :
Pour le lancez depuis la CLI (ligne de commande) :
Si aucune erreur, alors rien n'est affiché sur la sortie et code de sortie = 0.
Si erreur d'exécution brute, alors code de sortie = 1.
Si erreur dans le fichier JavaScript à vérifier, alors code de sortie = 2 et le format des messages est le suivant : "<chemin-du-fichier>":<numero-ligne>: <message>
Si les guillemets autour du chemin vous gêne, éditez le ce qu'il vous est indiqué d'ajouter plus haut.
Pour passer des options à JSLint, utilisez les commentaires de configuration, que vous placerez par exemple en entête de votre source. Exemple :
Modifié par hibou57 (26 Mar 2011 - 20:18)
JSLint vient par défaut avec un script pouvant être exécuté dans WindowsScriptHost (WSH), mais rien pour Ubuntu. Voici donc la démarche à suivre pour cet environnement.
Pour JSLint sous Ubuntu : installez Seed (un interpréteur JavaScript) de préférence (évitez GJS, qui n'est apparemment plus maintenu sérieusement).
Récupérez le source de JSLint sur GitHub : douglascrockford / JSLint.
Renommez éventuellement le fichier fulljslint.js en jslint.js.
Ouvrez jslint.js dans votre éditeur, et ajoutez-y à la fin :
// ------------------------------------------------------------------
// Questions and comments about what follows: yannick_duchene( at )yahoo.fr
var IO = imports.gi.Gio;
function main ()
{
var ignored;
var programName;
var path;
var file;
var text;
var result;
var i;
var error;
var message;
ignored = Seed.argv[0];
// This is just the name of the Seed interpreter
programName = Seed.argv[1];
// This is the name of the JSLint script passed as an
// argument to the Seed interpreter.
if (Seed.argv.length !== 3) {
Seed.printf (
"\"%s\" expects exactly one argument, " +
"which is a path to a file.",
programName);
Seed.quit (1);
}
path = Seed.argv[2];
file = IO.file_new_for_path (path);
if (!file.query_exists ()) {
Seed.printf ("File \"%s\" does not exist.", path);
Seed.quit (1);
}
try {
text = file.read().get_contents();
} catch (error) {
Seed.printf ("Content of \"%s\" could not be read.", path);
Seed.printf ("Error: %s.", error);
Seed.quit (1);
}
result = JSLINT (text, "");
if ((result === 1) || (result === true)) {
Seed.quit (0);
}
else {
for (i in JSLINT.errors) {
error = JSLINT.errors[ i ];
if (error === null) {
message = "Fatal error";
}
else {
message = "\"" + path + "\"";
message = message + ":" + error.line;
//message = message + ":" + error.character;
message = message + ": " + error.reason;
}
print (message);
}
Seed.quit (2);
}
}
main ();
Pour le lancez depuis la CLI (ligne de commande) :
seed <chemin-du-script-jslint> <chemin-du-fichier-à-vérifier>
Si aucune erreur, alors rien n'est affiché sur la sortie et code de sortie = 0.
Si erreur d'exécution brute, alors code de sortie = 1.
Si erreur dans le fichier JavaScript à vérifier, alors code de sortie = 2 et le format des messages est le suivant : "<chemin-du-fichier>":<numero-ligne>: <message>
Si les guillemets autour du chemin vous gêne, éditez le ce qu'il vous est indiqué d'ajouter plus haut.
Pour passer des options à JSLint, utilisez les commentaires de configuration, que vous placerez par exemple en entête de votre source. Exemple :
// JSLint configuration.
// Do not remove.
/*jslint adsafe:false */
/*jslint bitwise:true */
/*jslint browser:false */
/*jslint debug:false */
/*jslint eqeqeq:true */
/*jslint evil:false */
/*jslint forin:true */
/*jslint nomen:false */
/*jslint plusplus:true */
/*jslint undef:true */
/*global document */
/*global self */
/*global window */
Modifié par hibou57 (26 Mar 2011 - 20:18)