### Required

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/counter.ts#L66-L66)
Expected an error object to be thrown.

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/counter.ts#L116-L116)
Unexpected lexical declaration in case block.

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/counter.ts#L123-L123)
Invalid type "never" of template literal expression.

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/counter.ts#L182-L182)[\[2\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L298-L298)[\[3\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L383-L383)[\[4\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/utils.ts#L14-L14)[\[5\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/utils.ts#L96-L96)[\[6\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/utils.ts#L226-L226)[\[7\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/utils.ts#L232-L232)[\[8\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/utils.ts#L238-L238)
Unexpected any. Specify a different type.

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/counter.ts#L246-L246)
Expected non-Promise value in a boolean conditional.

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L48-L48)[\[2\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L79-L79)[\[3\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L88-L88)[\[4\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L97-L97)[\[5\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L106-L106)[\[6\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L123-L123)[\[7\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L185-L185)[\[8\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L231-L231)[\[9\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L262-L262)[\[10\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L36-L36)[\[11\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L40-L40)[\[12\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L59-L59)[\[13\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L61-L61)[\[14\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L154-L154)[\[15\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L173-L173)[\[16\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L209-L209)[\[17\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L272-L272)[\[18\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L289-L289)[\[19\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L320-L320)[\[20\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L371-L371)[\[21\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L482-L482)[\[22\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L505-L505)
Use sentence case for UI text.

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L52-L55)
Promise-returning method provided where a void return was expected by extended/implemented type 'Plugin'.

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L52-L52)
Async method 'onunload' has no 'await' expression.

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L149-L149)[\[2\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L115-L115)
Async arrow function has no 'await' expression.

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L152-L160)[\[2\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L42-L42)[\[3\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L472-L478)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L237-L237)[\[2\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L261-L261)
Unexpected confirm.

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L285-L285)[\[2\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/utils.ts#L228-L228)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L8-L8)
Do not import Node.js builtin module "crypto"

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L154-L154)[\[2\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L173-L173)[\[3\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L209-L209)[\[4\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L272-L272)[\[5\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L482-L482)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/utils.ts#L126-L126)
The two values in this comparison do not have a shared enum type.

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/utils.ts#L141-L141)
`substr` is deprecated. A legacy feature for browser compatibility



---

### Optional

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/main.ts#L5-L5)
'PLUGIN_NAME' is defined but never used.

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L3-L3)
'ButtonComponent' is defined but never used.

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L5-L5)
'DEFAULT_SETTINGS' is defined but never used.

[\[1\]](https://github.com/meet-v/CountCraft/blob/b4eb788c9f5d509a19ce406cabfc672b4fdfd072/src/settings.ts#L8-L8)
'setEngine' is defined but never used.

