preprocess
preprocess copied to clipboard
Fix: End of JavaScript comments are not parsed
Issue: https://github.com/jsoverson/preprocess/issues/77#issuecomment-120682188
In JavaScript code, that regexp stops reading immediately it found *
without checking */
or end of line, etc..
Because that regexp accepts these as the end of the directive:
-
**
-
*/
- Nothing
That regexp accepts "Nothing". And *
as the parameters is not accepted.
For example:
console.log(
require('preprocess').preprocess(
'foo/* @if SIZE * 1024 > MEM */ BIG/* @endif */ bar',
{SIZE: 2, MEM: 1024},
{type: 'js'}
)
);
Result:
foo* 1024 > MEM */ BIG bar
This PR fixes this bug, and puts common patterns into the variables.
I renamed vars because those are not good naming. If I should do it, I do rebase to a one commit.