ESLint как глобальные переменные в TSLint

Я использую плагин для устройства от cordova, поэтому у меня есть строка типа let model = device.model || "";, которая вызывает ошибку Cannot find name 'device'.. Я думаю, что с ESLint мне нужно будет сделать "eslintConfig": { "globals": { "device": true } }  но что такое эквивалент TSLint?

Ответ 1

Я считаю, что ошибка Cannot find name 'device'. генерируется компилятором TypeScript, а не TSLint. Чтобы решить проблему отсутствия глобальной переменной device, вы можете написать файл определения типа. По соглашению этот файл называется globals.d.ts.

Вставьте следующий код:

declare let device: Device;

interface Device {
  func: () => void;
  prop: string;
}

Замените func и prop на функции и свойства, которые вы ожидаете от переменной устройства.

Ответ 2

Вы можете игнорировать глобальные переменные, добавляя их в список ban в tslint.json. Это тот же подход используемый в tslint repo, где они игнорируют глобальные переменные mocha describe и it.

"ban": [true,
  ["describe", "only"],
  ["it", "only"]
],