Search code examples
javascriptvimecmascript-6syntastic

syntastic complaining about ES6 module syntax


I love syntastic for javascript but I am using the new ES6 module tranpiler and syntastic is not happy about these type of statements:

import Typeahead from './lib/components/ember-typeahead';

Is there anyway that I can keep syntastic quiet about this type of statement?


Solution

  • Syntastic will use JSHint to check JavaScript syntax if it's available (which I recommend over jslint).

    JSHint supports es6 syntax with the esnext flag, which includes support for the export and import module syntax.

    I suggest adding a .jshintrc file to your project to control JSHint's behavior (and thus Syntastic's) for your entire project:

    {
      "esnext": true
    }
    

    Note: be careful, since using the esnext flag will add support for all of es6's new language sytax that JSHint currently supports, not just the module syntax.

    Note: esnext has now been deprecated in favour of the esversion syntax.

    {
      "esversion": 6
    }