### Required

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/ConvertCanvasToMermaidUseCase.ts#L47-L47)
Async method 'execute' has no 'await' expression.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/RefreshCanvasCalloutsUseCase.ts#L10-L10)[\[2\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/RefreshCanvasCalloutsUseCase.ts#L83-L83)[\[3\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/RefreshCanvasCalloutsUseCase.ts#L141-L141)[\[4\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/RefreshCanvasCalloutsUseCase.ts#L147-L147)[\[5\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/RefreshCanvasCalloutsUseCase.ts#L179-L179)[\[6\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/RefreshCanvasCalloutsUseCase.ts#L179-L179)[\[7\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L124-L124)[\[8\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L124-L124)[\[9\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L125-L125)[\[10\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L158-L158)[\[11\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L158-L158)[\[12\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L159-L159)[\[13\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L188-L188)[\[14\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L188-L188)[\[15\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L189-L189)[\[16\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L218-L218)[\[17\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L218-L218)[\[18\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L218-L218)[\[19\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L246-L246)[\[20\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L261-L261)[\[21\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L261-L261)[\[22\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L279-L279)[\[23\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L279-L279)[\[24\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L297-L297)[\[25\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L297-L297)[\[26\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/commands/ConvertCanvasToMermaidCommand.ts#L142-L142)[\[27\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/commands/RefreshCanvasCalloutsCommand.ts#L133-L133)
Unexpected any. Specify a different type.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/RefreshCanvasCalloutsUseCase.ts#L141-L141)
Async method 'findFilesByObsidianBacklinks' has no 'await' expression.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/RefreshCanvasCalloutsUseCase.ts#L190-L190)
Do not access Object.prototype method 'hasOwnProperty' from target object.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L23-L23)[\[2\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/FileRepository.ts#L23-L23)
Async method 'exists' has no 'await' expression.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/ClipboardRepository.ts#L47-L57)
Unnecessary try/catch wrapper.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/ClipboardRepository.ts#L97-L97)
Async method 'writeWithLegacyAPI' has no 'await' expression.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/ClipboardRepository.ts#L105-L105)[\[2\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/ClipboardRepository.ts#L131-L131)
`execCommand` is deprecated. [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/execCommand)

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/ClipboardRepository.ts#L124-L124)
Async method 'readWithLegacyAPI' has no 'await' expression.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/main.ts#L36-L38)
Promise-returning method provided where a void return was expected by extended/implemented type 'Plugin'.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/main.ts#L90-L90)[\[2\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/main.ts#L103-L103)[\[3\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/commands/ConvertCanvasToMermaidCommand.ts#L33-L33)[\[4\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/commands/ConvertCanvasToMermaidCommand.ts#L58-L58)[\[5\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/commands/ConvertCanvasToMermaidCommand.ts#L86-L86)[\[6\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/commands/RefreshCanvasCalloutsCommand.ts#L37-L37)[\[7\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/commands/RefreshCanvasCalloutsCommand.ts#L66-L66)[\[8\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/commands/RefreshCanvasCalloutsCommand.ts#L85-L85)[\[9\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/ui/settings/SettingTab.ts#L16-L16)[\[10\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/ui/settings/SettingTab.ts#L25-L25)[\[11\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/ui/settings/SettingTab.ts#L28-L28)[\[12\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/ui/settings/SettingTab.ts#L39-L39)[\[13\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/ui/settings/SettingTab.ts#L42-L42)[\[14\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/ui/settings/SettingTab.ts#L43-L43)[\[15\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/ui/settings/SettingTab.ts#L44-L44)[\[16\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/ui/settings/SettingTab.ts#L45-L45)[\[17\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/ui/settings/SettingTab.ts#L59-L59)[\[18\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/ui/settings/SettingTab.ts#L75-L75)
Use sentence case for UI text.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/main.ts#L134-L134)
Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the `void` operator.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/commands/ConvertCanvasToMermaidCommand.ts#L109-L109)[\[2\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/commands/RefreshCanvasCalloutsCommand.ts#L113-L113)
Async method 'findCanvasFilesInCurrentDirectory' has no 'await' expression.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/commands/RefreshCanvasCalloutsCommand.ts#L128-L128)
Async method 'findAllCanvasFiles' has no 'await' expression.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/ui/settings/SettingTab.ts#L16-L16)
Avoid including the plugin name in settings headings.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/presentation/ui/settings/SettingTab.ts#L79-L79)
Async arrow function has no 'await' expression.



---

### Optional

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/RefreshCanvasCalloutsUseCase.ts#L91-L91)[\[2\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/RefreshCanvasCalloutsUseCase.ts#L97-L97)[\[3\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/RefreshCanvasCalloutsUseCase.ts#L127-L127)[\[4\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/RefreshCanvasCalloutsUseCase.ts#L135-L135)[\[5\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/RefreshCanvasCalloutsUseCase.ts#L173-L173)[\[6\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/RefreshCanvasCalloutsUseCase.ts#L244-L244)[\[7\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L28-L28)[\[8\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/CanvasDataRepository.ts#L113-L113)[\[9\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/infrastructure/repositories/FileRepository.ts#L28-L28)
'error' is defined but never used.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/RefreshCanvasCalloutsUseCase.ts#L147-L147)
'canvasFiles' is assigned a value but never used.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/RefreshCanvasCalloutsUseCase.ts#L148-L148)
'listError' is defined but never used.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/domain/usecases/RefreshCanvasCalloutsUseCase.ts#L183-L183)
'value' is assigned a value but never used.

[\[1\]](https://github.com/HaclkMans/Canvas2Mermaid/blob/08adb9765ea2d05a88d9c21c84279e480bf91090/src/main.ts#L1-L1)
'App' is defined but never used.

