### Required

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/modal/card-modal/CardCreateModal.tsx#L24-L102)[\[2\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/modal/card-modal/CardCreateModal.tsx#L104-L115)
Promise-returning method provided where a void return was expected by extended/implemented type 'Modal'.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/modal/card-modal/CardCreateModal.tsx#L104-L104)
Async method 'onClose' has no 'await' expression.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/modal/card-settings/CardBasicSettings.tsx#L288-L288)[\[2\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/modal/card-settings/CardBasicSettings.tsx#L289-L289)[\[3\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/services/CardProcessor.tsx#L54-L54)[\[4\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/services/CardProcessor.tsx#L63-L63)[\[5\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/SettingsStore.ts#L63-L63)
This assertion is unnecessary since it does not change the type of the expression.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/modal/card-settings/CardStyleSettings.tsx#L103-L103)[\[2\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/i18n/i18n.ts#L36-L36)[\[3\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/i18n/types.ts#L124-L124)[\[4\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/i18n/types.ts#L124-L124)
Unexpected any. Specify a different type.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/toc-item/TocItem.tsx#L46-L52)[\[2\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/toc-navigator/NTocRender.tsx#L172-L172)[\[3\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/toc-navigator/TocNavigator.tsx#L168-L168)[\[4\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/toc-toolbar/TocToolbar.tsx#L35-L45)[\[5\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/toc-toolbar/TocToolbar.tsx#L74-L77)[\[6\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/toc-toolbar/TocToolbar.tsx#L88-L91)[\[7\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/main.ts#L117-L120)[\[8\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/services/CardProcessor.tsx#L28-L28)[\[9\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L29-L32)[\[10\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L47-L50)[\[11\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L65-L68)[\[12\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L91-L94)[\[13\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L109-L112)[\[14\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L134-L137)[\[15\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L152-L155)[\[16\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L170-L173)[\[17\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L195-L198)[\[18\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L213-L216)[\[19\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L231-L234)[\[20\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L252-L255)[\[21\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L261-L265)[\[22\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L274-L277)[\[23\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L296-L299)[\[24\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L305-L309)[\[25\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L316-L319)[\[26\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L338-L341)[\[27\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L347-L351)[\[28\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L360-L363)[\[29\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L383-L386)[\[30\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L392-L396)[\[31\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L405-L408)[\[32\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L428-L431)[\[33\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L437-L441)[\[34\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/settings/NTocSettings.tsx#L450-L453)[\[35\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/utils/scrollToHeading.ts#L9-L14)
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/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/toc-item/TocItem.tsx#L51-L51)
Avoid using the main plugin instance as a component. Its lifecycle is too long, which can cause memory leaks.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/toc-navigator/NTocRender.tsx#L112-L112)
Async method 'update' has no 'await' expression.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/toc-toolbar/TocToolbar.tsx#L60-L60)[\[2\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/i18n/locales/en.ts#L11-L11)[\[3\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/i18n/locales/en.ts#L19-L19)[\[4\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/i18n/locales/en.ts#L23-L23)[\[5\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/i18n/locales/en.ts#L27-L27)[\[6\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/i18n/locales/en.ts#L31-L31)[\[7\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/i18n/locales/en.ts#L39-L39)[\[8\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/i18n/locales/en.ts#L54-L54)[\[9\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/i18n/locales/en.ts#L55-L55)[\[10\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/i18n/locales/en.ts#L70-L70)[\[11\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/i18n/locales/en.ts#L120-L120)
Use sentence case for UI text.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/toc-toolbar/TocToolbar.tsx#L132-L132)
Promise-returning function provided to attribute where a void return was expected.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/main.ts#L58-L58)[\[2\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/main.ts#L69-L69)[\[3\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/main.ts#L80-L80)[\[4\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/main.ts#L91-L91)[\[5\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/main.ts#L103-L103)[\[6\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/main.ts#L115-L115)
Avoid providing a default hotkey. Users should set their own.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/main.ts#L178-L178)
Async arrow function has no 'await' expression.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/main.ts#L185-L188)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/main.ts#L248-L248)
Promise-returning function provided to property where a void return was expected.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/services/CardProcessor.tsx#L20-L20)
Async method 'renderFormCodeBlock' has no 'await' expression.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/services/CardProcessor.tsx#L66-L66)[\[2\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/utils/getFileHeadings.ts#L8-L8)
Unexpected `await` of a non-Promise (non-"Thenable") value.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/utils/applyCSSStyles.ts#L10-L10)
'value' may use Object's default stringification format ('[object Object]') when stringified.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/utils/mountEditButtonToCodeblock.ts#L11-L11)[\[2\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/utils/mountEditButtonToCodeblock.ts#L15-L15)
Avoid setting styles directly via `element.style.opacity`. Use CSS classes for better theming and maintainability.



---

### Optional

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/css-autocomplete/CSSPropertyEditor.tsx#L23-L23)
'setIsPropertyFocused' is assigned a value but never used.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/components/css-autocomplete/CSSPropertyEditor.tsx#L24-L24)
'setIsValueFocused' is assigned a value but never used.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/utils/checkCursorPosition.ts#L12-L12)
'line' is assigned a value but never used.

[\[1\]](https://github.com/RavenHogWarts/obsidian-next-toc/blob/d1e7991bee6b196683e503386cb96e61b4ed69cf/src/utils/cssProperties.ts#L7-L7)
'CSSPropertyKeys' is defined but never used.

