### Required

[\[1\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/main.ts#L25-L25)[\[2\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/main.ts#L36-L36)[\[3\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/main.ts#L80-L80)
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/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/main.ts#L42-L42)
Expected an assignment or function call and instead saw an expression.

[\[1\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/main.ts#L84-L84)[\[2\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/s3/S3Service.ts#L80-L80)[\[3\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/s3/S3Service.ts#L116-L116)[\[4\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/s3/S3Service.ts#L126-L126)[\[5\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/s3/S3Service.ts#L150-L150)[\[6\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncDecisionEngine.ts#L40-L40)[\[7\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncDecisionEngine.ts#L43-L43)[\[8\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncDecisionEngine.ts#L46-L46)[\[9\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncDecisionEngine.ts#L52-L52)[\[10\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncDecisionEngine.ts#L63-L63)[\[11\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncDecisionEngine.ts#L107-L107)[\[12\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncDecisionEngine.ts#L137-L137)[\[13\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L163-L163)[\[14\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L193-L193)[\[15\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L540-L540)[\[16\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L563-L563)[\[17\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncStateManager.ts#L45-L45)[\[18\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncStateManager.ts#L57-L57)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.

[\[1\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncDecisionEngine.ts#L41-L41)[\[2\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncDecisionEngine.ts#L44-L44)[\[3\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncDecisionEngine.ts#L47-L47)[\[4\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L194-L194)
Invalid type "string[]" of template literal expression.

[\[1\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L50-L50)[\[2\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L55-L55)[\[3\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L60-L60)[\[4\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/ui/S3SyncSettingTab.ts#L17-L17)[\[5\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/ui/S3SyncSettingTab.ts#L30-L30)[\[6\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/ui/S3SyncSettingTab.ts#L36-L36)[\[7\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/ui/S3SyncSettingTab.ts#L45-L45)[\[8\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/ui/S3SyncSettingTab.ts#L49-L49)[\[9\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/ui/S3SyncSettingTab.ts#L58-L58)[\[10\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/ui/S3SyncSettingTab.ts#L62-L62)[\[11\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/ui/S3SyncSettingTab.ts#L71-L71)[\[12\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/ui/S3SyncSettingTab.ts#L90-L90)
Use sentence case for UI text.

[\[1\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L149-L149)
Async method 'generateLocalFilesMap' has no 'await' expression.

[\[1\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L312-L312)[\[2\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L324-L324)[\[3\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L347-L347)[\[4\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L348-L348)[\[5\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L351-L351)[\[6\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L399-L399)
Avoid casting to 'TFile'. Use an 'instanceof TFile' check to safely narrow the type.

[\[1\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L519-L521)
This assertion is unnecessary since it does not change the type of the expression.

[\[1\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L532-L532)[\[2\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L533-L533)
Obsidian's configuration folder is not necessarily `.obsidian`, it can be configured by the user.



---

### Optional

[\[1\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L367-L367)[\[2\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L539-L539)
Use 'FileManager.trashFile()' instead of 'Vault.delete()' to respect the user's file deletion preference.

[\[1\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L453-L453)[\[2\]](https://github.com/dim0x69/obsidian-kisss3/blob/185643a455dad6a75b7c3c064f5a85ce53a3ead4/sync/SyncManager.ts#L543-L543)
'e' is defined but never used.

