### Required

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L458-L458)
Do not access Object.prototype method 'hasOwnProperty' from target object.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L521-L521)
Creating and attaching "style" elements is not allowed. For loading CSS, use a "styles.css" file instead, which Obsidian loads for you.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L696-L696)
Invalid type "never" of template literal expression.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L711-L711)
Unexpected any. Specify a different type.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L725-L725)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1533-L1533)[\[3\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1534-L1534)
This assertion is unnecessary since it does not change the type of the expression.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L778-L778)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L795-L795)[\[3\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L861-L861)[\[4\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L874-L874)[\[5\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L935-L935)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L778-L778)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L795-L795)[\[3\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L796-L796)[\[4\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L874-L874)[\[5\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L875-L875)[\[6\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L940-L940)[\[7\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L952-L952)[\[8\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L960-L960)[\[9\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1100-L1100)[\[10\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1110-L1110)[\[11\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1166-L1166)[\[12\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1451-L1451)
Use sentence case for UI text.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L804-L804)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L817-L817)[\[3\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L845-L845)[\[4\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L882-L882)[\[5\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L892-L892)[\[6\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L919-L919)[\[7\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1080-L1080)[\[8\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1318-L1318)[\[9\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1460-L1460)[\[10\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1475-L1475)[\[11\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1500-L1500)[\[12\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1523-L1523)
Avoid setting styles directly via `element.style.display`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L805-L805)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L883-L883)
Avoid setting styles directly via `element.style.flexWrap`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L806-L806)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L819-L819)[\[3\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L884-L884)[\[4\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L894-L894)[\[5\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1462-L1462)[\[6\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1525-L1525)
Avoid setting styles directly via `element.style.gap`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L818-L818)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L893-L893)[\[3\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1461-L1461)
Avoid setting styles directly via `element.style.alignItems`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L820-L820)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L895-L895)
Avoid setting styles directly via `element.style.padding`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L821-L821)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L896-L896)
Avoid setting styles directly via `element.style.border`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L822-L822)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L897-L897)
Avoid setting styles directly via `element.style.borderRadius`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L825-L825)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L842-L842)[\[3\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L900-L900)[\[4\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L916-L916)[\[5\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1077-L1077)[\[6\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1447-L1447)[\[7\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1454-L1454)[\[8\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1469-L1469)[\[9\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1497-L1497)
Avoid setting styles directly via `element.style.width`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L826-L826)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L843-L843)[\[3\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L901-L901)[\[4\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L917-L917)[\[5\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1078-L1078)[\[6\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1470-L1470)[\[7\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1498-L1498)
Avoid setting styles directly via `element.style.height`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L827-L827)
Avoid setting styles directly via `element.style.flexShrink`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L844-L844)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L918-L918)[\[3\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1079-L1079)[\[4\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1499-L1499)
Avoid setting styles directly via `element.style.objectFit`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L846-L846)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L920-L920)[\[3\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1081-L1081)
Avoid setting styles directly via `element.style.boxShadow`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L847-L847)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L921-L921)[\[3\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1082-L1082)
Avoid setting styles directly via `element.style.margin`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L954-L954)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L962-L962)[\[3\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1128-L1136)[\[4\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1149-L1155)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L975-L975)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1327-L1327)[\[3\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1338-L1338)[\[4\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1342-L1342)[\[5\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1482-L1482)[\[6\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1507-L1507)[\[7\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1510-L1510)[\[8\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1535-L1535)[\[9\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1536-L1536)
Unexpected alert.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1048-L1048)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1051-L1051)
Avoid setting styles directly via `element.style.cssText`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1225-L1225)
Unexpected confirm.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1402-L1402)
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/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1440-L1440)[\[2\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1446-L1446)[\[3\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1453-L1453)[\[4\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1459-L1459)
Avoid setting styles directly via `element.style.marginBottom`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1476-L1476)
Async arrow function has no 'await' expression.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1487-L1487)
'reader.result || ''' may use Object's default stringification format ('[object Object]') when stringified.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1524-L1524)
Avoid setting styles directly via `element.style.justifyContent`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L1526-L1526)
Avoid setting styles directly via `element.style.marginTop`. Use CSS classes for better theming and maintainability.



---

### Optional

[\[1\]](https://github.com/moziar/obsidian-external-links-icon/blob/f7633122f812a53b1d6e8bc9437c3237b8840af4/main.ts#L66-L66)
'e' is defined but never used.

