diff --git a/assets/css/index.css b/assets/css/index.css
index 09d3037..46467be 100644
--- a/assets/css/index.css
+++ b/assets/css/index.css
@@ -412,18 +412,21 @@ img {
#hidden {
display: none;
- position: absolute;
- z-index: 1;
- left: 0;
- right: 0;
- margin: auto;
- top: 20%;
+ position: fixed;
+ z-index: 1000;
+ left: 50%;
+ top: 50%;
+ transform: translate(-50%, -50%);
background-color: var(--box-main);
border-radius: 15px;
width: 80%;
+ max-width: 900px;
+ max-height: 90vh;
+ overflow-y: auto;
padding: 10px 10px 25px 10px;
color: var(--text);
border: var(--border);
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}
#videoBox,
@@ -679,6 +682,35 @@ input[type="number"]::-webkit-outer-spin-button {
align-items: center;
}
+#inputSearchContainer {
+ margin: 4rem;
+}
+
+#searchName {
+ padding: 10px;
+ padding-right: 4rem;
+ border-radius: 8px;
+ outline: none;
+ width: 250px;
+ text-align: center;
+ background-color: var(--box-separation);
+ color: var(--text);
+ font-size: large;
+ font-family: "Ubuntu";
+ text-align: left;
+}
+
+#searchBtn {
+ padding: 11px;
+ border-radius: 8px;
+ background-color: var(--blueBtn);
+ color: white;
+ border: none;
+ cursor: pointer;
+ font-size: large;
+ width: 100px;
+}
+
#preparingBox {
display: none;
flex-direction: row;
diff --git a/html/index.html b/html/index.html
index 5d640e1..d2dce4a 100644
--- a/html/index.html
+++ b/html/index.html
@@ -83,6 +83,14 @@
+
+
+
+
+
+
+ Search only works with YouTube. For other sites, paste the direct link.
+
Loading
@@ -233,6 +241,9 @@
+
+
+
diff --git a/package-lock.json b/package-lock.json
index b44ea89..97307ff 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "ytdownloader",
- "version": "3.20.0",
+ "version": "3.20.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "ytdownloader",
- "version": "3.20.0",
+ "version": "3.20.2",
"license": "GPL-3.0",
"dependencies": {
"electron-updater": "^6.6.2",
@@ -14,7 +14,7 @@
"yt-dlp-wrap-plus": "^2.4.3"
},
"devDependencies": {
- "electron": "^30.0.0",
+ "electron": "^40.2.1",
"electron-builder": "^26.0.12",
"typescript": "^5.3.3"
}
@@ -38,9 +38,9 @@
}
},
"node_modules/@electron/asar": {
- "version": "3.2.18",
- "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.18.tgz",
- "integrity": "sha512-2XyvMe3N3Nrs8cV39IKELRHTYUWFKrmqqSY1U+GMlc0jvqjIVnoxhNd2H4JolWQncbJi1DCvb5TNxZuI2fEjWg==",
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.4.1.tgz",
+ "integrity": "sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -144,88 +144,6 @@
"global-agent": "^3.0.0"
}
},
- "node_modules/@electron/node-gyp": {
- "version": "10.2.0-electron.1",
- "resolved": "git+ssh://git@github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2",
- "integrity": "sha512-4MSBTT8y07YUDqf69/vSh80Hh791epYqGtWHO3zSKhYFwQg+gx9wi1PqbqP6YqC4WMsNxZ5l9oDmnWdK5pfCKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "env-paths": "^2.2.0",
- "exponential-backoff": "^3.1.1",
- "glob": "^8.1.0",
- "graceful-fs": "^4.2.6",
- "make-fetch-happen": "^10.2.1",
- "nopt": "^6.0.0",
- "proc-log": "^2.0.1",
- "semver": "^7.3.5",
- "tar": "^6.2.1",
- "which": "^2.0.2"
- },
- "bin": {
- "node-gyp": "bin/node-gyp.js"
- },
- "engines": {
- "node": ">=12.13.0"
- }
- },
- "node_modules/@electron/node-gyp/node_modules/brace-expansion": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/@electron/node-gyp/node_modules/glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@electron/node-gyp/node_modules/minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@electron/node-gyp/node_modules/semver": {
- "version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/@electron/notarize": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.5.0.tgz",
@@ -281,9 +199,9 @@
}
},
"node_modules/@electron/osx-sign": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.3.1.tgz",
- "integrity": "sha512-BAfviURMHpmb1Yb50YbCxnOY0wfwaLXH5KJ4+80zS0gUkzDX3ec23naTlEqKsN+PwYn+a1cCzM7BJ4Wcd3sGzw==",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.3.3.tgz",
+ "integrity": "sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
@@ -354,66 +272,37 @@
}
},
"node_modules/@electron/rebuild": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.7.0.tgz",
- "integrity": "sha512-VW++CNSlZwMYP7MyXEbrKjpzEwhB5kDNbzGtiPEjwYysqyTCF+YbNJ210Dj3AjWsGSV4iEEwNkmJN9yGZmVvmw==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-4.0.3.tgz",
+ "integrity": "sha512-u9vpTHRMkOYCs/1FLiSVAFZ7FbjsXK+bQuzviJZa+lG7BHZl1nz52/IcGvwa3sk80/fc3llutBkbCq10Vh8WQA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@electron/node-gyp": "git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2",
"@malept/cross-spawn-promise": "^2.0.0",
- "chalk": "^4.0.0",
"debug": "^4.1.1",
"detect-libc": "^2.0.1",
- "fs-extra": "^10.0.0",
"got": "^11.7.0",
- "node-abi": "^3.45.0",
- "node-api-version": "^0.2.0",
+ "graceful-fs": "^4.2.11",
+ "node-abi": "^4.2.0",
+ "node-api-version": "^0.2.1",
+ "node-gyp": "^11.2.0",
"ora": "^5.1.0",
"read-binary-file-arch": "^1.0.6",
"semver": "^7.3.5",
- "tar": "^6.0.5",
+ "tar": "^7.5.6",
"yargs": "^17.0.1"
},
"bin": {
"electron-rebuild": "lib/cli.js"
},
"engines": {
- "node": ">=12.13.0"
- }
- },
- "node_modules/@electron/rebuild/node_modules/fs-extra": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
- "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@electron/rebuild/node_modules/jsonfile": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz",
- "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
+ "node": ">=22.12.0"
}
},
"node_modules/@electron/rebuild/node_modules/semver": {
- "version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "version": "7.7.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
+ "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
"dev": true,
"license": "ISC",
"bin": {
@@ -423,24 +312,14 @@
"node": ">=10"
}
},
- "node_modules/@electron/rebuild/node_modules/universalify": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
- "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 10.0.0"
- }
- },
"node_modules/@electron/universal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-2.0.1.tgz",
- "integrity": "sha512-fKpv9kg4SPmt+hY7SVBnIYULE9QJl8L3sCfcBsnqbJwwBwAeTLokJ9TRt9y7bK0JAzIW2y78TVVjvnQEms/yyA==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-2.0.3.tgz",
+ "integrity": "sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@electron/asar": "^3.2.7",
+ "@electron/asar": "^3.3.1",
"@malept/cross-spawn-promise": "^2.0.0",
"debug": "^4.3.1",
"dir-compare": "^4.2.0",
@@ -463,9 +342,9 @@
}
},
"node_modules/@electron/universal/node_modules/fs-extra": {
- "version": "11.3.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz",
- "integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==",
+ "version": "11.3.3",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz",
+ "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -523,7 +402,6 @@
"dev": true,
"license": "BSD-2-Clause",
"optional": true,
- "peer": true,
"dependencies": {
"cross-dirname": "^0.1.0",
"debug": "^4.3.4",
@@ -539,13 +417,12 @@
}
},
"node_modules/@electron/windows-sign/node_modules/fs-extra": {
- "version": "11.3.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz",
- "integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==",
+ "version": "11.3.3",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz",
+ "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==",
"dev": true,
"license": "MIT",
"optional": true,
- "peer": true,
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
@@ -562,7 +439,6 @@
"dev": true,
"license": "MIT",
"optional": true,
- "peer": true,
"dependencies": {
"universalify": "^2.0.0"
},
@@ -577,18 +453,10 @@
"dev": true,
"license": "MIT",
"optional": true,
- "peer": true,
"engines": {
"node": ">= 10.0.0"
}
},
- "node_modules/@gar/promisify": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
- "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@isaacs/balanced-match": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
@@ -600,9 +468,9 @@
}
},
"node_modules/@isaacs/brace-expansion": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz",
- "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz",
+ "integrity": "sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -631,9 +499,9 @@
}
},
"node_modules/@isaacs/cliui/node_modules/ansi-regex": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz",
- "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==",
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -644,9 +512,9 @@
}
},
"node_modules/@isaacs/cliui/node_modules/ansi-styles": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
- "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+ "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -682,9 +550,9 @@
}
},
"node_modules/@isaacs/cliui/node_modules/strip-ansi": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
- "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+ "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -715,6 +583,19 @@
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
+ "node_modules/@isaacs/fs-minipass": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz",
+ "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.4"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
"node_modules/@malept/cross-spawn-promise": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz",
@@ -793,24 +674,47 @@
"node": ">= 10.0.0"
}
},
+ "node_modules/@npmcli/agent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz",
+ "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "agent-base": "^7.1.0",
+ "http-proxy-agent": "^7.0.0",
+ "https-proxy-agent": "^7.0.1",
+ "lru-cache": "^10.0.1",
+ "socks-proxy-agent": "^8.0.3"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@npmcli/agent/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/@npmcli/fs": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz",
- "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz",
+ "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==",
"dev": true,
"license": "ISC",
"dependencies": {
- "@gar/promisify": "^1.1.3",
"semver": "^7.3.5"
},
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "node": "^18.17.0 || >=20.5.0"
}
},
"node_modules/@npmcli/fs/node_modules/semver": {
- "version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "version": "7.7.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
+ "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
"dev": true,
"license": "ISC",
"bin": {
@@ -820,21 +724,6 @@
"node": ">=10"
}
},
- "node_modules/@npmcli/move-file": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz",
- "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==",
- "deprecated": "This functionality has been moved to @npmcli/fs",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mkdirp": "^1.0.4",
- "rimraf": "^3.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
"node_modules/@pkgjs/parseargs": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
@@ -872,16 +761,6 @@
"node": ">=10"
}
},
- "node_modules/@tootallnate/once": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
- "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 10"
- }
- },
"node_modules/@types/cacheable-request": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz",
@@ -940,13 +819,13 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "22.18.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.18.1.tgz",
- "integrity": "sha512-rzSDyhn4cYznVG+PCzGe1lwuMYJrcBS1fc3JqSa2PvtABwWo+dZ1ij5OVok3tqfpEBCBoaR4d7upFJk73HRJDw==",
+ "version": "24.10.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.11.tgz",
+ "integrity": "sha512-/Af7O8r1frCVgOz0I62jWUtMohJ0/ZQU/ZoketltOJPZpnb17yoNc9BSoVuV9qlaIXJiPNOpsfq4ByFajSArNQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "undici-types": "~6.21.0"
+ "undici-types": "~7.16.0"
}
},
"node_modules/@types/plist": {
@@ -1008,11 +887,14 @@
"license": "MIT"
},
"node_modules/abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz",
+ "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==",
"dev": true,
- "license": "ISC"
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
},
"node_modules/agent-base": {
"version": "7.1.4",
@@ -1024,39 +906,13 @@
"node": ">= 14"
}
},
- "node_modules/agentkeepalive": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz",
- "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "humanize-ms": "^1.2.1"
- },
- "engines": {
- "node": ">= 8.0.0"
- }
- },
- "node_modules/aggregate-error": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
- "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -1112,52 +968,132 @@
"license": "MIT"
},
"node_modules/app-builder-lib": {
- "version": "26.0.12",
- "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-26.0.12.tgz",
- "integrity": "sha512-+/CEPH1fVKf6HowBUs6LcAIoRcjeqgvAeoSE+cl7Y7LndyQ9ViGPYibNk7wmhMHzNgHIuIbw4nWADPO+4mjgWw==",
+ "version": "26.7.0",
+ "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-26.7.0.tgz",
+ "integrity": "sha512-/UgCD8VrO79Wv8aBNpjMfsS1pIUfIPURoRn0Ik6tMe5avdZF+vQgl/juJgipcMmH3YS0BD573lCdCHyoi84USg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@develar/schema-utils": "~2.6.5",
- "@electron/asar": "3.2.18",
+ "@electron/asar": "3.4.1",
"@electron/fuses": "^1.8.0",
+ "@electron/get": "^3.0.0",
"@electron/notarize": "2.5.0",
- "@electron/osx-sign": "1.3.1",
- "@electron/rebuild": "3.7.0",
- "@electron/universal": "2.0.1",
+ "@electron/osx-sign": "1.3.3",
+ "@electron/rebuild": "^4.0.3",
+ "@electron/universal": "2.0.3",
"@malept/flatpak-bundler": "^0.4.0",
"@types/fs-extra": "9.0.13",
"async-exit-hook": "^2.0.1",
- "builder-util": "26.0.11",
- "builder-util-runtime": "9.3.1",
+ "builder-util": "26.4.1",
+ "builder-util-runtime": "9.5.1",
"chromium-pickle-js": "^0.2.0",
- "config-file-ts": "0.2.8-rc1",
+ "ci-info": "4.3.1",
"debug": "^4.3.4",
"dotenv": "^16.4.5",
"dotenv-expand": "^11.0.6",
"ejs": "^3.1.8",
- "electron-publish": "26.0.11",
+ "electron-publish": "26.6.0",
"fs-extra": "^10.1.0",
"hosted-git-info": "^4.1.0",
- "is-ci": "^3.0.0",
"isbinaryfile": "^5.0.0",
+ "jiti": "^2.4.2",
"js-yaml": "^4.1.0",
"json5": "^2.2.3",
"lazy-val": "^1.0.5",
- "minimatch": "^10.0.0",
+ "minimatch": "^10.0.3",
"plist": "3.1.0",
+ "proper-lockfile": "^4.1.2",
"resedit": "^1.7.0",
- "semver": "^7.3.8",
- "tar": "^6.1.12",
+ "semver": "~7.7.3",
+ "tar": "^7.5.7",
"temp-file": "^3.4.0",
- "tiny-async-pool": "1.3.0"
+ "tiny-async-pool": "1.3.0",
+ "which": "^5.0.0"
},
"engines": {
"node": ">=14.0.0"
},
"peerDependencies": {
- "dmg-builder": "26.0.12",
- "electron-builder-squirrel-windows": "26.0.12"
+ "dmg-builder": "26.7.0",
+ "electron-builder-squirrel-windows": "26.7.0"
+ }
+ },
+ "node_modules/app-builder-lib/node_modules/@electron/get": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@electron/get/-/get-3.1.0.tgz",
+ "integrity": "sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.1.1",
+ "env-paths": "^2.2.0",
+ "fs-extra": "^8.1.0",
+ "got": "^11.8.5",
+ "progress": "^2.0.3",
+ "semver": "^6.2.0",
+ "sumchecker": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "optionalDependencies": {
+ "global-agent": "^3.0.0"
+ }
+ },
+ "node_modules/app-builder-lib/node_modules/@electron/get/node_modules/fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=6 <7 || >=8"
+ }
+ },
+ "node_modules/app-builder-lib/node_modules/@electron/get/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/app-builder-lib/node_modules/builder-util-runtime": {
+ "version": "9.5.1",
+ "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.5.1.tgz",
+ "integrity": "sha512-qt41tMfgHTllhResqM5DcnHyDIWNgzHvuY2jDcYP9iaGpkWxTUzV6GQjDeLnlR1/DtdlcsWQbA7sByMpmJFTLQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.4",
+ "sax": "^1.2.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/app-builder-lib/node_modules/ci-info": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz",
+ "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
}
},
"node_modules/app-builder-lib/node_modules/fs-extra": {
@@ -1175,7 +1111,7 @@
"node": ">=12"
}
},
- "node_modules/app-builder-lib/node_modules/jsonfile": {
+ "node_modules/app-builder-lib/node_modules/fs-extra/node_modules/jsonfile": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz",
"integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==",
@@ -1188,10 +1124,20 @@
"graceful-fs": "^4.1.6"
}
},
+ "node_modules/app-builder-lib/node_modules/fs-extra/node_modules/universalify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
"node_modules/app-builder-lib/node_modules/semver": {
- "version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "version": "7.7.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
+ "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
"dev": true,
"license": "ISC",
"bin": {
@@ -1201,16 +1147,6 @@
"node": ">=10"
}
},
- "node_modules/app-builder-lib/node_modules/universalify": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
- "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 10.0.0"
- }
- },
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -1376,23 +1312,22 @@
"license": "MIT"
},
"node_modules/builder-util": {
- "version": "26.0.11",
- "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-26.0.11.tgz",
- "integrity": "sha512-xNjXfsldUEe153h1DraD0XvDOpqGR0L5eKFkdReB7eFW5HqysDZFfly4rckda6y9dF39N3pkPlOblcfHKGw+uA==",
+ "version": "26.4.1",
+ "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-26.4.1.tgz",
+ "integrity": "sha512-FlgH43XZ50w3UtS1RVGDWOz8v9qMXPC7upMtKMtBEnYdt1OVoS61NYhKm/4x+cIaWqJTXua0+VVPI+fSPGXNIw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/debug": "^4.1.6",
"7zip-bin": "~5.2.0",
"app-builder-bin": "5.0.0-alpha.12",
- "builder-util-runtime": "9.3.1",
+ "builder-util-runtime": "9.5.1",
"chalk": "^4.1.2",
"cross-spawn": "^7.0.6",
"debug": "^4.3.4",
"fs-extra": "^10.1.0",
"http-proxy-agent": "^7.0.0",
"https-proxy-agent": "^7.0.0",
- "is-ci": "^3.0.0",
"js-yaml": "^4.1.0",
"sanitize-filename": "^1.6.3",
"source-map-support": "^0.5.19",
@@ -1414,6 +1349,20 @@
"node": ">=12.0.0"
}
},
+ "node_modules/builder-util/node_modules/builder-util-runtime": {
+ "version": "9.5.1",
+ "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.5.1.tgz",
+ "integrity": "sha512-qt41tMfgHTllhResqM5DcnHyDIWNgzHvuY2jDcYP9iaGpkWxTUzV6GQjDeLnlR1/DtdlcsWQbA7sByMpmJFTLQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.4",
+ "sax": "^1.2.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
"node_modules/builder-util/node_modules/fs-extra": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
@@ -1453,33 +1402,27 @@
}
},
"node_modules/cacache": {
- "version": "16.1.3",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz",
- "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==",
+ "version": "19.0.1",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz",
+ "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==",
"dev": true,
"license": "ISC",
"dependencies": {
- "@npmcli/fs": "^2.1.0",
- "@npmcli/move-file": "^2.0.0",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.1.0",
- "glob": "^8.0.1",
- "infer-owner": "^1.0.4",
- "lru-cache": "^7.7.1",
- "minipass": "^3.1.6",
- "minipass-collect": "^1.0.2",
+ "@npmcli/fs": "^4.0.0",
+ "fs-minipass": "^3.0.0",
+ "glob": "^10.2.2",
+ "lru-cache": "^10.0.1",
+ "minipass": "^7.0.3",
+ "minipass-collect": "^2.0.1",
"minipass-flush": "^1.0.5",
"minipass-pipeline": "^1.2.4",
- "mkdirp": "^1.0.4",
- "p-map": "^4.0.0",
- "promise-inflight": "^1.0.1",
- "rimraf": "^3.0.2",
- "ssri": "^9.0.0",
- "tar": "^6.1.11",
- "unique-filename": "^2.0.0"
+ "p-map": "^7.0.2",
+ "ssri": "^12.0.0",
+ "tar": "^7.4.3",
+ "unique-filename": "^4.0.0"
},
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "node": "^18.17.0 || >=20.5.0"
}
},
"node_modules/cacache/node_modules/brace-expansion": {
@@ -1493,47 +1436,48 @@
}
},
"node_modules/cacache/node_modules/glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
+ "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
"dev": true,
"license": "ISC",
"dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^1.11.1"
},
- "engines": {
- "node": ">=12"
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/cacache/node_modules/lru-cache": {
- "version": "7.18.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
- "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
"dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
+ "license": "ISC"
},
"node_modules/cacache/node_modules/minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": {
- "node": ">=10"
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/cacheable-lookup": {
@@ -1597,13 +1541,13 @@
}
},
"node_modules/chownr": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz",
+ "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==",
"dev": true,
- "license": "ISC",
+ "license": "BlueOak-1.0.0",
"engines": {
- "node": ">=10"
+ "node": ">=18"
}
},
"node_modules/chromium-pickle-js": {
@@ -1614,9 +1558,9 @@
"license": "MIT"
},
"node_modules/ci-info": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
- "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz",
+ "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==",
"dev": true,
"funding": [
{
@@ -1629,16 +1573,6 @@
"node": ">=8"
}
},
- "node_modules/clean-stack": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/cli-cursor": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
@@ -1781,74 +1715,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/config-file-ts": {
- "version": "0.2.8-rc1",
- "resolved": "https://registry.npmjs.org/config-file-ts/-/config-file-ts-0.2.8-rc1.tgz",
- "integrity": "sha512-GtNECbVI82bT4RiDIzBSVuTKoSHufnU7Ce7/42bkWZJZFLjmDF2WBpVsvRkhKCfKBnTBb3qZrBwPpFBU/Myvhg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "glob": "^10.3.12",
- "typescript": "^5.4.3"
- }
- },
- "node_modules/config-file-ts/node_modules/brace-expansion": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/config-file-ts/node_modules/glob": {
- "version": "10.4.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
- "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^3.1.2",
- "minimatch": "^9.0.4",
- "minipass": "^7.1.2",
- "package-json-from-dist": "^1.0.0",
- "path-scurry": "^1.11.1"
- },
- "bin": {
- "glob": "dist/esm/bin.mjs"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/config-file-ts/node_modules/minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/config-file-ts/node_modules/minipass": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
"node_modules/core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
@@ -1874,8 +1740,7 @@
"integrity": "sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true
+ "optional": true
},
"node_modules/cross-spawn": {
"version": "7.0.6",
@@ -1892,6 +1757,29 @@
"node": ">= 8"
}
},
+ "node_modules/cross-spawn/node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/cross-spawn/node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/debug": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
@@ -2010,9 +1898,9 @@
}
},
"node_modules/detect-libc": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz",
- "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
+ "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -2052,15 +1940,15 @@
}
},
"node_modules/dmg-builder": {
- "version": "26.0.12",
- "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-26.0.12.tgz",
- "integrity": "sha512-59CAAjAhTaIMCN8y9kD573vDkxbs1uhDcrFLHSgutYdPcGOU35Rf95725snvzEOy4BFB7+eLJ8djCNPmGwG67w==",
+ "version": "26.7.0",
+ "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-26.7.0.tgz",
+ "integrity": "sha512-uOOBA3f+kW3o4KpSoMQ6SNpdXU7WtxlJRb9vCZgOvqhTz4b3GjcoWKstdisizNZLsylhTMv8TLHFPFW0Uxsj/g==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
- "app-builder-lib": "26.0.12",
- "builder-util": "26.0.11",
- "builder-util-runtime": "9.3.1",
+ "app-builder-lib": "26.7.0",
+ "builder-util": "26.4.1",
"fs-extra": "^10.1.0",
"iconv-lite": "^0.6.2",
"js-yaml": "^4.1.0"
@@ -2202,15 +2090,15 @@
}
},
"node_modules/electron": {
- "version": "30.5.1",
- "resolved": "https://registry.npmjs.org/electron/-/electron-30.5.1.tgz",
- "integrity": "sha512-AhL7+mZ8Lg14iaNfoYTkXQ2qee8mmsQyllKdqxlpv/zrKgfxz6jNVtcRRbQtLxtF8yzcImWdfTQROpYiPumdbw==",
+ "version": "40.2.1",
+ "resolved": "https://registry.npmjs.org/electron/-/electron-40.2.1.tgz",
+ "integrity": "sha512-0zOeyN8LB1KHIjVV5jyMmQmkqx3J8OkkVlab3p7vOM28jI46blxW7M52Tcdi6X2m5o2jj8ejOlAh5+boL3w8aQ==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
"@electron/get": "^2.0.0",
- "@types/node": "^20.9.0",
+ "@types/node": "^24.9.0",
"extract-zip": "^2.0.1"
},
"bin": {
@@ -2221,19 +2109,19 @@
}
},
"node_modules/electron-builder": {
- "version": "26.0.12",
- "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-26.0.12.tgz",
- "integrity": "sha512-cD1kz5g2sgPTMFHjLxfMjUK5JABq3//J4jPswi93tOPFz6btzXYtK5NrDt717NRbukCUDOrrvmYVOWERlqoiXA==",
+ "version": "26.7.0",
+ "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-26.7.0.tgz",
+ "integrity": "sha512-LoXbCvSFxLesPneQ/fM7FB4OheIDA2tjqCdUkKlObV5ZKGhYgi5VHPHO/6UUOUodAlg7SrkPx7BZJPby+Vrtbg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "app-builder-lib": "26.0.12",
- "builder-util": "26.0.11",
- "builder-util-runtime": "9.3.1",
+ "app-builder-lib": "26.7.0",
+ "builder-util": "26.4.1",
+ "builder-util-runtime": "9.5.1",
"chalk": "^4.1.2",
- "dmg-builder": "26.0.12",
+ "ci-info": "^4.2.0",
+ "dmg-builder": "26.7.0",
"fs-extra": "^10.1.0",
- "is-ci": "^3.0.0",
"lazy-val": "^1.0.5",
"simple-update-notifier": "2.0.0",
"yargs": "^17.6.2"
@@ -2247,18 +2135,32 @@
}
},
"node_modules/electron-builder-squirrel-windows": {
- "version": "26.0.12",
- "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.0.12.tgz",
- "integrity": "sha512-kpwXM7c/ayRUbYVErQbsZ0nQZX4aLHQrPEG9C4h9vuJCXylwFH8a7Jgi2VpKIObzCXO7LKHiCw4KdioFLFOgqA==",
+ "version": "26.7.0",
+ "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.7.0.tgz",
+ "integrity": "sha512-3EqkQK+q0kGshdPSKEPb2p5F75TENMKu6Fe5aTdeaPfdzFK4Yjp5L0d6S7K8iyvqIsGQ/ei4bnpyX9wt+kVCKQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "app-builder-lib": "26.0.12",
- "builder-util": "26.0.11",
+ "app-builder-lib": "26.7.0",
+ "builder-util": "26.4.1",
"electron-winstaller": "5.4.0"
}
},
+ "node_modules/electron-builder/node_modules/builder-util-runtime": {
+ "version": "9.5.1",
+ "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.5.1.tgz",
+ "integrity": "sha512-qt41tMfgHTllhResqM5DcnHyDIWNgzHvuY2jDcYP9iaGpkWxTUzV6GQjDeLnlR1/DtdlcsWQbA7sByMpmJFTLQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.4",
+ "sax": "^1.2.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
"node_modules/electron-builder/node_modules/fs-extra": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
@@ -2298,22 +2200,36 @@
}
},
"node_modules/electron-publish": {
- "version": "26.0.11",
- "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-26.0.11.tgz",
- "integrity": "sha512-a8QRH0rAPIWH9WyyS5LbNvW9Ark6qe63/LqDB7vu2JXYpi0Gma5Q60Dh4tmTqhOBQt0xsrzD8qE7C+D7j+B24A==",
+ "version": "26.6.0",
+ "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-26.6.0.tgz",
+ "integrity": "sha512-LsyHMMqbvJ2vsOvuWJ19OezgF2ANdCiHpIucDHNiLhuI+/F3eW98ouzWSRmXXi82ZOPZXC07jnIravY4YYwCLQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/fs-extra": "^9.0.11",
- "builder-util": "26.0.11",
- "builder-util-runtime": "9.3.1",
+ "builder-util": "26.4.1",
+ "builder-util-runtime": "9.5.1",
"chalk": "^4.1.2",
- "form-data": "^4.0.0",
+ "form-data": "^4.0.5",
"fs-extra": "^10.1.0",
"lazy-val": "^1.0.5",
"mime": "^2.5.2"
}
},
+ "node_modules/electron-publish/node_modules/builder-util-runtime": {
+ "version": "9.5.1",
+ "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.5.1.tgz",
+ "integrity": "sha512-qt41tMfgHTllhResqM5DcnHyDIWNgzHvuY2jDcYP9iaGpkWxTUzV6GQjDeLnlR1/DtdlcsWQbA7sByMpmJFTLQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.4",
+ "sax": "^1.2.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
"node_modules/electron-publish/node_modules/fs-extra": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
@@ -2422,7 +2338,6 @@
"dev": true,
"hasInstallScript": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@electron/asar": "^3.2.1",
"debug": "^4.1.1",
@@ -2443,7 +2358,6 @@
"integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"graceful-fs": "^4.1.2",
"jsonfile": "^4.0.0",
@@ -2453,16 +2367,6 @@
"node": ">=6 <7 || >=8"
}
},
- "node_modules/electron/node_modules/@types/node": {
- "version": "20.19.13",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.13.tgz",
- "integrity": "sha512-yCAeZl7a0DxgNVteXFHt9+uyFbqXGy/ShC4BlcHkoE0AfGXYv/BUiplV72DjMYXHDBXFjhvr6DD1NiRVfB4j8g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "undici-types": "~6.21.0"
- }
- },
"node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -2590,9 +2494,9 @@
}
},
"node_modules/exponential-backoff": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz",
- "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz",
+ "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==",
"dev": true,
"license": "Apache-2.0"
},
@@ -2652,6 +2556,24 @@
"pend": "~1.2.0"
}
},
+ "node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
"node_modules/filelist": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
@@ -2716,9 +2638,9 @@
}
},
"node_modules/form-data": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz",
- "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
+ "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2748,16 +2670,16 @@
}
},
"node_modules/fs-minipass": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz",
+ "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==",
"dev": true,
"license": "ISC",
"dependencies": {
- "minipass": "^3.0.0"
+ "minipass": "^7.0.3"
},
"engines": {
- "node": ">= 8"
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
"node_modules/fs.realpath": {
@@ -2846,7 +2768,7 @@
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -3101,16 +3023,6 @@
"node": ">= 14"
}
},
- "node_modules/humanize-ms": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
- "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.0.0"
- }
- },
"node_modules/iconv-corefoundation": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz",
@@ -3173,23 +3085,6 @@
"node": ">=0.8.19"
}
},
- "node_modules/indent-string": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/infer-owner": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
- "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
- "dev": true,
- "license": "ISC"
- },
"node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -3210,28 +3105,15 @@
"license": "ISC"
},
"node_modules/ip-address": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz",
- "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==",
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz",
+ "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 12"
}
},
- "node_modules/is-ci": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
- "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ci-info": "^3.2.0"
- },
- "bin": {
- "is-ci": "bin.js"
- }
- },
"node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
@@ -3252,13 +3134,6 @@
"node": ">=8"
}
},
- "node_modules/is-lambda": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
- "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/is-unicode-supported": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
@@ -3273,9 +3148,9 @@
}
},
"node_modules/isbinaryfile": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.6.tgz",
- "integrity": "sha512-I+NmIfBHUl+r2wcDd6JwE9yWje/PIVY/R5/CmV8dXLZd5K+L9X2klAOwfAHNnondLXkbHyTAleQAWonpTJBTtw==",
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.7.tgz",
+ "integrity": "sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -3286,11 +3161,14 @@
}
},
"node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.2.tgz",
+ "integrity": "sha512-mIcis6w+JiQf3P7t7mg/35GKB4T1FQsBOtMIvuKw4YErj5RjtbhcTd5/I30fmkmGMwvI0WlzSNN+27K0QCMkAw==",
"dev": true,
- "license": "ISC"
+ "license": "BlueOak-1.0.0",
+ "engines": {
+ "node": ">=20"
+ }
},
"node_modules/jackspeak": {
"version": "3.4.3",
@@ -3326,10 +3204,20 @@
"node": ">=10"
}
},
+ "node_modules/jiti": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz",
+ "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jiti": "lib/jiti-cli.mjs"
+ }
+ },
"node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+ "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
@@ -3400,9 +3288,9 @@
"license": "MIT"
},
"node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "version": "4.17.23",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
+ "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
"dev": true,
"license": "MIT"
},
@@ -3460,83 +3348,26 @@
}
},
"node_modules/make-fetch-happen": {
- "version": "10.2.1",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz",
- "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==",
+ "version": "14.0.3",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz",
+ "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==",
"dev": true,
"license": "ISC",
"dependencies": {
- "agentkeepalive": "^4.2.1",
- "cacache": "^16.1.0",
- "http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^5.0.0",
- "https-proxy-agent": "^5.0.0",
- "is-lambda": "^1.0.1",
- "lru-cache": "^7.7.1",
- "minipass": "^3.1.6",
- "minipass-collect": "^1.0.2",
- "minipass-fetch": "^2.0.3",
+ "@npmcli/agent": "^3.0.0",
+ "cacache": "^19.0.1",
+ "http-cache-semantics": "^4.1.1",
+ "minipass": "^7.0.2",
+ "minipass-fetch": "^4.0.0",
"minipass-flush": "^1.0.5",
"minipass-pipeline": "^1.2.4",
- "negotiator": "^0.6.3",
+ "negotiator": "^1.0.0",
+ "proc-log": "^5.0.0",
"promise-retry": "^2.0.1",
- "socks-proxy-agent": "^7.0.0",
- "ssri": "^9.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/make-fetch-happen/node_modules/agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/make-fetch-happen/node_modules/http-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@tootallnate/once": "2",
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/make-fetch-happen/node_modules/https-proxy-agent": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "6",
- "debug": "4"
+ "ssri": "^12.0.0"
},
"engines": {
- "node": ">= 6"
- }
- },
- "node_modules/make-fetch-happen/node_modules/lru-cache": {
- "version": "7.18.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
- "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
+ "node": "^18.17.0 || >=20.5.0"
}
},
"node_modules/matcher": {
@@ -3620,13 +3451,13 @@
}
},
"node_modules/minimatch": {
- "version": "10.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz",
- "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==",
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.2.tgz",
+ "integrity": "sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw==",
"dev": true,
- "license": "ISC",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "@isaacs/brace-expansion": "^5.0.0"
+ "@isaacs/brace-expansion": "^5.0.1"
},
"engines": {
"node": "20 || >=22"
@@ -3646,44 +3477,41 @@
}
},
"node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
"dev": true,
"license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
"engines": {
- "node": ">=8"
+ "node": ">=16 || 14 >=14.17"
}
},
"node_modules/minipass-collect": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
- "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz",
+ "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==",
"dev": true,
"license": "ISC",
"dependencies": {
- "minipass": "^3.0.0"
+ "minipass": "^7.0.3"
},
"engines": {
- "node": ">= 8"
+ "node": ">=16 || 14 >=14.17"
}
},
"node_modules/minipass-fetch": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz",
- "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz",
+ "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "minipass": "^3.1.6",
+ "minipass": "^7.0.3",
"minipass-sized": "^1.0.3",
- "minizlib": "^2.1.2"
+ "minizlib": "^3.0.1"
},
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "node": "^18.17.0 || >=20.5.0"
},
"optionalDependencies": {
"encoding": "^0.1.13"
@@ -3702,6 +3530,19 @@
"node": ">= 8"
}
},
+ "node_modules/minipass-flush/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/minipass-pipeline": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
@@ -3715,6 +3556,19 @@
"node": ">=8"
}
},
+ "node_modules/minipass-pipeline/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/minipass-sized": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
@@ -3728,31 +3582,43 @@
"node": ">=8"
}
},
+ "node_modules/minipass-sized/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/minizlib": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
- "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz",
+ "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
+ "minipass": "^7.1.2"
},
"engines": {
- "node": ">= 8"
+ "node": ">= 18"
}
},
"node_modules/mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.6"
+ },
"bin": {
"mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
}
},
"node_modules/ms": {
@@ -3762,9 +3628,9 @@
"license": "MIT"
},
"node_modules/negotiator": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz",
- "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz",
+ "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -3772,22 +3638,22 @@
}
},
"node_modules/node-abi": {
- "version": "3.77.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.77.0.tgz",
- "integrity": "sha512-DSmt0OEcLoK4i3NuscSbGjOf3bqiDEutejqENSplMSFA/gmB8mkED9G4pKWnPl7MDU4rSHebKPHeitpDfyH0cQ==",
+ "version": "4.26.0",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-4.26.0.tgz",
+ "integrity": "sha512-8QwIZqikRvDIkXS2S93LjzhsSPJuIbfaMETWH+Bx8oOT9Sa9UsUtBFQlc3gBNd1+QINjaTloitXr1W3dQLi9Iw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "semver": "^7.3.5"
+ "semver": "^7.6.3"
},
"engines": {
- "node": ">=10"
+ "node": ">=22.12.0"
}
},
"node_modules/node-abi/node_modules/semver": {
- "version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "version": "7.7.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
+ "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
"dev": true,
"license": "ISC",
"bin": {
@@ -3816,9 +3682,47 @@
}
},
"node_modules/node-api-version/node_modules/semver": {
- "version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "version": "7.7.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
+ "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/node-gyp": {
+ "version": "11.5.0",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.5.0.tgz",
+ "integrity": "sha512-ra7Kvlhxn5V9Slyus0ygMa2h+UqExPqUIkfk7Pc8QTLT956JLSy51uWFwHtIYy0vI8cB4BDhc/S03+880My/LQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "env-paths": "^2.2.0",
+ "exponential-backoff": "^3.1.1",
+ "graceful-fs": "^4.2.6",
+ "make-fetch-happen": "^14.0.3",
+ "nopt": "^8.0.0",
+ "proc-log": "^5.0.0",
+ "semver": "^7.3.5",
+ "tar": "^7.4.3",
+ "tinyglobby": "^0.2.12",
+ "which": "^5.0.0"
+ },
+ "bin": {
+ "node-gyp": "bin/node-gyp.js"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/node-gyp/node_modules/semver": {
+ "version": "7.7.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
+ "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
"dev": true,
"license": "ISC",
"bin": {
@@ -3829,19 +3733,19 @@
}
},
"node_modules/nopt": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz",
- "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz",
+ "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==",
"dev": true,
"license": "ISC",
"dependencies": {
- "abbrev": "^1.0.0"
+ "abbrev": "^3.0.0"
},
"bin": {
"nopt": "bin/nopt.js"
},
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "node": "^18.17.0 || >=20.5.0"
}
},
"node_modules/normalize-url": {
@@ -3945,16 +3849,13 @@
}
},
"node_modules/p-map": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
- "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz",
+ "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "aggregate-error": "^3.0.0"
- },
"engines": {
- "node": ">=10"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -4011,16 +3912,6 @@
"dev": true,
"license": "ISC"
},
- "node_modules/path-scurry/node_modules/minipass": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
"node_modules/pe-library": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/pe-library/-/pe-library-0.4.1.tgz",
@@ -4050,6 +3941,20 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
"node_modules/plist": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz",
@@ -4072,7 +3977,6 @@
"dev": true,
"license": "MIT",
"optional": true,
- "peer": true,
"dependencies": {
"commander": "^9.4.0"
},
@@ -4090,19 +3994,18 @@
"dev": true,
"license": "MIT",
"optional": true,
- "peer": true,
"engines": {
"node": "^12.20.0 || >=14"
}
},
"node_modules/proc-log": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz",
- "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz",
+ "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==",
"dev": true,
"license": "ISC",
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "node": "^18.17.0 || >=20.5.0"
}
},
"node_modules/progress": {
@@ -4115,13 +4018,6 @@
"node": ">=0.4.0"
}
},
- "node_modules/promise-inflight": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
- "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
- "dev": true,
- "license": "ISC"
- },
"node_modules/promise-retry": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
@@ -4136,6 +4032,18 @@
"node": ">=10"
}
},
+ "node_modules/proper-lockfile": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz",
+ "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.4",
+ "retry": "^0.12.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
"node_modules/pump": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz",
@@ -4271,9 +4179,9 @@
}
},
"node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
"deprecated": "Rimraf versions prior to v4 are no longer supported",
"dev": true,
"license": "ISC",
@@ -4282,9 +4190,6 @@
},
"bin": {
"rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/roarr": {
@@ -4484,31 +4389,18 @@
}
},
"node_modules/socks-proxy-agent": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
- "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "^6.0.2",
- "debug": "^4.3.3",
- "socks": "^2.6.2"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/socks-proxy-agent/node_modules/agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "version": "8.0.5",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz",
+ "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "debug": "4"
+ "agent-base": "^7.1.2",
+ "debug": "^4.3.4",
+ "socks": "^2.8.3"
},
"engines": {
- "node": ">= 6.0.0"
+ "node": ">= 14"
}
},
"node_modules/source-map": {
@@ -4541,16 +4433,16 @@
"optional": true
},
"node_modules/ssri": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz",
- "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==",
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz",
+ "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==",
"dev": true,
"license": "ISC",
"dependencies": {
- "minipass": "^3.1.1"
+ "minipass": "^7.0.3"
},
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "node": "^18.17.0 || >=20.5.0"
}
},
"node_modules/stat-mode": {
@@ -4658,9 +4550,9 @@
}
},
"node_modules/systeminformation": {
- "version": "5.27.8",
- "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.27.8.tgz",
- "integrity": "sha512-d3Z0gaQO1MlUxzDUKsmXz5y4TOBCMZ8IyijzaYOykV3AcNOTQ7mT+tpndUOXYNSxzLK3la8G32xiUFvZ0/s6PA==",
+ "version": "5.30.7",
+ "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.30.7.tgz",
+ "integrity": "sha512-33B/cftpaWdpvH+Ho9U1b08ss8GQuLxrWHelbJT1yw4M48Taj8W3ezcPuaLoIHZz5V6tVHuQPr5BprEfnBLBMw==",
"license": "MIT",
"os": [
"darwin",
@@ -4684,31 +4576,30 @@
}
},
"node_modules/tar": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
- "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
+ "version": "7.5.7",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz",
+ "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==",
"dev": true,
- "license": "ISC",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^5.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
+ "@isaacs/fs-minipass": "^4.0.0",
+ "chownr": "^3.0.0",
+ "minipass": "^7.1.2",
+ "minizlib": "^3.1.0",
+ "yallist": "^5.0.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=18"
}
},
- "node_modules/tar/node_modules/minipass": {
+ "node_modules/tar/node_modules/yallist": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
- "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz",
+ "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==",
"dev": true,
- "license": "ISC",
+ "license": "BlueOak-1.0.0",
"engines": {
- "node": ">=8"
+ "node": ">=18"
}
},
"node_modules/temp": {
@@ -4717,7 +4608,6 @@
"integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"mkdirp": "^0.5.1",
"rimraf": "~2.6.2"
@@ -4775,35 +4665,6 @@
"node": ">= 10.0.0"
}
},
- "node_modules/temp/node_modules/mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "minimist": "^1.2.6"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
- "node_modules/temp/node_modules/rimraf": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
- "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "dev": true,
- "license": "ISC",
- "peer": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
"node_modules/tiny-async-pool": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/tiny-async-pool/-/tiny-async-pool-1.3.0.tgz",
@@ -4830,6 +4691,23 @@
"integrity": "sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==",
"license": "MIT"
},
+ "node_modules/tinyglobby": {
+ "version": "0.2.15",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
+ "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
"node_modules/tmp": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz",
@@ -4889,36 +4767,36 @@
}
},
"node_modules/undici-types": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
- "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
+ "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
"dev": true,
"license": "MIT"
},
"node_modules/unique-filename": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz",
- "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz",
+ "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==",
"dev": true,
"license": "ISC",
"dependencies": {
- "unique-slug": "^3.0.0"
+ "unique-slug": "^5.0.0"
},
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "node": "^18.17.0 || >=20.5.0"
}
},
"node_modules/unique-slug": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz",
- "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz",
+ "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==",
"dev": true,
"license": "ISC",
"dependencies": {
"imurmurhash": "^0.1.4"
},
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "node": "^18.17.0 || >=20.5.0"
}
},
"node_modules/universalify": {
@@ -4982,19 +4860,19 @@
}
},
"node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz",
+ "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==",
"dev": true,
"license": "ISC",
"dependencies": {
- "isexe": "^2.0.0"
+ "isexe": "^3.1.1"
},
"bin": {
- "node-which": "bin/node-which"
+ "node-which": "bin/which.js"
},
"engines": {
- "node": ">= 8"
+ "node": "^18.17.0 || >=20.5.0"
}
},
"node_modules/wrap-ansi": {
diff --git a/package.json b/package.json
index 6bb94b8..ce686df 100644
--- a/package.json
+++ b/package.json
@@ -31,7 +31,7 @@
"license": "GPL-3.0",
"description": "Download videos and audios from YouTube and many other sites",
"devDependencies": {
- "electron": "^30.0.0",
+ "electron": "^40.2.1",
"electron-builder": "^26.0.12",
"typescript": "^5.3.3"
},
diff --git a/src/compressor.js b/src/compressor.js
index a61f048..7e8f969 100644
--- a/src/compressor.js
+++ b/src/compressor.js
@@ -1,6 +1,6 @@
const {exec, execSync} = require("child_process");
const path = require("path");
-const {ipcRenderer, shell} = require("electron");
+const {ipcRenderer, webUtils} = require("electron");
const os = require("os");
const si = require("systeminformation");
const {existsSync} = require("fs");
@@ -205,7 +205,8 @@ function cancelCompression() {
function generateOutputPath(file, settings) {
console.log({settings});
const output_extension = settings.extension;
- const parsed_file = path.parse(file.path);
+ const filePath = webUtils.getPathForFile(file);
+ const parsed_file = path.parse(filePath);
let outputDir = settings.outputPath || parsed_file.dir;
@@ -249,8 +250,9 @@ async function compressVideo(file, settings, itemId, outputPath) {
bitrate: "",
};
+ const filePath = webUtils.getPathForFile(file);
createProgressItem(
- path.basename(file.path),
+ path.basename(filePath),
"progress",
`Starting...`,
itemId
@@ -297,7 +299,7 @@ async function compressVideo(file, settings, itemId, outputPath) {
* @param {string} outputPath
*/
function buildFFmpegCommand(file, settings, outputPath) {
- const inputPath = file.path;
+ const inputPath = webUtils.getPathForFile(file);
console.log("Output path: " + outputPath);
diff --git a/src/renderer.js b/src/renderer.js
index 5c9a404..7503872 100644
--- a/src/renderer.js
+++ b/src/renderer.js
@@ -18,6 +18,11 @@ const CONSTANTS = {
SELECT_LOCATION_BTN: "selectLocation",
DOWNLOAD_LIST: "list",
CLEAR_BTN: "clearBtn",
+ // Search
+ SEARCH_NAME_INPUT: "searchName",
+ SEARCH_BTN: "searchBtn",
+ INPUT_SEARCH_CONTAINER: "inputSearchContainer",
+ SEARCH_RESULTS_CONTAINER: "searchResults",
// Hidden Info Panel
HIDDEN_PANEL: "hidden",
CLOSE_HIDDEN_BTN: "closeHidden",
@@ -606,6 +611,19 @@ class YtDownloaderApp {
$(CONSTANTS.DOM_IDS.PASTE_URL_BTN).addEventListener("click", () =>
this.pasteAndGetInfo()
);
+
+ // Search button
+ $(CONSTANTS.DOM_IDS.SEARCH_BTN).addEventListener("click", () =>
+ this.searchVideos()
+ );
+
+ // Search on Enter key
+ $(CONSTANTS.DOM_IDS.SEARCH_NAME_INPUT).addEventListener("keydown", (event) => {
+ if (event.key === "Enter") {
+ this.searchVideos();
+ }
+ });
+
document.addEventListener("keydown", (event) => {
if (
((event.ctrlKey && event.key === "v") ||
@@ -789,6 +807,321 @@ class YtDownloaderApp {
}
}
+ /**
+ * Initiates a video search based on user input.
+ */
+ async searchVideos() {
+ const query = $(CONSTANTS.DOM_IDS.SEARCH_NAME_INPUT).value.trim();
+
+ if (!query) {
+ this._showPopup(i18n.__("enterSearchTerm"), true);
+ return;
+ }
+
+ this._resetUIForNewLink();
+ $(CONSTANTS.DOM_IDS.LOADING_WRAPPER).style.display = "flex";
+
+ try {
+ const results = await this._fetchSearchResults(query);
+ this._displaySearchResults(results);
+ } catch (error) {
+ this._showError(error.message, query);
+ } finally {
+ $(CONSTANTS.DOM_IDS.LOADING_WRAPPER).style.display = "none";
+ }
+ }
+
+ /**
+ * Executes yt-dlp to search for videos.
+ * @param {string} query The search query.
+ * @returns {Promise} A promise that resolves with an array of search results.
+ */
+ _fetchSearchResults(query) {
+ return new Promise((resolve, reject) => {
+ const {proxy, browserForCookies, configPath} = this.state.preferences;
+ const searchQuery = `ytsearch10:${query}`;
+
+ const args = [
+ "-j",
+ "--flat-playlist",
+ "--no-warnings",
+ proxy ? "--proxy" : "",
+ proxy,
+ browserForCookies ? "--cookies-from-browser" : "",
+ browserForCookies,
+ this.state.jsRuntimePath
+ ? `--no-js-runtimes --js-runtime ${this.state.jsRuntimePath}`
+ : "",
+ configPath ? "--config-location" : "",
+ configPath ? `"${configPath}"` : "",
+ `"${searchQuery}"`,
+ ].filter(Boolean);
+
+ const process = this.state.ytDlp.exec(args, {shell: true});
+
+ console.log(
+ "Spawned yt-dlp search with args:",
+ process.ytDlpProcess.spawnargs.join(" ")
+ );
+
+ let stdout = "";
+ let stderr = "";
+
+ process.ytDlpProcess.stdout.on("data", (data) => {
+ stdout += data;
+ });
+ process.ytDlpProcess.stderr.on("data", (data) => (stderr += data));
+
+ process.on("close", () => {
+ if (stdout) {
+ try {
+ // Parse multiple JSON objects separated by newlines
+ const results = stdout
+ .trim()
+ .split("\n")
+ .map((line) => JSON.parse(line));
+ resolve(results);
+ } catch (e) {
+ reject(
+ new Error(
+ "Failed to parse search results: " +
+ (stderr || e.message)
+ )
+ );
+ }
+ } else {
+ reject(
+ new Error(
+ stderr || "yt-dlp search exited with no results."
+ )
+ );
+ }
+ });
+
+ process.on("error", (err) => reject(err));
+ });
+ }
+
+ /**
+ * Displays search results in the UI.
+ * @param {Array} results Array of video search results.
+ */
+ _displaySearchResults(results) {
+ if (!results || results.length === 0) {
+ this._showPopup(i18n.__("noResultsFound"), true);
+ return;
+ }
+
+ // Hide the search container and download list
+ $(CONSTANTS.DOM_IDS.INPUT_SEARCH_CONTAINER).style.display = "none";
+ $(CONSTANTS.DOM_IDS.DOWNLOAD_LIST).style.display = "none";
+
+ // Show and clear the search results container
+ const searchResultsContainer = $(CONSTANTS.DOM_IDS.SEARCH_RESULTS_CONTAINER);
+ searchResultsContainer.innerHTML = "";
+ searchResultsContainer.style.display = "block";
+
+ // Create results header with DOM
+ const resultsHeader = this._createSearchResultsHeader();
+ searchResultsContainer.appendChild(resultsHeader);
+
+ // Add click event to back button
+ document.getElementById("backToSearch").addEventListener("click", () => {
+ // Clear and hide search results
+ searchResultsContainer.innerHTML = "";
+ searchResultsContainer.style.display = "none";
+ // Show search input and download list
+ $(CONSTANTS.DOM_IDS.INPUT_SEARCH_CONTAINER).style.display = "block";
+ $(CONSTANTS.DOM_IDS.DOWNLOAD_LIST).style.display = "block";
+ $(CONSTANTS.DOM_IDS.SEARCH_NAME_INPUT).value = "";
+ });
+
+ // Display each result
+ results.forEach((video) => {
+ const resultItem = this._createSearchResultItem(video);
+ searchResultsContainer.appendChild(resultItem);
+ });
+
+ this._showPopup(`${results.length} ${i18n.__("resultsFound")}`, false);
+ }
+
+ /**
+ * Creates the search results header element using DOM manipulation.
+ * @returns {HTMLElement} The header element with title and back button.
+ */
+ _createSearchResultsHeader() {
+ const header = document.createElement("div");
+ header.style.margin = "20px auto";
+ header.style.textAlign = "center";
+
+ const title = document.createElement("h2");
+ title.style.display = "inline-block";
+ title.style.marginRight = "20px";
+ title.textContent = i18n.__("searchResults");
+
+ const backButton = document.createElement("button");
+ backButton.id = "backToSearch";
+ backButton.className = "blueBtn";
+ backButton.textContent = i18n.__("backToSearch");
+
+ header.appendChild(title);
+ header.appendChild(backButton);
+
+ return header;
+ }
+
+ /**
+ * Validates and sanitizes a URL for safe use in img src.
+ * @param {string} url The URL to validate.
+ * @returns {string|null} The validated URL or null if invalid.
+ */
+ _validateImageUrl(url) {
+ if (!url || typeof url !== "string") return null;
+
+ try {
+ const parsed = new URL(url);
+ // Only allow http and https protocols
+ if (parsed.protocol === "http:" || parsed.protocol === "https:") {
+ return url;
+ }
+ } catch (e) {
+ // Invalid URL
+ }
+ return null;
+ }
+
+ /**
+ * Creates a single search result item using DOM manipulation.
+ * @param {Object} video The video data object.
+ * @returns {HTMLElement} The result item element.
+ */
+ _createSearchResultItem(video) {
+ const resultItem = document.createElement("div");
+ resultItem.className = "item";
+ resultItem.style.cursor = "pointer";
+ resultItem.style.transition = "transform 0.2s, box-shadow 0.2s";
+
+ // Create main container
+ const container = document.createElement("div");
+ container.style.display = "flex";
+ container.style.alignItems = "center";
+ container.style.width = "100%";
+
+ // Create thumbnail if available and valid
+ const thumbnail = video.thumbnails && video.thumbnails.length > 0
+ ? video.thumbnails[0].url
+ : video.thumbnail || "";
+
+ const validatedThumbnail = this._validateImageUrl(thumbnail);
+ if (validatedThumbnail) {
+ const thumbnailImg = document.createElement("img");
+ thumbnailImg.src = validatedThumbnail;
+ thumbnailImg.className = "itemIcon";
+ thumbnailImg.alt = "thumbnail";
+ container.appendChild(thumbnailImg);
+ }
+
+ // Create content section
+ const contentDiv = document.createElement("div");
+ contentDiv.style.flex = "1";
+ contentDiv.style.textAlign = "left";
+ contentDiv.style.padding = "0 15px";
+
+ // Title
+ const titleDiv = document.createElement("div");
+ titleDiv.style.fontWeight = "bold";
+ titleDiv.style.fontSize = "16px";
+ titleDiv.style.marginBottom = "5px";
+ titleDiv.textContent = video.title || i18n.__("noTitle");
+ contentDiv.appendChild(titleDiv);
+
+ // Uploader
+ if (video.uploader) {
+ const uploaderDiv = document.createElement("div");
+ uploaderDiv.style.fontSize = "14px";
+ uploaderDiv.style.opacity = "0.8";
+ uploaderDiv.textContent = video.uploader;
+ contentDiv.appendChild(uploaderDiv);
+ }
+
+ // Duration
+ const durationDiv = document.createElement("div");
+ durationDiv.style.fontSize = "12px";
+ durationDiv.style.opacity = "0.7";
+ durationDiv.style.marginTop = "3px";
+ const duration = video.duration
+ ? this._formatDuration(video.duration)
+ : i18n.__("live");
+ durationDiv.textContent = `${i18n.__("duration")}: ${duration}`;
+ contentDiv.appendChild(durationDiv);
+
+ container.appendChild(contentDiv);
+
+ // Create arrow icon
+ const iconDiv = document.createElement("div");
+ iconDiv.style.padding = "10px";
+
+ const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
+ svg.setAttribute("width", "24");
+ svg.setAttribute("height", "24");
+ svg.setAttribute("viewBox", "0 0 24 24");
+ svg.setAttribute("fill", "currentColor");
+
+ const path = document.createElementNS("http://www.w3.org/2000/svg", "path");
+ path.setAttribute("d", "M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z");
+
+ svg.appendChild(path);
+ iconDiv.appendChild(svg);
+ container.appendChild(iconDiv);
+
+ resultItem.appendChild(container);
+
+ // Add hover effects
+ resultItem.addEventListener("mouseenter", () => {
+ resultItem.style.transform = "scale(1.02)";
+ resultItem.style.boxShadow = "0 4px 12px rgba(0,0,0,0.15)";
+ });
+
+ resultItem.addEventListener("mouseleave", () => {
+ resultItem.style.transform = "scale(1)";
+ resultItem.style.boxShadow = "none";
+ });
+
+ // Add click handler
+ resultItem.addEventListener("click", () => {
+ // Hide and clear search results
+ const searchResultsContainer = $(CONSTANTS.DOM_IDS.SEARCH_RESULTS_CONTAINER);
+ searchResultsContainer.innerHTML = "";
+ searchResultsContainer.style.display = "none";
+ // Show search input and download list
+ $(CONSTANTS.DOM_IDS.INPUT_SEARCH_CONTAINER).style.display = "block";
+ $(CONSTANTS.DOM_IDS.DOWNLOAD_LIST).style.display = "block";
+
+ const videoUrl = video.url || `https://www.youtube.com/watch?v=${video.id}`;
+ this.getInfo(videoUrl);
+ });
+
+ return resultItem;
+ }
+
+ /**
+ * Formats duration in seconds to HH:MM:SS or MM:SS format.
+ * @param {number} seconds Duration in seconds.
+ * @returns {string} Formatted duration string.
+ */
+ _formatDuration(seconds) {
+ if (!seconds || seconds <= 0) return "0:00";
+
+ const hours = Math.floor(seconds / 3600);
+ const minutes = Math.floor((seconds % 3600) / 60);
+ const secs = Math.floor(seconds % 60);
+
+ if (hours > 0) {
+ return `${hours}:${minutes.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;
+ }
+ return `${minutes}:${secs.toString().padStart(2, '0')}`;
+ }
+
/**
* Handles a download request, either starting it immediately or queuing it.
* @param {'video' | 'audio' | 'extract'} type The type of download.
diff --git a/translations/ar-SA.json b/translations/ar-SA.json
index f41cc09..04f7c23 100644
--- a/translations/ar-SA.json
+++ b/translations/ar-SA.json
@@ -161,5 +161,15 @@
"learnMore": "Learn more",
"updateError": "An error occurred during the update process",
"unableToAccessDir": "The program cannot access that folder",
- "downloadingUpdate": "Downloading update"
+ "downloadingUpdate": "Downloading update",
+ "searchInfo": "بحث",
+ "searchPlaceholder": "البحث عن مقاطع الفيديو...",
+ "searchNameToolTip": "البحث بالاسم",
+ "searchResults": "نتائج البحث",
+ "backToSearch": "العودة إلى البحث",
+ "noResultsFound": "لم يتم العثور على نتائج",
+ "resultsFound": "نتائج تم العثور عليها",
+ "enterSearchTerm": "الرجاء إدخال مصطلح بحث",
+ "live": "مباشر",
+ "noTitle": "لا يوجد عنوان"
}
diff --git a/translations/bn-BD.json b/translations/bn-BD.json
index d554a6f..40677a7 100644
--- a/translations/bn-BD.json
+++ b/translations/bn-BD.json
@@ -161,5 +161,15 @@
"learnMore": "Learn more",
"updateError": "An error occurred during the update process",
"unableToAccessDir": "The program cannot access that folder",
- "downloadingUpdate": "Downloading update"
+ "downloadingUpdate": "Downloading update",
+ "searchInfo": "অনুসন্ধান",
+ "searchPlaceholder": "ভিডিও অনুসন্ধান করুন...",
+ "searchNameToolTip": "নাম দিয়ে অনুসন্ধান করুন",
+ "searchResults": "অনুসন্ধান ফলাফল",
+ "backToSearch": "অনুসন্ধানে ফিরে যান",
+ "noResultsFound": "কোন ফলাফল পাওয়া যায়নি",
+ "resultsFound": "ফলাফল পাওয়া গেছে",
+ "enterSearchTerm": "অনুগ্রহ করে একটি অনুসন্ধান শব্দ লিখুন",
+ "live": "লাইভ",
+ "noTitle": "কোন শিরোনাম নেই"
}
diff --git a/translations/de-DE.json b/translations/de-DE.json
index 73fc711..9370aa5 100644
--- a/translations/de-DE.json
+++ b/translations/de-DE.json
@@ -161,5 +161,15 @@
"learnMore": "Erfahre mehr",
"updateError": "Beim Update-Prozess ist ein Fehler aufgetreten",
"unableToAccessDir": "Das Programm kann nicht auf diesen Ordner zugreifen",
- "downloadingUpdate": "Update wird heruntergeladen"
+ "downloadingUpdate": "Update wird heruntergeladen",
+ "searchInfo": "Suchen",
+ "searchPlaceholder": "Videos suchen...",
+ "searchNameToolTip": "Nach Namen suchen",
+ "searchResults": "Suchergebnisse",
+ "backToSearch": "Zurück zur Suche",
+ "noResultsFound": "Keine Ergebnisse gefunden",
+ "resultsFound": "Ergebnisse gefunden",
+ "enterSearchTerm": "Bitte geben Sie einen Suchbegriff ein",
+ "live": "Live",
+ "noTitle": "Kein Titel"
}
diff --git a/translations/el-GR.json b/translations/el-GR.json
index 6af5aeb..cbeaba8 100644
--- a/translations/el-GR.json
+++ b/translations/el-GR.json
@@ -161,5 +161,15 @@
"learnMore": "Μάθε περισσότερα",
"updateError": "Παρουσιάστηκε σφάλμα κατά τη διαδικασία ενημέρωσης",
"unableToAccessDir": "Το πρόγραμμα δεν μπορεί να έχει πρόσβαση σε αυτόν τον φάκελο",
- "downloadingUpdate": "Λήψη ενημέρωσης"
+ "downloadingUpdate": "Λήψη ενημέρωσης",
+ "searchInfo": "Αναζήτηση",
+ "searchPlaceholder": "Αναζήτηση βίντεο...",
+ "searchNameToolTip": "Αναζήτηση με όνομα",
+ "searchResults": "Αποτελέσματα Αναζήτησης",
+ "backToSearch": "Επιστροφή στην αναζήτηση",
+ "noResultsFound": "Δεν βρέθηκαν αποτελέσματα",
+ "resultsFound": "αποτελέσματα βρέθηκαν",
+ "enterSearchTerm": "Παρακαλώ εισάγετε όρο αναζήτησης",
+ "live": "Ζωντανά",
+ "noTitle": "Χωρίς τίτλο"
}
diff --git a/translations/en.json b/translations/en.json
index e44d6f0..6b7cc2e 100644
--- a/translations/en.json
+++ b/translations/en.json
@@ -161,6 +161,16 @@
"learnMore": "Learn more",
"updateError": "An error occurred during the update process",
"unableToAccessDir": "The program cannot access that folder",
- "downloadingUpdate": "Downloading update"
-
+ "downloadingUpdate": "Downloading update",
+ "searchInfo": "Search",
+ "searchPlaceholder": "Search videos...",
+ "searchNameToolTip": "Search by name",
+ "searchResults": "Search Results",
+ "backToSearch": "Back to search",
+ "noResultsFound": "No results found",
+ "resultsFound": "results found",
+ "enterSearchTerm": "Please enter a search term",
+ "live": "Live",
+ "noTitle": "No title",
+ "searchYouTubeOnlyWarning": "Search only works with YouTube. For other sites, paste the direct link."
}
diff --git a/translations/es-ES.json b/translations/es-ES.json
index 2d5b139..250c968 100644
--- a/translations/es-ES.json
+++ b/translations/es-ES.json
@@ -18,7 +18,7 @@
"end": "Término",
"timeRangeStartEmptyHint": "Si se mantiene vacío, comenzará desde el principio",
"timeRangeEndEmptyHint": "Si se mantiene vacío, se descargará hasta el final",
- "homepage": "Página web",
+ "homepage": "Inicio",
"aboutAppDescription": "Es una aplicación gratuita y de código abierto construida sobre Node.js y Electron. yt-dlp se ha utilizado para descargar",
"sourceCodeAvailable": "El código fuente está disponible ",
"here": "aquí",
@@ -161,5 +161,15 @@
"learnMore": "Saber más",
"updateError": "Se produjo un error durante el proceso de actualización",
"unableToAccessDir": "El programa no puede acceder a esa carpeta",
- "downloadingUpdate": "Descargando actualización"
+ "downloadingUpdate": "Descargando actualización",
+ "searchInfo": "Buscar",
+ "searchPlaceholder": "Buscar videos...",
+ "searchNameToolTip": "Buscar por nombre",
+ "searchResults": "Resultados de búsqueda",
+ "backToSearch": "Volver a buscar",
+ "noResultsFound": "No se encontraron resultados",
+ "resultsFound": "resultados encontrados",
+ "enterSearchTerm": "Por favor ingresa un término de búsqueda",
+ "live": "En vivo",
+ "noTitle": "Sin título"
}
diff --git a/translations/fa-IR.json b/translations/fa-IR.json
index f2a180d..4132b12 100644
--- a/translations/fa-IR.json
+++ b/translations/fa-IR.json
@@ -161,5 +161,15 @@
"learnMore": "Learn more",
"updateError": "An error occurred during the update process",
"unableToAccessDir": "The program cannot access that folder",
- "downloadingUpdate": "Downloading update"
+ "downloadingUpdate": "Downloading update",
+ "searchInfo": "جستجو",
+ "searchPlaceholder": "جستجوی ویدیوها...",
+ "searchNameToolTip": "جستجو بر اساس نام",
+ "searchResults": "نتایج جستجو",
+ "backToSearch": "بازگشت به جستجو",
+ "noResultsFound": "نتیجهای یافت نشد",
+ "resultsFound": "نتیجه یافت شد",
+ "enterSearchTerm": "لطفا عبارت جستجو را وارد کنید",
+ "live": "زنده",
+ "noTitle": "بدون عنوان"
}
diff --git a/translations/fi-FI.json b/translations/fi-FI.json
index 2303b3c..f08f57b 100644
--- a/translations/fi-FI.json
+++ b/translations/fi-FI.json
@@ -161,5 +161,15 @@
"learnMore": "Lue lisää",
"updateError": "Päivitysprosessin aikana tapahtui virhe",
"unableToAccessDir": "Ohjelma ei pääse käsiksi kyseiseen kansioon",
- "downloadingUpdate": "Ladataan päivitystä"
+ "downloadingUpdate": "Ladataan päivitystä",
+ "searchInfo": "Haku",
+ "searchPlaceholder": "Etsi videoita...",
+ "searchNameToolTip": "Hae nimen perusteella",
+ "searchResults": "Hakutulokset",
+ "backToSearch": "Takaisin hakuun",
+ "noResultsFound": "Tuloksia ei löytynyt",
+ "resultsFound": "tulosta löytyi",
+ "enterSearchTerm": "Ole hyvä ja syötä hakutermi",
+ "live": "Live",
+ "noTitle": "Ei otsikkoa"
}
diff --git a/translations/fr-FR.json b/translations/fr-FR.json
index 958dd3d..1a4ede8 100644
--- a/translations/fr-FR.json
+++ b/translations/fr-FR.json
@@ -161,5 +161,15 @@
"learnMore": "En savoir plus",
"updateError": "Une erreur s'est produite lors du processus de mise à jour",
"unableToAccessDir": "Le programme ne peut pas accéder à ce dossier",
- "downloadingUpdate": "Chargement des données"
+ "downloadingUpdate": "Chargement des données",
+ "searchInfo": "Rechercher",
+ "searchPlaceholder": "Rechercher des vidéos...",
+ "searchNameToolTip": "Rechercher par nom",
+ "searchResults": "Résultats de la recherche",
+ "backToSearch": "Retour à la recherche",
+ "noResultsFound": "Aucun résultat trouvé",
+ "resultsFound": "résultats trouvés",
+ "enterSearchTerm": "Veuillez entrer un terme de recherche",
+ "live": "En direct",
+ "noTitle": "Sans titre"
}
diff --git a/translations/hi-IN.json b/translations/hi-IN.json
index 996cc5a..80fb1eb 100644
--- a/translations/hi-IN.json
+++ b/translations/hi-IN.json
@@ -161,5 +161,15 @@
"learnMore": "और जानें",
"updateError": "An error occurred during the update process",
"unableToAccessDir": "The program cannot access that folder",
- "downloadingUpdate": "Downloading update"
+ "downloadingUpdate": "Downloading update",
+ "searchInfo": "खोजें",
+ "searchPlaceholder": "वीडियो खोजें...",
+ "searchNameToolTip": "नाम से खोजें",
+ "searchResults": "खोज परिणाम",
+ "backToSearch": "खोज पर वापस जाएं",
+ "noResultsFound": "कोई परिणाम नहीं मिला",
+ "resultsFound": "परिणाम मिले",
+ "enterSearchTerm": "कृपया खोज शब्द दर्ज करें",
+ "live": "लाइव",
+ "noTitle": "कोई शीर्षक नहीं"
}
diff --git a/translations/hu-HU.json b/translations/hu-HU.json
index b3f55d8..04237ca 100644
--- a/translations/hu-HU.json
+++ b/translations/hu-HU.json
@@ -161,5 +161,15 @@
"learnMore": "További információ",
"updateError": "Hiba történt a frissítési folyamat során",
"unableToAccessDir": "The program cannot access that folder",
- "downloadingUpdate": "Frissítés letöltése"
+ "downloadingUpdate": "Frissítés letöltése",
+ "searchInfo": "Keresés",
+ "searchPlaceholder": "Videók keresése...",
+ "searchNameToolTip": "Keresés név szerint",
+ "searchResults": "Keresési eredmények",
+ "backToSearch": "Vissza a kereséshez",
+ "noResultsFound": "Nem található eredmény",
+ "resultsFound": "találat",
+ "enterSearchTerm": "Kérjük, adjon meg egy keresőszót",
+ "live": "Élő",
+ "noTitle": "Nincs cím"
}
diff --git a/translations/it-IT.json b/translations/it-IT.json
index 5412c8f..75db74b 100644
--- a/translations/it-IT.json
+++ b/translations/it-IT.json
@@ -161,5 +161,15 @@
"learnMore": "Learn more",
"updateError": "An error occurred during the update process",
"unableToAccessDir": "The program cannot access that folder",
- "downloadingUpdate": "Downloading update"
+ "downloadingUpdate": "Downloading update",
+ "searchInfo": "Cerca",
+ "searchPlaceholder": "Cerca video...",
+ "searchNameToolTip": "Cerca per nome",
+ "searchResults": "Risultati della ricerca",
+ "backToSearch": "Torna alla ricerca",
+ "noResultsFound": "Nessun risultato trovato",
+ "resultsFound": "risultati trovati",
+ "enterSearchTerm": "Inserisci un termine di ricerca",
+ "live": "In diretta",
+ "noTitle": "Nessun titolo"
}
diff --git a/translations/ja-JP.json b/translations/ja-JP.json
index f76a0b0..6c091bd 100644
--- a/translations/ja-JP.json
+++ b/translations/ja-JP.json
@@ -161,5 +161,15 @@
"learnMore": "詳細",
"updateError": "更新処理中にエラー発生.",
"unableToAccessDir": "プログラムはそのフォルダにアクセスできません",
- "downloadingUpdate": "更新プログラムをダウンロード中"
+ "downloadingUpdate": "更新プログラムをダウンロード中",
+ "searchInfo": "検索",
+ "searchPlaceholder": "動画を検索...",
+ "searchNameToolTip": "名前で検索",
+ "searchResults": "検索結果",
+ "backToSearch": "検索に戻る",
+ "noResultsFound": "結果が見つかりませんでした",
+ "resultsFound": "件見つかりました",
+ "enterSearchTerm": "検索語を入力してください",
+ "live": "ライブ",
+ "noTitle": "タイトルなし"
}
diff --git a/translations/ne-NP.json b/translations/ne-NP.json
index 626f527..5976154 100644
--- a/translations/ne-NP.json
+++ b/translations/ne-NP.json
@@ -161,5 +161,15 @@
"learnMore": "Learn more",
"updateError": "An error occurred during the update process",
"unableToAccessDir": "The program cannot access that folder",
- "downloadingUpdate": "Downloading update"
+ "downloadingUpdate": "Downloading update",
+ "searchInfo": "खोजी गर्नुहोस्",
+ "searchPlaceholder": "भिडियोहरू खोज्नुहोस्...",
+ "searchNameToolTip": "नामद्वारा खोज्नुहोस्",
+ "searchResults": "खोजी परिणामहरू",
+ "backToSearch": "खोजीमा फर्कनुहोस्",
+ "noResultsFound": "कुनै परिणाम फेला परेन",
+ "resultsFound": "परिणामहरू फेला पर्यो",
+ "enterSearchTerm": "कृपया खोजी शब्द प्रविष्ट गर्नुहोस्",
+ "live": "लाइभ",
+ "noTitle": "कुनै शीर्षक छैन"
}
diff --git a/translations/pl-PL.json b/translations/pl-PL.json
index a82e875..3a90d32 100644
--- a/translations/pl-PL.json
+++ b/translations/pl-PL.json
@@ -161,5 +161,15 @@
"learnMore": "Dowiedz się więcej",
"updateError": "Wystąpił błąd podczas procesu aktualizacji",
"unableToAccessDir": "Program nie może uzyskać dostępu do tego folderu",
- "downloadingUpdate": "Pobieranie aktualizacji"
+ "downloadingUpdate": "Pobieranie aktualizacji",
+ "searchInfo": "Szukaj",
+ "searchPlaceholder": "Wyszukaj filmy...",
+ "searchNameToolTip": "Szukaj według nazwy",
+ "searchResults": "Wyniki wyszukiwania",
+ "backToSearch": "Powróć do wyszukiwania",
+ "noResultsFound": "Nie znaleziono wyników",
+ "resultsFound": "wyników znaleziono",
+ "enterSearchTerm": "Wpisz hasło do wyszukiwania",
+ "live": "Na żywo",
+ "noTitle": "Brak tytułu"
}
diff --git a/translations/pt-BR.json b/translations/pt-BR.json
index 6dac56f..a7140bd 100644
--- a/translations/pt-BR.json
+++ b/translations/pt-BR.json
@@ -161,5 +161,15 @@
"learnMore": "Saiba mais",
"updateError": "Ocorreu um erro durante o processo de atualização",
"unableToAccessDir": "O programa não pode acessar essa pasta",
- "downloadingUpdate": "Baixando atualização"
+ "downloadingUpdate": "Baixando atualização",
+ "searchInfo": "Pesquisar",
+ "searchPlaceholder": "Pesquisar vídeos...",
+ "searchNameToolTip": "Buscar por nome",
+ "searchResults": "Resultados da pesquisa",
+ "backToSearch": "Voltar à pesquisa",
+ "noResultsFound": "Nenhum resultado encontrado",
+ "resultsFound": "resultados encontrados",
+ "enterSearchTerm": "Por favor, insira um termo de pesquisa",
+ "live": "Ao vivo",
+ "noTitle": "Sem título"
}
diff --git a/translations/ru-RU.json b/translations/ru-RU.json
index 75e767e..4de9db5 100644
--- a/translations/ru-RU.json
+++ b/translations/ru-RU.json
@@ -161,5 +161,15 @@
"learnMore": "Подробнее",
"updateError": "Во время обновления произошла ошибка",
"unableToAccessDir": "Нет доступа к папке",
- "downloadingUpdate": "Загрузка обновления"
+ "downloadingUpdate": "Загрузка обновления",
+ "searchInfo": "Поиск",
+ "searchPlaceholder": "Поиск видео...",
+ "searchNameToolTip": "Поиск по имени",
+ "searchResults": "Результаты поиска",
+ "backToSearch": "Вернуться к поиску",
+ "noResultsFound": "Результатов не найдено",
+ "resultsFound": "результатов найдено",
+ "enterSearchTerm": "Пожалуйста, введите поисковый запрос",
+ "live": "Прямой эфир",
+ "noTitle": "Без названия"
}
\ No newline at end of file
diff --git a/translations/tr-TR.json b/translations/tr-TR.json
index 2942614..e7d3c1d 100644
--- a/translations/tr-TR.json
+++ b/translations/tr-TR.json
@@ -161,5 +161,15 @@
"learnMore": "Learn more",
"updateError": "An error occurred during the update process",
"unableToAccessDir": "The program cannot access that folder",
- "downloadingUpdate": "Downloading update"
+ "downloadingUpdate": "Downloading update",
+ "searchInfo": "Ara",
+ "searchPlaceholder": "Video ara...",
+ "searchNameToolTip": "Ada göre ara",
+ "searchResults": "Arama Sonuçları",
+ "backToSearch": "Aramaya dön",
+ "noResultsFound": "Sonuç bulunamadı",
+ "resultsFound": "sonuç bulundu",
+ "enterSearchTerm": "Lütfen bir arama terimi girin",
+ "live": "Canlı",
+ "noTitle": "Başlık yok"
}
diff --git a/translations/uk-UA.json b/translations/uk-UA.json
index 7a37e6d..14370e2 100644
--- a/translations/uk-UA.json
+++ b/translations/uk-UA.json
@@ -161,5 +161,15 @@
"learnMore": "Докладніше",
"updateError": "Сталася помилка під час процесу оновлення",
"unableToAccessDir": "Програма не має доступу до папки",
- "downloadingUpdate": "Завантаження оновлення"
+ "downloadingUpdate": "Завантаження оновлення",
+ "searchInfo": "Пошук",
+ "searchPlaceholder": "Пошук відео...",
+ "searchNameToolTip": "Пошук за назвою",
+ "searchResults": "Результати пошуку",
+ "backToSearch": "Повернутися до пошуку",
+ "noResultsFound": "Результатів не знайдено",
+ "resultsFound": "результатів знайдено",
+ "enterSearchTerm": "Будь ласка, введіть пошуковий запит",
+ "live": "Прямий ефір",
+ "noTitle": "Без назви"
}
diff --git a/translations/vi-VN.json b/translations/vi-VN.json
index df1b060..4b20599 100644
--- a/translations/vi-VN.json
+++ b/translations/vi-VN.json
@@ -161,5 +161,15 @@
"learnMore": "Learn more",
"updateError": "An error occurred during the update process",
"unableToAccessDir": "The program cannot access that folder",
- "downloadingUpdate": "Downloading update"
+ "downloadingUpdate": "Downloading update",
+ "searchInfo": "Tìm kiếm",
+ "searchPlaceholder": "Tìm kiếm video...",
+ "searchNameToolTip": "Tìm kiếm theo tên",
+ "searchResults": "Kết quả tìm kiếm",
+ "backToSearch": "Quay lại tìm kiếm",
+ "noResultsFound": "Không tìm thấy kết quả",
+ "resultsFound": "kết quả được tìm thấy",
+ "enterSearchTerm": "Vui lòng nhập từ khóa tìm kiếm",
+ "live": "Trực tiếp",
+ "noTitle": "Không có tiêu đề"
}
diff --git a/translations/zh-CN.json b/translations/zh-CN.json
index 016372e..373fb18 100644
--- a/translations/zh-CN.json
+++ b/translations/zh-CN.json
@@ -161,5 +161,15 @@
"learnMore": "了解更多",
"updateError": "更新过程中发生错误",
"unableToAccessDir": "该程序无法访问该文件夹",
- "downloadingUpdate": "下载更新"
+ "downloadingUpdate": "下载更新",
+ "searchInfo": "搜索",
+ "searchPlaceholder": "搜索视频...",
+ "searchNameToolTip": "按名称搜索",
+ "searchResults": "搜索结果",
+ "backToSearch": "返回搜索",
+ "noResultsFound": "未找到结果",
+ "resultsFound": "个结果",
+ "enterSearchTerm": "请输入搜索词",
+ "live": "直播",
+ "noTitle": "无标题"
}
diff --git a/translations/zh-TW.json b/translations/zh-TW.json
index 74dc2bf..55e5771 100644
--- a/translations/zh-TW.json
+++ b/translations/zh-TW.json
@@ -161,5 +161,15 @@
"learnMore": "了解詳情",
"updateError": "更新過程中發生錯誤",
"unableToAccessDir": "程式無法存取該資料夾",
- "downloadingUpdate": "正在下載更新"
+ "downloadingUpdate": "正在下載更新",
+ "searchInfo": "搜尋",
+ "searchPlaceholder": "搜尋影片...",
+ "searchNameToolTip": "依名稱搜尋",
+ "searchResults": "搜尋結果",
+ "backToSearch": "返回搜尋",
+ "noResultsFound": "未找到結果",
+ "resultsFound": "個結果",
+ "enterSearchTerm": "請輸入搜尋詞",
+ "live": "直播",
+ "noTitle": "無標題"
}