diff --git a/packages/eslint-plugin-next/lib/rules/no-css-tags.js b/packages/eslint-plugin-next/lib/rules/no-css-tags.js index 3de32653aac24059297a4d2a003e2dd553744a30..2bb215a0e8793839bace902cd8982f1939d4d8ce 100644 --- a/packages/eslint-plugin-next/lib/rules/no-css-tags.js +++ b/packages/eslint-plugin-next/lib/rules/no-css-tags.js @@ -18,7 +18,9 @@ module.exports = function (context) { ) && attributes.find( (attr) => - attr.name.name === 'href' && !/^https?/.test(attr.value.value) + attr.name.name === 'href' && + attr.value.type === 'Literal' && + !/^https?/.test(attr.value.value) ) ) { context.report({ diff --git a/test/eslint-plugin-next/no-css-tags.test.js b/test/eslint-plugin-next/no-css-tags.test.js index c3dcffb492c2100ae583ef0e48a23bc73d54f401..3c122f94bb401cb5784c6d954549bf1f3e85acaf 100644 --- a/test/eslint-plugin-next/no-css-tags.test.js +++ b/test/eslint-plugin-next/no-css-tags.test.js @@ -50,6 +50,18 @@ ruleTester.run('no-css-tags', rule, { ); } }`, + + `import {Head} from 'next/document'; + export class Blah extends Head { + render(props) { + return ( +
+

Hello title

+ +
+ ); + } + }`, ], invalid: [