Почему не работает линтинг с «Неожиданным токеном». на "import.meta.url"? - PullRequest
1 голос
/ 16 марта 2020

У меня есть следующий конфигурационный файл lint ...

{
  "extends": ["eslint:recommended", "google"],
  "parserOptions": {
    "ecmaVersion": 2020,
    "sourceType": "module"
  },
  "rules": {
    "require-jsdoc": 1
  },
  "env": {
    "es6": true
  }
}

и следующий код ...

const __dirname = path.dirname(new URL(import.meta.url).pathname);
                                           //^Error is...

Но когда он lints, я получаю ...

9:46  error  Parsing error: Unexpected token .

Это довольно распространенный фрагмент кода, поэтому я в замешательстве.

Обновление

решено с помощью ...

"ignorePatterns": ["unclean.mjs", "node_modules"],

Но я хотел бы получить решение, при котором мне не нужно игнорировать весь файл.

1 Ответ

0 голосов
/ 19 марта 2020

Это синтаксическая ошибка, поскольку синтаксический анализатор по умолчанию ESLint поддерживает только предложения этапа 4, но import.meta в настоящее время является этапом 3. На данный момент необходимо изменить синтаксический анализатор на "babel-eslint" или "@ typescript-eslint / parser" для разбора import.meta.

Эта фраза является синтаксической ошибкой, поскольку import является ключевым словом в EcmaScript. Следовательно, import.meta является таким же недействительным, как if.foo или switch.foo.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...