Add React eslint & update depencenies (#3090)
Co-authored-by: Nuckyz <61953774+Nuckyz@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									16a1c44947
								
							
						
					
					
						commit
						7be3a40b7c
					
				
					 56 changed files with 2025 additions and 1529 deletions
				
			
		|  | @ -16,7 +16,7 @@ | |||
|  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 | ||||
| */ | ||||
| 
 | ||||
| export function Badge({ text, color }): JSX.Element { | ||||
| export function Badge({ text, color }) { | ||||
|     return ( | ||||
|         <div className="vc-plugins-badge" style={{ | ||||
|             backgroundColor: color, | ||||
|  |  | |||
|  | @ -80,11 +80,14 @@ const ErrorBoundary = LazyComponent(() => { | |||
|             if (this.props.noop) return null; | ||||
| 
 | ||||
|             if (this.props.fallback) | ||||
|                 return <this.props.fallback | ||||
|                     wrappedProps={this.props.wrappedProps} | ||||
|                     children={this.props.children} | ||||
|                     {...this.state} | ||||
|                 />; | ||||
|                 return ( | ||||
|                     <this.props.fallback | ||||
|                         wrappedProps={this.props.wrappedProps} | ||||
|                         {...this.state} | ||||
|                     > | ||||
|                         {this.props.children} | ||||
|                     </this.props.fallback> | ||||
|                 ); | ||||
| 
 | ||||
|             const msg = this.props.message || "An error occurred while rendering this Component. More info can be found below and in your console."; | ||||
| 
 | ||||
|  |  | |||
|  | @ -4,7 +4,7 @@ | |||
|  * SPDX-License-Identifier: GPL-3.0-or-later | ||||
|  */ | ||||
| 
 | ||||
| import { CSSProperties } from "react"; | ||||
| import { CSSProperties, JSX } from "react"; | ||||
| 
 | ||||
| interface Props { | ||||
|     columns: number; | ||||
|  |  | |||
|  | @ -27,7 +27,7 @@ export function Heart() { | |||
|         > | ||||
|             <path | ||||
|                 fill="#db61a2" | ||||
|                 fill-rule="evenodd" | ||||
|                 fillRule="evenodd" | ||||
|                 d="M4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.565 20.565 0 008 13.393a20.561 20.561 0 003.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.75.75 0 01-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5zM8 14.25l-.345.666-.002-.001-.006-.003-.018-.01a7.643 7.643 0 01-.31-.17 22.075 22.075 0 01-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.08 22.08 0 01-3.744 2.584l-.018.01-.006.003h-.002L8 14.25zm0 0l.345.666a.752.752 0 01-.69 0L8 14.25z" | ||||
|             /> | ||||
|         </svg> | ||||
|  |  | |||
|  | @ -20,7 +20,7 @@ import "./iconStyles.css"; | |||
| 
 | ||||
| import { getIntlMessage } from "@utils/discord"; | ||||
| import { classes } from "@utils/misc"; | ||||
| import type { PropsWithChildren } from "react"; | ||||
| import type { JSX, PropsWithChildren } from "react"; | ||||
| 
 | ||||
| interface BaseIconProps extends IconProps { | ||||
|     viewBox: string; | ||||
|  | @ -55,7 +55,7 @@ export function LinkIcon({ height = 24, width = 24, className }: IconProps) { | |||
|             className={classes(className, "vc-link-icon")} | ||||
|             viewBox="0 0 24 24" | ||||
|         > | ||||
|             <g fill="none" fill-rule="evenodd"> | ||||
|             <g fill="none" fillRule="evenodd"> | ||||
|                 <path fill="currentColor" d="M10.59 13.41c.41.39.41 1.03 0 1.42-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0 5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.982 2.982 0 0 0 0-4.24 2.982 2.982 0 0 0-4.24 0l-3.53 3.53a2.982 2.982 0 0 0 0 4.24zm2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0 5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.982 2.982 0 0 0 0 4.24 2.982 2.982 0 0 0 4.24 0l3.53-3.53a2.982 2.982 0 0 0 0-4.24.973.973 0 0 1 0-1.42z" /> | ||||
|                 <rect width={width} height={height} /> | ||||
|             </g> | ||||
|  | @ -122,8 +122,8 @@ export function InfoIcon(props: IconProps) { | |||
|         > | ||||
|             <path | ||||
|                 fill="currentColor" | ||||
|                 fill-rule="evenodd" | ||||
|                 d="M23 12a11 11 0 1 1-22 0 11 11 0 0 1 22 0Zm-9.5-4.75a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Zm-.77 3.96a1 1 0 1 0-1.96-.42l-1.04 4.86a2.77 2.77 0 0 0 4.31 2.83l.24-.17a1 1 0 1 0-1.16-1.62l-.24.17a.77.77 0 0 1-1.2-.79l1.05-4.86Z" clip-rule="evenodd" | ||||
|                 fillRule="evenodd" | ||||
|                 d="M23 12a11 11 0 1 1-22 0 11 11 0 0 1 22 0Zm-9.5-4.75a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Zm-.77 3.96a1 1 0 1 0-1.96-.42l-1.04 4.86a2.77 2.77 0 0 0 4.31 2.83l.24-.17a1 1 0 1 0-1.16-1.62l-.24.17a.77.77 0 0 1-1.2-.79l1.05-4.86Z" clipRule="evenodd" | ||||
|             /> | ||||
|         </Icon> | ||||
|     ); | ||||
|  | @ -212,9 +212,9 @@ export function CogWheel(props: IconProps) { | |||
|         > | ||||
|             <path | ||||
|                 fill="currentColor" | ||||
|                 fill-rule="evenodd" | ||||
|                 fillRule="evenodd" | ||||
|                 d="M10.56 1.1c-.46.05-.7.53-.64.98.18 1.16-.19 2.2-.98 2.53-.8.33-1.79-.15-2.49-1.1-.27-.36-.78-.52-1.14-.24-.77.59-1.45 1.27-2.04 2.04-.28.36-.12.87.24 1.14.96.7 1.43 1.7 1.1 2.49-.33.8-1.37 1.16-2.53.98-.45-.07-.93.18-.99.64a11.1 11.1 0 0 0 0 2.88c.06.46.54.7.99.64 1.16-.18 2.2.19 2.53.98.33.8-.14 1.79-1.1 2.49-.36.27-.52.78-.24 1.14.59.77 1.27 1.45 2.04 2.04.36.28.87.12 1.14-.24.7-.95 1.7-1.43 2.49-1.1.8.33 1.16 1.37.98 2.53-.07.45.18.93.64.99a11.1 11.1 0 0 0 2.88 0c.46-.06.7-.54.64-.99-.18-1.16.19-2.2.98-2.53.8-.33 1.79.14 2.49 1.1.27.36.78.52 1.14.24.77-.59 1.45-1.27 2.04-2.04.28-.36.12-.87-.24-1.14-.96-.7-1.43-1.7-1.1-2.49.33-.8 1.37-1.16 2.53-.98.45.07.93-.18.99-.64a11.1 11.1 0 0 0 0-2.88c-.06-.46-.54-.7-.99-.64-1.16.18-2.2-.19-2.53-.98-.33-.8.14-1.79 1.1-2.49.36-.27.52-.78.24-1.14a11.07 11.07 0 0 0-2.04-2.04c-.36-.28-.87-.12-1.14.24-.7.96-1.7 1.43-2.49 1.1-.8-.33-1.16-1.37-.98-2.53.07-.45-.18-.93-.64-.99a11.1 11.1 0 0 0-2.88 0ZM16 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z" | ||||
|                 clip-rule="evenodd" | ||||
|                 clipRule="evenodd" | ||||
|             /> | ||||
|         </Icon> | ||||
|     ); | ||||
|  | @ -262,7 +262,7 @@ export function PlusIcon(props: IconProps) { | |||
|             viewBox="0 0 18 18" | ||||
|         > | ||||
|             <polygon | ||||
|                 fill-rule="nonzero" | ||||
|                 fillRule="nonzero" | ||||
|                 fill="currentColor" | ||||
|                 points="15 10 10 10 10 15 8 15 8 10 3 10 3 8 8 8 8 3 10 3 10 8 15 8" | ||||
|             /> | ||||
|  |  | |||
|  | @ -44,7 +44,7 @@ function ContributorModal({ user }: { user: User; }) { | |||
|     useEffect(() => { | ||||
|         if (!profile && !user.bot && user.id) | ||||
|             fetchUserProfile(user.id); | ||||
|     }, [user.id]); | ||||
|     }, [user.id, user.bot, profile]); | ||||
| 
 | ||||
|     const githubName = profile?.connectedAccounts?.find(a => a.type === "github")?.name; | ||||
|     const website = profile?.connectedAccounts?.find(a => a.type === "domain")?.name; | ||||
|  |  | |||
|  | @ -109,7 +109,7 @@ export default function PluginModal({ plugin, onRestartNeeded, onClose, transiti | |||
|                 setAuthors(a => [...a, author]); | ||||
|             } | ||||
|         })(); | ||||
|     }, []); | ||||
|     }, [plugin.authors]); | ||||
| 
 | ||||
|     async function saveAndClose() { | ||||
|         if (!plugin.options) { | ||||
|  |  | |||
|  | @ -35,6 +35,7 @@ import { useAwaiter } from "@utils/react"; | |||
| import { Plugin } from "@utils/types"; | ||||
| import { findByPropsLazy } from "@webpack"; | ||||
| import { Alerts, Button, Card, Forms, lodash, Parser, React, Select, Text, TextInput, Toasts, Tooltip, useMemo } from "@webpack/common"; | ||||
| import { JSX } from "react"; | ||||
| 
 | ||||
| import Plugins, { ExcludedPlugins } from "~plugins"; | ||||
| 
 | ||||
|  | @ -387,7 +388,7 @@ function makeDependencyList(deps: string[]) { | |||
|     return ( | ||||
|         <React.Fragment> | ||||
|             <Forms.FormText>This plugin is required by:</Forms.FormText> | ||||
|             {deps.map((dep: string) => <Forms.FormText className={cl("dep-text")}>{dep}</Forms.FormText>)} | ||||
|             {deps.map((dep: string) => <Forms.FormText key={dep} className={cl("dep-text")}>{dep}</Forms.FormText>)} | ||||
|         </React.Fragment> | ||||
|     ); | ||||
| } | ||||
|  |  | |||
|  | @ -111,9 +111,9 @@ function ReplacementComponent({ module, match, replacement, setReplacementError | |||
|     } | ||||
| 
 | ||||
|     function renderDiff() { | ||||
|         return diff?.map(p => { | ||||
|         return diff?.map((p, idx) => { | ||||
|             const color = p.added ? "lime" : p.removed ? "red" : "grey"; | ||||
|             return <div style={{ color, userSelect: "text", wordBreak: "break-all", lineBreak: "anywhere" }}>{p.value}</div>; | ||||
|             return <div key={idx} style={{ color, userSelect: "text", wordBreak: "break-all", lineBreak: "anywhere" }}>{p.value}</div>; | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -61,7 +61,7 @@ function withDispatcher(dispatcher: React.Dispatch<React.SetStateAction<boolean> | |||
|                 title: "Oops!", | ||||
|                 body: ( | ||||
|                     <ErrorCard> | ||||
|                         {err.split("\n").map(line => <div>{Parser.parse(line)}</div>)} | ||||
|                         {err.split("\n").map((line, idx) => <div key={idx}>{Parser.parse(line)}</div>)} | ||||
|                     </ErrorCard> | ||||
|                 ) | ||||
|             }); | ||||
|  | @ -87,7 +87,7 @@ function Changes({ updates, repo, repoPending }: CommonProps & { updates: typeof | |||
|     return ( | ||||
|         <Card style={{ padding: "0 0.5em" }}> | ||||
|             {updates.map(({ hash, author, message }) => ( | ||||
|                 <div style={{ | ||||
|                 <div key={hash} style={{ | ||||
|                     marginTop: "0.5em", | ||||
|                     marginBottom: "0.5em" | ||||
|                 }}> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue