I'm using device plugin from cordova so I have a line like this let model = device.model || "";
which causes Cannot find name 'device'.
error. I think with ESLint I would need to do
"eslintConfig": {
"globals": {
"device": true
}
}
but what is the TSLint counterpart of that?
Asked
Active
Viewed 7,564 times
19

apreg
- 637
- 8
- 18
1 Answers
13
I believe the Cannot find name 'device'.
error is generated by the TypeScript compiler, not by TSLint. To solve the problem of missing the global device
variable you can write a type definition file. By convention this file is named globals.d.ts
.
In it, put the following code:
declare let device: Device;
interface Device {
func: () => void;
prop: string;
}
Replace func
and prop
with the functions and properties you expect the device variable to have.

David Walschots
- 12,279
- 5
- 36
- 59
-
Where exactly should I put this `globals.d.ts` file? – Milkncookiez Dec 21 '17 at 14:27
-
@Milkncookiez It needs to be in a location that is picked up by the TypeScript compiler. Commonly it is put in the root source folder. – David Walschots Dec 21 '17 at 21:27