diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 49faf43..3801325 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v1 with: - node-version: "16.x" + node-version: "18" - uses: oven-sh/setup-bun@v1 with: @@ -23,12 +23,6 @@ jobs: - name: Install dependencies run: bun install - - name: Fix tsconfig.json - run: | - sed -i '/"esModuleInterop"/d' node_modules/@tsconfig/svelte/tsconfig.json - sed -i '/"verbatimModuleSyntax"/d' node_modules/@tsconfig/svelte/tsconfig.json - sed -i '/"moduleResolution"/c\ "moduleResolution": "node",' node_modules/@tsconfig/svelte/tsconfig.json - - name: Build id: build run: bun run build diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..778a606 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,8 @@ +# Ignore markdown files +*.md +**/*.md + +# Other common files to ignore +node_modules/ +dist/ +.git/ diff --git a/.prettierrc b/.prettierrc index 1d33228..165637e 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,9 +1,8 @@ { - "tabWidth": 4, - "useTabs": true, - "endOfLine": "lf", - "charset": "utf-8", - "insertFinalNewline": false, - "semi": true, - "quotes": "double" + "tabWidth": 4, + "useTabs": true, + "endOfLine": "lf", + "semi": true, + "singleQuote": false, + "trailingComma": "none" } diff --git a/README.md b/README.md index 9f5bf59..6c35010 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,6 @@ Vault Explorer is a work in progress. Please check the GitHub repository and doc - [Screenshots](#screenshots) - [Installation](#installation) - [Usage](#usage) -- [Premium](#premium) - [Features](#features) - [Network use](#network-use) - [Contributing](#contributing) @@ -79,12 +78,6 @@ Vault Explorer is a work in progress. Please check the GitHub repository and doc Click the compass button on the left-hand sidebar to open the vault explorer view. -## Premium - -Premium features are available to users who purchase a [Vault Explorer license](https://vaultexplorer.com/docs/premium/). - -Please do not share your license key with anyone. Shared license keys will be deactivated. - ## Features | Name | Categories | Documented | diff --git a/__mocks__/js-logger.ts b/__mocks__/js-logger.ts index 9c3d567..94f4371 100644 --- a/__mocks__/js-logger.ts +++ b/__mocks__/js-logger.ts @@ -3,5 +3,5 @@ export default { info: jest.fn(), warn: jest.fn(), error: jest.fn(), - debug: jest.fn(), + debug: jest.fn() }; diff --git a/__mocks__/obsidian.ts b/__mocks__/obsidian.ts index 1e89f45..cd134ba 100644 --- a/__mocks__/obsidian.ts +++ b/__mocks__/obsidian.ts @@ -13,46 +13,60 @@ const DATE_TIME_SHORT_REGEX = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/; */ const DATE_TIME_FULL_REGEX = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/; -export const moment = jest.fn((date: string, _formats: string[], _strict?: boolean) => { - const parsedDate = new Date(date); - const mockMoment: unknown = { - isValid: jest.fn(() => DATE_REGEX.test(date) || DATE_TIME_SHORT_REGEX.test(date) || DATE_TIME_FULL_REGEX.test(date)), - startOf: jest.fn((unit) => { - if (unit === "day") { - parsedDate.setUTCHours(0, 0, 0, 0); - } - return mockMoment; - }), - set: jest.fn(({ hour, minute, second }) => { - parsedDate.setUTCHours(hour, minute, second); - return mockMoment; - }), - valueOf: jest.fn(() => parsedDate.getTime()), - isSame: jest.fn((other, unit) => { - if (unit === 'day') { - const otherDate = new Date(other); - return ( - parsedDate.getUTCFullYear() === otherDate.getUTCFullYear() && - parsedDate.getUTCMonth() === otherDate.getUTCMonth() && - parsedDate.getUTCDate() === otherDate.getUTCDate() - ); - } - return parsedDate.getTime() === new Date(other).getTime(); - }), - isBefore: jest.fn((other, unit) => { - if (unit === 'day') { - const otherDate = new Date(other); - return parsedDate < otherDate && parsedDate.getUTCDate() !== otherDate.getUTCDate(); - } - return parsedDate.getTime() < new Date(other).getTime(); - }), - isAfter: jest.fn((other, unit) => { - if (unit === 'day') { - const otherDate = new Date(other); - return parsedDate > otherDate && parsedDate.getUTCDate() !== otherDate.getUTCDate(); - } - return parsedDate.getTime() > new Date(other).getTime(); - }), - }; - return mockMoment; -}); +export const moment = jest.fn( + (date: string, _formats: string[], _strict?: boolean) => { + const parsedDate = new Date(date); + const mockMoment: unknown = { + isValid: jest.fn( + () => + DATE_REGEX.test(date) || + DATE_TIME_SHORT_REGEX.test(date) || + DATE_TIME_FULL_REGEX.test(date) + ), + startOf: jest.fn((unit) => { + if (unit === "day") { + parsedDate.setUTCHours(0, 0, 0, 0); + } + return mockMoment; + }), + set: jest.fn(({ hour, minute, second }) => { + parsedDate.setUTCHours(hour, minute, second); + return mockMoment; + }), + valueOf: jest.fn(() => parsedDate.getTime()), + isSame: jest.fn((other, unit) => { + if (unit === "day") { + const otherDate = new Date(other); + return ( + parsedDate.getUTCFullYear() === + otherDate.getUTCFullYear() && + parsedDate.getUTCMonth() === otherDate.getUTCMonth() && + parsedDate.getUTCDate() === otherDate.getUTCDate() + ); + } + return parsedDate.getTime() === new Date(other).getTime(); + }), + isBefore: jest.fn((other, unit) => { + if (unit === "day") { + const otherDate = new Date(other); + return ( + parsedDate < otherDate && + parsedDate.getUTCDate() !== otherDate.getUTCDate() + ); + } + return parsedDate.getTime() < new Date(other).getTime(); + }), + isAfter: jest.fn((other, unit) => { + if (unit === "day") { + const otherDate = new Date(other); + return ( + parsedDate > otherDate && + parsedDate.getUTCDate() !== otherDate.getUTCDate() + ); + } + return parsedDate.getTime() > new Date(other).getTime(); + }) + }; + return mockMoment; + } +); diff --git a/bun.lockb b/bun.lockb index 939b3df..de4fc48 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/esbuild.config.mjs b/esbuild.config.mjs index f5a3337..2f98cc5 100644 --- a/esbuild.config.mjs +++ b/esbuild.config.mjs @@ -29,12 +29,12 @@ const rebuildPlugin = { ); } catch (err) {} }); - }, + } }; const context = await esbuild.context({ banner: { - js: banner, + js: banner }, entryPoints: ["src/main.ts"], bundle: true, @@ -52,7 +52,7 @@ const context = await esbuild.context({ "@lezer/common", "@lezer/highlight", "@lezer/lr", - ...builtins, + ...builtins ], format: "cjs", target: "es2018", @@ -64,9 +64,9 @@ const context = await esbuild.context({ rebuildPlugin, esbuildSvelte({ compilerOptions: { css: "external" }, - preprocess: sveltePreprocess(), - }), - ], + preprocess: sveltePreprocess() + }) + ] }); if (prod) { diff --git a/jest.config.js b/jest.config.js index 74f4614..d11d6ac 100644 --- a/jest.config.js +++ b/jest.config.js @@ -3,6 +3,6 @@ module.exports = { preset: "ts-jest", testEnvironment: "node", moduleNameMapper: { - "^src/(.*)$": "/src/$1", - }, + "^src/(.*)$": "/src/$1" + } }; diff --git a/manifest.json b/manifest.json index d5a079c..abb4490 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "vault-explorer", "name": "Vault Explorer", - "version": "1.46.0", + "version": "1.47.0", "minAppVersion": "1.4.13", "description": "Explore your vault in visual format", "author": "DecafDev", diff --git a/package.json b/package.json index 62041df..b8d97cf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "obsidian-vault-explorer", - "version": "1.46.0", + "version": "1.47.0", "description": "Explore your vault in visual format", "main": "main.js", "scripts": { @@ -10,37 +10,39 @@ "compile": "tsc -noEmit -skipLibCheck", "check": "svelte-check --tsconfig ./tsconfig.json", "test": "jest --config jest.config.js", - "lint": "eslint --ext .ts,.js,.svelte ." + "lint": "eslint --ext .ts,.js,.svelte .", + "format": "prettier --write --ignore-path .prettierignore ." }, "keywords": [], "author": "DecafDev", "license": "MIT", "devDependencies": { "@tsconfig/svelte": "^5.0.4", - "@types/bun": "latest", - "@types/jest": "^29.5.12", - "@types/lodash": "^4.17.0", - "@types/node": "^16.11.6", - "@typescript-eslint/eslint-plugin": "5.29.0", - "@typescript-eslint/parser": "5.29.0", - "builtin-modules": "3.3.0", - "esbuild": "0.17.3", - "esbuild-svelte": "^0.8.0", + "@types/bun": "^1.2.11", + "@types/jest": "^29.5.14", + "@types/lodash": "^4.17.16", + "@types/node": "^22.15.3", + "@typescript-eslint/eslint-plugin": "8.31.1", + "@typescript-eslint/parser": "8.31.1", + "builtin-modules": "^5.0.0", + "esbuild": "^0.25.3", + "esbuild-svelte": "^0.9.2", "jest": "^29.7.0", - "obsidian": "latest", - "svelte-check": "^3.8.4", - "svelte-preprocess": "^5.1.4", - "ts-auto-guard": "^5.0.0", - "ts-jest": "^29.1.4", - "tslib": "2.4.0", - "typescript": "4.7.4" + "obsidian": "^1.8.7", + "prettier": "^3.5.3", + "svelte-check": "^4.1.7", + "svelte-preprocess": "^6.0.3", + "ts-auto-guard": "^5.0.1", + "ts-jest": "^29.3.2", + "tslib": "2.8.1", + "typescript": "^5.8.3" }, "dependencies": { "crypto": "^1.0.1", - "idb": "^8.0.0", + "idb": "^8.0.2", "js-logger": "^1.6.1", "lodash": "^4.17.21", - "nanoid": "^5.0.7", - "svelte": "^4.2.15" + "nanoid": "^5.1.5", + "svelte": "^5.28.2" } } diff --git a/src/constants.ts b/src/constants.ts index 3a0efdc..93be7a9 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -1,5 +1,5 @@ import { LOG_LEVEL_WARN } from "./logger/constants"; -import { VaultExplorerPluginSettings, TExplorerView } from "./types"; +import { type VaultExplorerPluginSettings, TExplorerView } from "./types"; export const VAULT_EXPLORER_VIEW = "vault-explorer"; @@ -14,22 +14,22 @@ export const DEFAULT_SETTINGS: VaultExplorerPluginSettings = { modifiedDate: "", custom1: "", custom2: "", - custom3: "", + custom3: "" }, filters: { search: { isEnabled: true, - value: "", + value: "" }, sort: { isEnabled: true, - value: "file-name-asc", + value: "file-name-asc" }, custom: { isEnabled: true, selectedGroupId: "", - groups: [], - }, + groups: [] + } }, views: { grid: { @@ -39,27 +39,27 @@ export const DEFAULT_SETTINGS: VaultExplorerPluginSettings = { coverImageSources: [ { type: "image-property", - isEnabled: true, + isEnabled: true }, { type: "url-property", - isEnabled: true, + isEnabled: true }, { type: "frontmatter", - isEnabled: true, + isEnabled: true }, { type: "body", - isEnabled: true, - }, + isEnabled: true + } ], - loadSocialMediaImage: true, + loadSocialMediaImage: true }, list: { isEnabled: true, order: 1, - showTags: true, + showTags: true }, feed: { isEnabled: true, @@ -68,12 +68,12 @@ export const DEFAULT_SETTINGS: VaultExplorerPluginSettings = { collapseStyle: "no-new-lines", lineClampLarge: 5, lineClampMedium: 3, - lineClampSmall: 2, + lineClampSmall: 2 }, table: { isEnabled: false, - order: 3, - }, + order: 3 + } }, confirmBeforeDelete: true, currentView: TExplorerView.GRID, @@ -85,5 +85,5 @@ export const DEFAULT_SETTINGS: VaultExplorerPluginSettings = { pageSize: 25, configDir: ".vaultexplorer", pluginVersion: null, - logLevel: LOG_LEVEL_WARN, + logLevel: LOG_LEVEL_WARN }; diff --git a/src/event/event-manager.ts b/src/event/event-manager.ts index 1123197..06514b0 100644 --- a/src/event/event-manager.ts +++ b/src/event/event-manager.ts @@ -1,5 +1,5 @@ import Logger from "js-logger"; -import { PluginEvent, EventCallback } from "./types"; +import { PluginEvent, type EventCallback } from "./types"; export default class EventManager { private static instance: EventManager; @@ -40,7 +40,7 @@ export default class EventManager { Logger.trace({ fileName: "event-manager.ts", functionName: "emit", - message: "called", + message: "called" }); if (!this.eventListeners[eventName]) { @@ -48,7 +48,7 @@ export default class EventManager { { fileName: "event-manager.ts", functionName: "emit", - message: "no event listeners found for event. returning...", + message: "no event listeners found for event. returning..." }, { eventName } ); @@ -59,7 +59,7 @@ export default class EventManager { { fileName: "event-manager.ts", functionName: "emit", - message: "emiting event", + message: "emiting event" }, { eventName } ); diff --git a/src/event/types.ts b/src/event/types.ts index 5d92567..f6e100e 100644 --- a/src/event/types.ts +++ b/src/event/types.ts @@ -14,7 +14,6 @@ export enum PluginEvent { FEED_CONTENT_SETTING_CHANGE = "feed-content-setting-change", COVER_IMAGE_SOURCE_SETTING_CHANGE = "cover-image-source-setting-change", PROPERTY_SETTING_CHANGE = "property-setting-change", - LICENSE_KEY_VALIDATION_CHANGE = "license-key-validation-change", CLOCK_UPDATES_SETTING_CHANGE = "clock-updates-setting-change", FILTER_TOGGLE_SETTING_CHANGE = "filter-toggle-setting-change", SCROLL_BUTTONS_SETTING_CHANGE = "scroll-buttons-setting-change", @@ -22,7 +21,7 @@ export enum PluginEvent { FILE_ICONS_SETTING_CHANGE = "file-icons-setting-change", LOAD_BODY_TAGS_SETTING_CHANGE = "load-body-tags-setting-change", LOAD_SOCIAL_MEDIA_IMAGE_SETTING_CHANGE = "load-social-media-image-setting-change", - SHOW_TAGS_SETTING_CHANGE = "show-tags-setting-change", + SHOW_TAGS_SETTING_CHANGE = "show-tags-setting-change" } export type EventCallback = (...data: unknown[]) => void; diff --git a/src/focus-utils.ts b/src/focus-utils.ts index ce8648d..1a9bc1d 100644 --- a/src/focus-utils.ts +++ b/src/focus-utils.ts @@ -1,14 +1,19 @@ export const moveFocus = (direction: "previous" | "next") => { const focusedEl = document.activeElement; if (focusedEl instanceof HTMLElement) { - const rootEl = focusedEl.closest('.vault-explorer, .vault-explorer-property-filter-app'); + const rootEl = focusedEl.closest( + ".vault-explorer, .vault-explorer-property-filter-app" + ); if (!rootEl) return; - const inputEls = rootEl.querySelectorAll('a, button, input, select, textarea, [role="button"], [role="link"]') + const inputEls = rootEl.querySelectorAll( + 'a, button, input, select, textarea, [role="button"], [role="link"]' + ); const focusableEls = Array.from(inputEls).filter(isElementTabble); const currentIndex = focusableEls.indexOf(focusedEl); - const newIndex = direction === "previous" ? currentIndex - 1 : currentIndex + 1; + const newIndex = + direction === "previous" ? currentIndex - 1 : currentIndex + 1; if (newIndex >= 0 && newIndex < focusableEls.length) { (focusableEls[newIndex] as HTMLElement).focus(); } else if (newIndex > focusableEls.length - 1) { @@ -19,6 +24,9 @@ export const moveFocus = (direction: "previous" | "next") => { } function isElementTabble(element: Element) { - return element.getAttribute('disabled') == null && element.getAttribute('tabindex') !== '-1'; + return ( + element.getAttribute("disabled") == null && + element.getAttribute("tabindex") !== "-1" + ); } -} +}; diff --git a/src/logger/index.ts b/src/logger/index.ts index f821c1a..1a773a4 100644 --- a/src/logger/index.ts +++ b/src/logger/index.ts @@ -1,7 +1,13 @@ -import Logger, { ILogLevel } from "js-logger"; -import { LOG_LEVEL_OFF, LOG_LEVEL_ERROR, LOG_LEVEL_WARN, LOG_LEVEL_INFO, LOG_LEVEL_DEBUG, LOG_LEVEL_TRACE } from "./constants"; -import { FormattedLogMessage, LogMessageHeader } from "./types"; - +import Logger, { type ILogLevel } from "js-logger"; +import { + LOG_LEVEL_DEBUG, + LOG_LEVEL_ERROR, + LOG_LEVEL_INFO, + LOG_LEVEL_OFF, + LOG_LEVEL_TRACE, + LOG_LEVEL_WARN +} from "./constants"; +import type { FormattedLogMessage, LogMessageHeader } from "./types"; export const logLevelToString = (level: ILogLevel) => { switch (level) { @@ -20,7 +26,7 @@ export const logLevelToString = (level: ILogLevel) => { default: throw new Error("Unhandled log level"); } -} +}; export const stringToLogLevel = (value: string) => { switch (value) { @@ -39,16 +45,21 @@ export const stringToLogLevel = (value: string) => { default: throw new Error(`Unhandled log level: ${value}`); } -} +}; -export const formatMessageForLogger = (...args: unknown[]): FormattedLogMessage => { +export const formatMessageForLogger = ( + ...args: unknown[] +): FormattedLogMessage => { const head: unknown = args[0]; const body = args[1] as unknown as Record; if (typeof args[0] == "object") { const headers = head as LogMessageHeader; const { fileName, functionName, message } = headers; - return { message: `[${fileName}:${functionName}] ${message}`, data: body }; + return { + message: `[${fileName}:${functionName}] ${message}`, + data: body + }; } else { return { message: String(head), data: body }; } -} +}; diff --git a/src/main.ts b/src/main.ts index b4c6034..e2c2b6a 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,26 +1,24 @@ import { Plugin, TAbstractFile, TFile, TFolder } from "obsidian"; -import VaultExplorerView from "./obsidian/vault-explorer-view"; import VaultExplorerSettingsTab from "./obsidian/vault-explorer-settings-tab"; +import VaultExplorerView from "./obsidian/vault-explorer-view"; -import { VaultExplorerPluginSettings } from "./types"; +import Logger from "js-logger"; import { DEFAULT_SETTINGS, HOVER_LINK_SOURCE_ID, - VAULT_EXPLORER_VIEW, + VAULT_EXPLORER_VIEW } from "./constants"; -import _ from "lodash"; import EventManager from "./event/event-manager"; -import { preformMigrations } from "./migrations"; -import Logger from "js-logger"; -import { formatMessageForLogger, stringToLogLevel } from "./logger"; -import { moveFocus } from "./focus-utils"; import { PluginEvent } from "./event/types"; -import { isVersionLessThan } from "./utils"; -import License from "./svelte/shared/services/license"; +import { moveFocus } from "./focus-utils"; +import { formatMessageForLogger, stringToLogLevel } from "./logger"; +import { preformMigrations } from "./migrations"; +import "./styles.css"; import { clearSMICache } from "./svelte/app/services/smi-cache"; import store from "./svelte/shared/services/store"; -import "./styles.css"; +import type { VaultExplorerPluginSettings } from "./types"; +import { isVersionLessThan } from "./utils"; export default class VaultExplorerPlugin extends Plugin { settings: VaultExplorerPluginSettings = DEFAULT_SETTINGS; @@ -32,8 +30,6 @@ export default class VaultExplorerPlugin extends Plugin { store.plugin.set(this); - await License.getInstance().loadStoredKey(); - this.registerView( VAULT_EXPLORER_VIEW, (leaf) => new VaultExplorerView(leaf, this) @@ -48,13 +44,13 @@ export default class VaultExplorerPlugin extends Plugin { name: "Open vault explorer view", callback: async () => { this.openVaultExplorerView(); - }, + } }); this.registerEvents(); this.registerHoverLinkSource(HOVER_LINK_SOURCE_ID, { display: this.manifest.name, - defaultMod: true, + defaultMod: true }); this.addSettingTab(new VaultExplorerSettingsTab(this.app, this)); @@ -203,11 +199,6 @@ export default class VaultExplorerPlugin extends Plugin { //Clean up the old device id from the versioning system const LOCAL_STORAGE_ID = "vault-explorer-id"; localStorage.removeItem(LOCAL_STORAGE_ID); - - //Clean up the old device id from the versioning system - const LOCAL_STORAGE_LICENSE_KEY = - "vault-explorer-license-key"; - localStorage.removeItem(LOCAL_STORAGE_LICENSE_KEY); } if (isVersionLessThan(loadedVersion, "1.37.1")) { console.log("Clearing image cache"); @@ -232,13 +223,13 @@ export default class VaultExplorerPlugin extends Plugin { Logger.trace({ fileName: "main.ts", functionName: "saveSettings", - message: "called", + message: "called" }); Logger.debug( { fileName: "main.ts", functionName: "saveSettings", - message: "saving settings", + message: "saving settings" }, this.settings ); @@ -253,7 +244,7 @@ export default class VaultExplorerPlugin extends Plugin { } else { this.app.workspace.getLeaf("tab").setViewState({ type: VAULT_EXPLORER_VIEW, - active: true, + active: true }); } } diff --git a/src/migrations/index.ts b/src/migrations/index.ts index f830627..fa3a583 100644 --- a/src/migrations/index.ts +++ b/src/migrations/index.ts @@ -1,16 +1,11 @@ import Migrate_0_4_0 from "./migrate_0_4_0"; -import Migrate_1_1_0 from "./migrate_1_1_0"; import Migrate_1_0_0 from "./migrate_1_0_0"; -import Migrate_1_2_1 from "./migrate_1_2_1"; -import Migrate_1_3_0 from "./migrate_1_3_0"; -import Migrate_1_6_0 from "./migrate_1_6_0"; -import Migrate_1_6_1 from "./migrate_1_6_1"; -import Migrate_1_9_0 from "./migrate_1_9_0"; +import Migrate_1_10_0 from "./migrate_1_10_0"; +import Migrate_1_13_0 from "./migrate_1_13_0"; import Migrate_1_14_0 from "./migrate_1_14_0"; import Migrate_1_15_0 from "./migrate_1_15_0"; import Migrate_1_17_0 from "./migrate_1_17_0"; -import Migrate_1_13_0 from "./migrate_1_13_0"; -import Migrate_1_10_0 from "./migrate_1_10_0"; +import Migrate_1_1_0 from "./migrate_1_1_0"; import Migrate_1_21_0 from "./migrate_1_21_0"; import Migrate_1_22_0 from "./migrate_1_22_0"; import Migrate_1_23_0 from "./migrate_1_23_0"; @@ -18,8 +13,12 @@ import Migrate_1_23_1 from "./migrate_1_23_1"; import Migrate_1_24_0 from "./migrate_1_24_0"; import Migrate_1_25_0 from "./migrate_1_25_0"; import Migrate_1_26_0 from "./migrate_1_26_0"; +import Migrate_1_2_1 from "./migrate_1_2_1"; +import Migrate_1_3_0 from "./migrate_1_3_0"; +import Migrate_1_6_0 from "./migrate_1_6_0"; +import Migrate_1_6_1 from "./migrate_1_6_1"; +import Migrate_1_9_0 from "./migrate_1_9_0"; -import { TMigration } from "./types"; import { isVersionLessThan } from "src/utils"; import Migrate_1_27_0 from "./migrate_1_27_0"; import Migrate_1_29_0 from "./migrate_1_29_0"; @@ -34,173 +33,174 @@ import Migrate_1_41_0 from "./migrate_1_41_0"; import Migrate_1_42_0 from "./migrate_1_42_0"; import Migrate_1_45_0 from "./migrate_1_45_0"; import Migrate_1_46_0 from "./migrate_1_46_0"; +import type { TMigration } from "./types"; const migrations: TMigration[] = [ { from: "0.3.3", to: "0.4.0", - migrate: Migrate_0_4_0, + migrate: Migrate_0_4_0 }, { from: "0.5.5", to: "1.0.0", - migrate: Migrate_1_0_0, + migrate: Migrate_1_0_0 }, { from: "1.0.1", to: "1.1.0", - migrate: Migrate_1_1_0, + migrate: Migrate_1_1_0 }, { from: "1.2.0", to: "1.2.1", - migrate: Migrate_1_2_1, + migrate: Migrate_1_2_1 }, { from: "1.2.1", to: "1.3.0", - migrate: Migrate_1_3_0, + migrate: Migrate_1_3_0 }, { from: "1.5.0", to: "1.6.0", - migrate: Migrate_1_6_0, + migrate: Migrate_1_6_0 }, { from: "1.6.0", to: "1.6.1", - migrate: Migrate_1_6_1, + migrate: Migrate_1_6_1 }, { from: "1.8.1", to: "1.9.0", - migrate: Migrate_1_9_0, + migrate: Migrate_1_9_0 }, { from: "1.9.1", to: "1.10.0", - migrate: Migrate_1_10_0, + migrate: Migrate_1_10_0 }, { from: "1.12.1", to: "1.13.0", - migrate: Migrate_1_13_0, + migrate: Migrate_1_13_0 }, { from: "1.13.1", to: "1.14.0", - migrate: Migrate_1_14_0, + migrate: Migrate_1_14_0 }, { from: "1.14.2", to: "1.15.0", - migrate: Migrate_1_15_0, + migrate: Migrate_1_15_0 }, { from: "1.16.0", to: "1.17.0", - migrate: Migrate_1_17_0, + migrate: Migrate_1_17_0 }, { from: "1.20.0", to: "1.21.0", - migrate: Migrate_1_21_0, + migrate: Migrate_1_21_0 }, { from: "1.21.2", to: "1.22.0", - migrate: Migrate_1_22_0, + migrate: Migrate_1_22_0 }, { from: "1.22.0", to: "1.23.0", - migrate: Migrate_1_23_0, + migrate: Migrate_1_23_0 }, { from: "1.23.0", to: "1.23.1", - migrate: Migrate_1_23_1, + migrate: Migrate_1_23_1 }, { from: "1.23.2", to: "1.24.0", - migrate: Migrate_1_24_0, + migrate: Migrate_1_24_0 }, { from: "1.24.2", to: "1.25.0", - migrate: Migrate_1_25_0, + migrate: Migrate_1_25_0 }, { from: "1.25.2", to: "1.26.0", - migrate: Migrate_1_26_0, + migrate: Migrate_1_26_0 }, { from: "1.26.3", to: "1.27.0", - migrate: Migrate_1_27_0, + migrate: Migrate_1_27_0 }, { from: "1.28.0", to: "1.29.0", - migrate: Migrate_1_29_0, + migrate: Migrate_1_29_0 }, { from: "1.29.0", to: "1.30.0", - migrate: Migrate_1_30_0, + migrate: Migrate_1_30_0 }, { from: "1.30.5", to: "1.31.0", - migrate: Migrate_1_31_0, + migrate: Migrate_1_31_0 }, { from: "1.32.2", to: "1.33.0", - migrate: Migrate_1_33_0, + migrate: Migrate_1_33_0 }, { from: "1.36.3", to: "1.37.0", - migrate: Migrate_1_37_0, + migrate: Migrate_1_37_0 }, { from: "1.37.2", to: "1.38.0", - migrate: Migrate_1_38_0, + migrate: Migrate_1_38_0 }, { from: "1.38.0", to: "1.39.0", - migrate: Migrate_1_39_0, + migrate: Migrate_1_39_0 }, { from: "1.39.0", to: "1.40.0", - migrate: Migrate_1_40_0, + migrate: Migrate_1_40_0 }, { from: "1.40.2", to: "1.41.0", - migrate: Migrate_1_41_0, + migrate: Migrate_1_41_0 }, { from: "1.41.1", to: "1.42.0", - migrate: Migrate_1_42_0, + migrate: Migrate_1_42_0 }, { from: "1.44.6", to: "1.45.0", - migrate: Migrate_1_45_0, + migrate: Migrate_1_45_0 }, { from: "1.45.0", to: "1.46.0", - migrate: Migrate_1_46_0, - }, + migrate: Migrate_1_46_0 + } ]; export const preformMigrations = ( diff --git a/src/migrations/migrate_0_4_0.ts b/src/migrations/migrate_0_4_0.ts index 81960af..15186dc 100644 --- a/src/migrations/migrate_0_4_0.ts +++ b/src/migrations/migrate_0_4_0.ts @@ -1,10 +1,10 @@ -import { VaultExplorerPluginSettings_0_5_5 } from "src/types/types-0.5.5"; -import { VaultExplorerPluginSettings_0_3_3 } from "src/types/types-0.3.3"; +import type { VaultExplorerPluginSettings_0_3_3 } from "src/types/types-0.3.3"; +import type { VaultExplorerPluginSettings_0_5_5 } from "src/types/types-0.5.5"; import MigrationInterface from "./migration_interface"; export default class Migrate_0_4_0 implements MigrationInterface { migrate(data: Record) { - const typedData = (data as unknown) as VaultExplorerPluginSettings_0_3_3; + const typedData = data as unknown as VaultExplorerPluginSettings_0_3_3; const newData: VaultExplorerPluginSettings_0_5_5 = { ...typedData, filters: { @@ -13,8 +13,8 @@ export default class Migrate_0_4_0 implements MigrationInterface { ...typedData.filters.properties, groups: [] } - }, - } + } + }; return newData as unknown as Record; } } diff --git a/src/migrations/migrate_1_0_0.ts b/src/migrations/migrate_1_0_0.ts index 94b7b2e..d7539f2 100644 --- a/src/migrations/migrate_1_0_0.ts +++ b/src/migrations/migrate_1_0_0.ts @@ -1,11 +1,11 @@ -import { VaultExplorerPluginSettings_0_5_5 } from "src/types/types-0.5.5"; -import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_0_1 } from "src/types/types-1.0.1"; import { LOG_LEVEL_WARN } from "src/logger/constants"; +import type { VaultExplorerPluginSettings_0_5_5 } from "src/types/types-0.5.5"; +import type { VaultExplorerPluginSettings_1_0_1 } from "src/types/types-1.0.1"; +import MigrationInterface from "./migration_interface"; export default class Migrate_1_0_0 implements MigrationInterface { migrate(data: Record) { - const typedData = (data as unknown) as VaultExplorerPluginSettings_0_5_5; + const typedData = data as unknown as VaultExplorerPluginSettings_0_5_5; const newData: VaultExplorerPluginSettings_1_0_1 = { ...typedData, logLevel: LOG_LEVEL_WARN, @@ -13,18 +13,18 @@ export default class Migrate_1_0_0 implements MigrationInterface { ...typedData.filters, properties: { ...typedData.filters.properties, - groups: typedData.filters.properties.groups.map(group => { + groups: typedData.filters.properties.groups.map((group) => { const { id, name, filters, isEnabled } = group; return { id, name, filters, isEnabled - } + }; }) } } - } + }; return newData as unknown as Record; } } diff --git a/src/migrations/migrate_1_10_0.ts b/src/migrations/migrate_1_10_0.ts index 3c33707..215d123 100644 --- a/src/migrations/migrate_1_10_0.ts +++ b/src/migrations/migrate_1_10_0.ts @@ -1,32 +1,35 @@ -import { FilterRuleType_1_12_1, VaultExplorerPluginSettings_1_12_1 } from "src/types/types-1.12.1"; +import { + FilterRuleType_1_12_1, + type VaultExplorerPluginSettings_1_12_1 +} from "src/types/types-1.12.1"; +import type { VaultExplorerPluginSettings_1_9_1 } from "src/types/types-1.9.1"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_9_1 } from "src/types/types-1.9.1"; export default class Migrate_1_10_0 implements MigrationInterface { migrate(data: Record) { - const typedData = (data as unknown) as VaultExplorerPluginSettings_1_9_1; + const typedData = data as unknown as VaultExplorerPluginSettings_1_9_1; const newData: VaultExplorerPluginSettings_1_12_1 = { ...typedData, filters: { ...typedData.filters, custom: { ...typedData.filters.custom, - groups: typedData.filters.custom.groups.map(group => { - const rules = group.rules.map(rule => { + groups: typedData.filters.custom.groups.map((group) => { + const rules = group.rules.map((rule) => { return { ...rule, type: FilterRuleType_1_12_1.PROPERTY as any, - propertyType: rule.type as any, - } + propertyType: rule.type as any + }; }); return { ...group, rules - } + }; }) } } - } + }; delete (newData.filters as any).folder; delete (newData.filters as any).properties; for (const group of newData.filters.custom.groups as any) { diff --git a/src/migrations/migrate_1_13_0.ts b/src/migrations/migrate_1_13_0.ts index 80d503a..63d216e 100644 --- a/src/migrations/migrate_1_13_0.ts +++ b/src/migrations/migrate_1_13_0.ts @@ -1,10 +1,10 @@ -import { VaultExplorerPluginSettings_1_13_1 } from "src/types/types-1.13.1"; +import type { VaultExplorerPluginSettings_1_12_1 } from "src/types/types-1.12.1"; +import type { VaultExplorerPluginSettings_1_13_1 } from "src/types/types-1.13.1"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_12_1 } from "src/types/types-1.12.1"; export default class Migrate_1_13_0 implements MigrationInterface { migrate(data: Record) { - const typedData = (data as unknown) as VaultExplorerPluginSettings_1_12_1; + const typedData = data as unknown as VaultExplorerPluginSettings_1_12_1; const newData: VaultExplorerPluginSettings_1_13_1 = { ...typedData, views: { @@ -15,15 +15,15 @@ export default class Migrate_1_13_0 implements MigrationInterface { ...typedData.filters, custom: { ...typedData.filters.custom, - groups: typedData.filters.custom.groups.map(group => { + groups: typedData.filters.custom.groups.map((group) => { return { ...group, isSticky: false - } + }; }) } } - } + }; return newData as unknown as Record; } } diff --git a/src/migrations/migrate_1_14_0.ts b/src/migrations/migrate_1_14_0.ts index b5f313f..2e4984b 100644 --- a/src/migrations/migrate_1_14_0.ts +++ b/src/migrations/migrate_1_14_0.ts @@ -1,10 +1,10 @@ -import { VaultExplorerPluginSettings_1_14_2 } from "src/types/types-1.14.2"; +import type { VaultExplorerPluginSettings_1_13_1 } from "src/types/types-1.13.1"; +import type { VaultExplorerPluginSettings_1_14_2 } from "src/types/types-1.14.2"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_13_1 } from "src/types/types-1.13.1"; export default class Migrate_1_14_0 implements MigrationInterface { migrate(data: Record) { - const typedData = (data as unknown) as VaultExplorerPluginSettings_1_13_1; + const typedData = data as unknown as VaultExplorerPluginSettings_1_13_1; const newData: VaultExplorerPluginSettings_1_14_2 = { ...typedData, filters: { @@ -28,10 +28,10 @@ export default class Migrate_1_14_0 implements MigrationInterface { custom: { isEnabled: true, ...typedData.filters.custom - }, + } }, - enableScrollButtons: true, - } + enableScrollButtons: true + }; delete (newData.filters as any).onlyFavorites; return newData as unknown as Record; } diff --git a/src/migrations/migrate_1_15_0.ts b/src/migrations/migrate_1_15_0.ts index 6af05e0..bc91135 100644 --- a/src/migrations/migrate_1_15_0.ts +++ b/src/migrations/migrate_1_15_0.ts @@ -1,17 +1,20 @@ -import { VaultExplorerPluginSettings_1_16_0, ViewType_1_16_0 } from "src/types/types-1.16.0"; +import type { VaultExplorerPluginSettings_1_14_2 } from "src/types/types-1.14.2"; +import { + type VaultExplorerPluginSettings_1_16_0, + ViewType_1_16_0 +} from "src/types/types-1.16.0"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_14_2 } from "src/types/types-1.14.2"; export default class Migrate_1_15_0 implements MigrationInterface { migrate(data: Record) { - const typedData = (data as unknown) as VaultExplorerPluginSettings_1_14_2; + const typedData = data as unknown as VaultExplorerPluginSettings_1_14_2; const newData: VaultExplorerPluginSettings_1_16_0 = { ...typedData, views: { ...typedData.views, - order: [...typedData.views.order, ViewType_1_16_0.FEED], + order: [...typedData.views.order, ViewType_1_16_0.FEED] } - } + }; return newData as unknown as Record; } } diff --git a/src/migrations/migrate_1_17_0.ts b/src/migrations/migrate_1_17_0.ts index d11fa7a..cd7f4de 100644 --- a/src/migrations/migrate_1_17_0.ts +++ b/src/migrations/migrate_1_17_0.ts @@ -1,7 +1,7 @@ import { TExplorerView } from "src/types"; +import type { VaultExplorerPluginSettings_1_16_0 } from "src/types/types-1.16.0"; +import type { VaultExplorerPluginSettings_1_20_0 } from "src/types/types-1.20.0"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_16_0 } from "src/types/types-1.16.0"; -import { VaultExplorerPluginSettings_1_20_0 } from "src/types/types-1.20.0"; export default class Migrate_1_17_0 implements MigrationInterface { migrate(data: Record) { @@ -10,32 +10,32 @@ export default class Migrate_1_17_0 implements MigrationInterface { ...typedData, views: { dashboard: { - isEnabled: false, + isEnabled: false }, grid: { - isEnabled: true, + isEnabled: true }, list: { - isEnabled: true, + isEnabled: true }, table: { - isEnabled: false, + isEnabled: false }, feed: { - isEnabled: true, + isEnabled: true }, recommended: { - isEnabled: false, + isEnabled: false }, related: { - isEnabled: false, - }, + isEnabled: false + } }, viewOrder: typedData.views.order as unknown as TExplorerView[], enableClockUpdates: typedData.views.enableClockUpdates, currentView: typedData.views .currentView as unknown as TExplorerView, - titleWrapping: typedData.views.titleWrapping, + titleWrapping: typedData.views.titleWrapping }; delete (newData as any).views.order; delete (newData as any).views.currentView; diff --git a/src/migrations/migrate_1_1_0.ts b/src/migrations/migrate_1_1_0.ts index e8c541d..29516db 100644 --- a/src/migrations/migrate_1_1_0.ts +++ b/src/migrations/migrate_1_1_0.ts @@ -1,17 +1,20 @@ +import type { VaultExplorerPluginSettings_1_0_1 } from "src/types/types-1.0.1"; +import { + type VaultExplorerPluginSettings_1_2_0, + ViewType_1_2_0 +} from "src/types/types-1.2.0"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_0_1 } from "src/types/types-1.0.1"; -import { VaultExplorerPluginSettings_1_2_0, ViewType_1_2_0 } from "src/types/types-1.2.0"; export default class Migrate_1_1_0 implements MigrationInterface { migrate(data: Record) { - const typedData = (data as unknown) as VaultExplorerPluginSettings_1_0_1; + const typedData = data as unknown as VaultExplorerPluginSettings_1_0_1; const newData: VaultExplorerPluginSettings_1_2_0 = { ...typedData, views: { currentView: typedData.currentView as unknown as ViewType_1_2_0, order: [ViewType_1_2_0.GRID, ViewType_1_2_0.LIST] } - } + }; return newData as unknown as Record; } } diff --git a/src/migrations/migrate_1_21_0.ts b/src/migrations/migrate_1_21_0.ts index a040093..be73cff 100644 --- a/src/migrations/migrate_1_21_0.ts +++ b/src/migrations/migrate_1_21_0.ts @@ -1,13 +1,13 @@ +import type { VaultExplorerPluginSettings_1_20_0 } from "src/types/types-1.20.0"; +import type { VaultExplorerPluginSettings_1_21_2 } from "src/types/types-1.21.2"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_20_0 } from "src/types/types-1.20.0"; -import { VaultExplorerPluginSettings_1_21_2 } from "src/types/types-1.21.2"; export default class Migrate_1_21_0 implements MigrationInterface { migrate(data: Record) { const typedData = data as unknown as VaultExplorerPluginSettings_1_20_0; const newData: VaultExplorerPluginSettings_1_21_2 = { ...typedData, - enableFileIcons: true, + enableFileIcons: true }; return newData as unknown as Record; } diff --git a/src/migrations/migrate_1_22_0.ts b/src/migrations/migrate_1_22_0.ts index 26a36eb..a5ba463 100644 --- a/src/migrations/migrate_1_22_0.ts +++ b/src/migrations/migrate_1_22_0.ts @@ -1,6 +1,6 @@ +import type { VaultExplorerPluginSettings_1_21_2 } from "src/types/types-1.21.2"; +import type { VaultExplorerPluginSettings_1_22_0 } from "src/types/types-1.22.0"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_21_2 } from "src/types/types-1.21.2"; -import { VaultExplorerPluginSettings_1_22_0 } from "src/types/types-1.22.0"; export default class Migrate_1_22_0 implements MigrationInterface { migrate(data: Record) { @@ -9,10 +9,10 @@ export default class Migrate_1_22_0 implements MigrationInterface { ...typedData, properties: { ...typedData.properties, - imageUrl: "", + imageUrl: "" }, filterGroupsWidth: 300, - filterGroupsWrapping: "nowrap", + filterGroupsWrapping: "nowrap" }; return newData as unknown as Record; } diff --git a/src/migrations/migrate_1_23_0.ts b/src/migrations/migrate_1_23_0.ts index 37378b9..cdeb104 100644 --- a/src/migrations/migrate_1_23_0.ts +++ b/src/migrations/migrate_1_23_0.ts @@ -1,6 +1,6 @@ +import type { VaultExplorerPluginSettings_1_22_0 } from "src/types/types-1.22.0"; +import type { VaultExplorerPluginSettings_1_23_0 } from "src/types/types-1.23.0"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_22_0 } from "src/types/types-1.22.0"; -import { VaultExplorerPluginSettings_1_23_0 } from "src/types/types-1.23.0"; export default class Migrate_1_23_0 implements MigrationInterface { migrate(data: Record) { @@ -11,9 +11,9 @@ export default class Migrate_1_23_0 implements MigrationInterface { ...typedData.views, grid: { ...typedData.views.grid, - fetchSocialMediaImage: false, - }, - }, + fetchSocialMediaImage: false + } + } }; return newData as unknown as Record; } diff --git a/src/migrations/migrate_1_23_1.ts b/src/migrations/migrate_1_23_1.ts index 5f37405..aea86fd 100644 --- a/src/migrations/migrate_1_23_1.ts +++ b/src/migrations/migrate_1_23_1.ts @@ -1,13 +1,13 @@ +import type { VaultExplorerPluginSettings_1_23_0 } from "src/types/types-1.23.0"; +import type { VaultExplorerPluginSettings_1_23_2 } from "src/types/types-1.23.2"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_23_0 } from "src/types/types-1.23.0"; -import { VaultExplorerPluginSettings_1_23_2 } from "src/types/types-1.23.2"; export default class Migrate_1_23_1 implements MigrationInterface { migrate(data: Record) { const typedData = data as unknown as VaultExplorerPluginSettings_1_23_0; const newData: VaultExplorerPluginSettings_1_23_2 = { ...typedData, - filterGroupsWidth: "100%", + filterGroupsWidth: "100%" }; return newData as unknown as Record; } diff --git a/src/migrations/migrate_1_24_0.ts b/src/migrations/migrate_1_24_0.ts index 8c0f929..38337a6 100644 --- a/src/migrations/migrate_1_24_0.ts +++ b/src/migrations/migrate_1_24_0.ts @@ -1,6 +1,6 @@ +import type { VaultExplorerPluginSettings_1_23_2 } from "src/types/types-1.23.2"; +import type { VaultExplorerPluginSettings_1_24_2 } from "src/types/types-1.24.2"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_23_2 } from "src/types/types-1.23.2"; -import { VaultExplorerPluginSettings_1_24_2 } from "src/types/types-1.24.2"; export default class Migrate_1_24_0 implements MigrationInterface { migrate(data: Record) { @@ -12,13 +12,13 @@ export default class Migrate_1_24_0 implements MigrationInterface { grid: { ...typedData.views.grid, loadSocialMediaImage: - typedData.views.grid.fetchSocialMediaImage, + typedData.views.grid.fetchSocialMediaImage }, feed: { ...typedData.views.feed, - collapseContent: true, - }, - }, + collapseContent: true + } + } }; delete (newData as any).views.grid.fetchSocialMediaImage; diff --git a/src/migrations/migrate_1_25_0.ts b/src/migrations/migrate_1_25_0.ts index 8bf7c23..839a8a9 100644 --- a/src/migrations/migrate_1_25_0.ts +++ b/src/migrations/migrate_1_25_0.ts @@ -1,13 +1,13 @@ +import type { VaultExplorerPluginSettings_1_24_2 } from "src/types/types-1.24.2"; +import type { VaultExplorerPluginSettings_1_25_2 } from "src/types/types-1.25.2"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_24_2 } from "src/types/types-1.24.2"; -import { VaultExplorerPluginSettings_1_25_2 } from "src/types/types-1.25.2"; export default class Migrate_1_25_0 implements MigrationInterface { migrate(data: Record) { const typedData = data as unknown as VaultExplorerPluginSettings_1_24_2; const newData: VaultExplorerPluginSettings_1_25_2 = { ...typedData, - fileInteractionStyle: "content", + fileInteractionStyle: "content" }; return newData as unknown as Record; diff --git a/src/migrations/migrate_1_26_0.ts b/src/migrations/migrate_1_26_0.ts index 3e6250e..20fd9c6 100644 --- a/src/migrations/migrate_1_26_0.ts +++ b/src/migrations/migrate_1_26_0.ts @@ -1,13 +1,13 @@ +import type { VaultExplorerPluginSettings_1_25_2 } from "src/types/types-1.25.2"; +import type { VaultExplorerPluginSettings_1_26_3 } from "src/types/types-1.26.3"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_25_2 } from "src/types/types-1.25.2"; -import { VaultExplorerPluginSettings_1_26_3 } from "src/types/types-1.26.3"; export default class Migrate_1_26_0 implements MigrationInterface { migrate(data: Record) { const typedData = data as unknown as VaultExplorerPluginSettings_1_25_2; const newData: VaultExplorerPluginSettings_1_26_3 = { ...typedData, - configDir: ".vaultexplorer", + configDir: ".vaultexplorer" }; return newData as unknown as Record; diff --git a/src/migrations/migrate_1_27_0.ts b/src/migrations/migrate_1_27_0.ts index 830a76d..2bd771d 100644 --- a/src/migrations/migrate_1_27_0.ts +++ b/src/migrations/migrate_1_27_0.ts @@ -1,6 +1,6 @@ +import type { VaultExplorerPluginSettings_1_26_3 } from "src/types/types-1.26.3"; +import type { VaultExplorerPluginSettings_1_28_0 } from "src/types/types-1.28.0"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_26_3 } from "src/types/types-1.26.3"; -import { VaultExplorerPluginSettings_1_28_0 } from "src/types/types-1.28.0"; export default class Migrate_1_27_0 implements MigrationInterface { migrate(data: Record) { @@ -15,9 +15,9 @@ export default class Migrate_1_27_0 implements MigrationInterface { collapseStyle: "no-new-lines", lineClampLarge: 5, lineClampMedium: 3, - lineClampSmall: 2, - }, - }, + lineClampSmall: 2 + } + } }; delete (newData as any).views.feed.collapseContent; diff --git a/src/migrations/migrate_1_29_0.ts b/src/migrations/migrate_1_29_0.ts index 7859e18..f8cb1c4 100644 --- a/src/migrations/migrate_1_29_0.ts +++ b/src/migrations/migrate_1_29_0.ts @@ -1,7 +1,6 @@ -import { VaultExplorerPluginSettings } from "src/types"; +import type { VaultExplorerPluginSettings_1_28_0 } from "src/types/types-1.28.0"; +import type { VaultExplorerPluginSettings_1_29_0 } from "src/types/types-1.29.0"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_28_0 } from "src/types/types-1.28.0"; -import { VaultExplorerPluginSettings_1_29_0 } from "src/types/types-1.29.0"; export default class Migrate_1_29_0 implements MigrationInterface { migrate(data: Record) { @@ -12,13 +11,13 @@ export default class Migrate_1_29_0 implements MigrationInterface { ...typedData.views, list: { ...typedData.views.list, - showTags: true, + showTags: true }, grid: { ...typedData.views.grid, - loadSocialMediaImage: true, - }, - }, + loadSocialMediaImage: true + } + } }; return newData as unknown as Record; diff --git a/src/migrations/migrate_1_2_1.ts b/src/migrations/migrate_1_2_1.ts index a4c5aa2..fd97f21 100644 --- a/src/migrations/migrate_1_2_1.ts +++ b/src/migrations/migrate_1_2_1.ts @@ -1,17 +1,17 @@ +import type { VaultExplorerPluginSettings_1_2_0 } from "src/types/types-1.2.0"; +import type { VaultExplorerPluginSettings_1_2_1 } from "src/types/types-1.2.1"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_2_0 } from "src/types/types-1.2.0"; -import { VaultExplorerPluginSettings_1_2_1 } from "src/types/types-1.2.1"; export default class Migrate_1_2_1 implements MigrationInterface { migrate(data: Record) { - const typedData = (data as unknown) as VaultExplorerPluginSettings_1_2_0; + const typedData = data as unknown as VaultExplorerPluginSettings_1_2_0; const newData: VaultExplorerPluginSettings_1_2_1 = { ...typedData, views: { ...typedData.views, titleWrapping: "normal" } - } + }; return newData as unknown as Record; } } diff --git a/src/migrations/migrate_1_30_5.ts b/src/migrations/migrate_1_30_5.ts index 455c9e0..f3c748c 100644 --- a/src/migrations/migrate_1_30_5.ts +++ b/src/migrations/migrate_1_30_5.ts @@ -1,6 +1,6 @@ -import { VaultExplorerPluginSettings_1_30_5 } from "src/types/types-1.30.5"; +import type { VaultExplorerPluginSettings_1_29_0 } from "src/types/types-1.29.0"; +import type { VaultExplorerPluginSettings_1_30_5 } from "src/types/types-1.30.5"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_29_0 } from "src/types/types-1.29.0"; export default class Migrate_1_30_0 implements MigrationInterface { migrate(data: Record) { @@ -11,9 +11,9 @@ export default class Migrate_1_30_0 implements MigrationInterface { ...typedData.views, grid: { ...typedData.views.grid, - coverImageSource: "frontmatter-and-body", - }, - }, + coverImageSource: "frontmatter-and-body" + } + } }; return newData as unknown as Record; diff --git a/src/migrations/migrate_1_31_0.ts b/src/migrations/migrate_1_31_0.ts index 01e1f9f..c98b746 100644 --- a/src/migrations/migrate_1_31_0.ts +++ b/src/migrations/migrate_1_31_0.ts @@ -1,13 +1,13 @@ +import type { VaultExplorerPluginSettings_1_30_5 } from "src/types/types-1.30.5"; +import type { VaultExplorerPluginSettings_1_32_2 } from "src/types/types-1.32.2"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_30_5 } from "src/types/types-1.30.5"; -import { VaultExplorerPluginSettings_1_32_2 } from "src/types/types-1.32.2"; export default class Migrate_1_31_0 implements MigrationInterface { migrate(data: Record) { const typedData = data as unknown as VaultExplorerPluginSettings_1_30_5; const newData: VaultExplorerPluginSettings_1_32_2 = { ...typedData, - shouldWrapFilterGroups: typedData.filterGroupsWrapping === "wrap", + shouldWrapFilterGroups: typedData.filterGroupsWrapping === "wrap" }; delete (newData as any).filterGroupsWrapping; diff --git a/src/migrations/migrate_1_33_0.ts b/src/migrations/migrate_1_33_0.ts index 9d26f04..d63e223 100644 --- a/src/migrations/migrate_1_33_0.ts +++ b/src/migrations/migrate_1_33_0.ts @@ -1,12 +1,12 @@ +import type { VaultExplorerPluginSettings_1_32_2 } from "src/types/types-1.32.2"; +import type { VaultExplorerPluginSettings_1_36_3 } from "src/types/types-1.36.3"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_32_2 } from "src/types/types-1.32.2"; -import { VaultExplorerPluginSettings_1_36_3 } from "src/types/types-1.36.3"; export default class Migrate_1_33_0 implements MigrationInterface { migrate(data: Record) { const typedData = data as unknown as VaultExplorerPluginSettings_1_32_2; const newData: VaultExplorerPluginSettings_1_36_3 = { - ...typedData, + ...typedData }; delete (newData as any).fileInteractionStyle; diff --git a/src/migrations/migrate_1_37_0.ts b/src/migrations/migrate_1_37_0.ts index 9106c6d..8b714b6 100644 --- a/src/migrations/migrate_1_37_0.ts +++ b/src/migrations/migrate_1_37_0.ts @@ -1,6 +1,6 @@ +import type { VaultExplorerPluginSettings_1_37_2 } from "src/types/types-1-37-0"; +import type { VaultExplorerPluginSettings_1_36_3 } from "src/types/types-1.36.3"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_36_3 } from "src/types/types-1.36.3"; -import { VaultExplorerPluginSettings_1_37_2 } from "src/types/types-1-37-0"; export default class Migrate_1_37_0 implements MigrationInterface { migrate(data: Record) { @@ -14,27 +14,27 @@ export default class Migrate_1_37_0 implements MigrationInterface { coverImageSources: [ { type: "image-property", - isEnabled: true, + isEnabled: true }, { type: "url-property", - isEnabled: true, + isEnabled: true }, { type: "frontmatter", - isEnabled: true, + isEnabled: true }, { type: "body", - isEnabled: true, - }, - ], - }, + isEnabled: true + } + ] + } }, properties: { ...typedData.properties, - image: typedData.properties.imageUrl, - }, + image: typedData.properties.imageUrl + } }; delete (newData as any).enableScrollButtons; diff --git a/src/migrations/migrate_1_38_0.ts b/src/migrations/migrate_1_38_0.ts index aded8fe..f43101e 100644 --- a/src/migrations/migrate_1_38_0.ts +++ b/src/migrations/migrate_1_38_0.ts @@ -1,13 +1,13 @@ -import { VaultExplorerPluginSettings_1_37_2 } from "src/types/types-1-37-0"; +import type { VaultExplorerPluginSettings_1_37_2 } from "src/types/types-1-37-0"; +import type { VaultExplorerPluginSettings_1_38_0 } from "src/types/types-1.38.0"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_38_0 } from "src/types/types-1.38.0"; export default class Migrate_1_38_0 implements MigrationInterface { migrate(data: Record) { const typedData = data as unknown as VaultExplorerPluginSettings_1_37_2; const newData: VaultExplorerPluginSettings_1_38_0 = { ...typedData, - loadBodyTags: true, + loadBodyTags: true }; return newData as unknown as Record; diff --git a/src/migrations/migrate_1_39_0.ts b/src/migrations/migrate_1_39_0.ts index 63b76e1..11d052e 100644 --- a/src/migrations/migrate_1_39_0.ts +++ b/src/migrations/migrate_1_39_0.ts @@ -1,9 +1,9 @@ -import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_38_0 } from "src/types/types-1.38.0"; +import type { VaultExplorerPluginSettings_1_38_0 } from "src/types/types-1.38.0"; import { TExplorerView_1_39_0, - VaultExplorerPluginSettings_1_39_0, + type VaultExplorerPluginSettings_1_39_0 } from "src/types/types-1.39.0"; +import MigrationInterface from "./migration_interface"; export default class Migrate_1_39_0 implements MigrationInterface { migrate(data: Record) { @@ -14,14 +14,14 @@ export default class Migrate_1_39_0 implements MigrationInterface { TExplorerView_1_39_0.GRID, TExplorerView_1_39_0.LIST, TExplorerView_1_39_0.TABLE, - TExplorerView_1_39_0.FEED, + TExplorerView_1_39_0.FEED ], views: { ...typedData.views, table: { - isEnabled: true, - }, - }, + isEnabled: true + } + } }; return newData as unknown as Record; diff --git a/src/migrations/migrate_1_3_0.ts b/src/migrations/migrate_1_3_0.ts index c1c4b23..8f8ddfe 100644 --- a/src/migrations/migrate_1_3_0.ts +++ b/src/migrations/migrate_1_3_0.ts @@ -1,25 +1,32 @@ +import type { VaultExplorerPluginSettings_1_2_1 } from "src/types/types-1.2.1"; +import type { + PropertyFilterGroup_1_5_0, + PropertyFilter_1_5_0, + VaultExplorerPluginSettings_1_5_0 +} from "src/types/types-1.5.0"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_2_1 } from "src/types/types-1.2.1"; -import { PropertyFilterGroup_1_5_0, PropertyFilter_1_5_0, VaultExplorerPluginSettings_1_5_0 } from "src/types/types-1.5.0"; export default class Migrate_1_3_0 implements MigrationInterface { migrate(data: Record) { - const typedData = (data as unknown) as VaultExplorerPluginSettings_1_2_1; + const typedData = data as unknown as VaultExplorerPluginSettings_1_2_1; const groups = typedData.filters.properties.groups; - const updatedGroups: PropertyFilterGroup_1_5_0[] = groups.map(group => { - const updatedFilters: PropertyFilter_1_5_0[] = group.filters.map(filter => { + const updatedGroups: PropertyFilterGroup_1_5_0[] = groups.map( + (group) => { + const updatedFilters: PropertyFilter_1_5_0[] = + group.filters.map((filter) => { + return { + ...filter, + type: filter.type as any, + matchWhenPropertyDNE: false + }; + }); return { - ...filter, - type: filter.type as any, - matchWhenPropertyDNE: false - } - }); - return { - ...group, - filters: updatedFilters + ...group, + filters: updatedFilters + }; } - }); + ); const newData: VaultExplorerPluginSettings_1_5_0 = { ...typedData, @@ -27,10 +34,10 @@ export default class Migrate_1_3_0 implements MigrationInterface { ...typedData.filters, properties: { ...typedData.filters.properties, - groups: updatedGroups, + groups: updatedGroups } } - } + }; return newData as unknown as Record; } } diff --git a/src/migrations/migrate_1_40_0.ts b/src/migrations/migrate_1_40_0.ts index 1c4c26e..093af8e 100644 --- a/src/migrations/migrate_1_40_0.ts +++ b/src/migrations/migrate_1_40_0.ts @@ -1,13 +1,13 @@ +import type { VaultExplorerPluginSettings_1_39_0 } from "src/types/types-1.39.0"; +import type { VaultExplorerPluginSettings_1_40_2 } from "src/types/types-1.40.2"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_39_0 } from "src/types/types-1.39.0"; -import { VaultExplorerPluginSettings_1_40_2 } from "src/types/types-1.40.2"; export default class Migrate_1_40_0 implements MigrationInterface { migrate(data: Record) { const typedData = data as unknown as VaultExplorerPluginSettings_1_39_0; const newData: VaultExplorerPluginSettings_1_40_2 = { ...typedData, - shouldCollapseFilters: false, + shouldCollapseFilters: false }; return newData as unknown as Record; diff --git a/src/migrations/migrate_1_41_0.ts b/src/migrations/migrate_1_41_0.ts index 6fd0cc0..de064d5 100644 --- a/src/migrations/migrate_1_41_0.ts +++ b/src/migrations/migrate_1_41_0.ts @@ -1,6 +1,6 @@ +import type { VaultExplorerPluginSettings_1_40_2 } from "src/types/types-1.40.2"; +import type { VaultExplorerPluginSettings_1_41_1 } from "src/types/types-1.41.1"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_40_2 } from "src/types/types-1.40.2"; -import { VaultExplorerPluginSettings_1_41_1 } from "src/types/types-1.41.1"; export default class Migrate_1_41_0 implements MigrationInterface { migrate(data: Record) { @@ -9,15 +9,15 @@ export default class Migrate_1_41_0 implements MigrationInterface { ...typedData, properties: { ...typedData.properties, - coverImageFit: "", + coverImageFit: "" }, views: { ...typedData.views, grid: { ...typedData.views.grid, - coverImageFit: "cover", - }, - }, + coverImageFit: "cover" + } + } }; return newData as unknown as Record; diff --git a/src/migrations/migrate_1_42_0.ts b/src/migrations/migrate_1_42_0.ts index c013eaa..848e360 100644 --- a/src/migrations/migrate_1_42_0.ts +++ b/src/migrations/migrate_1_42_0.ts @@ -1,6 +1,6 @@ +import type { VaultExplorerPluginSettings_1_41_1 } from "src/types/types-1.41.1"; +import type { VaultExplorerPluginSettings_1_44_6 } from "src/types/types-1.44.6"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_41_1 } from "src/types/types-1.41.1"; -import { VaultExplorerPluginSettings_1_44_6 } from "src/types/types-1.44.6"; export default class Migrate_1_42_0 implements MigrationInterface { migrate(data: Record) { @@ -12,8 +12,8 @@ export default class Migrate_1_42_0 implements MigrationInterface { image: typedData.properties.image || "image", coverImageFit: typedData.properties.coverImageFit || "image-fit", - url: typedData.properties.url || "url", - }, + url: typedData.properties.url || "url" + } }; delete (newData as any).filterGroupsWidth; delete (newData as any).shouldWrapFilterGroups; diff --git a/src/migrations/migrate_1_45_0.ts b/src/migrations/migrate_1_45_0.ts index 03977a9..0f6b11f 100644 --- a/src/migrations/migrate_1_45_0.ts +++ b/src/migrations/migrate_1_45_0.ts @@ -1,7 +1,7 @@ -import { VaultExplorerPluginSettings_1_44_6 } from "src/types/types-1.44.6"; -import MigrationInterface from "./migration_interface"; import { TExplorerView } from "src/types"; -import { VaultExplorerPluginSettings_1_45_0 } from "src/types/types-1.45.0"; +import type { VaultExplorerPluginSettings_1_44_6 } from "src/types/types-1.44.6"; +import type { VaultExplorerPluginSettings_1_45_0 } from "src/types/types-1.45.0"; +import MigrationInterface from "./migration_interface"; export default class Migrate_1_45_0 implements MigrationInterface { migrate(data: Record) { @@ -24,7 +24,7 @@ export default class Migrate_1_45_0 implements MigrationInterface { const newData: VaultExplorerPluginSettings_1_45_0 = { ...typedData, confirmBeforeDelete: true, - viewOrder, + viewOrder }; return newData as unknown as Record; } diff --git a/src/migrations/migrate_1_46_0.ts b/src/migrations/migrate_1_46_0.ts index 823e6d4..2fc59f4 100644 --- a/src/migrations/migrate_1_46_0.ts +++ b/src/migrations/migrate_1_46_0.ts @@ -1,6 +1,6 @@ +import { TExplorerView, type VaultExplorerPluginSettings } from "src/types"; +import type { VaultExplorerPluginSettings_1_45_0 } from "src/types/types-1.45.0"; import MigrationInterface from "./migration_interface"; -import { TExplorerView, VaultExplorerPluginSettings } from "src/types"; -import { VaultExplorerPluginSettings_1_45_0 } from "src/types/types-1.45.0"; export default class Migrate_1_46_0 implements MigrationInterface { migrate(data: Record) { @@ -13,25 +13,25 @@ export default class Migrate_1_46_0 implements MigrationInterface { grid: { ...typedData.views.grid, isEnabled: true, - order: 0, + order: 0 }, list: { ...typedData.views.list, isEnabled: true, - order: 1, + order: 1 }, feed: { ...typedData.views.feed, isEnabled: true, - order: 2, + order: 2 }, table: { ...typedData.views.table, isEnabled: true, - order: 3, - }, + order: 3 + } }, - currentView: TExplorerView.GRID, + currentView: TExplorerView.GRID }; delete (newData as any).views.recommended; delete (newData as any).views.related; diff --git a/src/migrations/migrate_1_6_0.ts b/src/migrations/migrate_1_6_0.ts index ff59330..6aad440 100644 --- a/src/migrations/migrate_1_6_0.ts +++ b/src/migrations/migrate_1_6_0.ts @@ -1,10 +1,10 @@ +import type { VaultExplorerPluginSettings_1_5_0 } from "src/types/types-1.5.0"; +import type { VaultExplorerPluginSettings_1_6_0 } from "src/types/types-1.6.0"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_5_0 } from "src/types/types-1.5.0"; -import { VaultExplorerPluginSettings_1_6_0 } from "src/types/types-1.6.0"; export default class Migrate_1_6_0 implements MigrationInterface { migrate(data: Record) { - const typedData = (data as unknown) as VaultExplorerPluginSettings_1_5_0; + const typedData = data as unknown as VaultExplorerPluginSettings_1_5_0; const newData: VaultExplorerPluginSettings_1_6_0 = { ...typedData, properties: { @@ -12,7 +12,7 @@ export default class Migrate_1_6_0 implements MigrationInterface { creationDate: "", modifiedDate: "" } - } + }; return newData as unknown as Record; } } diff --git a/src/migrations/migrate_1_6_1.ts b/src/migrations/migrate_1_6_1.ts index e97092a..ec3ac51 100644 --- a/src/migrations/migrate_1_6_1.ts +++ b/src/migrations/migrate_1_6_1.ts @@ -1,10 +1,10 @@ +import type { VaultExplorerPluginSettings_1_6_0 } from "src/types/types-1.6.0"; +import type { VaultExplorerPluginSettings_1_8_1 } from "src/types/types-1.8.1"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_6_0 } from "src/types/types-1.6.0"; -import { VaultExplorerPluginSettings_1_8_1 } from "src/types/types-1.8.1"; export default class Migrate_1_6_1 implements MigrationInterface { migrate(data: Record) { - const typedData = (data as unknown) as VaultExplorerPluginSettings_1_6_0; + const typedData = data as unknown as VaultExplorerPluginSettings_1_6_0; const newData: VaultExplorerPluginSettings_1_8_1 = { ...typedData, properties: { @@ -12,7 +12,7 @@ export default class Migrate_1_6_1 implements MigrationInterface { createdDate: "", modifiedDate: "" } - } + }; delete (newData.properties as any).creationDate; return newData as unknown as Record; } diff --git a/src/migrations/migrate_1_9_0.ts b/src/migrations/migrate_1_9_0.ts index 55f5baa..503c24b 100644 --- a/src/migrations/migrate_1_9_0.ts +++ b/src/migrations/migrate_1_9_0.ts @@ -1,32 +1,33 @@ +import type { VaultExplorerPluginSettings_1_8_1 } from "src/types/types-1.8.1"; +import type { VaultExplorerPluginSettings_1_9_1 } from "src/types/types-1.9.1"; import MigrationInterface from "./migration_interface"; -import { VaultExplorerPluginSettings_1_8_1 } from "src/types/types-1.8.1"; -import { VaultExplorerPluginSettings_1_9_1 } from "src/types/types-1.9.1"; export default class Migrate_1_9_0 implements MigrationInterface { migrate(data: Record) { - const typedData = (data as unknown) as VaultExplorerPluginSettings_1_8_1; + const typedData = data as unknown as VaultExplorerPluginSettings_1_8_1; const newData: VaultExplorerPluginSettings_1_9_1 = { ...typedData, filters: { ...typedData.filters, custom: { - selectedGroupId: typedData.filters.properties.selectedGroupId, - groups: typedData.filters.properties.groups.map(group => { - const rules = group.filters.map(filter => { + selectedGroupId: + typedData.filters.properties.selectedGroupId, + groups: typedData.filters.properties.groups.map((group) => { + const rules = group.filters.map((filter) => { return { ...filter, valueData: "", type: filter.type as any - } + }; }); return { ...group, rules - } + }; }) } } - } + }; delete (newData.filters as any).properties; for (const group of newData.filters.custom.groups as any) { delete group.filters; diff --git a/src/migrations/migration_interface.ts b/src/migrations/migration_interface.ts index eeb6362..64a68c8 100644 --- a/src/migrations/migration_interface.ts +++ b/src/migrations/migration_interface.ts @@ -1,3 +1,5 @@ export default abstract class MigrationInterface { - abstract migrate(previous: Record): Record; + abstract migrate( + previous: Record + ): Record; } diff --git a/src/obsidian/custom-filter-modal.ts b/src/obsidian/custom-filter-modal.ts index aecface..7e4a22a 100644 --- a/src/obsidian/custom-filter-modal.ts +++ b/src/obsidian/custom-filter-modal.ts @@ -16,7 +16,7 @@ export default class CustomFilterModal extends Modal { const { contentEl } = this; this.component = new CustomFilterApp({ - target: contentEl, + target: contentEl }); } diff --git a/src/obsidian/styles.css b/src/obsidian/styles.css deleted file mode 100644 index 95b4876..0000000 --- a/src/obsidian/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -.vault-explorer-premium-setting { - color: var(--text-accent); -} diff --git a/src/obsidian/types.ts b/src/obsidian/types.ts index 00fa73a..1e5e0be 100644 --- a/src/obsidian/types.ts +++ b/src/obsidian/types.ts @@ -4,4 +4,12 @@ export interface ObsidianProperty { count: number; } -export type ObsidianPropertyType = "text" | "multitext" | "date" | "datetime" | "checkbox" | "tags" | "aliases" | "number"; +export type ObsidianPropertyType = + | "text" + | "multitext" + | "date" + | "datetime" + | "checkbox" + | "tags" + | "aliases" + | "number"; diff --git a/src/obsidian/utils.ts b/src/obsidian/utils.ts index 07f1dfc..3794653 100644 --- a/src/obsidian/utils.ts +++ b/src/obsidian/utils.ts @@ -1,5 +1,5 @@ import { App } from "obsidian"; -import { ObsidianProperty, ObsidianPropertyType } from "./types"; +import type { ObsidianProperty, ObsidianPropertyType } from "./types"; /** * Gets all Obsidian properties diff --git a/src/obsidian/vault-explorer-settings-tab.ts b/src/obsidian/vault-explorer-settings-tab.ts index db62ab2..146771a 100644 --- a/src/obsidian/vault-explorer-settings-tab.ts +++ b/src/obsidian/vault-explorer-settings-tab.ts @@ -1,43 +1,40 @@ +import Logger from "js-logger"; import { App, PluginSettingTab, Setting, SliderComponent } from "obsidian"; -import VaultExplorerPlugin from "src/main"; -import { - getDropdownOptionsForProperties, - getObsidianPropertiesByType, -} from "./utils"; +import { stringToLogLevel } from "src/logger"; import { LOG_LEVEL_DEBUG, LOG_LEVEL_ERROR, LOG_LEVEL_INFO, LOG_LEVEL_OFF, LOG_LEVEL_TRACE, - LOG_LEVEL_WARN, + LOG_LEVEL_WARN } from "src/logger/constants"; -import Logger from "js-logger"; -import { stringToLogLevel } from "src/logger"; -import { +import VaultExplorerPlugin from "src/main"; +import type { CollapseStyle, CoverImageFit, - TExplorerView, - VaultExplorerPluginSettings, + VaultExplorerPluginSettings } from "src/types"; -import EventManager from "src/event/event-manager"; -import LicenseKeyApp from "../svelte/license-key-app/index.svelte"; -import ImageSourceApp from "../svelte/image-source-app/index.svelte"; -import { PluginEvent } from "src/event/types"; +import { + getDropdownOptionsForProperties, + getObsidianPropertiesByType +} from "./utils"; + +import EventManager from "src/event/event-manager"; +import { PluginEvent } from "src/event/types"; +import { TExplorerView } from "src/types"; +import ImageSourceApp from "../svelte/image-source-app/index.svelte"; -import "./styles.css"; import { clearSMICache } from "src/svelte/app/services/smi-cache"; export default class VaultExplorerSettingsTab extends PluginSettingTab { plugin: VaultExplorerPlugin; - licenseKeyApp: LicenseKeyApp | null; imageSourceApp: ImageSourceApp | null; constructor(app: App, plugin: VaultExplorerPlugin) { super(app, plugin); this.plugin = plugin; - this.licenseKeyApp = null; this.imageSourceApp = null; } @@ -97,7 +94,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { "50": "50", "100": "100", "250": "250", - "500": "500", + "500": "500" }) .setValue(this.plugin.settings.pageSize.toString()) .onChange(async (value) => { @@ -234,7 +231,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { new Setting(containerEl).setName("Grid view").setHeading(); this.imageSourceApp = new ImageSourceApp({ - target: containerEl, + target: containerEl }); new Setting(containerEl) @@ -264,7 +261,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { cb .addOptions({ cover: "Cover", - contain: "Contain", + contain: "Contain" }) .setValue(this.plugin.settings.views.grid.coverImageFit) .onChange(async (value) => { @@ -318,7 +315,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { cb .addOptions({ "no-new-lines": "No new lines", - "no-extra-new-lines": "No extra new lines", + "no-extra-new-lines": "No extra new lines" }) .setValue(this.plugin.settings.views.feed.collapseStyle) .onChange(async (value) => { @@ -444,7 +441,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { dropdown .addOptions( getDropdownOptionsForProperties(textProperties, { - image: "image", + image: "image" }) ) .setValue(this.plugin.settings.properties.image) @@ -466,7 +463,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { dropdown .addOptions( getDropdownOptionsForProperties(textProperties, { - "image-fit": "image-fit", + "image-fit": "image-fit" }) ) .setValue(this.plugin.settings.properties.coverImageFit) @@ -488,7 +485,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { dropdown .addOptions( getDropdownOptionsForProperties(textProperties, { - url: "url", + url: "url" }) ) .setValue(this.plugin.settings.properties.url) @@ -503,10 +500,10 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { const creationDateDesc = new DocumentFragment(); creationDateDesc.createDiv({ - text: "Property used to store a creation date. This must be a date or datetime property.", + text: "Property used to store a creation date. This must be a date or datetime property." }); creationDateDesc.createDiv({ - text: "If set, the property will be preferred over the file's creation date.", + text: "If set, the property will be preferred over the file's creation date." }); new Setting(containerEl) @@ -517,7 +514,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { .addOptions( getDropdownOptionsForProperties([ ...dateProperties, - ...dateTimeProperties, + ...dateTimeProperties ]) ) .setValue(this.plugin.settings.properties.createdDate) @@ -532,10 +529,10 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { const modificationDateDesc = new DocumentFragment(); modificationDateDesc.createDiv({ - text: "Property used to store a modification date. This must be a date or datetime property.", + text: "Property used to store a modification date. This must be a date or datetime property." }); modificationDateDesc.createDiv({ - text: "If set, the property will be preferred over the file's modification date.", + text: "If set, the property will be preferred over the file's modification date." }); new Setting(containerEl) @@ -546,7 +543,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { .addOptions( getDropdownOptionsForProperties([ ...dateProperties, - ...dateTimeProperties, + ...dateTimeProperties ]) ) .setValue(this.plugin.settings.properties.modifiedDate) @@ -628,12 +625,6 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { }) ); - new Setting(containerEl).setName("Premium").setHeading(); - - this.licenseKeyApp = new LicenseKeyApp({ - target: containerEl, - }); - new Setting(containerEl).setName("Debugging").setHeading(); new Setting(containerEl) .setName("Log level") @@ -647,7 +638,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { [LOG_LEVEL_WARN]: "Warn", [LOG_LEVEL_INFO]: "Info", [LOG_LEVEL_DEBUG]: "Debug", - [LOG_LEVEL_TRACE]: "Trace", + [LOG_LEVEL_TRACE]: "Trace" }); cb.setValue(this.plugin.settings.logLevel).onChange( async (value) => { @@ -662,11 +653,11 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { const configFolderDesc = new DocumentFragment(); configFolderDesc.createDiv({ - text: "Set the plugin configuration folder.", + text: "Set the plugin configuration folder." }); configFolderDesc.createDiv({ text: "Restart Obsidian after changing this setting.", - cls: "mod-warning", + cls: "mod-warning" }); new Setting(containerEl) @@ -692,7 +683,6 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { } onClose() { - this.licenseKeyApp?.$destroy(); this.imageSourceApp?.$destroy(); } @@ -705,7 +695,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { [TExplorerView.GRID]: { ...settings.views.grid }, [TExplorerView.LIST]: { ...settings.views.list }, [TExplorerView.FEED]: { ...settings.views.feed }, - [TExplorerView.TABLE]: { ...settings.views.table }, + [TExplorerView.TABLE]: { ...settings.views.table } }; const maxOrder = Math.max( diff --git a/src/obsidian/vault-explorer-view.ts b/src/obsidian/vault-explorer-view.ts index 6d73a53..2aeeed1 100644 --- a/src/obsidian/vault-explorer-view.ts +++ b/src/obsidian/vault-explorer-view.ts @@ -44,7 +44,7 @@ export default class VaultExplorerView extends ItemView { const containerEl = this.containerEl.children[1]; this.component = new VaultExplorerApp({ - target: containerEl, + target: containerEl }); } diff --git a/src/svelte/app/components/feed-card.svelte b/src/svelte/app/components/feed-card.svelte index d496e55..18f9303 100644 --- a/src/svelte/app/components/feed-card.svelte +++ b/src/svelte/app/components/feed-card.svelte @@ -1,11 +1,19 @@ diff --git a/src/svelte/custom-filter-app/components/filter-rule.svelte b/src/svelte/custom-filter-app/components/filter-rule.svelte index 74b3041..84bf015 100644 --- a/src/svelte/custom-filter-app/components/filter-rule.svelte +++ b/src/svelte/custom-filter-app/components/filter-rule.svelte @@ -1,25 +1,24 @@ - -
-
-
License key
-
-
Enter your license key to enable premium features.
- {#if message == null} - - {/if} - {#if message != null} -
- {message?.text ?? ""} -
- {/if} -
-
-
- {#if hasValidLicenseKey === false} - - {/if} - {#if hasValidLicenseKey === true} - - {/if} -
-
- - diff --git a/src/svelte/shared/components/divider.svelte b/src/svelte/shared/components/divider.svelte index 234a99b..1a43eac 100644 --- a/src/svelte/shared/components/divider.svelte +++ b/src/svelte/shared/components/divider.svelte @@ -5,7 +5,7 @@ $: className = `vault-explorer-divider vault-explorer-divider--${direction}`; -
+
diff --git a/src/svelte/shared/components/tab.svelte b/src/svelte/shared/components/tab.svelte index 1f350bf..d2de6c2 100644 --- a/src/svelte/shared/components/tab.svelte +++ b/src/svelte/shared/components/tab.svelte @@ -1,7 +1,6 @@