Sha256: 867817a24c619ff0dd954af0bc64c32e877e2066f2d05f7743c7abac01a21178
Contents?: true
Size: 1.8 KB
Versions: 65
Compression:
Stored size: 1.8 KB
Contents
/** * @fileoverview Rule to flag when using multiline strings * @author Ilya Volodin */ "use strict"; //------------------------------------------------------------------------------ // Requirements //------------------------------------------------------------------------------ const astUtils = require("./utils/ast-utils"); //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ /** @type {import('../shared/types').Rule} */ module.exports = { meta: { type: "suggestion", docs: { description: "Disallow multiline strings", recommended: false, url: "https://eslint.org/docs/latest/rules/no-multi-str" }, schema: [], messages: { multilineString: "Multiline support is limited to browsers supporting ES5 only." } }, create(context) { /** * Determines if a given node is part of JSX syntax. * @param {ASTNode} node The node to check. * @returns {boolean} True if the node is a JSX node, false if not. * @private */ function isJSXElement(node) { return node.type.indexOf("JSX") === 0; } //-------------------------------------------------------------------------- // Public API //-------------------------------------------------------------------------- return { Literal(node) { if (astUtils.LINEBREAK_MATCHER.test(node.raw) && !isJSXElement(node.parent)) { context.report({ node, messageId: "multilineString" }); } } }; } };
Version data entries
65 entries across 55 versions & 3 rubygems