Selaa lähdekoodia

update dependencies

Gildas 2 vuotta sitten
vanhempi
sitoutus
0c2dbfbedd

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
lib/single-file-bootstrap.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
lib/single-file-extension-background.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
lib/single-file-extension-core.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
lib/single-file-extension-editor-helper.js


+ 160 - 155
lib/single-file-extension-editor.js

@@ -983,174 +983,179 @@ pre code {
 		let removedElements = [], removedElementIndex = 0, initScriptContent, pageResources, pageUrl, pageCompressContent, includeInfobar;
 
 		globalThis.zip = singlefile.helper.zip;
-		window.onmessage = async event => {
-			const message = JSON.parse(event.data);
-			if (message.method == "init") {
-				await init(message);
-			}
-			if (message.method == "addNote") {
-				addNote(message);
-			}
-			if (message.method == "displayNotes") {
-				document.querySelectorAll(NOTE_TAGNAME).forEach(noteElement => noteElement.shadowRoot.querySelector("." + NOTE_CLASS).classList.remove(NOTE_HIDDEN_CLASS));
-			}
-			if (message.method == "hideNotes") {
-				document.querySelectorAll(NOTE_TAGNAME).forEach(noteElement => noteElement.shadowRoot.querySelector("." + NOTE_CLASS).classList.add(NOTE_HIDDEN_CLASS));
-			}
-			if (message.method == "enableHighlight") {
-				if (highlightColor) {
-					document.documentElement.classList.remove(highlightColor + "-mode");
+		initEventListeners();
+		new MutationObserver(initEventListeners).observe(document, { childList: true });
+
+		function initEventListeners() {
+			window.onmessage = async event => {
+				const message = JSON.parse(event.data);
+				if (message.method == "init") {
+					await init(message);
 				}
-				highlightColor = message.color;
-				highlightSelectionMode = true;
-				document.documentElement.classList.add(message.color + "-mode");
-			}
-			if (message.method == "disableHighlight") {
-				disableHighlight();
-				highlightSelectionMode = false;
-			}
-			if (message.method == "displayHighlights") {
-				document.querySelectorAll("." + HIGHLIGHT_CLASS).forEach(noteElement => noteElement.classList.remove(HIGHLIGHT_HIDDEN_CLASS));
-			}
-			if (message.method == "hideHighlights") {
-				document.querySelectorAll("." + HIGHLIGHT_CLASS).forEach(noteElement => noteElement.classList.add(HIGHLIGHT_HIDDEN_CLASS));
-			}
-			if (message.method == "enableRemoveHighlights") {
-				removeHighlightMode = true;
-				document.documentElement.classList.add("single-file-remove-highlights-mode");
-			}
-			if (message.method == "disableRemoveHighlights") {
-				removeHighlightMode = false;
-				document.documentElement.classList.remove("single-file-remove-highlights-mode");
-			}
-			if (message.method == "enableEditPage") {
-				document.body.contentEditable = true;
-				onUpdate(false);
-			}
-			if (message.method == "formatPage") {
-				formatPage(!message.applySystemTheme);
-			}
-			if (message.method == "cancelFormatPage") {
-				cancelFormatPage();
-			}
-			if (message.method == "disableEditPage") {
-				document.body.contentEditable = false;
-			}
-			if (message.method == "enableCutInnerPage") {
-				cuttingMode = true;
-				document.documentElement.classList.add(CUT_MODE_CLASS);
-			}
-			if (message.method == "enableCutOuterPage") {
-				cuttingOuterMode = true;
-				document.documentElement.classList.add(CUT_MODE_CLASS);
-			}
-			if (message.method == "disableCutInnerPage" || message.method == "disableCutOuterPage") {
-				if (message.method == "disableCutInnerPage") {
-					cuttingMode = false;
-				} else {
-					cuttingOuterMode = false;
+				if (message.method == "addNote") {
+					addNote(message);
 				}
-				document.documentElement.classList.remove(CUT_MODE_CLASS);
-				resetSelectedElements();
-				if (cuttingPath) {
-					unhighlightCutElement();
-					cuttingPath = null;
+				if (message.method == "displayNotes") {
+					document.querySelectorAll(NOTE_TAGNAME).forEach(noteElement => noteElement.shadowRoot.querySelector("." + NOTE_CLASS).classList.remove(NOTE_HIDDEN_CLASS));
 				}
-			}
-			if (message.method == "undoCutPage") {
-				undoCutPage();
-			}
-			if (message.method == "undoAllCutPage") {
-				while (removedElementIndex) {
-					removedElements[removedElementIndex - 1].forEach(element => element.classList.remove(REMOVED_CONTENT_CLASS));
-					removedElementIndex--;
+				if (message.method == "hideNotes") {
+					document.querySelectorAll(NOTE_TAGNAME).forEach(noteElement => noteElement.shadowRoot.querySelector("." + NOTE_CLASS).classList.add(NOTE_HIDDEN_CLASS));
 				}
-			}
-			if (message.method == "redoCutPage") {
-				redoCutPage();
-			}
-			if (message.method == "getContent") {
-				onUpdate(true);
-				includeInfobar = message.includeInfobar;
-				let content = getContent(message.compressHTML, message.updatedResources);
-				if (initScriptContent) {
-					content = content.replace(/<script data-template-shadow-root src.*?<\/script>/g, initScriptContent);
-				}
-				let filename;
-				const pageOptions = loadOptionsFromPage(document);
-				if (pageOptions) {
-					pageOptions.backgroundSave = message.backgroundSave;
-					pageOptions.saveDate = new Date(pageOptions.saveDate);
-					pageOptions.visitDate = new Date(pageOptions.visitDate);
-					filename = await singlefile.helper.formatFilename(content, document, pageOptions);
+				if (message.method == "enableHighlight") {
+					if (highlightColor) {
+						document.documentElement.classList.remove(highlightColor + "-mode");
+					}
+					highlightColor = message.color;
+					highlightSelectionMode = true;
+					document.documentElement.classList.add(message.color + "-mode");
 				}
-				if (pageCompressContent) {
-					const viewport = document.head.querySelector("meta[name=viewport]");
-					window.parent.postMessage(JSON.stringify({
-						method: "setContent",
-						content,
-						filename,
-						title: document.title,
-						doctype: singlefile.helper.getDoctypeString(document),
-						url: pageUrl,
-						viewport: viewport ? viewport.content : null,
-						compressContent: true,
-						foregroundSave: message.foregroundSave
-					}), "*");
-				} else {
-					if (message.foregroundSave) {
-						if (filename || (message.filename && message.filename.length)) {
-							const link = document.createElement("a");
-							link.download = filename || message.filename;
-							link.href = URL.createObjectURL(new Blob([content], { type: "text/html" }));
-							link.dispatchEvent(new MouseEvent("click"));
-						}
-						return new Promise(resolve => setTimeout(resolve, 1));
+				if (message.method == "disableHighlight") {
+					disableHighlight();
+					highlightSelectionMode = false;
+				}
+				if (message.method == "displayHighlights") {
+					document.querySelectorAll("." + HIGHLIGHT_CLASS).forEach(noteElement => noteElement.classList.remove(HIGHLIGHT_HIDDEN_CLASS));
+				}
+				if (message.method == "hideHighlights") {
+					document.querySelectorAll("." + HIGHLIGHT_CLASS).forEach(noteElement => noteElement.classList.add(HIGHLIGHT_HIDDEN_CLASS));
+				}
+				if (message.method == "enableRemoveHighlights") {
+					removeHighlightMode = true;
+					document.documentElement.classList.add("single-file-remove-highlights-mode");
+				}
+				if (message.method == "disableRemoveHighlights") {
+					removeHighlightMode = false;
+					document.documentElement.classList.remove("single-file-remove-highlights-mode");
+				}
+				if (message.method == "enableEditPage") {
+					document.body.contentEditable = true;
+					onUpdate(false);
+				}
+				if (message.method == "formatPage") {
+					formatPage(!message.applySystemTheme);
+				}
+				if (message.method == "cancelFormatPage") {
+					cancelFormatPage();
+				}
+				if (message.method == "disableEditPage") {
+					document.body.contentEditable = false;
+				}
+				if (message.method == "enableCutInnerPage") {
+					cuttingMode = true;
+					document.documentElement.classList.add(CUT_MODE_CLASS);
+				}
+				if (message.method == "enableCutOuterPage") {
+					cuttingOuterMode = true;
+					document.documentElement.classList.add(CUT_MODE_CLASS);
+				}
+				if (message.method == "disableCutInnerPage" || message.method == "disableCutOuterPage") {
+					if (message.method == "disableCutInnerPage") {
+						cuttingMode = false;
 					} else {
+						cuttingOuterMode = false;
+					}
+					document.documentElement.classList.remove(CUT_MODE_CLASS);
+					resetSelectedElements();
+					if (cuttingPath) {
+						unhighlightCutElement();
+						cuttingPath = null;
+					}
+				}
+				if (message.method == "undoCutPage") {
+					undoCutPage();
+				}
+				if (message.method == "undoAllCutPage") {
+					while (removedElementIndex) {
+						removedElements[removedElementIndex - 1].forEach(element => element.classList.remove(REMOVED_CONTENT_CLASS));
+						removedElementIndex--;
+					}
+				}
+				if (message.method == "redoCutPage") {
+					redoCutPage();
+				}
+				if (message.method == "getContent") {
+					onUpdate(true);
+					includeInfobar = message.includeInfobar;
+					let content = getContent(message.compressHTML, message.updatedResources);
+					if (initScriptContent) {
+						content = content.replace(/<script data-template-shadow-root src.*?<\/script>/g, initScriptContent);
+					}
+					let filename;
+					const pageOptions = loadOptionsFromPage(document);
+					if (pageOptions) {
+						pageOptions.backgroundSave = message.backgroundSave;
+						pageOptions.saveDate = new Date(pageOptions.saveDate);
+						pageOptions.visitDate = new Date(pageOptions.visitDate);
+						filename = await singlefile.helper.formatFilename(content, document, pageOptions);
+					}
+					if (pageCompressContent) {
+						const viewport = document.head.querySelector("meta[name=viewport]");
 						window.parent.postMessage(JSON.stringify({
 							method: "setContent",
 							content,
-							filename
+							filename,
+							title: document.title,
+							doctype: singlefile.helper.getDoctypeString(document),
+							url: pageUrl,
+							viewport: viewport ? viewport.content : null,
+							compressContent: true,
+							foregroundSave: message.foregroundSave
 						}), "*");
+					} else {
+						if (message.foregroundSave) {
+							if (filename || (message.filename && message.filename.length)) {
+								const link = document.createElement("a");
+								link.download = filename || message.filename;
+								link.href = URL.createObjectURL(new Blob([content], { type: "text/html" }));
+								link.dispatchEvent(new MouseEvent("click"));
+							}
+							return new Promise(resolve => setTimeout(resolve, 1));
+						} else {
+							window.parent.postMessage(JSON.stringify({
+								method: "setContent",
+								content,
+								filename
+							}), "*");
+						}
 					}
 				}
-			}
-			if (message.method == "printPage") {
-				printPage();
-			}
-			if (message.method == "displayInfobar") {
-				singlefile.helper.displayIcon(document, true);
-				const infobarDoc = document.implementation.createHTMLDocument();
-				infobarDoc.body.appendChild(document.querySelector(singlefile.helper.INFOBAR_TAGNAME));
-				serializeShadowRoots(infobarDoc.body);
-				const content = singlefile.helper.serialize(infobarDoc, true);
-				window.parent.postMessage(JSON.stringify({
-					method: "displayInfobar",
-					content
-				}), "*");
-			}
-			if (message.method == "download") {
-				const link = document.createElement("a");
-				link.download = message.filename;
-				link.href = URL.createObjectURL(new Blob([new Uint8Array(message.content)], { type: "text/html" }));
-				link.dispatchEvent(new MouseEvent("click"));
-			}
-		};
-		window.onresize = reflowNotes;
-		document.ondragover = event => event.preventDefault();
-		document.ondrop = async event => {
-			if (event.dataTransfer.files && event.dataTransfer.files[0]) {
-				const file = event.dataTransfer.files[0];
-				event.preventDefault();
-				const content = new TextDecoder().decode(await file.arrayBuffer());
-				const compressContent = /<html[^>]* data-sfz[^>]*>/i.test(content);
-				if (compressContent) {
-					await init({ content: file, compressContent }, { filename: file.name });
-				} else {
-					await init({ content }, { filename: file.name });
+				if (message.method == "printPage") {
+					printPage();
 				}
-			}
-		};
+				if (message.method == "displayInfobar") {
+					singlefile.helper.displayIcon(document, true);
+					const infobarDoc = document.implementation.createHTMLDocument();
+					infobarDoc.body.appendChild(document.querySelector(singlefile.helper.INFOBAR_TAGNAME));
+					serializeShadowRoots(infobarDoc.body);
+					const content = singlefile.helper.serialize(infobarDoc, true);
+					window.parent.postMessage(JSON.stringify({
+						method: "displayInfobar",
+						content
+					}), "*");
+				}
+				if (message.method == "download") {
+					const link = document.createElement("a");
+					link.download = message.filename;
+					link.href = URL.createObjectURL(new Blob([new Uint8Array(message.content)], { type: "text/html" }));
+					link.dispatchEvent(new MouseEvent("click"));
+				}
+			};
+			window.onresize = reflowNotes;
+			document.ondragover = event => event.preventDefault();
+			document.ondrop = async event => {
+				if (event.dataTransfer.files && event.dataTransfer.files[0]) {
+					const file = event.dataTransfer.files[0];
+					event.preventDefault();
+					const content = new TextDecoder().decode(await file.arrayBuffer());
+					const compressContent = /<html[^>]* data-sfz[^>]*>/i.test(content);
+					if (compressContent) {
+						await init({ content: file, compressContent }, { filename: file.name });
+					} else {
+						await init({ content }, { filename: file.name });
+					}
+				}
+			};
+		}
 
 		async function init({ content, password, compressContent }, { filename, reset } = {}) {
 			await initConstants();

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
lib/single-file-extension-frames.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
lib/single-file-extension.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
lib/single-file-frames.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
lib/single-file-hooks-frames.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
lib/single-file-infobar.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
lib/single-file.js


+ 18 - 23
package-lock.json

@@ -9,8 +9,8 @@
 			"version": "1.1.39",
 			"license": "AGPL-3.0-or-later",
 			"dependencies": {
-				"single-file-cli": "1.1.45",
-				"single-file-core": "1.3.15"
+				"single-file-cli": "1.1.47",
+				"single-file-core": "1.3.16"
 			},
 			"bin": {
 				"single-file": "cli/single-file"
@@ -194,9 +194,9 @@
 			"dev": true
 		},
 		"node_modules/@types/node": {
-			"version": "20.10.5",
-			"resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz",
-			"integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==",
+			"version": "20.10.6",
+			"resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz",
+			"integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==",
 			"devOptional": true,
 			"dependencies": {
 				"undici-types": "~5.26.4"
@@ -218,9 +218,9 @@
 			}
 		},
 		"node_modules/acorn": {
-			"version": "8.11.2",
-			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
-			"integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
+			"version": "8.11.3",
+			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+			"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
 			"dev": true,
 			"bin": {
 				"acorn": "bin/acorn"
@@ -1536,16 +1536,16 @@
 			"integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
 		},
 		"node_modules/single-file-cli": {
-			"version": "1.1.45",
-			"resolved": "https://registry.npmjs.org/single-file-cli/-/single-file-cli-1.1.45.tgz",
-			"integrity": "sha512-ALpNbsRKXj8fIcoLJ63sISuCK9v69Ar2T1uozknQoyllJSPYoKgw/xP1MSVyTaBOpfVgYi8nN4kJQQvFOYdgTw==",
+			"version": "1.1.47",
+			"resolved": "https://registry.npmjs.org/single-file-cli/-/single-file-cli-1.1.47.tgz",
+			"integrity": "sha512-OeXbl1GplmLOlWZszm8+Pgep0g9UcJWGeWBCiDqPriXKtm1QxcOnZnFg1mgNT/ya5F2oOs9ZzQxST3hw6QdMnA==",
 			"dependencies": {
 				"file-url": "3.0.0",
 				"iconv-lite": "0.6.3",
 				"jsdom": "23.0.0",
 				"puppeteer-core": "21.5.2",
 				"selenium-webdriver": "4.15.0",
-				"single-file-core": "1.3.14",
+				"single-file-core": "1.3.16",
 				"strong-data-uri": "1.0.6",
 				"yargs": "17.7.2"
 			},
@@ -1553,15 +1553,10 @@
 				"single-file": "single-file"
 			}
 		},
-		"node_modules/single-file-cli/node_modules/single-file-core": {
-			"version": "1.3.14",
-			"resolved": "https://registry.npmjs.org/single-file-core/-/single-file-core-1.3.14.tgz",
-			"integrity": "sha512-ynYvJpgQUPhGOm2tZdzZLxkTImz8X/qqd0203umWUhVTx4PqgLO9pqjy90Mlh2Ldp8jug2sZQkXaD80pPmFewA=="
-		},
 		"node_modules/single-file-core": {
-			"version": "1.3.15",
-			"resolved": "https://registry.npmjs.org/single-file-core/-/single-file-core-1.3.15.tgz",
-			"integrity": "sha512-/YNpHBwASWNxmSmZXz0xRolmXf0+PGAbwpVrwn6A8tYeuAdezxxde5RYTTQ7V4Zv68+H4JMhE2DwCRV0sVUGNA=="
+			"version": "1.3.16",
+			"resolved": "https://registry.npmjs.org/single-file-core/-/single-file-core-1.3.16.tgz",
+			"integrity": "sha512-UlPn23Z+p7N2XByO0prFtNP+uzFF153ZBdfPRyRZuOUti6+3bz5BXpsu2O5VwBXLl0JiLEPpxVCMkOkiQ2jXwA=="
 		},
 		"node_modules/smart-buffer": {
 			"version": "4.2.0",
@@ -1952,9 +1947,9 @@
 			"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
 		},
 		"node_modules/ws": {
-			"version": "8.15.1",
-			"resolved": "https://registry.npmjs.org/ws/-/ws-8.15.1.tgz",
-			"integrity": "sha512-W5OZiCjXEmk0yZ66ZN82beM5Sz7l7coYxpRkzS+p9PP+ToQry8szKh+61eNktr7EA9DOwvFGhfC605jDHbP6QQ==",
+			"version": "8.16.0",
+			"resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz",
+			"integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
 			"engines": {
 				"node": ">=10.0.0"
 			},

+ 2 - 2
package.json

@@ -12,8 +12,8 @@
 		"single-file": "./cli/single-file"
 	},
 	"dependencies": {
-		"single-file-core": "1.3.15",
-		"single-file-cli": "1.1.45"
+		"single-file-core": "1.3.16",
+		"single-file-cli": "1.1.47"
 	},
 	"devDependencies": {
 		"@rollup/plugin-node-resolve": "15.0.1",

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä