From 0a5db20cb8b5ac1ebf71b0b33f43c3f25bef5592 Mon Sep 17 00:00:00 2001 From: "mr. M" Date: Sat, 4 Jan 2025 02:07:53 +0100 Subject: [PATCH] Update pre-commit hook and upgrade lint-staged to version 15.3.0 --- .husky/pre-commit | 2 +- package-lock.json | 120 +++++++++--------- package.json | 2 +- .../tabbrowser/content/tabs-js.patch | 64 +++++----- 4 files changed, 94 insertions(+), 94 deletions(-) diff --git a/.husky/pre-commit b/.husky/pre-commit index 2e86b5e69..2312dc587 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1 +1 @@ -# npx lint-staged +npx lint-staged diff --git a/package-lock.json b/package-lock.json index 5abbe763f..603b8673d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,11 +9,11 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@zen-browser/surfer": "^1.3.21" + "@zen-browser/surfer": "^1.8.5" }, "devDependencies": { "husky": "^9.1.5", - "lint-staged": "^15.2.10", + "lint-staged": "^15.3.0", "prettier": "^3.3.3" } }, @@ -269,9 +269,9 @@ "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" }, "node_modules/@zen-browser/surfer": { - "version": "1.3.21", - "resolved": "https://registry.npmjs.org/@zen-browser/surfer/-/surfer-1.3.21.tgz", - "integrity": "sha512-hFblYgr4/rlfoJ75kcRPY03wG8HA8XT6dRZLEwdD7e5b8YazCWRlXMof0NhFC5a1Z0e1FZ+sRCxMG52ZygoVzw==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@zen-browser/surfer/-/surfer-1.8.5.tgz", + "integrity": "sha512-cOkQAoPo+EiTvOBFFcg0Gof52I7XkSEt4OfZZlX4mefk/55fS1Ac8hRyWmlsMsNKO+IBB6cE2VAudXycXIIDsQ==", "dependencies": { "@resvg/resvg-js": "^1.4.0", "async-icns": "^1.0.2", @@ -709,9 +709,9 @@ } }, "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "dependencies": { "ms": "^2.1.3" @@ -1001,9 +1001,9 @@ } }, "node_modules/get-east-asian-width": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", - "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", "dev": true, "engines": { "node": ">=18" @@ -1290,9 +1290,9 @@ "integrity": "sha512-FJx0SNrM2rouctdOH4rATsHT+BvgyXX4LEQ+Yn9COQNPK3u4XAPp9qS7OKpRO22MeT39oxkjZkRcLnHxSmiduw==" }, "node_modules/lilconfig": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", - "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", "dev": true, "engines": { "node": ">=14" @@ -1302,21 +1302,21 @@ } }, "node_modules/lint-staged": { - "version": "15.2.10", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.10.tgz", - "integrity": "sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg==", + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.3.0.tgz", + "integrity": "sha512-vHFahytLoF2enJklgtOtCtIjZrKD/LoxlaUusd5nh7dWv/dkKQJY74ndFSzxCdv7g0ueGg1ORgTSt4Y9LPZn9A==", "dev": true, "dependencies": { - "chalk": "~5.3.0", + "chalk": "~5.4.1", "commander": "~12.1.0", - "debug": "~4.3.6", + "debug": "~4.4.0", "execa": "~8.0.1", - "lilconfig": "~3.1.2", - "listr2": "~8.2.4", + "lilconfig": "~3.1.3", + "listr2": "~8.2.5", "micromatch": "~4.0.8", "pidtree": "~0.6.0", "string-argv": "~0.3.2", - "yaml": "~2.5.0" + "yaml": "~2.6.1" }, "bin": { "lint-staged": "bin/lint-staged.js" @@ -1329,9 +1329,9 @@ } }, "node_modules/lint-staged/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", "dev": true, "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" @@ -1484,9 +1484,9 @@ } }, "node_modules/listr2": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.4.tgz", - "integrity": "sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.5.tgz", + "integrity": "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==", "dev": true, "dependencies": { "cli-truncate": "^4.0.0", @@ -2643,9 +2643,9 @@ } }, "node_modules/yaml": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", - "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", + "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", "dev": true, "bin": { "yaml": "bin.mjs" @@ -2818,9 +2818,9 @@ "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" }, "@zen-browser/surfer": { - "version": "1.3.21", - "resolved": "https://registry.npmjs.org/@zen-browser/surfer/-/surfer-1.3.21.tgz", - "integrity": "sha512-hFblYgr4/rlfoJ75kcRPY03wG8HA8XT6dRZLEwdD7e5b8YazCWRlXMof0NhFC5a1Z0e1FZ+sRCxMG52ZygoVzw==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@zen-browser/surfer/-/surfer-1.8.5.tgz", + "integrity": "sha512-cOkQAoPo+EiTvOBFFcg0Gof52I7XkSEt4OfZZlX4mefk/55fS1Ac8hRyWmlsMsNKO+IBB6cE2VAudXycXIIDsQ==", "requires": { "@resvg/resvg-js": "^1.4.0", "async-icns": "^1.0.2", @@ -3147,9 +3147,9 @@ } }, "debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "requires": { "ms": "^2.1.3" @@ -3363,9 +3363,9 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-east-asian-width": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", - "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", "dev": true }, "get-stream": { @@ -3561,33 +3561,33 @@ "integrity": "sha512-FJx0SNrM2rouctdOH4rATsHT+BvgyXX4LEQ+Yn9COQNPK3u4XAPp9qS7OKpRO22MeT39oxkjZkRcLnHxSmiduw==" }, "lilconfig": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", - "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", "dev": true }, "lint-staged": { - "version": "15.2.10", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.10.tgz", - "integrity": "sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg==", + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.3.0.tgz", + "integrity": "sha512-vHFahytLoF2enJklgtOtCtIjZrKD/LoxlaUusd5nh7dWv/dkKQJY74ndFSzxCdv7g0ueGg1ORgTSt4Y9LPZn9A==", "dev": true, "requires": { - "chalk": "~5.3.0", + "chalk": "~5.4.1", "commander": "~12.1.0", - "debug": "~4.3.6", + "debug": "~4.4.0", "execa": "~8.0.1", - "lilconfig": "~3.1.2", - "listr2": "~8.2.4", + "lilconfig": "~3.1.3", + "listr2": "~8.2.5", "micromatch": "~4.0.8", "pidtree": "~0.6.0", "string-argv": "~0.3.2", - "yaml": "~2.5.0" + "yaml": "~2.6.1" }, "dependencies": { "chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", "dev": true }, "commander": { @@ -3676,9 +3676,9 @@ } }, "listr2": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.4.tgz", - "integrity": "sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.5.tgz", + "integrity": "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==", "dev": true, "requires": { "cli-truncate": "^4.0.0", @@ -4542,9 +4542,9 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "yaml": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", - "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", + "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", "dev": true }, "zip": { diff --git a/package.json b/package.json index 399db4383..e20b0a9b5 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ }, "devDependencies": { "husky": "^9.1.5", - "lint-staged": "^15.2.10", + "lint-staged": "^15.3.0", "prettier": "^3.3.3" } } diff --git a/src/browser/components/tabbrowser/content/tabs-js.patch b/src/browser/components/tabbrowser/content/tabs-js.patch index 6ff8f1c88..9f4dbc947 100644 --- a/src/browser/components/tabbrowser/content/tabs-js.patch +++ b/src/browser/components/tabbrowser/content/tabs-js.patch @@ -1,5 +1,5 @@ diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js -index f7c39fe804182e2bdf53045ba3b6a5ba17079fc3..bddba0cb7b475ca7a8d0e58227c62f82b62e118b 100644 +index f7c39fe804182e2bdf53045ba3b6a5ba17079fc3..84359791101c500ed354da8d0b4bf3c7e8be4563 100644 --- a/browser/components/tabbrowser/content/tabs.js +++ b/browser/components/tabbrowser/content/tabs.js @@ -649,7 +649,7 @@ @@ -163,7 +163,7 @@ index f7c39fe804182e2bdf53045ba3b6a5ba17079fc3..bddba0cb7b475ca7a8d0e58227c62f82 left: selectedTab.left, right: selectedTab.right, + top: selectedTab.top, -+ bottom: selectedTab.bottom ++ bottom: selectedTab.bottom, }; } return [ @@ -174,57 +174,57 @@ index f7c39fe804182e2bdf53045ba3b6a5ba17079fc3..bddba0cb7b475ca7a8d0e58227c62f82 selectedTab, ]; }) -@@ -2748,8 +2754,13 @@ +@@ -2748,8 +2754,11 @@ delete this._lastTabToScrollIntoView; // Is the new tab already completely visible? if ( - scrollRect.left <= tabRect.left && - tabRect.right <= scrollRect.right -+ this.verticalMode ? ( -+ scrollRect.top <= tabRect.top && -+ tabRect.bottom <= scrollRect.bottom -+ ) : ( -+ scrollRect.left <= tabRect.left && -+ tabRect.right <= scrollRect.right -+ ) ++ this.verticalMode ++ ? scrollRect.top <= tabRect.top && ++ tabRect.bottom <= scrollRect.bottom ++ : scrollRect.left <= tabRect.left && ++ tabRect.right <= scrollRect.right ) { return; } -@@ -2758,19 +2769,30 @@ +@@ -2757,21 +2766,29 @@ + if (this.arrowScrollbox.smoothScroll) { // Can we make both the new tab and the selected tab completely visible? if ( - !selectedRect || +- !selectedRect || - Math.max( - tabRect.right - selectedRect.left, - selectedRect.right - tabRect.left - ) <= scrollRect.width -+ this.verticalMode ? ( -+ Math.max( -+ tabRect.bottom - selectedRect.top, -+ selectedRect.bottom - tabRect.top -+ ) <= scrollRect.height -+ ) : ( -+ Math.max( -+ tabRect.right - selectedRect.left, -+ selectedRect.right - tabRect.left -+ ) <= scrollRect.width -+ ) ++ !selectedRect || this.verticalMode ++ ? Math.max( ++ tabRect.bottom - selectedRect.top, ++ selectedRect.bottom - tabRect.top ++ ) <= scrollRect.height ++ : Math.max( ++ tabRect.right - selectedRect.left, ++ selectedRect.right - tabRect.left ++ ) <= scrollRect.width ) { this.arrowScrollbox.ensureElementIsVisible(tabToScrollIntoView); return; } - this.arrowScrollbox.scrollByPixels( +- this.arrowScrollbox.scrollByPixels( - this.#rtlMode - ? selectedRect.right - scrollRect.right - : selectedRect.left - scrollRect.left -+ this.verticalMode ? ( -+ tabRect.top - selectedRect.top -+ ) : ( -+ this.#rtlMode -+ ? selectedRect.right - scrollRect.right -+ : selectedRect.left - scrollRect.left -+ ) - ); +- ); ++ let scrollPixels; ++ if (this.verticalMode) { ++ scrollPixels = tabRect.top - selectedRect.top; ++ } else if (this.#rtlMode) { ++ scrollPixels = selectedRect.right - scrollRect.right; ++ } else { ++ scrollPixels = selectedRect.left - scrollRect.left; ++ } ++ this.arrowScrollbox.scrollByPixels(scrollPixels); } + if (!this._animateElement.hasAttribute("highlight")) {