* Fixed color rule * Fixed naming * Fix effect component rule * Deactivated broken rules * Fixed lint * Complete eslint-plugin-twenty work --------- Co-authored-by: Charles Bochet <charles@twenty.com>
86 lines
1.8 KiB
TypeScript
86 lines
1.8 KiB
TypeScript
import { RuleTester } from "@typescript-eslint/rule-tester";
|
|
|
|
import effectComponentsRule from "../rules/effect-components";
|
|
|
|
const ruleTester = new RuleTester({
|
|
parser: "@typescript-eslint/parser",
|
|
parserOptions: {
|
|
project: "./tsconfig.json",
|
|
tsconfigRootDir: __dirname,
|
|
ecmaFeatures: {
|
|
jsx: true,
|
|
},
|
|
},
|
|
});
|
|
|
|
ruleTester.run("effect-components", effectComponentsRule, {
|
|
valid: [
|
|
{
|
|
code: `const TestComponentEffect = () => <></>;`,
|
|
},
|
|
{
|
|
code: `const TestComponent = () => <div></div>;`,
|
|
},
|
|
{
|
|
code: `export const useUpdateEffect = () => null;`,
|
|
},
|
|
{
|
|
code: `export const useUpdateEffect = () => <></>;`,
|
|
},
|
|
{
|
|
code: `const TestComponent = () => <><div></div></>;`,
|
|
},
|
|
{
|
|
code: `const TestComponentEffect = () => null;`,
|
|
},
|
|
{
|
|
code: `const TestComponentEffect = () => {
|
|
useEffect(() => {}, []);
|
|
|
|
return null;
|
|
}`,
|
|
},
|
|
{
|
|
code: `const TestComponentEffect = () => {
|
|
useEffect(() => {}, []);
|
|
|
|
return <></>;
|
|
}`,
|
|
},
|
|
{
|
|
code: `const TestComponentEffect = () => {
|
|
useEffect(() => {}, []);
|
|
|
|
return <></>;
|
|
}`,
|
|
},
|
|
{
|
|
code: `const TestComponentEffect = () => {
|
|
useEffect(() => {}, []);
|
|
|
|
return null;
|
|
}`,
|
|
},
|
|
],
|
|
invalid: [
|
|
{
|
|
code: "const TestComponent = () => <></>;",
|
|
output: "const TestComponentEffect = () => <></>;",
|
|
errors: [
|
|
{
|
|
messageId: "effectSuffix",
|
|
},
|
|
],
|
|
},
|
|
{
|
|
code: "const TestComponentEffect = () => <><div></div></>;",
|
|
output: "const TestComponent = () => <><div></div></>;",
|
|
errors: [
|
|
{
|
|
messageId: "noEffectSuffix",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
});
|