diff --git a/.eslintrc.js b/.eslintrc.js index 400ed10c4aaa..edbd04cf0a89 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -53,7 +53,6 @@ module.exports = { 'deprecation/deprecation': 'error', // TODO(#7338): Investigate enabling these soon ✨ - '@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 ad28d93a1478..ba482063d7c0 100644 --- a/packages/rule-tester/src/RuleTester.ts +++ b/packages/rule-tester/src/RuleTester.ts @@ -468,6 +468,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 3d83fe26e9e8..8c3ab3aae0f7 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 a326a5be2077..42ac48a6e77d 100644 --- a/packages/website/src/components/config/ConfigEditor.tsx +++ b/packages/website/src/components/config/ConfigEditor.tsx @@ -102,6 +102,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;