DEV Community

loading...

Linting Jinja Templates using Sparrow plugin jinjalint

melezhik profile image Alexey Melezhik ・1 min read

Meet new Sparrow plugin jinjalint to lint jinja templates.


Let's get started!

Setup a tom task

$ tom --edit jinja-lint
Enter fullscreen mode Exit fullscreen mode
task-run "lint my code", "jinjalint", %(
  args => [
    "templates/",
    ["verbose"]
  ]
);
Enter fullscreen mode Exit fullscreen mode

Put some templates to check into templates/ directories

$ mkdir templates/
Enter fullscreen mode Exit fullscreen mode

Run check

$ tom jinja-lint
21:03:50 10/17/2020 [repository] index updated from file:///home/ubuntu/repo/api/v1/index
21:03:51 10/17/2020 [lint my code] run [jinjalint templates/ --verbose] ...
21:03:51 10/17/2020 [lint my code] Files being analyzed:
21:03:51 10/17/2020 [lint my code] templates/template.html
21:03:51 10/17/2020 [lint my code]
21:03:51 10/17/2020 [lint my code] templates/template.html:3:5: Parse error: expected one of '[:a-z]', 'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'meta', 'param', 'script', 'source', 'style', 'track', 'wbr', '{#', '{%', '{{' at 2:5
21:03:51 10/17/2020 [lint my code] task exit status: 1
21:03:51 10/17/2020 [lint my code] task lint my code FAILED
Enter fullscreen mode Exit fullscreen mode

That is it! You no longer miss errors in your jinja templates.


Check updates on SparrowHub.io - universal automation repository.


Aleksei

Discussion (1)

pic
Editor guide
Collapse
_garybell profile image
Gary Bell

Bookmarked. Will look at adding this as a check for my Ansible CI pipeline