diff --git a/src/lexers/jsx-lexer.js b/src/lexers/jsx-lexer.js index f4950af3..1025ba1a 100644 --- a/src/lexers/jsx-lexer.js +++ b/src/lexers/jsx-lexer.js @@ -15,7 +15,7 @@ export default class JsxLexer extends JavascriptLexer { 'i', 'p', ] - this.omitAttributes = [this.attr, 'ns', 'defaults'] + this.omitAttributes = [this.attr, 'ns', 'key', 'defaults'] this.transIdentityFunctionsToIgnore = options.transIdentityFunctionsToIgnore || [] } diff --git a/test/lexers/jsx-lexer.test.js b/test/lexers/jsx-lexer.test.js index 3269f130..b0e6b935 100644 --- a/test/lexers/jsx-lexer.test.js +++ b/test/lexers/jsx-lexer.test.js @@ -43,6 +43,16 @@ describe('JsxLexer', () => { done() }) + it('ignores the protected React key attribute when defined', (done) => { + const Lexer = new JsxLexer() + const content = + 'Yo' + assert.deepEqual(Lexer.extract(content), [ + { key: 'first', defaultValue: 'Yo', count: '{count}' }, + ]) + done() + }) + it('extracts default value from string literal `defaults` prop', (done) => { const Lexer = new JsxLexer() const content =