### Required

[\[1\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L13-L13)[\[2\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L14-L14)[\[3\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L224-L224)[\[4\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L245-L245)[\[5\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L251-L251)[\[6\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L257-L257)[\[7\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L263-L263)[\[8\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L269-L269)
A method that is not declared with `this: void` may cause unintentional scoping of `this` when separated from its object.
Consider using an arrow function or explicitly `.bind()`ing the method to avoid calling the method with an unintended `this` value. 
If a function does not access `this`, it can be annotated with `this: void`.

[\[1\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L39-L39)[\[2\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L74-L74)[\[3\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L135-L135)[\[4\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L174-L174)[\[5\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L281-L281)[\[6\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L284-L284)[\[7\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L290-L290)[\[8\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L293-L293)
Unexpected use of 'localStorage'. Prefer `App#saveLocalStorage` / `App#loadLocalStorage` functions to write / read localStorage data that's unique to a vault.

[\[1\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L101-L101)[\[2\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L207-L207)
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/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L241-L272)
Promise-returning method provided where a void return was expected by extended/implemented type 'Plugin'.

[\[1\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L241-L241)
Async method 'onunload' has no 'await' expression.

[\[1\]](https://github.com/4Source/favorites-obsidian-plugin/blob/2fe2b40b9b1a297c12225b28800a6864a927cf75/src/main.ts#L278-L278)
Async method 'saveSettings' has no 'await' expression.



---

### Optional

