cmder (<invalid_name> @ <invalid_version>)

Fehlen in der package.json die Properties „name“ und „version“ erzeugt Cmder hinter dem Clink-Promt diese seltsame Ausgabe. Ok, eine Art von Validierung ist schon ok, aber muss das die Konsole übernehmen?

Meiner Meinung nach reicht es aus, den Namen und die Version des Moduls auszugeben, wenn dieser auch angegeben wurde. Cmder v1.2.9 erzeugt dieses Promt in der npm.lua, welche unter vendor/clink-completions zu finden ist.

Mit dem folgenden Gist kann die Ausgabe der Funktion npm_promt_filter() so angepasst werden, dass bei Fehlen der beiden Properties auch nichts ausgegeben wird.

Achtung, in Cmder v1.3.0-pre ist die Sache irgendwie unsauber gelöst, denn wird ein Name und eine Versionsnummer angegeben taucht sie zweimal im Prompt auf.

Denn die Funktion gibt es immer noch in der npm.lua, aber clink selbst scheint die Funktionalität komplett selbst auch nochmal zu übernehmen. Existiert ein name- und oder version-Property wird das auch im Prompt angezeigt. Ist es nicht angegeben wird – wie gewünscht – auch nichts ausgegeben.

Somit muss die letzte Zeile in der npm.lua einfach auskommentiert werden oder die ganze Funkton gelöscht und der Aufruf gleich mit.

--clink.prompt.register_filter(npm_prompt_filter, 40)

Nach den Anpassungen muss Cmder einmal neu gestartet werden, damit die Änderungen Wirkung zeigen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.