From 35f0f8e1dc2c6e7eb53e44bb23f6a6d2e469bd00 Mon Sep 17 00:00:00 2001 From: kwaroran Date: Mon, 14 Apr 2025 15:28:14 +0900 Subject: [PATCH] Add tests && add img lazy async --- .gitignore | 1 + src/main.ts | 2 ++ src/test/runTest.ts | 10 ++++++++++ src/ts/parser.svelte.ts | 10 ++++++++++ 4 files changed, 23 insertions(+) create mode 100644 src/test/runTest.ts diff --git a/.gitignore b/.gitignore index e2bc7106..87a71a4e 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ save/ dist-web/ dist-ssr *.local +test/test.ts xplugin/ src-others/ /memo.txt diff --git a/src/main.ts b/src/main.ts index c46c8f25..ef0b8954 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,6 +1,7 @@ import "./ts/polyfill"; import "core-js/actual" import "./ts/storage/database.svelte" +import {declareTest} from "./test/runTest" import App from "./App.svelte"; import { loadData } from "./ts/globalApi.svelte"; import { initHotkey } from "./ts/hotkey"; @@ -13,6 +14,7 @@ let app = mount(App, { }); loadData() initHotkey() +declareTest() document.getElementById('preloading').remove() export default app; \ No newline at end of file diff --git a/src/test/runTest.ts b/src/test/runTest.ts new file mode 100644 index 00000000..ab2c4c14 --- /dev/null +++ b/src/test/runTest.ts @@ -0,0 +1,10 @@ + + +export function declareTest() { + if(import.meta.env.DEV){ + globalThis.test = async () => { + const d = await import("./test.js") + return d.test() + } + } +} diff --git a/src/ts/parser.svelte.ts b/src/ts/parser.svelte.ts index 50aa74bd..e9c03de3 100644 --- a/src/ts/parser.svelte.ts +++ b/src/ts/parser.svelte.ts @@ -45,6 +45,16 @@ DOMPurify.addHook("uponSanitizeElement", (node: HTMLElement, data) => { return node.parentNode.removeChild(node); } } + if(data.tagName === 'img'){ + const loading = node.getAttribute("loading") + if(!loading){ + node.setAttribute("loading","lazy") + } + const decoding = node.getAttribute("decoding") + if(!decoding){ + node.setAttribute("decoding", "async") + } + } }); DOMPurify.addHook("uponSanitizeAttribute", (node, data) => {