FWIW I do this at PayPal with grunt-eslint (but any tool till do). Just 
have diff files `.eslintrc` files (which can still cascade) that get pulled 
in for different file paths. Our config looks something like this:

module.exports = {
   options: {
      config: '.eslintrc'
   },
   server: serverJS,
   browser: {
      options: {
         config: 'public/js/.eslintrc'
      },
      src: browserJS
   },
   es6: {
      options: {
         config: 'public/js/.eslintes6rc'
      },
      src: ES6JS
   },
   test: {
      options: {
         config: 'tests/.eslintrc'
      },
      src: testJS
   }
};


For example the ES6JS variable is just like this:

var ES6JS = [
   'public/js/**/*.es6'
];


Probably you could do the same thing on the command line with commands like:
find . -name *.es6 | xargs eslint -c .eslintes6rc 

Of course we're using a mix of diff folders and diff extensions to pull 
this off ;)

On Friday, February 27, 2015 at 5:54:31 AM UTC-8, Glen Mailer wrote:
>
> Hello,
>
> I've been looking for a way to combine linting and JSX / ES6 files within 
> a large project.
>
> The project has a number of separate applications within it, where each 
> has it's own package.json - but the linting rules are applied globally.
>
> We have eslint set up to lint all *.js files, and jsxhint does all *.jsx 
> files.
>
> I've been trying out the preview release of 
> https://github.com/babel/babel-eslint just now - and it looks like this 
> makes eslint's ES6 support wide enough to be the one linter that can do our 
> whole codebase \o/.
>
> However, there's a slight complication. We want to have a single set of 
> rules across all projects - but there are a few different contexts that our 
> code runs in:
>
>    1. Non-ES6 JS for node
>    2. Babel-compiled ES6 JS for node
>    3. Non-ES6 JS for the browser
>    4. Babel-compiled JSX for the browser
>
> The reason these different contexts exist is due to the way the build 
> tools are set up, ES6 features are opt-in by naming the file *.jsx
>
> Ideally I'd want to configure use of ES6 features to be an error in *.js 
> files, but allowed in *.jsx files - but JSX elements to only be allowed in 
> client-side code.
>
> Is there a way to get eslint to interpret different files across the same 
> project with different rules?
>
> I hope that makes sense - I've tried to provide as much context for the 
> setup as I could!
>
>
> Cheers
>
> Glen
>

-- 
You received this message because you are subscribed to the Google Groups 
"ESLint" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to