Sha256: e501378197803428f35ee60609754e358677372e0016106ee1cbb49125711331
Contents?: true
Size: 1.62 KB
Versions: 43
Compression:
Stored size: 1.62 KB
Contents
/** * @fileoverview Comments inside children section of tag should be placed inside braces. * @author Ben Vinegar */ 'use strict'; const docsUrl = require('../util/docsUrl'); // ------------------------------------------------------------------------------ // Rule Definition // ------------------------------------------------------------------------------ module.exports = { meta: { docs: { description: 'Comments inside children section of tag should be placed inside braces', category: 'Possible Errors', recommended: true, url: docsUrl('jsx-no-comment-textnodes') }, schema: [{ type: 'object', properties: {}, additionalProperties: false }] }, create: function(context) { function reportLiteralNode(node) { context.report(node, 'Comments inside children section of tag should be placed inside braces'); } // -------------------------------------------------------------------------- // Public // -------------------------------------------------------------------------- return { Literal: function(node) { const sourceCode = context.getSourceCode(); // since babel-eslint has the wrong node.raw, we'll get the source text const rawValue = sourceCode.getText(node); if (/^\s*\/(\/|\*)/m.test(rawValue)) { // inside component, e.g. <div>literal</div> if (node.parent.type !== 'JSXAttribute' && node.parent.type !== 'JSXExpressionContainer' && node.parent.type.indexOf('JSX') !== -1) { reportLiteralNode(node); } } } }; } };
Version data entries
43 entries across 43 versions & 1 rubygems