### Required

[\[1\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/appsettings.ts#L9-L9)[\[2\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/appsettings.ts#L15-L15)[\[3\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/appsettings.ts#L39-L39)[\[4\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/appsettings.ts#L41-L41)[\[5\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/helpers.ts#L2-L2)[\[6\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/helpers.ts#L12-L12)[\[7\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/helpers.ts#L12-L12)[\[8\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/helpers.ts#L17-L17)[\[9\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/helpers.ts#L18-L18)[\[10\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/helpers.ts#L19-L19)[\[11\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/helpers.ts#L34-L34)[\[12\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/helpers.ts#L34-L34)[\[13\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/helpers.ts#L39-L39)[\[14\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/helpers.ts#L42-L42)[\[15\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/main.ts#L45-L45)[\[16\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/pluginsettings.ts#L11-L11)[\[17\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/update.ts#L17-L17)[\[18\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/update.ts#L33-L33)[\[19\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/update.ts#L49-L49)
Unexpected any. Specify a different type.

[\[1\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/appsettings.ts#L50-L52)[\[2\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/appsettings.ts#L124-L126)[\[3\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/main.ts#L71-L88)[\[4\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/nux.ts#L98-L100)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/fileutils.ts#L35-L35)
'node' will use Object's default stringification format ('[object Object]') when stringified.

[\[1\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/fileutils.ts#L35-L35)
Invalid type "TAbstractFile" of template literal expression.

[\[1\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/main.ts#L73-L73)[\[2\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/newmodulemodal.ts#L9-L9)[\[3\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/newmodulemodal.ts#L17-L17)[\[4\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/newmodulemodal.ts#L36-L36)[\[5\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/nux.ts#L28-L28)[\[6\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/nux.ts#L29-L29)[\[7\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/nux.ts#L34-L34)[\[8\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/nux.ts#L40-L40)[\[9\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/nux.ts#L58-L58)[\[10\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/nux.ts#L65-L65)[\[11\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/nux.ts#L76-L76)[\[12\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/nux.ts#L77-L77)[\[13\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/nux.ts#L77-L77)[\[14\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/nux.ts#L81-L81)[\[15\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/pluginsettings.ts#L49-L49)[\[16\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/pluginsettings.ts#L78-L78)[\[17\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/update.ts#L188-L188)[\[18\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/update.ts#L338-L338)
Use sentence case for UI text.

[\[1\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/main.ts#L277-L277)[\[2\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/main.ts#L282-L282)[\[3\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/main.ts#L305-L305)[\[4\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/main.ts#L311-L311)[\[5\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/newmodulemodal.ts#L27-L27)[\[6\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/newmodulemodal.ts#L44-L46)[\[7\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/nux.ts#L49-L49)[\[8\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/nux.ts#L74-L74)[\[9\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/nux.ts#L92-L92)[\[10\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/nux.ts#L118-L118)[\[11\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/pluginsettings.ts#L80-L80)[\[12\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/pluginsettings.ts#L141-L143)[\[13\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/pluginsettings.ts#L145-L147)[\[14\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/pluginsettings.ts#L292-L292)
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/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/pluginsettings.ts#L112-L112)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.

[\[1\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/update.ts#L90-L90)
Async method 'perform_update' has no 'await' expression.



---

### Optional

[\[1\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/appsettings.ts#L71-L71)
'bad_value' is assigned a value but never used.

[\[1\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/appsettings.ts#L88-L88)
'setting_name' is assigned a value but never used.

[\[1\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/downloadZip.ts#L1-L1)
'TFile' is defined but never used.

[\[1\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/downloadZip.ts#L1-L1)
'TFolder' is defined but never used.

[\[1\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/downloadZip.ts#L1-L1)
'TAbstractFile' is defined but never used.

[\[1\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/fileutils.ts#L1-L1)
'requestUrl' is defined but never used.

[\[1\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/fileutils.ts#L65-L65)[\[2\]](https://github.com/obu-labs/vinaya-bookshelf/blob/1a3f32ade3dff65604e27a83095950c98f3a4a1a/src/fileutils.ts#L68-L68)
Use 'FileManager.trashFile()' instead of 'Vault.delete()' to respect the user's file deletion preference.

