From 594968c8f9dd60ffc38a205269d596fa516b6430 Mon Sep 17 00:00:00 2001 From: Krzysztof Brilla Date: Sat, 7 Nov 2020 15:41:35 +0100 Subject: [PATCH 1/2] Adding the rule, mapping it and writing the tests --- .../lintConfigs/rules/ruleConverters.ts | 2 ++ .../eslint-plugin-rxjs/no-subject-value.ts | 12 ++++++++++++ .../tests/no-subject-value.test.ts | 18 ++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 src/converters/lintConfigs/rules/ruleConverters/eslint-plugin-rxjs/no-subject-value.ts create mode 100644 src/converters/lintConfigs/rules/ruleConverters/eslint-plugin-rxjs/tests/no-subject-value.test.ts diff --git a/src/converters/lintConfigs/rules/ruleConverters.ts b/src/converters/lintConfigs/rules/ruleConverters.ts index 40c1f9c32..9761a3dd6 100644 --- a/src/converters/lintConfigs/rules/ruleConverters.ts +++ b/src/converters/lintConfigs/rules/ruleConverters.ts @@ -183,6 +183,7 @@ import { convertJsxWrapMultiline } from "./ruleConverters/eslint-plugin-react/js //eslint-plugin-rxjs converters import { convertNoAsyncSubscribe } from "./ruleConverters/eslint-plugin-rxjs/no-async-subscribe"; +import { convertNoSubjectValue } from "./ruleConverters/eslint-plugin-rxjs/no-subject-value"; /** * 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-subject-value", convertNoSubjectValue], // 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-subject-value.ts b/src/converters/lintConfigs/rules/ruleConverters/eslint-plugin-rxjs/no-subject-value.ts new file mode 100644 index 000000000..446370ef7 --- /dev/null +++ b/src/converters/lintConfigs/rules/ruleConverters/eslint-plugin-rxjs/no-subject-value.ts @@ -0,0 +1,12 @@ +import { RuleConverter } from "../../ruleConverter"; + +export const convertNoSubjectValue: RuleConverter = () => { + return { + rules: [ + { + ruleName: "rxjs/no-subject-value", + }, + ], + plugins: ["eslint-plugin-rxjs"], + }; +}; diff --git a/src/converters/lintConfigs/rules/ruleConverters/eslint-plugin-rxjs/tests/no-subject-value.test.ts b/src/converters/lintConfigs/rules/ruleConverters/eslint-plugin-rxjs/tests/no-subject-value.test.ts new file mode 100644 index 000000000..47edff3e5 --- /dev/null +++ b/src/converters/lintConfigs/rules/ruleConverters/eslint-plugin-rxjs/tests/no-subject-value.test.ts @@ -0,0 +1,18 @@ +import { convertNoSubjectValue } from "../no-subject-value"; + +describe(convertNoSubjectValue, () => { + test("conversion without arguments", () => { + const result = convertNoSubjectValue({ + ruleArguments: [], + }); + + expect(result).toEqual({ + rules: [ + { + ruleName: "rxjs/no-subject-value", + }, + ], + plugins: ["eslint-plugin-rxjs"], + }); + }); +}); From 21fe7f92724743914c8902669c4eda92f388c1cd Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Sun, 8 Nov 2020 12:01:43 -0500 Subject: [PATCH 2/2] Missing imports post merge --- src/converters/lintConfigs/rules/ruleConverters.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/converters/lintConfigs/rules/ruleConverters.ts b/src/converters/lintConfigs/rules/ruleConverters.ts index c176939e0..6cff59b6e 100644 --- a/src/converters/lintConfigs/rules/ruleConverters.ts +++ b/src/converters/lintConfigs/rules/ruleConverters.ts @@ -186,12 +186,14 @@ import { convertJsxWrapMultiline } from "./ruleConverters/eslint-plugin-react/js // eslint-plugin-rxjs converters import { convertNoAsyncSubscribe } from "./ruleConverters/eslint-plugin-rxjs/no-async-subscribe"; import { convertNoCreate } from "./ruleConverters/eslint-plugin-rxjs/no-create"; +import { convertNoIgnoredNotifier } from "./ruleConverters/eslint-plugin-rxjs/no-ignored-notifier"; import { convertNoIgnoredReplayBuffer } from "./ruleConverters/eslint-plugin-rxjs/no-ignored-replay-buffer"; import { convertNoIgnoredTakeWhileValue } from "./ruleConverters/eslint-plugin-rxjs/no-ignored-takewhile-value"; import { convertNoInternal } from "./ruleConverters/eslint-plugin-rxjs/no-internal"; import { convertNoNestedSubscribe } from "./ruleConverters/eslint-plugin-rxjs/no-nested-subscribe"; import { convertNoRedundantNotify } from "./ruleConverters/eslint-plugin-rxjs/no-redundant-notify"; import { convertNoShareReplay } from "./ruleConverters/eslint-plugin-rxjs/no-sharereplay"; +import { convertNoSubjectValue } from "./ruleConverters/eslint-plugin-rxjs/no-subject-value"; import { convertNoUnboundMethods } from "./ruleConverters/eslint-plugin-rxjs/no-unbound-methods"; import { convertNoUnsafeSubjectNext } from "./ruleConverters/eslint-plugin-rxjs/no-unsafe-subject-next";