### Required

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/decorators/inject.decorator.ts#L41-L41)
'target' will use Object's default stringification format ('[object Object]') when stringified.

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/decorators/inject.decorator.ts#L41-L41)
Invalid type "object" of template literal expression.

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/decorators/on.decorator.ts#L20-L20)
Prefer using the primitive `object` as a type name, rather than the upper-cased `Object`.

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/events/base.event.ts#L85-L85)[\[2\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/events/base.event.ts#L101-L101)[\[3\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/maps/array.map.ts#L29-L31)[\[4\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/modals/history.modal.ts#L489-L489)
This assertion is unnecessary since it does not change the type of the expression.

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/events/base.event.ts#L86-L86)[\[2\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/events/base.event.ts#L102-L102)[\[3\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/debug.helper.ts#L116-L116)[\[4\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/debug.helper.ts#L117-L117)[\[5\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/debug.helper.ts#L118-L118)[\[6\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/debug.helper.ts#L119-L119)[\[7\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/debug.helper.ts#L120-L120)
A method that is not declared with `this: void` may cause unintentional scoping of `this` when separated from its object.
Consider using an arrow function or explicitly `.bind()`ing the method to avoid calling the method with an unintended `this` value. 
If a function does not access `this`, it can be annotated with `this: void`.

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/events/workspace/active-leaf-change.event.ts#L35-L35)
Unexpected empty array pattern.

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/extensions/change-detector.extension.ts#L7-L7)[\[2\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/extensions/editor-common.extension.ts#L10-L10)[\[3\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/extensions/gutter-common.extension.ts#L12-L12)[\[4\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/extensions/gutter-removed.extension.ts#L11-L11)
'@codemirror/state' should be listed in the project's dependencies. Run 'npm i -S @codemirror/state' to add it

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/extensions/change-detector.extension.ts#L8-L8)[\[2\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/extensions/editor-common.extension.ts#L12-L12)[\[3\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/markers/char.marker.ts#L5-L5)[\[4\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/markers/removed.marker.ts#L5-L5)[\[5\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/services/extensions.service.ts#L8-L8)
'@codemirror/view' should be listed in the project's dependencies. Run 'npm i -S @codemirror/view' to add it

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/extensions/change-detector.extension.ts#L82-L82)[\[2\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/debug.helper.ts#L82-L82)[\[3\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/debug.helper.ts#L86-L86)[\[4\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/debug.helper.ts#L90-L90)[\[5\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/debug.helper.ts#L94-L94)[\[6\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/debug.helper.ts#L96-L96)[\[7\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/dom.helper.ts#L98-L98)[\[8\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/dom.helper.ts#L114-L114)[\[9\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/main.ts#L76-L76)[\[10\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/modals/history.modal.ts#L176-L176)[\[11\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/modals/history.modal.ts#L202-L202)[\[12\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/modals/history.modal.ts#L219-L219)[\[13\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/services/extensions.service.ts#L118-L118)[\[14\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/services/extensions.service.ts#L126-L126)[\[15\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/services/styles.service.ts#L1-L1)
Unexpected undescribed directive comment. Include descriptions to explain why the comment is necessary.

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/extensions/change-detector.extension.ts#L82)
Unused eslint-disable directive (no problems were reported from 'max-params').

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/debug.helper.ts#L82-L82)[\[2\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/debug.helper.ts#L86-L86)[\[3\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/debug.helper.ts#L90-L90)[\[4\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/debug.helper.ts#L94-L94)[\[5\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/debug.helper.ts#L96-L96)
Disabling 'no-console' is not allowed.

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/helpers/dom.helper.ts#L113-L113)
'value' may use Object's default stringification format ('[object Object]') when stringified.

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/main.ts#L74-L74)[\[2\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/main.ts#L104-L104)[\[3\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/types.ts#L199-L199)[\[4\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/types.ts#L205-L205)
The `{}` ("empty object") type allows any non-nullish value, including literals like `0` and `""`.
- If that's what you want, disable this lint rule with an inline comment or configure the 'allowObjectTypes' rule option.
- If you want a type meaning "any object", you probably want `object` instead.
- If you want a type meaning "any value", you probably want `unknown` instead.

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/main.ts#L76)[\[2\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/services/extensions.service.ts#L118)[\[3\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/services/extensions.service.ts#L126)
Unused eslint-disable directive (no problems were reported from 'new-cap').

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/main.ts#L139-L141)
Promise-returning method provided where a void return was expected by extended/implemented type 'Plugin'.

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/modals/history.modal.ts#L202)[\[2\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/modals/history.modal.ts#L219)
Unused eslint-disable directive (no problems were reported from 'max-len').

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/modals/history.modal.ts#L250-L250)[\[2\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/settings/main.setting.ts#L60-L60)[\[3\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/settings/main.setting.ts#L61-L61)[\[4\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/settings/main.setting.ts#L70-L70)
Use sentence case for UI text.

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/modals/history.modal.ts#L350-L352)
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/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/modals/history.modal.ts#L478-L478)
The two values in this comparison do not have a shared enum type.

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/services/extensions.service.ts#L130-L130)
Invalid type "never" of template literal expression.

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/services/snapshots.service.ts#L50-L50)
Async method 'init' has no 'await' expression.

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/services/styles.service.ts#L1)
Unused eslint-disable directive (no problems were reported from '@typescript-eslint/no-unused-vars').

[\[1\]](https://github.com/BARTlab/obsidian-local-history/blob/68edf4934d2a7d163028ddce459ac9b5b786012a/src/services/styles.service.ts#L98-L98)
Creating and attaching "style" elements is not allowed. For loading CSS, use a "styles.css" file instead, which Obsidian loads for you.



---

### Optional

