If your TypeScript tsconfig.json is using “exclude” and Typings for your TypeScript definitions, you may run into duplicate identifier warning messages.
error TS2300: Duplicate identifier
This warning means you are probably including multiply copies of the same file, or a file is redefining the same definitions.
Typings currently creates definitions for ‘main’ and ‘browser’. For a front-end package Typings suggests you are going to want the ‘browser’ types as they have browser field overrides. There was also an issue to remove creation of both browser and main versions, but currently a desired alternative has not been implemented.
Due to a lack of file globbing support, I tried changing to using “exclude” in my tsconfig.json. This means I don’t individually list each item under “files”, but every TypeScript file is included, apart from those files and directories I explicitly “exclude”.
Soon after I noticed I was getting the duplicate identifier issues. Turns out the solution was already on the home page.
I found a similar question about duplicate identifiers here, so I added my own answer.
Basically you need to exclude the files you don’t want to use from the Typings directory, eg:
{
"exclude": [
"typings/browser.d.ts",
"typings/browser",
"node_modules"
]
}
I had some problems with the Logitech MX Master 3S Mouse with an M1 MacBook Pro, but I had better luck with a Logitech G502 X Mouse