From 89df6cb7515b7601f6a6caec2d188417109901d3 Mon Sep 17 00:00:00 2001 From: ccmdi Date: Tue, 4 Nov 2025 08:12:14 -0500 Subject: [PATCH] chore: fix eslint --- src/main.ts | 1 + src/map-renderer.ts | 10 ++++++---- src/settings/map-settings.ts | 2 +- src/settings/map-tag-settings.ts | 9 +++++---- src/thumbnail-cache.ts | 4 ++-- src/types/obsidian-ex.d.ts | 1 + src/views/map-bases-view.ts | 11 +++++++---- styles.css | 4 ++++ 8 files changed, 27 insertions(+), 15 deletions(-) diff --git a/src/main.ts b/src/main.ts index 6bd09d1..5caa2f7 100644 --- a/src/main.ts +++ b/src/main.ts @@ -36,6 +36,7 @@ export default class MapPlugin extends Plugin { } async loadSettings() { + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); } diff --git a/src/map-renderer.ts b/src/map-renderer.ts index a662773..06e5795 100644 --- a/src/map-renderer.ts +++ b/src/map-renderer.ts @@ -171,7 +171,7 @@ function handlePointClick(info: PickingInfo, event: MjolnirEvent, (srcEvent && 'button' in srcEvent && srcEvent.button === 1) || srcEvent?.ctrlKey || srcEvent?.metaKey; - app.workspace.getLeaf(newTab).openFile(info.object.point.file); + void app.workspace.getLeaf(newTab).openFile(info.object.point.file).catch(console.error); } } @@ -348,7 +348,7 @@ export function updateMapPoints(deck: Deck, points: MapPoint[], c } } -export async function createMapRenderer(config: MapRendererOptions): Promise> { +export function createMapRenderer(config: MapRendererOptions): Deck { const { containerEl, points, app, settings, tagSettings, options } = config; containerEl.addClass('map-container'); @@ -356,7 +356,7 @@ export async function createMapRenderer(config: MapRendererOptions): Promise; }) => { + // eslint-disable-next-line @typescript-eslint/no-deprecated const bbox = props.tile.bbox; if (!('west' in bbox)) return null; const { west, south, east, north } = bbox; diff --git a/src/settings/map-settings.ts b/src/settings/map-settings.ts index 774b6cb..1e536a9 100644 --- a/src/settings/map-settings.ts +++ b/src/settings/map-settings.ts @@ -135,7 +135,7 @@ export class MapSettingTab extends PluginSettingTab { if (value) { await this.plugin.thumbnailCache.loadCache(); setTimeout(() => { - this.plugin.thumbnailCache.generatePendingThumbnails(); + void this.plugin.thumbnailCache.generatePendingThumbnails(); }, 500); } diff --git a/src/settings/map-tag-settings.ts b/src/settings/map-tag-settings.ts index 9a90164..e870785 100644 --- a/src/settings/map-tag-settings.ts +++ b/src/settings/map-tag-settings.ts @@ -32,7 +32,9 @@ export class MapTagSettingTab extends PluginSettingTab { } export function renderTagCustomizations(containerEl: HTMLElement, app: App, plugin: MapPlugin) { - containerEl.createEl('h3', { text: 'Tags' }); + new Setting(containerEl) + .setName('Tags') + .setHeading(); containerEl.createEl('p', { text: 'Drag to reorder priority. Higher tags take precedence.', cls: 'setting-item-description' @@ -97,7 +99,7 @@ function createTagCustomizationSetting(container: HTMLElement, tag: string, cust iconBtn.onclick = () => { new IconPickerModal(app, customization.icon || '', (icon) => { plugin.tagSettings.tagCustomizations[tag].icon = icon; - plugin.saveTagSettings(); + void plugin.saveTagSettings(); displayTagCustomizations(container, app, plugin); }).open(); }; @@ -158,7 +160,7 @@ function addNewTagCustomization(container: HTMLElement, app: App, plugin: MapPlu if (!plugin.tagSettings.tagPriority.includes(tagName)) { plugin.tagSettings.tagPriority.push(tagName); } - plugin.saveTagSettings(); + void plugin.saveTagSettings(); displayTagCustomizations(container, app, plugin); }).open(); }).open(); @@ -176,7 +178,6 @@ class TagSuggestModal extends SuggestModal { getSuggestions(query: string): string[] { const tags = new Set(); const allTags = this.app.metadataCache.getTags(); - console.log(allTags); Object.keys(allTags).forEach(tag => { const cleanTag = tag.startsWith('#') ? tag.substring(1) : tag; tags.add(cleanTag); diff --git a/src/thumbnail-cache.ts b/src/thumbnail-cache.ts index 034dfee..252487c 100644 --- a/src/thumbnail-cache.ts +++ b/src/thumbnail-cache.ts @@ -14,7 +14,6 @@ export interface ThumbnailCacheMetadata { const THUMBNAIL_WIDTH = 300; const THUMBNAIL_HEIGHT = 200; -const CACHE_DIR = '.obsidian/plugins/mapplus/.cache'; export class ThumbnailCacheManager { private plugin: MapPlugin; @@ -31,7 +30,7 @@ export class ThumbnailCacheManager { entries: {}, pendingGeneration: [] }; - this.cacheDir = normalizePath(CACHE_DIR); + this.cacheDir = normalizePath(`${app.vault.configDir}/plugins/mapplus/.cache`); } async loadCache(): Promise { @@ -45,6 +44,7 @@ export class ThumbnailCacheManager { if (exists) { const content = await this.app.vault.adapter.read(metadataPath); + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment this.cache = JSON.parse(content); } diff --git a/src/types/obsidian-ex.d.ts b/src/types/obsidian-ex.d.ts index 6d8fed5..f0bf7a3 100644 --- a/src/types/obsidian-ex.d.ts +++ b/src/types/obsidian-ex.d.ts @@ -6,6 +6,7 @@ declare module "obsidian" { } interface Workspace { + // eslint-disable-next-line @typescript-eslint/no-explicit-any on(name: "map:refresh-all-views", callback: () => void, ctx?: any): EventRef; } } \ No newline at end of file diff --git a/src/views/map-bases-view.ts b/src/views/map-bases-view.ts index fa9335a..c6126b7 100644 --- a/src/views/map-bases-view.ts +++ b/src/views/map-bases-view.ts @@ -75,9 +75,11 @@ export class MapBasesView extends BasesView { private destroyMap(): void { if (this.deck) { try { - // @ts-ignore - accessing protected viewState + // @ts-expect-error - accessing protected viewState + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment const viewState = this.deck.viewState?.MapView; if (viewState) { + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment this.savedViewState = viewState; } this.deck.finalize(); @@ -145,7 +147,7 @@ export class MapBasesView extends BasesView { } } - private async renderMap(): Promise { + private renderMap(): void { if (!this.data) { this.containerEl.removeClass('is-loading'); return; @@ -221,7 +223,7 @@ export class MapBasesView extends BasesView { zoomToUse = this.defaultZoom; } - this.deck = await createMapRenderer({ + this.deck = createMapRenderer({ containerEl: this.mapEl, points, app: this.app, @@ -311,6 +313,7 @@ export class MapBasesView extends BasesView { const fileCache = this.app.metadataCache.getFileCache(entry.file); if (fileCache?.frontmatter?.tags) { + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment const tags = fileCache.frontmatter.tags; point.tags = Array.isArray(tags) ? tags : [tags]; } @@ -321,7 +324,7 @@ export class MapBasesView extends BasesView { point.cover = coverVal.toString(); if (this.plugin.settings.enableThumbnailCache) { - this.plugin.thumbnailCache.markForGeneration(point.cover, entry.file); + void this.plugin.thumbnailCache.markForGeneration(point.cover, entry.file); } } } diff --git a/styles.css b/styles.css index e49ee71..0fda692 100644 --- a/styles.css +++ b/styles.css @@ -142,6 +142,10 @@ } .map-settings-container { + .setting-item-heading + .setting-item-description { + padding-top: 0px; + margin-top: 0px; + } .delete-btn { width: 24px; height: 24px;