Chore(front): Create a custom eslint rule for Props naming (#1904)

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Matheus <matheus_benini@hotmail.com>
Co-authored-by: bosiraphael <raphael.bosi@gmail.com>
This commit is contained in:
gitstart-twenty
2023-10-09 17:31:13 +03:00
committed by GitHub
parent 84ed9edefe
commit 77a1840611
170 changed files with 700 additions and 342 deletions

View File

@ -0,0 +1,47 @@
import { RuleTester } from "@typescript-eslint/rule-tester";
import componentPropsNamingRule from "../rules/component-props-naming";
const ruleTester = new RuleTester({
parser: "@typescript-eslint/parser",
parserOptions: {
project: "./tsconfig.json",
tsconfigRootDir: __dirname,
ecmaFeatures: {
jsx: true,
},
},
});
ruleTester.run("component-props-naming", componentPropsNamingRule, {
valid: [
{
code: "export const MyComponent= (props: MyComponentProps) => <div>{props.message}</div>;",
},
{
code: "export const MyComponent = ({ message }: MyComponentProps) => <div>{message}</div>;",
},
],
invalid: [
{
code: "export const MyComponent = (props: OwnProps) => <div>{props.message}</div>;",
errors: [
{
messageId: "invalidPropsTypeName",
},
],
output:
"export const MyComponent = (props: MyComponentProps) => <div>{props.message}</div>;",
},
{
code: "export const MyComponent = ({ message }: OwnProps) => <div>{message}</div>;",
errors: [
{
messageId: "invalidPropsTypeName",
},
],
output:
"export const MyComponent = ({ message }: MyComponentProps) => <div>{message}</div>;",
},
],
});