У меня есть что-то вроде этого
args: {
...connectionArgs,
},
И jshint его жалуются на
xpected '}' to match '{' from line 167 and instead saw '...'.
Что я должен добавить в свой файл .jshintrc
, чтобы его можно было уничтожить?
В настоящее время JSHint не поддерживает эту предлагаемую языковую функцию. Однако недавно он достиг «этапа 2» в процессе стандартизации, поэтому мы заинтересованы в добавлении поддержки в будущую версию.
О, спасибо @jugglinmike , есть идеи о том, как я могу заставить jshint игнорировать это, по крайней мере?
Конечно, вы захотите использовать встроенные директивы jshint ignore:start
и jshint ignore:end
:
args: {
+ // jshint ignore:start
...connectionArgs,
+ // jshint ignore:end
},
Я обновил название проблемы, чтобы более точно описать запрос функции.
Было бы здорово иметь поддержку JSHint для этого, так как сейчас это этап 3.
+1 за поддержку этого. Он уже широко используется в React/Redux.
+1. Кто-нибудь работает над этим?
+1 за это. Спасибо, парни!
+1 это бы очень понравилось
+1
+1
Поддержка этой языковой функции была объединена с веткой функций v2.10.0
(через gh-3150), поэтому мы ожидаем, что она будет включена в следующий второстепенный выпуск JSHint. Я обозначу эту проблему как «имеет PR», чтобы лучше сообщить об этом статусе.
Буквально несколько дней назад они объявили:
Поддержка этой языковой функции была объединена с функциональной веткой v2.10.0 (через gh-3150), поэтому мы ожидаем, что она будет включена в следующий дополнительный выпуск JSHint. Я обозначу эту проблему как «имеет PR», чтобы лучше сообщить об этом статусе.
Но вот как я это исправил:
Добавьте ОБА esnext
и esversion
в ваш файл .jshintrc
:
...
"esnext": true,
"esversion": 6,
...
Вот мой полный файл .jshintrc
:
{
"mocha": true,
"freeze": true,
"bitwise": false,
"browserify": true,
"strict": true,
"worker": true,
"scripturl": true,
"latedef": "nofunc",
"onevar": true,
"node": true,
"maxstatements": 25,
"futurehostile": true,
"noarg": true,
"unused": true,
"esnext": true,
"esversion": 6,
"eqeqeq": true,
"nocomma": false,
"devel": true,
"maxdepth": 6,
"jquery": true,
"browser": true,
"debug": true,
"maxparams": 5,
"undef": true,
"globalstrict": true,
"maxcomplexity": 20,
"typed": true,
"nonew": true,
"forin": false,
"shadow": true,
"-W018": false
}
+1 не может дождаться выхода версии 2.10.0. Молодец! Есть ли сроки для v2.10.0?
При запуске [email protected]
Когда у меня есть оба
{
"esnext": true,
"esversion": 6,
}
Я получаю следующую ошибку:
Incompatible values for the 'esversion' and 'esnext' linting options. (0% scanned).
То же самое здесь: Incompatible values for the 'esversion' and 'esnext' linting options. (0% scanned).
Каковы сроки для 2.10.0
?
Я также получаю Incompatible values for the 'esversion' and 'esnext' linting options
даже после установки непосредственно из ветки v2.10.0
на GitHub. Ошибка исчезает, когда я вообще опускаю esversion
. Вот фрагмент из моего .jshintrc
, сейчас:
"esnext": true,
"unstable": {
"objspreadrest": true
},
Идея этой ошибки на самом деле заключается в том, что «не используйте одновременно «esversion» и «esnext» (или «es3», или «es5»), афаю.
Текст мог бы быть более ясным, но цель ошибки, по-видимому, заключается в том, чтобы «выдавать предупреждения, чтобы в конечном итоге мы могли удалить эти параметры, и люди просто использовали« esversion »).
@jugglinmike Как вы думаете, мы должны просто сделать это нефатальной ошибкой или иным образом разрешить явную «esversion» переопределять параметры устаревшей версии?
@chaddjohnson Эта ветвь доступна для обеспечения прозрачности и обеспечения совместной работы. Вы, конечно, можете запускать любой код в этом проекте, но, пожалуйста, поймите, что мы не одобряем использование невыпущенного кода, потому что у нас нет пропускной способности для его поддержки.
@caitp Я бы предпочел запретить двусмысленность, а не пытаться ее интерпретировать. Я поделюсь более подробной информацией в ответ на ваш запрос на вытягивание.
https://github.com/jshint/jshint/issues/2991#issuecomment-349636400
[jshint] Incompatible values for the 'esversion' and 'esnext' linting options. (0% scanned). (E059)
https://github.com/jshint/jshint/issues/2991#issuecomment -396695974
[jshint] Bad option: 'unstable'. (E001)
@jugglinmike Тогда вы хотите сказать, что сейчас невозможно использовать jshint?
Вовсе нет, @NatoBoram. Я не рекомендую использовать неопубликованные версии проекта.
Хм, как кто-нибудь нашел решение для:
Несовместимые значения параметров линтинга esversion и esnext. (проверено 0%). (Е059)
любое разрешение этого? когда jshint будет поддерживать ПОСЛЕДНИЕ синтаксисы?
Что-нибудь об этом? Я действительно ценю этот инструмент, но необходимость засорять мои сценарии комментариями «игнорировать» — это худшее.
У кого-нибудь есть время посмотреть на это? Я использую 2.9.7, которая является последней версией jshint, внутри редактора Atom, и мой код приложения React Native изобилует синтаксическими ошибками, связанными с оператором распространения в литералах объектов. Установка "esnext":true в .jshintrc не помогает. Инструмент отказывается работать, когда установлены оба параметра "esnext":true и "esversion":6.
Если у кого-нибудь есть обходной путь, который работает прямо сейчас, не могли бы вы опубликовать его?
Поддержка этой функции будет доступна в JSHint версии 2.10.0, которую мы планируем выпустить в начале следующего года .неделя . Я отмечу эту проблему как «решенную», как только она будет опубликована.
Мы только что выпустили поддержку для объектов rest/spread в JSHint версии 2.10.0 .
Самый полезный комментарий
+1 за поддержку этого. Он уже широко используется в React/Redux.