### Required

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/api-client.ts#L19-L19)
Async method 'handleRateLimit' has no 'await' expression.

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/auth.ts#L28-L28)[\[2\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/auth.ts#L226-L226)[\[3\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/auth.ts#L409-L409)[\[4\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/auth.ts#L424-L424)[\[5\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/main.ts#L27-L27)[\[6\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L29-L29)[\[7\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L37-L37)[\[8\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L61-L61)[\[9\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L75-L75)[\[10\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L96-L96)[\[11\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L105-L105)[\[12\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L116-L116)[\[13\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L120-L120)[\[14\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L129-L129)[\[15\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L151-L151)[\[16\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L171-L171)[\[17\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L174-L174)[\[18\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L186-L186)[\[19\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L187-L187)[\[20\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L203-L203)[\[21\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L206-L206)[\[22\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L221-L221)[\[23\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L222-L222)[\[24\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L231-L231)[\[25\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L241-L241)[\[26\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L242-L242)
Use sentence case for UI text.

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/auth.ts#L174-L174)
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/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/auth.ts#L203-L203)[\[2\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/auth.ts#L234-L234)
Expected the Promise rejection reason to be an Error.

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/auth.ts#L246-L246)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/auth.ts#L280-L289)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/auth.ts#L422-L422)[\[2\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/auth.ts#L427-L427)
Avoid setting styles directly via `element.style.margin`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/auth.ts#L426-L426)
Avoid setting styles directly via `element.style.width`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/auth.ts#L431-L431)
Avoid setting styles directly via `element.style.display`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/auth.ts#L432-L432)
Avoid setting styles directly via `element.style.justifyContent`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/auth.ts#L433-L433)
Avoid setting styles directly via `element.style.gap`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/auth.ts#L434-L434)
Avoid setting styles directly via `element.style.marginTop`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/main.ts#L121-L121)
Async method 'scanExistingRedditIds' has no 'await' expression.

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/main.ts#L224-L224)[\[2\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/media-handler.ts#L246-L246)
Unexpected undescribed directive comment. Include descriptions to explain why the comment is necessary.

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L29-L29)[\[2\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L96-L96)[\[3\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L171-L171)[\[4\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L203-L203)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L100-L100)
Avoid setting styles directly via `element.style.backgroundColor`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L101-L101)
Avoid setting styles directly via `element.style.padding`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L102-L102)
Avoid setting styles directly via `element.style.borderRadius`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/cameronsjo/saved-reddit-exporter/blob/86455d930f024847f1063b1be49d23a2a33b9aef/src/settings.ts#L103-L103)
Avoid setting styles directly via `element.style.marginBottom`. Use CSS classes for better theming and maintainability.



---

### Optional

