From c72c3c1ade7d9dd42e222c85075e06a79b95260b Mon Sep 17 00:00:00 2001 From: Brad Zacher Date: Tue, 26 Nov 2019 16:26:32 -0800 Subject: [PATCH] fix(eslint-plugin): [prefer-optional-chain] allow $ in identifiers --- packages/eslint-plugin/src/rules/prefer-optional-chain.ts | 2 +- .../eslint-plugin/tests/rules/prefer-optional-chain.test.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/eslint-plugin/src/rules/prefer-optional-chain.ts b/packages/eslint-plugin/src/rules/prefer-optional-chain.ts index 410d41348d6..5f8ef5bc058 100644 --- a/packages/eslint-plugin/src/rules/prefer-optional-chain.ts +++ b/packages/eslint-plugin/src/rules/prefer-optional-chain.ts @@ -95,7 +95,7 @@ export default util.createRule({ `^${ // escape regex characters leftText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') - }[^a-zA-Z0-9_]`, + }[^a-zA-Z0-9_$]`, ); if ( !matchRegex.test(rightText) && diff --git a/packages/eslint-plugin/tests/rules/prefer-optional-chain.test.ts b/packages/eslint-plugin/tests/rules/prefer-optional-chain.test.ts index 33fa13f97ce..ccd3e992cf0 100644 --- a/packages/eslint-plugin/tests/rules/prefer-optional-chain.test.ts +++ b/packages/eslint-plugin/tests/rules/prefer-optional-chain.test.ts @@ -126,6 +126,7 @@ ruleTester.run('prefer-optional-chain', rule, { 'nextToken && sourceCode.isSpaceBetweenTokens(prevToken, nextToken)', 'result && this.options.shouldPreserveNodeMaps', 'foo && fooBar.baz', + 'match && match$1 !== undefined', 'foo !== null && foo !== undefined', 'x["y"] !== undefined && x["y"] !== null', // currently do not handle complex computed properties