### Required

[\[1\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/eslint.config.js#L1-L1)
'@eslint/js' should be listed in the project's dependencies. Run 'npm i -S @eslint/js' to add it

[\[1\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/eslint.config.js#L6-L6)
'svelte-eslint-parser' should be listed in the project's dependencies. Run 'npm i -S svelte-eslint-parser' to add it

[\[1\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/main.ts#L37-L37)[\[2\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/main.ts#L83-L83)[\[3\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/settingTab.ts#L53-L53)[\[4\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/settingTab.ts#L157-L157)[\[5\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/settingTab.ts#L158-L158)[\[6\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/settingTab.ts#L170-L170)[\[7\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/settingTab.ts#L174-L174)[\[8\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/settingTab.ts#L180-L180)[\[9\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/settingTab.ts#L182-L182)[\[10\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/settingTab.ts#L203-L203)[\[11\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/view.ts#L36-L36)
Use sentence case for UI text.

[\[1\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/main.ts#L39-L39)[\[2\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/main.ts#L49-L49)[\[3\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/main.ts#L158-L158)[\[4\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/lib/openWeeklyNote.ts#L43-L43)[\[5\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/lib/openWeeklyNote.ts#L46-L46)
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/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/main.ts#L46-L46)
The command ID should not include the plugin ID.

[\[1\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/lib/openWeeklyNote.ts#L1-L1)
A `require()` style import is forbidden.

[\[1\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/lib/openWeeklyNote.ts#L57-L60)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/settingTab.ts#L169-L171)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.

[\[1\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/view.ts#L3-L3)
'svelte' should be listed in the project's dependencies. Run 'npm i -S svelte' to add it

[\[1\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/view.ts#L24-L24)[\[2\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/view.ts#L27-L27)
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/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/view.ts#L39-L39)
Async method 'onOpen' has no 'await' expression.

[\[1\]](https://github.com/szuc/obsidian-life-in-weeks-calendar/blob/076acf6b9cd3cc5367315c7c81dc77a5f8dff322/src/view.ts#L126-L126)
Async method 'onClose' has no 'await' expression.



---

### Optional

