From e4a02c38bb317677b1d15e40c9ef8e65595aafb0 Mon Sep 17 00:00:00 2001 From: rhysd Date: Sat, 30 Mar 2019 11:46:14 +0900 Subject: [PATCH] fix(eslint-plugin): no-object-literal-type-assertion: fix `as const` is reported --- .../src/rules/no-object-literal-type-assertion.ts | 3 +++ .../tests/rules/no-object-literal-type-assertion.test.ts | 2 ++ 2 files changed, 5 insertions(+) diff --git a/packages/eslint-plugin/src/rules/no-object-literal-type-assertion.ts b/packages/eslint-plugin/src/rules/no-object-literal-type-assertion.ts index 55c91ac6e512..8438909ad794 100644 --- a/packages/eslint-plugin/src/rules/no-object-literal-type-assertion.ts +++ b/packages/eslint-plugin/src/rules/no-object-literal-type-assertion.ts @@ -50,6 +50,9 @@ export default util.createRule({ case AST_NODE_TYPES.TSAnyKeyword: case AST_NODE_TYPES.TSUnknownKeyword: return false; + case AST_NODE_TYPES.Identifier: + // Ignore `as const` and `` (#166) + return node.name !== 'const'; default: return true; } diff --git a/packages/eslint-plugin/tests/rules/no-object-literal-type-assertion.test.ts b/packages/eslint-plugin/tests/rules/no-object-literal-type-assertion.test.ts index e25e96de6940..336df4c29a1b 100644 --- a/packages/eslint-plugin/tests/rules/no-object-literal-type-assertion.test.ts +++ b/packages/eslint-plugin/tests/rules/no-object-literal-type-assertion.test.ts @@ -26,6 +26,8 @@ ruleTester.run('no-object-literal-type-assertion', rule, { // Allow cast to 'unknown' `const foo = {} as unknown;`, `const foo = {};`, + `const foo = {} as const;`, + `const foo = {};`, { code: `print({ bar: 5 } as Foo)`, options: [