Closed tayler1 closed 5 years ago
Well the riot compiler should not check if you can write javascript. It just check if eventually your tag can be correctly parsed and compiled
Yes. It should not check my js. But accordingly to you this sample tag is correct
$ riot tags/home2.tag --check
No syntax error. Ready to compile :)
$ cat tags/home2.tag
<home>
<div <<
<span />
<script>
01AMÉA IÅ@¶¸ýÿÿÿHÞ éÎ IE¾- HÇè HÀtÆ IÅH ïÿÿHÇLîè¨g {Ü
</script>
'<home>
</home>
\'
And moreover it was properly compiled into this js
$ riot tags/home2.tag tags/home2.js
tags/home2.tag -> tags/home2.js
$ cat tags/home2.js
riot.tag2('home', '<div span></div> \'<home>', '', '', function(opts) {
01AMÉA IÅ@¶¸ýÿÿÿHÞ éÎ IE¾- HÇè HÀtÆ IÅH ïÿÿHÇLîè¨g{Ü
});
\'
Syntax checking and compilation can't behave two different ways. It shouldn't fail in compilation after successfully checking. It shouldn't fail in checking and successfully compile at same time.
$ riot tags/home4.tag --check
Riot Tag Syntax Error
EOF |
^^^ Last tag definition is not closed
Total error: 1 in "tags/home4.tag"
$ cat tags/home4.tag
<home>
<h2>
<script>var 1 = function()</script>
$ riot tags/home4.tag tags/home4.js
tags/home4.tag -> tags/home4.js
$ cat tags/home4.js
<home>
<h2>
riot.tag2('script', 'var 1 = function()', '', '', function(opts) {
});
I agree, the syntax checker could be optimized. Thanks for your input
now with the new compiler we should throw error in case of broken syntax. This issue can be closed
At all
And even compilation works