From 79fbb22ea22509ecb4a6aec121c57a0a464843f0 Mon Sep 17 00:00:00 2001 From: saberzero1 Date: Mon, 16 Mar 2026 18:54:54 +0100 Subject: [PATCH] fix: centralize type declarations and fix formatting - Update types/globals.d.ts with centralized type declarations - Fix prettier formatting in src/transformer.ts - Add .prettierignore, update .eslintrc.json with triple-slash-reference override --- .eslintrc.json | 10 +++++++++- .prettierignore | 1 + src/transformer.ts | 4 +++- types/globals.d.ts | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 .prettierignore create mode 100644 types/globals.d.ts diff --git a/.eslintrc.json b/.eslintrc.json index a9ba90d..dda1fa0 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -22,5 +22,13 @@ "caughtErrorsIgnorePattern": "^_" } ] - } + }, + "overrides": [ + { + "files": ["types/**/*.d.ts"], + "rules": { + "@typescript-eslint/triple-slash-reference": "off" + } + } + ] } diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..1521c8b --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +dist diff --git a/src/transformer.ts b/src/transformer.ts index 4181786..ff2e17d 100644 --- a/src/transformer.ts +++ b/src/transformer.ts @@ -29,7 +29,9 @@ export const Description: QuartzTransformerPlugin> = return [ () => { return async (tree: HTMLRoot, file: VFile) => { - let frontMatterDescription = (file.data.frontmatter as Record | undefined)?.description as string | undefined; + let frontMatterDescription = ( + file.data.frontmatter as Record | undefined + )?.description as string | undefined; let text = escapeHTML(toString(tree)); if (opts.replaceExternalLinks) { diff --git a/types/globals.d.ts b/types/globals.d.ts new file mode 100644 index 0000000..a9e71ae --- /dev/null +++ b/types/globals.d.ts @@ -0,0 +1,36 @@ +declare module "*.scss" { + const content: string; + export default content; +} + +declare module "*.inline.ts" { + const content: string; + export default content; +} + +interface CustomEventMap { + nav: CustomEvent<{ url: string }>; + prenav: CustomEvent; + themechange: CustomEvent<{ theme: "light" | "dark" }>; + readermodechange: CustomEvent<{ mode: "on" | "off" }>; + render: CustomEvent; +} + +interface Document { + addEventListener( + type: K, + listener: (this: Document, ev: CustomEventMap[K]) => void, + ): void; + removeEventListener( + type: K, + listener: (this: Document, ev: CustomEventMap[K]) => void, + ): void; + dispatchEvent(ev: CustomEventMap[K] | UIEvent): void; +} + +interface Window { + addCleanup(fn: (...args: unknown[]) => void): void; + spaNavigate?(url: URL, isBack: boolean): Promise; +} + +declare const fetchData: Promise>;