.eslintcache
20.7 KB
[{"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/index.js":"1","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/serviceWorker.js":"2","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/App.js":"3","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/user.js":"4","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/index.js":"5","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/pages/SettingPage.js":"6","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/pages/HomePage.js":"7","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/pages/RegisterPage.js":"8","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/pages/LoginPage.js":"9","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/api/auth.js":"10","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/createRequestSaga.js":"11","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/auth.js":"12","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/loading.js":"13","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/profile.js":"14","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/api/client.js":"15","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/home/HomeContainer.js":"16","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/auth/LoginForm.js":"17","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/setting/SettingContainer.js":"18","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/common/HeaderContainer.js":"19","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/auth/RegisterForm.js":"20","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/auth/AuthTemplate.js":"21","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/api/profile.js":"22","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/auth/AuthForm.js":"23","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/home/HomeForm.js":"24","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/common/Header.js":"25","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/SettingForm.js":"26","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/styles/palette.js":"27","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/common/Button.js":"28","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/SlackForm.js":"29","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/GoalNumForm.js":"30","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/KakaoLogin.js":"31","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/BJIDForm.js":"32","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/common/Categories.js":"33","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/common/Responsive.js":"34","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/scripts/getRecommend.js":"35"},{"size":1335,"mtime":1607445627213,"results":"36","hashOfConfig":"37"},{"size":5086,"mtime":1607445627213,"results":"38","hashOfConfig":"37"},{"size":578,"mtime":1607445627213,"results":"39","hashOfConfig":"37"},{"size":1630,"mtime":1607445627213,"results":"40","hashOfConfig":"37"},{"size":445,"mtime":1607445627213,"results":"41","hashOfConfig":"37"},{"size":334,"mtime":1607445627213,"results":"42","hashOfConfig":"37"},{"size":299,"mtime":1607445627213,"results":"43","hashOfConfig":"37"},{"size":304,"mtime":1607445627213,"results":"44","hashOfConfig":"37"},{"size":286,"mtime":1607445627213,"results":"45","hashOfConfig":"37"},{"size":486,"mtime":1607477932790,"results":"46","hashOfConfig":"37"},{"size":791,"mtime":1607445627213,"results":"47","hashOfConfig":"37"},{"size":2207,"mtime":1607445627213,"results":"48","hashOfConfig":"37"},{"size":657,"mtime":1607445627213,"results":"49","hashOfConfig":"37"},{"size":4307,"mtime":1607445627213,"results":"50","hashOfConfig":"37"},{"size":81,"mtime":1607445627213,"results":"51","hashOfConfig":"37"},{"size":1108,"mtime":1607445627213,"results":"52","hashOfConfig":"37"},{"size":1772,"mtime":1607445627213,"results":"53","hashOfConfig":"37"},{"size":2425,"mtime":1607445627213,"results":"54","hashOfConfig":"37"},{"size":461,"mtime":1607445627213,"results":"55","hashOfConfig":"37"},{"size":2328,"mtime":1607445627213,"results":"56","hashOfConfig":"37"},{"size":998,"mtime":1607445627213,"results":"57","hashOfConfig":"37"},{"size":462,"mtime":1607445627213,"results":"58","hashOfConfig":"37"},{"size":2366,"mtime":1607445627213,"results":"59","hashOfConfig":"37"},{"size":3233,"mtime":1607448407782,"results":"60","hashOfConfig":"37"},{"size":1505,"mtime":1607445627213,"results":"61","hashOfConfig":"37"},{"size":2602,"mtime":1607477932790,"results":"62","hashOfConfig":"37"},{"size":423,"mtime":1607445627213,"results":"63","hashOfConfig":"37"},{"size":1028,"mtime":1607445627213,"results":"64","hashOfConfig":"37"},{"size":950,"mtime":1607445627213,"results":"65","hashOfConfig":"37"},{"size":996,"mtime":1607445627213,"results":"66","hashOfConfig":"37"},{"size":611,"mtime":1607477932790,"results":"67","hashOfConfig":"37"},{"size":1095,"mtime":1607445627213,"results":"68","hashOfConfig":"37"},{"size":1162,"mtime":1607445627213,"results":"69","hashOfConfig":"37"},{"size":438,"mtime":1607445627213,"results":"70","hashOfConfig":"37"},{"size":932,"mtime":1607477932790,"results":"71","hashOfConfig":"37"},{"filePath":"72","messages":"73","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},"hwvb7u",{"filePath":"75","messages":"76","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"77","messages":"78","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"79","messages":"80","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"81","messages":"82","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"83","messages":"84","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"85","messages":"86","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"87","messages":"88","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"89","messages":"90","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"91","messages":"92","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"93","messages":"94","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"95","messages":"96","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"97","messages":"98","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"99","messages":"100","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"101","messages":"102","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"103","messages":"104","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"105","messages":"106","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"107","messages":"108","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"109","usedDeprecatedRules":"74"},{"filePath":"110","messages":"111","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"112","messages":"113","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"114","messages":"115","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"116","messages":"117","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"118","messages":"119","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"120","messages":"121","errorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"122","usedDeprecatedRules":"74"},{"filePath":"123","messages":"124","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"125","messages":"126","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"127","messages":"128","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"129","messages":"130","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"131","messages":"132","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"133","messages":"134","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"135","messages":"136","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"137","usedDeprecatedRules":"74"},{"filePath":"138","messages":"139","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"140","messages":"141","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"142","messages":"143","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"144","messages":"145","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/index.js",[],["146","147"],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/serviceWorker.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/App.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/user.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/index.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/pages/SettingPage.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/pages/HomePage.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/pages/RegisterPage.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/pages/LoginPage.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/api/auth.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/createRequestSaga.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/auth.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/loading.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/profile.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/api/client.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/home/HomeContainer.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/auth/LoginForm.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/setting/SettingContainer.js",["148"],"import React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { withRouter } from 'react-router-dom';\nimport {\n changeField,\n setBJID,\n getPROFILE,\n syncBJID,\n initializeProfile,\n setSLACK,\n setGOALNUM,\n} from '../../modules/profile';\nimport SettingForm from '../../components/setting/SettingForm';\n\nconst SettingContainer = ({ history }) => {\n const [isLoading, setLoading] = useState(false);\n\n const dispatch = useDispatch();\n const { user, profile, loading } = useSelector(\n ({ user, profile, loading }) => ({\n user: user.user,\n profile: profile,\n loading: loading,\n }),\n );\n\n const onChange = (e) => {\n const { value, name } = e.target;\n dispatch(\n changeField({\n key: name,\n value: value,\n }),\n );\n };\n\n const onSyncBJIDSubmit = (e) => {\n e.preventDefault();\n let username = profile.username;\n dispatch(syncBJID({ username }));\n };\n\n const onGoalNumSubmit = (e) => {\n e.preventDefault();\n let username = profile.username;\n let goalNum = profile.goalNum;\n dispatch(setGOALNUM({ username, goalNum }));\n };\n const onSlackURLSubmit = (e) => {\n e.preventDefault();\n let username = profile.username;\n let slackWebHookURL = profile.slackWebHookURL;\n dispatch(setSLACK({ username, slackWebHookURL }));\n };\n\n const onBJIDSubmit = (e) => {\n e.preventDefault();\n let username = profile.username;\n let userBJID = profile.userBJID;\n\n dispatch(setBJID({ username, userBJID }));\n };\n\n useEffect(() => {\n if (!user) {\n alert('로그인이 필요합니다 ');\n history.push('/login');\n } else {\n let username = user.username;\n dispatch(getPROFILE({ username }));\n return () => {\n dispatch(initializeProfile());\n };\n }\n }, [dispatch, user, history]);\n useEffect(() => {\n if (loading['profile/SYNC_BJID'] == true) {\n setLoading(true);\n } else {\n setLoading(false);\n }\n }, [dispatch, loading]);\n\n return (\n <div>\n <SettingForm\n type=\"setting\"\n onChange={onChange}\n onBJIDSubmit={onBJIDSubmit}\n onSyncBJIDSubmit={onSyncBJIDSubmit}\n onSlackURLSubmit={onSlackURLSubmit}\n onGoalNumSubmit={onGoalNumSubmit}\n profile={profile}\n isLoading={isLoading}\n ></SettingForm>\n </div>\n );\n};\n\nexport default withRouter(SettingContainer);\n","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/common/HeaderContainer.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/auth/RegisterForm.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/auth/AuthTemplate.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/api/profile.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/auth/AuthForm.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/home/HomeForm.js",["149","150","151","152","153","154","155"],"import React from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Paper from '@material-ui/core/Paper';\nimport Grid from '@material-ui/core/Grid';\nimport palette from '../../lib/styles/palette';\nimport AuthForm from '../auth/AuthForm';\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n background: palette.gray[2],\n padding: theme.spacing(8),\n },\n paper: {\n padding: theme.spacing(8),\n margin: 'auto',\n textAlign: 'center',\n color: theme.palette.text.secondary,\n },\n}));\nconst HomeForm = ({ PSdata, goalNum }) => {\n const classes = useStyles();\n return PSdata ? (\n <div className={classes.root}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <Paper className={classes.paper}>\n <h1>{PSdata.recommend_data.problem_number}</h1>\n <h1>{PSdata.recommend_data.problem_title}</h1>\n <a\n href={'http://www.boj.kr/' + PSdata.recommend_data.problem_number}\n >\n 바로가기\n </a>\n\n <h3>오늘의 추천 문제</h3>\n </Paper>\n </Grid>\n <Grid item xs={6}>\n <Paper className={classes.paper}>\n <h1>{PSdata.presentNum + '/' + goalNum}</h1>\n <h3>오늘 푼 문제</h3>\n </Paper>\n </Grid>\n <Grid item xs={6}>\n <Paper className={classes.paper}>\n <h1>{PSdata.latestSolve.problem_number}</h1>\n <h1>{PSdata.latestSolve.problem_title}</h1>\n <h3>마지막으로 푼 문제</h3>\n </Paper>\n </Grid>\n\n <Grid item xs={4}>\n <Paper className={classes.paper}>\n <h1>{PSdata.weekNum}</h1>\n <h3>7일</h3>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper className={classes.paper}>\n <h1>{PSdata.monthNum}</h1>\n <h3>30일</h3>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper className={classes.paper}>\n <h1>{PSdata.totalNum}</h1>\n <h3>전체</h3>\n </Paper>\n </Grid>\n </Grid>\n </div>\n ) : (\n <div className={classes.root}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <Paper className={classes.paper}>\n <h1></h1>\n <h3>오늘의 추천 문제</h3>\n </Paper>\n </Grid>\n <Grid item xs={6}>\n <Paper className={classes.paper}>\n <h1></h1>\n <h3>오늘</h3>\n </Paper>\n </Grid>\n <Grid item xs={6}>\n <Paper className={classes.paper}>\n <h1></h1>\n <h3>마지막 날</h3>\n </Paper>\n </Grid>\n\n <Grid item xs={4}>\n <Paper className={classes.paper}>\n <h1></h1>\n <h3>7일</h3>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper className={classes.paper}>\n <h1></h1>\n <h3>30일</h3>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper className={classes.paper}>\n <h1></h1>\n <h3>전체</h3>\n </Paper>\n </Grid>\n </Grid>\n </div>\n );\n};\n\nexport default HomeForm;\n","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/common/Header.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/SettingForm.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/styles/palette.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/common/Button.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/SlackForm.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/GoalNumForm.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/KakaoLogin.js",["156","157"],"import React from 'react';\nimport getRecommend from \"../../scripts/getRecommend\";\n\nconst KakaoLoginBtn = () => {\n const KakaoLogin = function () {\n window.Kakao.Auth.login({\n success: getRecommend,\n fail: function (err) {\n console.log(\"login failed\", err);\n }\n })\n }\n return (\n <div>\n <button onClick={KakaoLogin}\n a id=\"custom-login-btn\" href=\"javascript:loginWithKakao()\">\n <img\n src=\"//k.kakaocdn.net/14/dn/btqCn0WEmI3/nijroPfbpCa4at5EIsjyf0/o.jpg\"\n width=\"140\"\n />\n </button>\n </div>\n );\n};\n\nexport default KakaoLoginBtn","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/BJIDForm.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/common/Categories.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/common/Responsive.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/scripts/getRecommend.js",[],{"ruleId":"158","replacedBy":"159"},{"ruleId":"160","replacedBy":"161"},{"ruleId":"162","severity":1,"message":"163","line":78,"column":38,"nodeType":"164","messageId":"165","endLine":78,"endColumn":40},{"ruleId":"166","severity":1,"message":"167","line":6,"column":8,"nodeType":"168","messageId":"169","endLine":6,"endColumn":16},{"ruleId":"170","severity":1,"message":"171","line":77,"column":13,"nodeType":"172","endLine":77,"endColumn":17},{"ruleId":"170","severity":1,"message":"171","line":83,"column":13,"nodeType":"172","endLine":83,"endColumn":17},{"ruleId":"170","severity":1,"message":"171","line":89,"column":13,"nodeType":"172","endLine":89,"endColumn":17},{"ruleId":"170","severity":1,"message":"171","line":96,"column":13,"nodeType":"172","endLine":96,"endColumn":17},{"ruleId":"170","severity":1,"message":"171","line":102,"column":13,"nodeType":"172","endLine":102,"endColumn":17},{"ruleId":"170","severity":1,"message":"171","line":108,"column":13,"nodeType":"172","endLine":108,"endColumn":17},{"ruleId":"173","severity":1,"message":"174","line":16,"column":38,"nodeType":"175","messageId":"176","endLine":16,"endColumn":67},{"ruleId":"177","severity":1,"message":"178","line":17,"column":9,"nodeType":"172","endLine":20,"endColumn":11},"no-native-reassign",["179"],"no-negated-in-lhs",["180"],"eqeqeq","Expected '===' and instead saw '=='.","BinaryExpression","unexpected","no-unused-vars","'AuthForm' is defined but never used.","Identifier","unusedVar","jsx-a11y/heading-has-content","Headings must have content and the content must be accessible by a screen reader.","JSXOpeningElement","no-script-url","Script URL is a form of eval.","Literal","unexpectedScriptURL","jsx-a11y/alt-text","img elements must have an alt prop, either with meaningful text, or an empty string for decorative images.","no-global-assign","no-unsafe-negation"]