From 3b84ee95c797b77cbc5c83aef6d9d0b774850a0b Mon Sep 17 00:00:00 2001 From: Krzysztof Brilla Date: Sat, 7 Nov 2020 15:23:28 +0100 Subject: [PATCH] Adding the rule, mapping it and writing the tests --- .../lintConfigs/rules/ruleConverters.ts | 4 +++- .../no-unsafe-subject-next.ts | 12 ++++++++++++ .../tests/no-unsafe-subject-next.test.ts | 18 ++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/converters/lintConfigs/rules/ruleConverters/eslint-plugin-rxjs/no-unsafe-subject-next.ts create mode 100644 src/converters/lintConfigs/rules/ruleConverters/eslint-plugin-rxjs/tests/no-unsafe-subject-next.test.ts diff --git a/src/converters/lintConfigs/rules/ruleConverters.ts b/src/converters/lintConfigs/rules/ruleConverters.ts index 40c1f9c32..fecfc9040 100644 --- a/src/converters/lintConfigs/rules/ruleConverters.ts +++ b/src/converters/lintConfigs/rules/ruleConverters.ts @@ -181,8 +181,9 @@ import { convertJsxKey } from "./ruleConverters/eslint-plugin-react/jsx-key"; import { convertJsxNoBind } from "./ruleConverters/eslint-plugin-react/jsx-no-bind"; import { convertJsxWrapMultiline } from "./ruleConverters/eslint-plugin-react/jsx-wrap-multiline"; -//eslint-plugin-rxjs converters +// eslint-plugin-rxjs converters import { convertNoAsyncSubscribe } from "./ruleConverters/eslint-plugin-rxjs/no-async-subscribe"; +import { convertNoUnsafeSubjectNext } from "./ruleConverters/eslint-plugin-rxjs/no-unsafe-subject-next"; /** * Keys TSLint rule names to their ESLint rule converters. @@ -368,6 +369,7 @@ export const ruleConverters = new Map([ ["use-pipe-transform-interface", convertUsePipeTransformInterface], ["variable-name", convertVariableName], ["rxjs-no-async-subscribe", convertNoAsyncSubscribe], + ["rxjs-no-unsafe-subject-next", convertNoUnsafeSubjectNext], // These converters are all for rules that need more complex option conversions. // Some of them will likely need to have notices about changed lint behaviors... diff --git a/src/converters/lintConfigs/rules/ruleConverters/eslint-plugin-rxjs/no-unsafe-subject-next.ts b/src/converters/lintConfigs/rules/ruleConverters/eslint-plugin-rxjs/no-unsafe-subject-next.ts new file mode 100644 index 000000000..7d47e4676 --- /dev/null +++ b/src/converters/lintConfigs/rules/ruleConverters/eslint-plugin-rxjs/no-unsafe-subject-next.ts @@ -0,0 +1,12 @@ +import { RuleConverter } from "../../ruleConverter"; + +export const convertNoUnsafeSubjectNext: RuleConverter = () => { + return { + rules: [ + { + ruleName: "rxjs/no-unsafe-subject-next", + }, + ], + plugins: ["eslint-plugin-rxjs"], + }; +}; diff --git a/src/converters/lintConfigs/rules/ruleConverters/eslint-plugin-rxjs/tests/no-unsafe-subject-next.test.ts b/src/converters/lintConfigs/rules/ruleConverters/eslint-plugin-rxjs/tests/no-unsafe-subject-next.test.ts new file mode 100644 index 000000000..0ec6da921 --- /dev/null +++ b/src/converters/lintConfigs/rules/ruleConverters/eslint-plugin-rxjs/tests/no-unsafe-subject-next.test.ts @@ -0,0 +1,18 @@ +import { convertNoUnsafeSubjectNext } from "../no-unsafe-subject-next"; + +describe(convertNoUnsafeSubjectNext, () => { + test("conversion without arguments", () => { + const result = convertNoUnsafeSubjectNext({ + ruleArguments: [], + }); + + expect(result).toEqual({ + rules: [ + { + ruleName: "rxjs/no-unsafe-subject-next", + }, + ], + plugins: ["eslint-plugin-rxjs"], + }); + }); +});