From 211b1b5ae9f3e7d54b98b0522a80194f7c803a69 Mon Sep 17 00:00:00 2001 From: Eran Shabi Date: Thu, 25 Jul 2019 18:34:31 +0300 Subject: [PATCH] =?UTF-8?q?fix(eslint-plugin):=20[prefer-readonly]=20TypeE?= =?UTF-8?q?rror=20when=20having=20comp=E2=80=A6=20(#761)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/eslint-plugin/src/rules/prefer-readonly.ts | 2 +- packages/eslint-plugin/tests/rules/prefer-readonly.test.ts | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/eslint-plugin/src/rules/prefer-readonly.ts b/packages/eslint-plugin/src/rules/prefer-readonly.ts index c82aaf45ab3..451515d18ed 100644 --- a/packages/eslint-plugin/src/rules/prefer-readonly.ts +++ b/packages/eslint-plugin/src/rules/prefer-readonly.ts @@ -179,7 +179,7 @@ export default util.createRule({ const tsNode = parserServices.esTreeNodeToTSNodeMap.get< ts.PropertyAccessExpression >(node); - if (classScopeStack.length !== 0) { + if (classScopeStack.length !== 0 && !node.computed) { handlePropertyAccessExpression( tsNode, tsNode.parent, diff --git a/packages/eslint-plugin/tests/rules/prefer-readonly.test.ts b/packages/eslint-plugin/tests/rules/prefer-readonly.test.ts index a5ff4734e1c..5b2a6687339 100644 --- a/packages/eslint-plugin/tests/rules/prefer-readonly.test.ts +++ b/packages/eslint-plugin/tests/rules/prefer-readonly.test.ts @@ -215,6 +215,11 @@ ruleTester.run('prefer-readonly', rule, { }, ], }, + `class TestComputedParameter { + public mutate() { + this['computed'] = 1; + } + }`, ], invalid: [ {