#javascript #atom-editor #eslint #extendscript
#javascript #atom-editor #eslint #extendscript
Вопрос:
Я использую eslint в atom для обработки кода extendscript для Adobe After Effects. Extendscript основан на ECMAScript, поэтому eslint действительно полезен, и я каждый день изучаю совершенство стиля кода JS.
Но есть одна загвоздка. Extendscript использует директивы препроцессора, так что вы можете использовать #include и несколько других вещей. Это приводит к тому, что eslint начинает шипеть и испаряться. Использование //eslint-disable-next-line
or /*eslint-disable*/
не работает, потому #
что вызывает фатальную ошибку синтаксического анализа, а не нарушает правила как таковые.
Есть ли какой-либо обходной путь? Или мне придется использовать eval()
для включения моих библиотек?
Комментарии:
1. Можете ли вы запустить только препроцессор, а затем вызвать eslint по результату?
2. Любой шанс
//@include 'path/to/file'
сработает?3. @torazaburo Да,
//@include
решит проблему, а также//@includepath
может заменить#includepath
и//@ targetengine
может заменить#targetengine
. Вы хотите превратить это в ответ?4. @torazaburo да, спасибо. Превратите это в ответ, и я пометлю его как правильный.
Ответ №1:
Использование eslint в ExtendScript с #include
прагматикой стиля можно выполнить с eslint-plugin-skip-adobe-directives
помощью плагина processor.
Установите для вашего пакета с:
$ npm install --save-dev eslint-plugin-skip-adobe-directives
Затем добавьте в .eslintrc
конфигурацию:
"plugins": [
"skip-adobe-directives"
]
Другой альтернативой в наши дни было бы написать скрипт как ES6 или что-то более приятное для работы, а затем перенести обратно на ECMAScript 3-го издания, используя extendscriptr
, возможно.