/
drndsv
/
react
Обзор
Документация
Войти
/
drndsv
/
react
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/eslint/lib/rules/no-script-url.js
61 строка
2 KB
drndsv
Initial commit
14 апр 2025, 22:53
14 апр 2025, 22:53
641ac8a
Код
Авторство
О чём код?
/** * @fileoverview Rule to flag when using javascript: urls * @author Ilya Volodin */ /* eslint no-script-url: 0 -- Code is checking to report such URLs */ "use strict"; const astUtils = require("./utils/ast-utils"); //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ /** @type {import('../shared/types').Rule} */ module.exports = { meta: { type: "suggestion", docs: { description: "Disallow `javascript:` urls", recommended: false, url: "https://eslint.org/docs/latest/rules/no-script-url" }, schema: [], messages: { unexpectedScriptURL: "Script URL is a form of eval." } }, create(context) { /** * Check whether a node's static value starts with "javascript:" or not. * And report an error for unexpected script URL. * @param {ASTNode} node node to check * @returns {void} */ function check(node) { const value = astUtils.getStaticStringValue(node); if (typeof value === "string" && value.toLowerCase().indexOf("javascript:") === 0) { context.report({ node, messageId: "unexpectedScriptURL" }); } } return { Literal(node) { if (node.value && typeof node.value === "string") { check(node); } }, TemplateLiteral(node) { if (!(node.parent && node.parent.type === "TaggedTemplateExpression")) { check(node); } } }; } };