From 4acc84898bde2101853ad35179644a434e929e7a Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Tue, 24 Oct 2023 02:46:54 -0400 Subject: [PATCH] chore: enable no-dynamic-delete internally --- .eslintrc.js | 1 - packages/rule-tester/src/RuleTester.ts | 1 + packages/typescript-estree/tools/test-utils.ts | 2 ++ packages/website/src/components/config/ConfigEditor.tsx | 2 ++ 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.eslintrc.js b/.eslintrc.js index ac2e363f4e13..3f9883dc544b 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -55,7 +55,6 @@ module.exports = { // TODO(#7338): Investigate enabling these soon ✨ '@typescript-eslint/consistent-indexed-object-style': 'off', '@typescript-eslint/no-unnecessary-condition': 'off', - '@typescript-eslint/no-dynamic-delete': 'off', '@typescript-eslint/prefer-nullish-coalescing': 'off', // TODO(#7130): Investigate changing these in or removing these from presets diff --git a/packages/rule-tester/src/RuleTester.ts b/packages/rule-tester/src/RuleTester.ts index 85bd223d8609..a0f775a7d663 100644 --- a/packages/rule-tester/src/RuleTester.ts +++ b/packages/rule-tester/src/RuleTester.ts @@ -466,6 +466,7 @@ export class RuleTester extends TestFramework { const itemConfig: Record = { ...item }; for (const parameter of RULE_TESTER_PARAMETERS) { + // eslint-disable-next-line @typescript-eslint/no-dynamic-delete delete itemConfig[parameter]; } diff --git a/packages/typescript-estree/tools/test-utils.ts b/packages/typescript-estree/tools/test-utils.ts index 81121274b254..2042996bf9fe 100644 --- a/packages/typescript-estree/tools/test-utils.ts +++ b/packages/typescript-estree/tools/test-utils.ts @@ -127,6 +127,8 @@ export function omitDeep( for (const prop in node) { if (Object.prototype.hasOwnProperty.call(node, prop)) { if (shouldOmit(prop, node[prop]) || node[prop] === undefined) { + // Filter out omitted and undefined props from the node + // eslint-disable-next-line @typescript-eslint/no-dynamic-delete delete node[prop]; continue; } diff --git a/packages/website/src/components/config/ConfigEditor.tsx b/packages/website/src/components/config/ConfigEditor.tsx index f34b7662413e..b667e7697c98 100644 --- a/packages/website/src/components/config/ConfigEditor.tsx +++ b/packages/website/src/components/config/ConfigEditor.tsx @@ -101,6 +101,8 @@ function ConfigEditor({ (name: string, value: unknown): void => { const newConfig = { ...values }; if (value === '' || value == null) { + // Filter out falsy values from the new config + // eslint-disable-next-line @typescript-eslint/no-dynamic-delete delete newConfig[name]; } else { newConfig[name] = value; pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy