From 1f20459df8b775e8b8fb0765fd562d70e8ff4eb5 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Wed, 19 May 2021 02:03:04 -0400 Subject: [PATCH] Added converter for no-exec-script --- .../lintConfigs/rules/ruleConverters.ts | 2 ++ .../rules/ruleConverters/no-exec-script.ts | 17 ++++++++++++++ .../tests/no-exec-script.test.ts | 23 +++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 src/converters/lintConfigs/rules/ruleConverters/no-exec-script.ts create mode 100644 src/converters/lintConfigs/rules/ruleConverters/tests/no-exec-script.test.ts diff --git a/src/converters/lintConfigs/rules/ruleConverters.ts b/src/converters/lintConfigs/rules/ruleConverters.ts index 093edb285..227279b7c 100644 --- a/src/converters/lintConfigs/rules/ruleConverters.ts +++ b/src/converters/lintConfigs/rules/ruleConverters.ts @@ -57,6 +57,7 @@ import { convertNoDynamicDelete } from './ruleConverters/no-dynamic-delete'; import { convertNoEmpty } from "./ruleConverters/no-empty"; import { convertNoEmptyInterface } from "./ruleConverters/no-empty-interface"; import { convertNoEval } from "./ruleConverters/no-eval"; +import { convertNoExecScript } from "./ruleConverters/no-exec-script"; import { convertNoExplicitAny } from "./ruleConverters/no-explicit-any"; import { convertNoFloatingPromises } from "./ruleConverters/no-floating-promises"; import { convertNoForIn } from "./ruleConverters/no-for-in"; @@ -308,6 +309,7 @@ export const ruleConverters = new Map([ ["no-dynamic-delete", convertNoDynamicDelete], ["no-empty-interface", convertNoEmptyInterface], ["no-empty", convertNoEmpty], + ["no-exec-script", convertNoExecScript], ["no-eval", convertNoEval], ["no-floating-promises", convertNoFloatingPromises], ["no-for-in-array", convertNoForInArray], diff --git a/src/converters/lintConfigs/rules/ruleConverters/no-exec-script.ts b/src/converters/lintConfigs/rules/ruleConverters/no-exec-script.ts new file mode 100644 index 000000000..7fe062466 --- /dev/null +++ b/src/converters/lintConfigs/rules/ruleConverters/no-exec-script.ts @@ -0,0 +1,17 @@ +import { RuleConverter } from "../ruleConverter"; + +export const convertNoExecScript: RuleConverter = () => { + return { + rules: [ + { + ruleArguments: [ + { + message: "Forbidden call to execScript", + selector: 'CallExpression[callee.name="execScript"]', + } + ], + ruleName: "restricted-syntax", + }, + ], + }; +}; diff --git a/src/converters/lintConfigs/rules/ruleConverters/tests/no-exec-script.test.ts b/src/converters/lintConfigs/rules/ruleConverters/tests/no-exec-script.test.ts new file mode 100644 index 000000000..b469849f8 --- /dev/null +++ b/src/converters/lintConfigs/rules/ruleConverters/tests/no-exec-script.test.ts @@ -0,0 +1,23 @@ +import { convertNoExecScript } from "../no-exec-script"; + +describe(convertNoExecScript, () => { + test("conversion without arguments", () => { + const result = convertNoExecScript({ + ruleArguments: [], + }); + + expect(result).toEqual({ + rules: [ + { + ruleArguments: [ + { + message: "Forbidden call to execScript", + selector: 'CallExpression[callee.name="execScript"]', + } + ], + ruleName: "restricted-syntax", + }, + ], + }); + }); +});