Provide a new mode of parsing that Instead of throwing an exception and aborting parsing on the first JS error encoutered, parser attempts to continue parsing and provides collections of all the syntax errors.
This issue is required to integrate shift inside any editor, because editor needs to maintain a valid AST even if editor content doesn't contain valid content (when editor user is typing some content and open completion for instance)
acorn/esprima provides this feature (loose parser), and can be used in any editor. tern which uses acorn is a sample http://ternjs.net/doc/demo/
IMHO, If you can provide loose parser, a lot of IDE could use shift.