Novinka: latte-lint – k čemu je dobrý?

motorcb
Člen | 551
+
0
-

Ahoj,

aktualizoval jsem latte a všiml jsem si, že nově přibyly soubory ve složce vendor/bin soubory latte-lint a neon-lint.
Co je s nimi zamýšleno? K čemu jsou dobré?

Díky :-)

David Grudl
Nette Core | 8129
+
0
-

Kontroluje chyby v *.latte a *.neon souborech, viz https://latte.nette.org/cs/develop#…

Semik
Backer | 135
+
0
-

Zdravím,
postupně aktualizuju latte na verzi 3. Nyní mám v aplikaci přechodovou verzi 2.11.6 a řeším postupně co mi latte linter najde.

Nahradil jsem

{ifset #appendJs}
	{block #appendJs}{/block}
{/ifset}

za

{ifset appendJs}
	{block appendJs}{/block}
{/ifset}

Protože mi to hlásilo: Forbidden # inside tag

Nyní mi to ale hlásí: Fatal error: Cannot use isset() on the result of an expression (you can use „null !== expression“ instead) in Standard input code

Jaký je prosím korektní zápis ? Díky.

Marek Bartoš
Nette Blogger | 1167
+
0
-
Semik
Backer | 135
+
0
-

To skončí chybou: Parse error: syntax error, unexpected ‚appendJs‘ (T_STRING), expecting ‚)‘ in Standard input code
Co jsem našel v dokumentaci sem zkoušel, než sem napsal příspěvek.

David Grudl
Nette Core | 8129
+
0
-

Tohle je divné, protože všechny uvedené varianty fungují jak v Latte 2.11, tak v Latte 3.0. Viz https://fiddle.nette.org/latte/#…

Semik
Backer | 135
+
0
-

Případně mohu poskytnou celou šablonu resp. composer pro přidání všech maker do linteru.

David Grudl
Nette Core | 8129
+
0
-

Jo, idealne udelej na githubu repo.

Semik
Backer | 135
+
0
-

Tak už jsem na to přišel, způsobuje to tato registrace makra, kterou nejspíš nemusím dělat, ale šel jsem po všem co nějak rozšiřuje latte:

#!/usr/bin/env php
<?php

// zadejte skutečnou cestu k soubor autoload.php
require __DIR__ . '/../vendor/autoload.php';

$path = $argv[1];

$engine = new Latte\Engine;

Latte\Macros\CoreMacros::install($engine->getCompiler());

$linter = new Latte\Tools\Linter($engine);
$ok = $linter->scanDirectory($path);
exit($ok ? 0 : 1);