Compare commits

..

25 Commits

Author SHA1 Message Date
1c62e14eac fuck twitter v1 2025-03-29 17:48:28 -05:00
2d6f757f77 added script 2024-01-24 18:44:34 -06:00
9b499a2109 querySelectorAll instead of querySelector 2023-04-09 22:56:33 -05:00
0903994c30 reduced elems 2023-04-09 22:52:50 -05:00
7b57162191 simplified types 2023-04-09 22:47:20 -05:00
7caaec956f simplified 2023-04-09 22:41:06 -05:00
888687f2f5 abstracted elems definitions 2023-04-09 22:39:27 -05:00
567dabf661 www.twitch.tv 2023-04-09 22:28:53 -05:00
3ae471de0f twitch clickable video 2023-04-09 22:21:14 -05:00
1e616dd256 added violentmonkey links 2022-09-05 21:07:50 -05:00
b16cd8b494 updated bsbuild 2022-08-24 12:02:21 -05:00
60b674e816 removed twitch click mute 2022-08-24 11:44:32 -05:00
884e0aa2a1 updated browser-scripts-build 2022-06-09 12:00:01 -05:00
c7195d5f2c updated browser-scripts-builder 2022-06-09 11:53:21 -05:00
7c8dc85fd5 updated meta 2022-06-09 11:53:18 -05:00
2f81cf532c updated name and description 2022-06-09 11:53:05 -05:00
2f7efcb401 removed todo 2022-06-09 11:12:05 -05:00
3239443a6c updated browser-scripts-builder 2022-06-09 11:10:33 -05:00
6082836470 updated browser-scripts-builder 2022-06-09 10:57:53 -05:00
61f4b5db57 added watch script 2022-06-09 10:29:57 -05:00
74aeff0f7c updated browser-scripts-builder 2022-06-09 10:28:41 -05:00
756ca5f66d updates 2022-06-08 11:59:31 -05:00
6c65d3c586 updated compiler 2022-06-08 11:26:02 -05:00
1105ac2860 updated types 2022-06-07 18:36:15 -05:00
19cb660126 removed test line 2022-06-07 08:34:21 -05:00
22 changed files with 2109 additions and 250 deletions

1
.gitignore vendored
View File

@@ -1 +1,2 @@
node_modules node_modules
error.log

View File

@@ -1,2 +1,3 @@
dist/* dist/*
pnpm-lock.yaml pnpm-lock.yaml
readme.md

13
dist/fuck-twitter.user.js vendored Normal file
View File

@@ -0,0 +1,13 @@
// ==UserScript==
// @name redir x.com and twitter.com -> bsky.app
// @namespace zomo.dev
// @match https://x.com/*
// @match https://twitter.com/*
// @version 1.0
// @description fuck twitter
// @runat document-start
// @downloadURL https://git.zomo.dev/zomo/browser-scripts/raw/branch/main/dist/fuck-twitter.user.js
// @supportURL https://git.zomo.dev/zomo/browser-scripts/issues
// @homepageURL https://git.zomo.dev/zomo/browser-scripts
// ==/UserScript==
location.href = 'https://bsky.app/'

View File

@@ -0,0 +1,21 @@
// ==UserScript==
// @name Hunger Games BrantSteele WebP Support
// @namespace zomo.dev
// @match https://brantsteele.net/hungergames/edit.php
// @version 1.0
// @description fix the form validator to allow webp images
// @runat document-end
// @downloadURL https://git.zomo.dev/zomo/browser-scripts/raw/branch/main/dist/hungergames-brantsteele-webp.user.js
// @supportURL https://git.zomo.dev/zomo/browser-scripts/issues
// @homepageURL https://git.zomo.dev/zomo/browser-scripts
// ==/UserScript==
validateForm = Function(
validateForm
.toString()
.replace(/^function validateForm\(\)(.|\n)*?\{/, '')
.replace(/\}$/, '')
.replaceAll(
'var regexp = /(https?:\\/\\/.*\\.(?:png|jpg|gif|bmp|jpeg))$/i',
'var regexp = /(https?:\\/\\/.*\\.(?:png|jpg|gif|bmp|jpeg|webp))$/i'
)
)

View File

@@ -8,56 +8,56 @@
// @supportURL https://git.zomo.dev/zomo/browser-scripts/issues // @supportURL https://git.zomo.dev/zomo/browser-scripts/issues
// @homepageURL https://git.zomo.dev/zomo/browser-scripts // @homepageURL https://git.zomo.dev/zomo/browser-scripts
// ==/UserScript== // ==/UserScript==
// scripts/optifine-download-links/main.ts var onhover = false
var onhover = false;
async function getDownload(href) { async function getDownload(href) {
let resp = await fetch(href); let resp = await fetch(href)
let text = await resp.text(); let text = await resp.text()
let match = text.match(/<a href=['"](downloadx.*?)['"]/i); let match = text.match(/<a href=['"](downloadx.*?)['"]/i)
if (match) { if (match) {
return match[1]; return match[1]
} }
return null; return null
} }
function attachFetchDownloadLink(a, depth = 0) { function attachFetchDownloadLink(a, depth = 0) {
function run() { function run() {
a.innerText = "Loading"; a.innerText = 'Loading'
let url = new URL(a.href); let url = new URL(a.href)
if (url.pathname === "/adloadx") { if (url.pathname === '/adloadx') {
getDownload(a.href).then((downloadUrl) => { getDownload(a.href).then(downloadUrl => {
if (downloadUrl) { if (downloadUrl) {
a.href = downloadUrl; a.href = downloadUrl
a.innerText = "Download"; a.innerText = 'Download'
} else { } else {
a.innerText = "Failed"; a.innerText = 'Failed'
if (onhover) if (onhover) attachFetchDownloadLink(a, ++depth)
attachFetchDownloadLink(a, ++depth);
else else
setTimeout(() => attachFetchDownloadLink(a, ++depth), 1e3); setTimeout(
() => attachFetchDownloadLink(a, ++depth),
1e3
)
} }
}); })
} }
} }
if (depth > 5) if (depth > 5) return
return;
if (onhover) { if (onhover) {
a.addEventListener("mouseover", run, { once: true }); a.addEventListener('mouseover', run, { once: true })
} else { } else {
run(); run()
} }
} }
addEventListener("load", () => { addEventListener('load', () => {
document.querySelectorAll("a").forEach((a) => { document.querySelectorAll('a').forEach(a => {
let href = new URL(a.href); let href = new URL(a.href)
if (href.hostname === "adfoc.us") { if (href.hostname === 'adfoc.us') {
let params = href.searchParams; let params = href.searchParams
if (params.has("url")) { if (params.has('url')) {
let url = params.get("url")?.replace("http://", "https://"); let url = params.get('url')?.replace('http://', 'https://')
if (url) { if (url) {
a.href = url; a.href = url
attachFetchDownloadLink(a); attachFetchDownloadLink(a)
} }
} }
} }
}); })
}); })

View File

@@ -1,22 +0,0 @@
// ==UserScript==
// @name twitch click to mute
// @namespace zomo.dev
// @match https://www.twitch.tv/*
// @version 1.0
// @description click to mute/unmute
// @downloadURL https://git.zomo.dev/zomo/browser-scripts/raw/branch/main/dist/twitch-click-mute.user.js
// @supportURL https://git.zomo.dev/zomo/browser-scripts/issues
// @homepageURL https://git.zomo.dev/zomo/browser-scripts
// ==/UserScript==
// scripts/twitch-click-mute/main.ts
addEventListener("load", () => {
document.body.addEventListener("click", (e) => {
let target = e.target;
if (target && target.getAttribute("data-a-target") === "player-overlay-click-handler") {
let video = document.querySelector("video");
if (video) {
video.muted = !video.muted;
}
}
});
});

22
dist/twitch-clickable-video.user.js vendored Normal file
View File

@@ -0,0 +1,22 @@
// ==UserScript==
// @name Twitch Clickable Video
// @namespace zomo.dev
// @match https://www.twitch.tv/*
// @version 1.1
// @description hold Control key to be able to right click the video element
// @downloadURL https://git.zomo.dev/zomo/browser-scripts/raw/branch/main/dist/twitch-clickable-video.user.js
// @supportURL https://git.zomo.dev/zomo/browser-scripts/issues
// @homepageURL https://git.zomo.dev/zomo/browser-scripts
// ==/UserScript==
var Elems = `
.video-player__overlay,
.click-handler
`
var getElems = () => Array.from(document.querySelectorAll(Elems))
var elemsSet = () =>
getElems().forEach(elem => (elem.style.pointerEvents = 'none'))
var elemsClear = () =>
getElems().forEach(elem => (elem.style.pointerEvents = ''))
addEventListener('keydown', e => e.key === 'Control' && elemsSet())
addEventListener('keyup', e => e.key === 'Control' && elemsClear())
addEventListener('click', e => (e.ctrlKey ? elemsSet() : elemsClear()))

1587
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,8 @@
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"prettier": "prettier --write .", "prettier": "prettier --write .",
"build": "npm run prettier && bsbuild" "build": "npm run prettier && bsbuild -pr -u https://git.zomo.dev/zomo/browser-scripts -b main",
"watch": "bsbuild -pr -w -u https://git.zomo.dev/zomo/browser-scripts -b main"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -14,10 +15,10 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"devDependencies": { "devDependencies": {
"@types/greasemonkey": "^4.0.3", "@types/greasemonkey": "^4.0.4",
"browser-scripts-builder": "git+ssh://git@git.zomo.dev:zomo/browser-scripts-builder.git", "browser-scripts-builder": "git+ssh://git@git.zomo.dev:zomo/browser-scripts-builder.git",
"eslint": "^8.17.0", "eslint": "^8.38.0",
"prettier": "^2.6.2", "prettier": "^2.8.7",
"typescript": "^4.7.3" "typescript": "^5.0.4"
} }
} }

454
pnpm-lock.yaml generated
View File

@@ -1,30 +1,54 @@
lockfileVersion: 5.3 lockfileVersion: 5.4
specifiers: specifiers:
'@types/greasemonkey': ^4.0.3 '@types/greasemonkey': ^4.0.4
browser-scripts-builder: git+ssh://git@git.zomo.dev:zomo/browser-scripts-builder.git browser-scripts-builder: git+ssh://git@git.zomo.dev:zomo/browser-scripts-builder.git
eslint: ^8.17.0 eslint: ^8.38.0
prettier: ^2.6.2 prettier: ^2.8.7
typescript: ^4.7.3 typescript: ^5.0.4
devDependencies: devDependencies:
'@types/greasemonkey': 4.0.3 '@types/greasemonkey': 4.0.4
browser-scripts-builder: git.zomo.dev/zomo/browser-scripts-builder/f23789fc2291058bc6d50ba24dcba9112060bc1c browser-scripts-builder: git.zomo.dev/zomo/browser-scripts-builder/5de6a97dbdc887cac5b25965e9b3bde89261c8f2
eslint: 8.17.0 eslint: 8.38.0
prettier: 2.6.2 prettier: 2.8.7
typescript: 4.7.3 typescript: 5.0.4
packages: packages:
/@eslint/eslintrc/1.3.0: /@esbuild/linux-loong64/0.14.54:
resolution: {integrity: sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==} resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@eslint-community/eslint-utils/4.4.0_eslint@8.38.0:
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
dependencies:
eslint: 8.38.0
eslint-visitor-keys: 3.4.0
dev: true
/@eslint-community/regexpp/4.5.0:
resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
dev: true
/@eslint/eslintrc/2.0.2:
resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies: dependencies:
ajv: 6.12.6 ajv: 6.12.6
debug: 4.3.4 debug: 4.3.4
espree: 9.3.2 espree: 9.5.1
globals: 13.15.0 globals: 13.20.0
ignore: 5.2.0 ignore: 5.2.4
import-fresh: 3.3.0 import-fresh: 3.3.0
js-yaml: 4.1.0 js-yaml: 4.1.0
minimatch: 3.1.2 minimatch: 3.1.2
@@ -33,8 +57,13 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@humanwhocodes/config-array/0.9.5: /@eslint/js/8.38.0:
resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} resolution: {integrity: sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/@humanwhocodes/config-array/0.11.8:
resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==}
engines: {node: '>=10.10.0'} engines: {node: '>=10.10.0'}
dependencies: dependencies:
'@humanwhocodes/object-schema': 1.2.1 '@humanwhocodes/object-schema': 1.2.1
@@ -44,24 +73,50 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@humanwhocodes/module-importer/1.0.1:
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
dev: true
/@humanwhocodes/object-schema/1.2.1: /@humanwhocodes/object-schema/1.2.1:
resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
dev: true dev: true
/@types/greasemonkey/4.0.3: /@nodelib/fs.scandir/2.1.5:
resolution: {integrity: sha512-ryPWLtjXJJJrHBiimtYcpgonOXf5YtsDYgGme1XP8H0U6oon6b7oYEHLSLyr/57epDdy4PyGpZgZcdvEhK2w0w==} resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
dependencies:
'@nodelib/fs.stat': 2.0.5
run-parallel: 1.2.0
dev: true dev: true
/acorn-jsx/5.3.2_acorn@8.7.1: /@nodelib/fs.stat/2.0.5:
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
engines: {node: '>= 8'}
dev: true
/@nodelib/fs.walk/1.2.8:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
dependencies:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.15.0
dev: true
/@types/greasemonkey/4.0.4:
resolution: {integrity: sha512-OA+sbH6cPgVMpAM2wAABY7D1ASiJ4vVD+uSmvQSwTatriWtTekDa7p1A5VUSSjBlrskCdOiKnLBjv5jU5E/8cg==}
dev: true
/acorn-jsx/5.3.2_acorn@8.8.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies: peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies: dependencies:
acorn: 8.7.1 acorn: 8.8.2
dev: true dev: true
/acorn/8.7.1: /acorn/8.8.2:
resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==} resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
engines: {node: '>=0.4.0'} engines: {node: '>=0.4.0'}
hasBin: true hasBin: true
dev: true dev: true
@@ -91,6 +146,11 @@ packages:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
dev: true dev: true
/array-back/3.1.0:
resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==}
engines: {node: '>=6'}
dev: true
/balanced-match/1.0.2: /balanced-match/1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
dev: true dev: true
@@ -126,8 +186,18 @@ packages:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
dev: true dev: true
/command-line-args/5.2.1:
resolution: {integrity: sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==}
engines: {node: '>=4.0.0'}
dependencies:
array-back: 3.1.0
find-replace: 3.0.0
lodash.camelcase: 4.3.0
typical: 4.0.0
dev: true
/concat-map/0.0.1: /concat-map/0.0.1:
resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
dev: true dev: true
/cross-spawn/7.0.3: /cross-spawn/7.0.3:
@@ -162,8 +232,8 @@ packages:
esutils: 2.0.3 esutils: 2.0.3
dev: true dev: true
/esbuild-android-64/0.14.42: /esbuild-android-64/0.14.54:
resolution: {integrity: sha512-P4Y36VUtRhK/zivqGVMqhptSrFILAGlYp0Z8r9UQqHJ3iWztRCNWnlBzD9HRx0DbueXikzOiwyOri+ojAFfW6A==} resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [x64] cpu: [x64]
os: [android] os: [android]
@@ -171,8 +241,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-android-arm64/0.14.42: /esbuild-android-arm64/0.14.54:
resolution: {integrity: sha512-0cOqCubq+RWScPqvtQdjXG3Czb3AWI2CaKw3HeXry2eoA2rrPr85HF7IpdU26UWdBXgPYtlTN1LUiuXbboROhg==} resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [arm64] cpu: [arm64]
os: [android] os: [android]
@@ -180,8 +250,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-darwin-64/0.14.42: /esbuild-darwin-64/0.14.54:
resolution: {integrity: sha512-ipiBdCA3ZjYgRfRLdQwP82rTiv/YVMtW36hTvAN5ZKAIfxBOyPXY7Cejp3bMXWgzKD8B6O+zoMzh01GZsCuEIA==} resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
@@ -189,8 +259,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-darwin-arm64/0.14.42: /esbuild-darwin-arm64/0.14.54:
resolution: {integrity: sha512-bU2tHRqTPOaoH/4m0zYHbFWpiYDmaA0gt90/3BMEFaM0PqVK/a6MA2V/ypV5PO0v8QxN6gH5hBPY4YJ2lopXgA==} resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
@@ -198,8 +268,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-freebsd-64/0.14.42: /esbuild-freebsd-64/0.14.54:
resolution: {integrity: sha512-75h1+22Ivy07+QvxHyhVqOdekupiTZVLN1PMwCDonAqyXd8TVNJfIRFrdL8QmSJrOJJ5h8H1I9ETyl2L8LQDaw==} resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [x64] cpu: [x64]
os: [freebsd] os: [freebsd]
@@ -207,8 +277,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-freebsd-arm64/0.14.42: /esbuild-freebsd-arm64/0.14.54:
resolution: {integrity: sha512-W6Jebeu5TTDQMJUJVarEzRU9LlKpNkPBbjqSu+GUPTHDCly5zZEQq9uHkmHHl7OKm+mQ2zFySN83nmfCeZCyNA==} resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [arm64] cpu: [arm64]
os: [freebsd] os: [freebsd]
@@ -216,8 +286,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-linux-32/0.14.42: /esbuild-linux-32/0.14.54:
resolution: {integrity: sha512-Ooy/Bj+mJ1z4jlWcK5Dl6SlPlCgQB9zg1UrTCeY8XagvuWZ4qGPyYEWGkT94HUsRi2hKsXvcs6ThTOjBaJSMfg==} resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [ia32] cpu: [ia32]
os: [linux] os: [linux]
@@ -225,8 +295,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-linux-64/0.14.42: /esbuild-linux-64/0.14.54:
resolution: {integrity: sha512-2L0HbzQfbTuemUWfVqNIjOfaTRt9zsvjnme6lnr7/MO9toz/MJ5tZhjqrG6uDWDxhsaHI2/nsDgrv8uEEN2eoA==} resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
@@ -234,8 +304,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-linux-arm/0.14.42: /esbuild-linux-arm/0.14.54:
resolution: {integrity: sha512-STq69yzCMhdRaWnh29UYrLSr/qaWMm/KqwaRF1pMEK7kDiagaXhSL1zQGXbYv94GuGY/zAwzK98+6idCMUOOCg==} resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
@@ -243,8 +313,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-linux-arm64/0.14.42: /esbuild-linux-arm64/0.14.54:
resolution: {integrity: sha512-c3Ug3e9JpVr8jAcfbhirtpBauLxzYPpycjWulD71CF6ZSY26tvzmXMJYooQ2YKqDY4e/fPu5K8bm7MiXMnyxuA==} resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
@@ -252,8 +322,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-linux-mips64le/0.14.42: /esbuild-linux-mips64le/0.14.54:
resolution: {integrity: sha512-QuvpHGbYlkyXWf2cGm51LBCHx6eUakjaSrRpUqhPwjh/uvNUYvLmz2LgPTTPwCqaKt0iwL+OGVL0tXA5aDbAbg==} resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [mips64el] cpu: [mips64el]
os: [linux] os: [linux]
@@ -261,8 +331,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-linux-ppc64le/0.14.42: /esbuild-linux-ppc64le/0.14.54:
resolution: {integrity: sha512-8ohIVIWDbDT+i7lCx44YCyIRrOW1MYlks9fxTo0ME2LS/fxxdoJBwHWzaDYhjvf8kNpA+MInZvyOEAGoVDrMHg==} resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [ppc64] cpu: [ppc64]
os: [linux] os: [linux]
@@ -270,8 +340,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-linux-riscv64/0.14.42: /esbuild-linux-riscv64/0.14.54:
resolution: {integrity: sha512-DzDqK3TuoXktPyG1Lwx7vhaF49Onv3eR61KwQyxYo4y5UKTpL3NmuarHSIaSVlTFDDpcIajCDwz5/uwKLLgKiQ==} resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [riscv64] cpu: [riscv64]
os: [linux] os: [linux]
@@ -279,8 +349,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-linux-s390x/0.14.42: /esbuild-linux-s390x/0.14.54:
resolution: {integrity: sha512-YFRhPCxl8nb//Wn6SiS5pmtplBi4z9yC2gLrYoYI/tvwuB1jldir9r7JwAGy1Ck4D7sE7wBN9GFtUUX/DLdcEQ==} resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [s390x] cpu: [s390x]
os: [linux] os: [linux]
@@ -288,8 +358,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-netbsd-64/0.14.42: /esbuild-netbsd-64/0.14.54:
resolution: {integrity: sha512-QYSD2k+oT9dqB/4eEM9c+7KyNYsIPgzYOSrmfNGDIyJrbT1d+CFVKvnKahDKNJLfOYj8N4MgyFaU9/Ytc6w5Vw==} resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [x64] cpu: [x64]
os: [netbsd] os: [netbsd]
@@ -297,8 +367,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-openbsd-64/0.14.42: /esbuild-openbsd-64/0.14.54:
resolution: {integrity: sha512-M2meNVIKWsm2HMY7+TU9AxM7ZVwI9havdsw6m/6EzdXysyCFFSoaTQ/Jg03izjCsK17FsVRHqRe26Llj6x0MNA==} resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [x64] cpu: [x64]
os: [openbsd] os: [openbsd]
@@ -306,8 +376,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-sunos-64/0.14.42: /esbuild-sunos-64/0.14.54:
resolution: {integrity: sha512-uXV8TAZEw36DkgW8Ak3MpSJs1ofBb3Smkc/6pZ29sCAN1KzCAQzsje4sUwugf+FVicrHvlamCOlFZIXgct+iqQ==} resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [x64] cpu: [x64]
os: [sunos] os: [sunos]
@@ -315,8 +385,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-windows-32/0.14.42: /esbuild-windows-32/0.14.54:
resolution: {integrity: sha512-4iw/8qWmRICWi9ZOnJJf9sYt6wmtp3hsN4TdI5NqgjfOkBVMxNdM9Vt3626G1Rda9ya2Q0hjQRD9W1o+m6Lz6g==} resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [ia32] cpu: [ia32]
os: [win32] os: [win32]
@@ -324,8 +394,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-windows-64/0.14.42: /esbuild-windows-64/0.14.54:
resolution: {integrity: sha512-j3cdK+Y3+a5H0wHKmLGTJcq0+/2mMBHPWkItR3vytp/aUGD/ua/t2BLdfBIzbNN9nLCRL9sywCRpOpFMx3CxzA==} resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
@@ -333,8 +403,8 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild-windows-arm64/0.14.42: /esbuild-windows-arm64/0.14.54:
resolution: {integrity: sha512-+lRAARnF+hf8J0mN27ujO+VbhPbDqJ8rCcJKye4y7YZLV6C4n3pTRThAb388k/zqF5uM0lS5O201u0OqoWSicw==} resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
@@ -342,32 +412,33 @@ packages:
dev: true dev: true
optional: true optional: true
/esbuild/0.14.42: /esbuild/0.14.54:
resolution: {integrity: sha512-V0uPZotCEHokJdNqyozH6qsaQXqmZEOiZWrXnds/zaH/0SyrIayRXWRB98CENO73MIZ9T3HBIOsmds5twWtmgw==} resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==}
engines: {node: '>=12'} engines: {node: '>=12'}
hasBin: true hasBin: true
requiresBuild: true requiresBuild: true
optionalDependencies: optionalDependencies:
esbuild-android-64: 0.14.42 '@esbuild/linux-loong64': 0.14.54
esbuild-android-arm64: 0.14.42 esbuild-android-64: 0.14.54
esbuild-darwin-64: 0.14.42 esbuild-android-arm64: 0.14.54
esbuild-darwin-arm64: 0.14.42 esbuild-darwin-64: 0.14.54
esbuild-freebsd-64: 0.14.42 esbuild-darwin-arm64: 0.14.54
esbuild-freebsd-arm64: 0.14.42 esbuild-freebsd-64: 0.14.54
esbuild-linux-32: 0.14.42 esbuild-freebsd-arm64: 0.14.54
esbuild-linux-64: 0.14.42 esbuild-linux-32: 0.14.54
esbuild-linux-arm: 0.14.42 esbuild-linux-64: 0.14.54
esbuild-linux-arm64: 0.14.42 esbuild-linux-arm: 0.14.54
esbuild-linux-mips64le: 0.14.42 esbuild-linux-arm64: 0.14.54
esbuild-linux-ppc64le: 0.14.42 esbuild-linux-mips64le: 0.14.54
esbuild-linux-riscv64: 0.14.42 esbuild-linux-ppc64le: 0.14.54
esbuild-linux-s390x: 0.14.42 esbuild-linux-riscv64: 0.14.54
esbuild-netbsd-64: 0.14.42 esbuild-linux-s390x: 0.14.54
esbuild-openbsd-64: 0.14.42 esbuild-netbsd-64: 0.14.54
esbuild-sunos-64: 0.14.42 esbuild-openbsd-64: 0.14.54
esbuild-windows-32: 0.14.42 esbuild-sunos-64: 0.14.54
esbuild-windows-64: 0.14.42 esbuild-windows-32: 0.14.54
esbuild-windows-arm64: 0.14.42 esbuild-windows-64: 0.14.54
esbuild-windows-arm64: 0.14.54
dev: true dev: true
/escape-string-regexp/4.0.0: /escape-string-regexp/4.0.0:
@@ -383,33 +454,23 @@ packages:
estraverse: 5.3.0 estraverse: 5.3.0
dev: true dev: true
/eslint-utils/3.0.0_eslint@8.17.0: /eslint-visitor-keys/3.4.0:
resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==}
engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
peerDependencies:
eslint: '>=5'
dependencies:
eslint: 8.17.0
eslint-visitor-keys: 2.1.0
dev: true
/eslint-visitor-keys/2.1.0:
resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
engines: {node: '>=10'}
dev: true
/eslint-visitor-keys/3.3.0:
resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true dev: true
/eslint/8.17.0: /eslint/8.38.0:
resolution: {integrity: sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==} resolution: {integrity: sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true hasBin: true
dependencies: dependencies:
'@eslint/eslintrc': 1.3.0 '@eslint-community/eslint-utils': 4.4.0_eslint@8.38.0
'@humanwhocodes/config-array': 0.9.5 '@eslint-community/regexpp': 4.5.0
'@eslint/eslintrc': 2.0.2
'@eslint/js': 8.38.0
'@humanwhocodes/config-array': 0.11.8
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
ajv: 6.12.6 ajv: 6.12.6
chalk: 4.1.2 chalk: 4.1.2
cross-spawn: 7.0.3 cross-spawn: 7.0.3
@@ -417,20 +478,22 @@ packages:
doctrine: 3.0.0 doctrine: 3.0.0
escape-string-regexp: 4.0.0 escape-string-regexp: 4.0.0
eslint-scope: 7.1.1 eslint-scope: 7.1.1
eslint-utils: 3.0.0_eslint@8.17.0 eslint-visitor-keys: 3.4.0
eslint-visitor-keys: 3.3.0 espree: 9.5.1
espree: 9.3.2 esquery: 1.5.0
esquery: 1.4.0
esutils: 2.0.3 esutils: 2.0.3
fast-deep-equal: 3.1.3 fast-deep-equal: 3.1.3
file-entry-cache: 6.0.1 file-entry-cache: 6.0.1
functional-red-black-tree: 1.0.1 find-up: 5.0.0
glob-parent: 6.0.2 glob-parent: 6.0.2
globals: 13.15.0 globals: 13.20.0
ignore: 5.2.0 grapheme-splitter: 1.0.4
ignore: 5.2.4
import-fresh: 3.3.0 import-fresh: 3.3.0
imurmurhash: 0.1.4 imurmurhash: 0.1.4
is-glob: 4.0.3 is-glob: 4.0.3
is-path-inside: 3.0.3
js-sdsl: 4.4.0
js-yaml: 4.1.0 js-yaml: 4.1.0
json-stable-stringify-without-jsonify: 1.0.1 json-stable-stringify-without-jsonify: 1.0.1
levn: 0.4.1 levn: 0.4.1
@@ -438,26 +501,24 @@ packages:
minimatch: 3.1.2 minimatch: 3.1.2
natural-compare: 1.4.0 natural-compare: 1.4.0
optionator: 0.9.1 optionator: 0.9.1
regexpp: 3.2.0
strip-ansi: 6.0.1 strip-ansi: 6.0.1
strip-json-comments: 3.1.1 strip-json-comments: 3.1.1
text-table: 0.2.0 text-table: 0.2.0
v8-compile-cache: 2.3.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
/espree/9.3.2: /espree/9.5.1:
resolution: {integrity: sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==} resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies: dependencies:
acorn: 8.7.1 acorn: 8.8.2
acorn-jsx: 5.3.2_acorn@8.7.1 acorn-jsx: 5.3.2_acorn@8.8.2
eslint-visitor-keys: 3.3.0 eslint-visitor-keys: 3.4.0
dev: true dev: true
/esquery/1.4.0: /esquery/1.5.0:
resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
engines: {node: '>=0.10'} engines: {node: '>=0.10'}
dependencies: dependencies:
estraverse: 5.3.0 estraverse: 5.3.0
@@ -492,6 +553,12 @@ packages:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
dev: true dev: true
/fastq/1.15.0:
resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
dependencies:
reusify: 1.0.4
dev: true
/file-entry-cache/6.0.1: /file-entry-cache/6.0.1:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0} engines: {node: ^10.12.0 || >=12.0.0}
@@ -499,26 +566,37 @@ packages:
flat-cache: 3.0.4 flat-cache: 3.0.4
dev: true dev: true
/find-replace/3.0.0:
resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==}
engines: {node: '>=4.0.0'}
dependencies:
array-back: 3.1.0
dev: true
/find-up/5.0.0:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
dependencies:
locate-path: 6.0.0
path-exists: 4.0.0
dev: true
/flat-cache/3.0.4: /flat-cache/3.0.4:
resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
engines: {node: ^10.12.0 || >=12.0.0} engines: {node: ^10.12.0 || >=12.0.0}
dependencies: dependencies:
flatted: 3.2.5 flatted: 3.2.7
rimraf: 3.0.2 rimraf: 3.0.2
dev: true dev: true
/flatted/3.2.5: /flatted/3.2.7:
resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
dev: true dev: true
/fs.realpath/1.0.0: /fs.realpath/1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
dev: true dev: true
/functional-red-black-tree/1.0.1:
resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==}
dev: true
/glob-parent/6.0.2: /glob-parent/6.0.2:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
engines: {node: '>=10.13.0'} engines: {node: '>=10.13.0'}
@@ -537,20 +615,24 @@ packages:
path-is-absolute: 1.0.1 path-is-absolute: 1.0.1
dev: true dev: true
/globals/13.15.0: /globals/13.20.0:
resolution: {integrity: sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==} resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==}
engines: {node: '>=8'} engines: {node: '>=8'}
dependencies: dependencies:
type-fest: 0.20.2 type-fest: 0.20.2
dev: true dev: true
/grapheme-splitter/1.0.4:
resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
dev: true
/has-flag/4.0.0: /has-flag/4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'} engines: {node: '>=8'}
dev: true dev: true
/ignore/5.2.0: /ignore/5.2.4:
resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
engines: {node: '>= 4'} engines: {node: '>= 4'}
dev: true dev: true
@@ -590,10 +672,19 @@ packages:
is-extglob: 2.1.1 is-extglob: 2.1.1
dev: true dev: true
/is-path-inside/3.0.3:
resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
engines: {node: '>=8'}
dev: true
/isexe/2.0.0: /isexe/2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
dev: true dev: true
/js-sdsl/4.4.0:
resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==}
dev: true
/js-yaml/4.1.0: /js-yaml/4.1.0:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true hasBin: true
@@ -617,6 +708,17 @@ packages:
type-check: 0.4.0 type-check: 0.4.0
dev: true dev: true
/locate-path/6.0.0:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
dependencies:
p-locate: 5.0.0
dev: true
/lodash.camelcase/4.3.0:
resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
dev: true
/lodash.merge/4.6.2: /lodash.merge/4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true dev: true
@@ -653,6 +755,20 @@ packages:
word-wrap: 1.2.3 word-wrap: 1.2.3
dev: true dev: true
/p-limit/3.1.0:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
engines: {node: '>=10'}
dependencies:
yocto-queue: 0.1.0
dev: true
/p-locate/5.0.0:
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
engines: {node: '>=10'}
dependencies:
p-limit: 3.1.0
dev: true
/parent-module/1.0.1: /parent-module/1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'} engines: {node: '>=6'}
@@ -660,6 +776,11 @@ packages:
callsites: 3.1.0 callsites: 3.1.0
dev: true dev: true
/path-exists/4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
dev: true
/path-is-absolute/1.0.1: /path-is-absolute/1.0.1:
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
@@ -675,20 +796,19 @@ packages:
engines: {node: '>= 0.8.0'} engines: {node: '>= 0.8.0'}
dev: true dev: true
/prettier/2.6.2: /prettier/2.8.7:
resolution: {integrity: sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==} resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==}
engines: {node: '>=10.13.0'} engines: {node: '>=10.13.0'}
hasBin: true hasBin: true
dev: true dev: true
/punycode/2.1.1: /punycode/2.3.0:
resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
engines: {node: '>=6'} engines: {node: '>=6'}
dev: true dev: true
/regexpp/3.2.0: /queue-microtask/1.2.3:
resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
engines: {node: '>=8'}
dev: true dev: true
/resolve-from/4.0.0: /resolve-from/4.0.0:
@@ -696,6 +816,11 @@ packages:
engines: {node: '>=4'} engines: {node: '>=4'}
dev: true dev: true
/reusify/1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
dev: true
/rimraf/3.0.2: /rimraf/3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
hasBin: true hasBin: true
@@ -703,6 +828,12 @@ packages:
glob: 7.2.3 glob: 7.2.3
dev: true dev: true
/run-parallel/1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
dependencies:
queue-microtask: 1.2.3
dev: true
/shebang-command/2.0.0: /shebang-command/2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'} engines: {node: '>=8'}
@@ -735,7 +866,7 @@ packages:
dev: true dev: true
/text-table/0.2.0: /text-table/0.2.0:
resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
dev: true dev: true
/type-check/0.4.0: /type-check/0.4.0:
@@ -750,20 +881,27 @@ packages:
engines: {node: '>=10'} engines: {node: '>=10'}
dev: true dev: true
/typescript/4.7.3: /typescript/4.9.5:
resolution: {integrity: sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==} resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
engines: {node: '>=4.2.0'} engines: {node: '>=4.2.0'}
hasBin: true hasBin: true
dev: true dev: true
/typescript/5.0.4:
resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==}
engines: {node: '>=12.20'}
hasBin: true
dev: true
/typical/4.0.0:
resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==}
engines: {node: '>=8'}
dev: true
/uri-js/4.4.1: /uri-js/4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
dependencies: dependencies:
punycode: 2.1.1 punycode: 2.3.0
dev: true
/v8-compile-cache/2.3.0:
resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==}
dev: true dev: true
/which/2.0.2: /which/2.0.2:
@@ -780,14 +918,22 @@ packages:
dev: true dev: true
/wrappy/1.0.2: /wrappy/1.0.2:
resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
dev: true dev: true
git.zomo.dev/zomo/browser-scripts-builder/f23789fc2291058bc6d50ba24dcba9112060bc1c: /yocto-queue/0.1.0:
resolution: {commit: f23789fc2291058bc6d50ba24dcba9112060bc1c, repo: ssh://git@git.zomo.dev/zomo/browser-scripts-builder.git, type: git} resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
dev: true
git.zomo.dev/zomo/browser-scripts-builder/5de6a97dbdc887cac5b25965e9b3bde89261c8f2:
resolution: {commit: 5de6a97dbdc887cac5b25965e9b3bde89261c8f2, repo: ssh://git@git.zomo.dev/zomo/browser-scripts-builder.git, type: git}
name: browser-scripts-builder name: browser-scripts-builder
version: 1.0.0 version: 1.1.3
hasBin: true hasBin: true
dependencies: dependencies:
esbuild: 0.14.42 command-line-args: 5.2.1
esbuild: 0.14.54
prettier: 2.8.7
typescript: 4.9.5
dev: true dev: true

View File

@@ -1 +1,20 @@
# browser-scripts # browser-scripts
Requires Violentmonkey (or Tampermonkey etc): [Chrome](https://chrome.google.com/webstore/detail/violentmonkey/jinjaccalgkegednnccohejagnlnfdag) / [Firefox](https://addons.mozilla.org/en-US/firefox/addon/violentmonkey/)
<!-- START INSTALL LINKS -->
## Installs
- [redir x.com and twitter.com -> bsky.app](https://git.zomo.dev/zomo/browser-scripts/raw/branch/main/dist/fuck-twitter.user.js)
- zomo.dev 1.0
- fuck twitter
- [Hunger Games BrantSteele WebP Support](https://git.zomo.dev/zomo/browser-scripts/raw/branch/main/dist/hungergames-brantsteele-webp.user.js)
- zomo.dev 1.0
- fix the form validator to allow webp images
- [OptiFine Download Links](https://git.zomo.dev/zomo/browser-scripts/raw/branch/main/dist/optifine-download-links.user.js)
- zomo.dev 1.0
- automatically grab optifine links through the ads
- [Twitch Clickable Video](https://git.zomo.dev/zomo/browser-scripts/raw/branch/main/dist/twitch-clickable-video.user.js)
- zomo.dev 1.1
- hold Control key to be able to right click the video element
<!-- END INSTALL LINKS -->

View File

@@ -0,0 +1 @@
location.href = 'https://bsky.app/'

View File

@@ -0,0 +1,9 @@
{
"$schema": "https://git.zomo.dev/zomo/browser-scripts-builder/raw/branch/main/meta.schema.json",
"name": "redir x.com and twitter.com -> bsky.app",
"description": "fuck twitter",
"namespace": "zomo.dev",
"match": ["https://x.com/*", "https://twitter.com/*"],
"version": "1.0",
"runat": "document-start"
}

View File

@@ -0,0 +1,17 @@
{
"compilerOptions": {
"target": "es2021",
"module": "commonjs",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"skipLibCheck": true,
"strict": true,
"noImplicitReturns": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"types": [
"../../node_modules/@types/greasemonkey",
"../../node_modules/browser-scripts-builder"
]
}
}

View File

@@ -0,0 +1,12 @@
declare var validateForm: Function
validateForm = Function(
validateForm
.toString()
.replace(/^function validateForm\(\)(.|\n)*?\{/, '')
.replace(/\}$/, '')
.replaceAll(
'var regexp = /(https?:\\/\\/.*\\.(?:png|jpg|gif|bmp|jpeg))$/i',
'var regexp = /(https?:\\/\\/.*\\.(?:png|jpg|gif|bmp|jpeg|webp))$/i'
)
)

View File

@@ -0,0 +1,9 @@
{
"$schema": "https://git.zomo.dev/zomo/browser-scripts-builder/raw/branch/main/meta.schema.json",
"name": "Hunger Games BrantSteele WebP Support",
"namespace": "zomo.dev",
"match": "https://brantsteele.net/hungergames/edit.php",
"version": "1.0",
"description": "fix the form validator to allow webp images",
"runat": "document-end"
}

View File

@@ -0,0 +1,17 @@
{
"compilerOptions": {
"target": "es2021",
"module": "commonjs",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"skipLibCheck": true,
"strict": true,
"noImplicitReturns": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"types": [
"../../node_modules/@types/greasemonkey",
"../../node_modules/browser-scripts-builder"
]
}
}

View File

@@ -9,6 +9,9 @@
"noImplicitReturns": true, "noImplicitReturns": true,
"noUnusedLocals": true, "noUnusedLocals": true,
"noUnusedParameters": true, "noUnusedParameters": true,
"types": ["../../node_modules/browser-scripts-builder"] "types": [
"../../node_modules/@types/greasemonkey",
"../../node_modules/browser-scripts-builder"
]
} }
} }

View File

@@ -1,16 +0,0 @@
addEventListener('load', () => {
document.body.addEventListener('click', e => {
let target = e.target as HTMLElement | null
if (
target &&
target.getAttribute('data-a-target') ===
'player-overlay-click-handler'
) {
let video = document.querySelector('video')
if (video) {
video.muted = !video.muted
}
}
})
})
UserScriptName

View File

@@ -0,0 +1,15 @@
const Elems = `
.video-player__overlay,
.click-handler
`
const getElems = () => Array.from(document.querySelectorAll<HTMLElement>(Elems))
const elemsSet = () =>
getElems().forEach(elem => (elem.style.pointerEvents = 'none'))
const elemsClear = () =>
getElems().forEach(elem => (elem.style.pointerEvents = ''))
addEventListener('keydown', e => e.key === 'Control' && elemsSet())
addEventListener('keyup', e => e.key === 'Control' && elemsClear())
addEventListener('click', e => (e.ctrlKey ? elemsSet() : elemsClear()))

View File

@@ -1,8 +1,8 @@
{ {
"$schema": "https://git.zomo.dev/zomo/browser-scripts-builder/raw/branch/main/meta.schema.json", "$schema": "https://git.zomo.dev/zomo/browser-scripts-builder/raw/branch/main/meta.schema.json",
"name": "twitch click to mute", "name": "Twitch Clickable Video",
"namespace": "zomo.dev", "namespace": "zomo.dev",
"match": "https://www.twitch.tv/*", "match": "https://www.twitch.tv/*",
"version": "1.0", "version": "1.1",
"description": "click to mute/unmute" "description": "hold Control key to be able to right click the video element"
} }

View File

@@ -9,6 +9,9 @@
"noImplicitReturns": true, "noImplicitReturns": true,
"noUnusedLocals": true, "noUnusedLocals": true,
"noUnusedParameters": true, "noUnusedParameters": true,
"types": ["../../node_modules/browser-scripts-builder"] "types": [
"../../node_modules/@types/greasemonkey",
"../../node_modules/browser-scripts-builder"
]
} }
} }