Jak rychle provést kontrolu syntaxe souboru JavaScript

Našel jsem tweet od Ingvara Stepanyana, ve kterém sdílel, že Node.js nabízí způsob, jak zkontrolovat, zda je soubor JavaScript syntakticky platný.

To jsou mi novinky! Pojďme se podívat.

Jak zkontrolovat syntaxi JavaScriptu z příkazového řádku

Node.js' --check Tato možnost je dostupná při spuštění souboru JavaScript.

$ node --check some.js

$ node --check some-invalid.js
/Users/stefanjudis/test.js:3
});
^
SyntaxError: Unexpected token }
  at checkScriptSyntax (bootstrap_node.js:457:5)
  at startup (bootstrap_node.js:153:11)
  at bootstrap_node.js:575:3

Příznak příkazového řádku změní binární soubor Node.js na kontrolu syntaxe JavaScriptu, která analyzuje zdrojový kód a hledá neplatnou syntaxi. Node.js v tomto „režimu kontroly“ nespouští žádný kód.

Dokumentace check parametr uvádí následující:

Taková rychlá kontrola syntaxe se může hodit, pokud transformujete kód a chcete se ujistit, že transformace kódu vygenerovala platný JavaScript.

Jak zkontrolovat syntaxi JavaScriptu v JavaScriptu

Při pohledu do --check možnost, také jsem se dozvěděl o vm modul. vm modul je součástí jádra Node.js a můžete jej použít k vyhodnocení/spuštění JavaScriptu v izolovaném prostředí pod vaší kontrolou.

Ano, je to tak, vyhodnoťte a zkontrolujte syntaxi souborů JavaScript z vašich skriptů. Zkontrolujte JavaScript pomocí JavaScriptu , abych tak řekl. 🙈

const vm = require('vm');
const script = new vm.Script('var a =');

// evalmachine.<anonymous>:1
// var a =
// 
// SyntaxError: Unexpected end of input
//    at new Script (node:vm:100:7)

Konstruktor vm.Script vyvolá výjimku, pokud jsou v zadaném řetězci kódu JavaScript nějaké syntaktické chyby.

--check a vm modul vypadá docela zajímavě! Pokud tedy generujete nebo transformujete kód, zahrňte a vytvořte si s nimi vlastní kontrolu syntaxe JavaScriptu. Bavte se!;)