### Required

[\[1\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L55-L55)[\[2\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L58-L58)[\[3\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L136-L136)[\[4\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1470-L1470)[\[5\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1485-L1485)
This assertion is unnecessary since it does not change the type of the expression.

[\[1\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L219-L219)[\[2\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L322-L322)[\[3\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L349-L349)[\[4\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L384-L384)[\[5\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L400-L400)[\[6\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L444-L444)[\[7\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L452-L452)[\[8\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L460-L460)[\[9\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L549-L549)[\[10\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L611-L611)[\[11\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L618-L618)[\[12\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L632-L632)[\[13\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L646-L646)[\[14\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L669-L669)[\[15\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L732-L732)[\[16\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L798-L798)[\[17\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L806-L806)[\[18\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L849-L849)[\[19\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L891-L891)[\[20\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L904-L904)[\[21\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L919-L919)[\[22\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L927-L927)[\[23\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L937-L937)[\[24\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L944-L944)[\[25\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L950-L950)[\[26\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L958-L958)[\[27\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L962-L962)[\[28\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L973-L973)[\[29\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1001-L1001)[\[30\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1003-L1003)[\[31\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1012-L1012)[\[32\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1019-L1019)[\[33\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1045-L1045)[\[34\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1054-L1054)[\[35\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1063-L1063)[\[36\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1074-L1074)[\[37\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1079-L1079)[\[38\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1087-L1087)[\[39\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1197-L1197)[\[40\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1209-L1209)[\[41\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1214-L1214)[\[42\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1232-L1232)[\[43\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1238-L1238)[\[44\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1394-L1394)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.

[\[1\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L237-L237)[\[2\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L331-L331)[\[3\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L871-L871)[\[4\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1133-L1133)[\[5\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1276-L1276)[\[6\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1282-L1282)[\[7\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1289-L1289)[\[8\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1291-L1291)[\[9\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1495-L1495)
Use sentence case for UI text.

[\[1\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L369-L369)
Async arrow function has no 'await' expression.

[\[1\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L517-L517)[\[2\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L523-L523)[\[3\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L739-L739)[\[4\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1055-L1055)[\[5\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1084-L1084)[\[6\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1483-L1489)
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/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L686-L706)[\[2\]](https://github.com/ivan-mezentsev/anti-ephemeral-state/blob/104292a84333c4c50a9e1cd7bec1b0a8f0104d6f/main.ts#L1326-L1326)
Promise returned in function argument where a void return was expected.



---

### Optional

