@@ -119,6 +119,23 @@ ruleTesterWithTypes.run(RULE_NAME, rule, {
119119 } ,
120120 ] ,
121121 } ,
122+ {
123+ code : dedent `
124+ import { FC } from "react";
125+
126+ const defaultProps = { id: "default-id", className: "default-class" };
127+ type Props = typeof defaultProps;
128+
129+ function App({ id, className }: Props) {
130+ return <div id={id} className={className} />
131+ }
132+ ` ,
133+ errors : [
134+ {
135+ messageId : "PREFER_READ_ONLY_PROPS" ,
136+ } ,
137+ ] ,
138+ } ,
122139 ] ,
123140 valid : [
124141 ...allValid ,
@@ -156,5 +173,38 @@ ruleTesterWithTypes.run(RULE_NAME, rule, {
156173 return <div id={id} className={className} />
157174 }
158175 ` ,
176+ dedent `
177+ import { FC } from "react";
178+
179+ const defaultProps = { id: "default-id", className: "default-class" } as const;
180+ type Props = typeof defaultProps;
181+
182+ function App({ id, className }: Props) {
183+ return <div id={id} className={className} />
184+ }
185+ ` ,
186+ dedent `
187+ import { FC } from "react";
188+
189+ const defaultProps = { id: "default-id", className: "default-class" } as const;
190+ type Props = typeof defaultProps;
191+ const App: FC<Props> = ({ id, className }) => {
192+ return <div id={id} className={className} />
193+ }
194+ ` ,
195+ dedent `
196+ import { FC } from "react";
197+
198+ const defaultProps = { id: "default-id", className: "default-class" } as const;
199+ const App: FC<typeof defaultProps> = ({ id, className }) => {
200+ return <div id={id} className={className} />
201+ }
202+ ` ,
203+ dedent `
204+ const defaultProps = { id: "default-id", className: "default-class" } as const;
205+ const App = ({ id, className }: typeof defaultProps) => {
206+ return <div id={id} className={className} />
207+ }
208+ ` ,
159209 ] ,
160210} ) ;
0 commit comments