I think I have found out the problem in my box. The flake8 count unicode characters in a different way. My code contains several unicode lines, and when flake8 reports error, it returns the column number that is much bigger than the actual line length returned by js .length() function. I guess flake8 count a unicode character as 2 while js count it as 1.
Originally posted by @yuliji in #265 (comment)