2016-09-23 7 views
2

У меня есть файлы, которые будут обрабатываться с Babel и поэтому написаны на ES6. Тем не менее, у меня также есть некоторые файлы, которые не будут проходить через Babel, и поэтому в ES5 в этом же проекте должно быть предусмотрено. Могу ли я настроить Eslint, чтобы он выдавал ошибки, если я случайно использовал некоторые ES6-функции (например, функции стрелок, деструктурирование) в этих файлах?Eslint: принудительно использовать определенную версию ES

Я заметил, что настройка "parserOptions": {"ecmaVersion": 5} не дает желаемого эффекта, а также устанавливает "env": {"es6": false}.

+1

У вас есть проблемы с разграничением файлов (вы упоминаете, что у вас есть оба) или просто проблемы с его литьем в соответствии с ES5? – Bergi

+0

@Bergi, нет, файлы разделены на разные папки. Поэтому я могу легко разместить разные '.eslintrc'. Проблема в том, что я должен писать в этом '.eslintrc', чтобы запретить использование синтаксиса es6. –

+1

Звучит для меня, что иметь отдельный файл '.eslintrc' с' 'parserOptions": {"ecmaVersion": 5} 'должен работать. Вы сказали * «не дает желаемого эффекта» *, имеет ли он какое-либо влияние вообще? –

ответ

0

Вы можете попробовать использовать инвалидизирующие правила с Инлайн Комментариев

/* eslint-disable */ 
    alert('foo'); 
/* eslint-enable */ 

Также посмотри на http://eslint.org/docs/user-guide/configuring

+0

Нет проблем с отключением правил. Мне просто интересно, есть ли какие-то правила, запрещающие материал es6 (предпочтительнее - одно правило запретить все новые вещи). –

+0

вы можете использовать jshint с параметром «esversion»: 6 – nightmare

0

Как, наконец, оказалось, проблема была в разделяемой конфигурации, которую я использовал (xo). В этом config ecmaVersion было установлено значение 6, и ESLint doesn't support override for ecmaVersion

Смежные вопросы