Should be a relatively easy change if you want to submit a PR. Not sure if anyone here would actually know if there is a specific reason the parser was pushed instead of unshifted. Do you happen to have a reference that explicitly states that $parsers should be unshifted? Not saying you are wrong but I haven't found anything that states it in those words.

Even with unshifting the parser doesn't your directive have to run first for it to work properly?

This seems tricky the more I think about it because if your directive unshifts parsers and the next person pushes their parsers wouldn't we run into the same issue? I just want to make sure whatever is done is what is expected and standard.

So, there may be no standard as to which side of the array to put new parsers, but since this particular parser is very specifically tied to the actual viewValue, it should be unshifted so that it is closer to the viewValue