mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-07-30 11:38:50 -07:00
WebUI: add linting for regular expressions
And applies to following suggestions: * Use case-insensitive flag `i` * Use `\w` for matching characters * Sort the regex flags
This commit is contained in:
parent
e2d6cd31b2
commit
6231208ddf
4 changed files with 7 additions and 3 deletions
|
@ -2,9 +2,11 @@ import Globals from 'globals';
|
||||||
import Html from 'eslint-plugin-html';
|
import Html from 'eslint-plugin-html';
|
||||||
import Js from '@eslint/js';
|
import Js from '@eslint/js';
|
||||||
import Stylistic from '@stylistic/eslint-plugin';
|
import Stylistic from '@stylistic/eslint-plugin';
|
||||||
|
import * as RegexpPlugin from 'eslint-plugin-regexp';
|
||||||
|
|
||||||
export default [
|
export default [
|
||||||
Js.configs.recommended,
|
Js.configs.recommended,
|
||||||
|
RegexpPlugin.configs["flat/recommended"],
|
||||||
Stylistic.configs["disable-legacy"],
|
Stylistic.configs["disable-legacy"],
|
||||||
{
|
{
|
||||||
files: [
|
files: [
|
||||||
|
@ -20,6 +22,7 @@ export default [
|
||||||
},
|
},
|
||||||
plugins: {
|
plugins: {
|
||||||
Html,
|
Html,
|
||||||
|
RegexpPlugin,
|
||||||
Stylistic
|
Stylistic
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
"@stylistic/eslint-plugin": "*",
|
"@stylistic/eslint-plugin": "*",
|
||||||
"eslint": "*",
|
"eslint": "*",
|
||||||
"eslint-plugin-html": "*",
|
"eslint-plugin-html": "*",
|
||||||
|
"eslint-plugin-regexp": "*",
|
||||||
"html-validate": "*",
|
"html-validate": "*",
|
||||||
"i18next-parser": "*",
|
"i18next-parser": "*",
|
||||||
"js-beautify": "*",
|
"js-beautify": "*",
|
||||||
|
|
|
@ -1527,8 +1527,8 @@ window.addEventListener("DOMContentLoaded", function() {
|
||||||
return lowercaseStr.startsWith("http:")
|
return lowercaseStr.startsWith("http:")
|
||||||
|| lowercaseStr.startsWith("https:")
|
|| lowercaseStr.startsWith("https:")
|
||||||
|| lowercaseStr.startsWith("magnet:")
|
|| lowercaseStr.startsWith("magnet:")
|
||||||
|| ((str.length === 40) && !(/[^0-9A-Fa-f]/.test(str))) // v1 hex-encoded SHA-1 info-hash
|
|| ((str.length === 40) && !(/[^0-9A-F]/i.test(str))) // v1 hex-encoded SHA-1 info-hash
|
||||||
|| ((str.length === 32) && !(/[^2-7A-Za-z]/.test(str))); // v1 Base32 encoded SHA-1 info-hash
|
|| ((str.length === 32) && !(/[^2-7A-Z]/i.test(str))); // v1 Base32 encoded SHA-1 info-hash
|
||||||
});
|
});
|
||||||
|
|
||||||
if (urls.length <= 0)
|
if (urls.length <= 0)
|
||||||
|
|
|
@ -143,7 +143,7 @@ window.qBittorrent.Misc = (function() {
|
||||||
* JS counterpart of the function in src/misc.cpp
|
* JS counterpart of the function in src/misc.cpp
|
||||||
*/
|
*/
|
||||||
const parseHtmlLinks = function(text) {
|
const parseHtmlLinks = function(text) {
|
||||||
const exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|])/ig;
|
const exp = /(\b(https?|ftp|file):\/\/[-\w+&@#/%?=~|!:,.;]*[-\w+&@#/%=~|])/gi;
|
||||||
return text.replace(exp, "<a target='_blank' rel='noopener noreferrer' href='$1'>$1</a>");
|
return text.replace(exp, "<a target='_blank' rel='noopener noreferrer' href='$1'>$1</a>");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue