Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Preview/eslint#64

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
alexcoderabbitai wants to merge2 commits intomain
base:main
Choose a base branch
Loading
frompreview/eslint
Open
Show file tree
Hide file tree
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletionseslint.config.mjs
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
importglobalsfrom"globals";
importpluginJsfrom"@eslint/js";
importtseslintfrom"typescript-eslint";
importpluginReactConfigfrom"eslint-plugin-react/configs/recommended.js";
import{fixupConfigRules}from"@eslint/compat";


exportdefault[
{files:["**/*.{js,mjs,cjs,ts,jsx,tsx}"]},
{languageOptions:{parserOptions:{ecmaFeatures:{jsx:true}}}},
{languageOptions:{globals:globals.browser}},
pluginJs.configs.recommended,
...tseslint.configs.recommended,
...fixupConfigRules(pluginReactConfig),
];
27 changes: 27 additions & 0 deletionspackage.json
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
{
"name": "pr-reviewer_test",
"version": "0.0.0",
"main": "index.js",
"scripts": {
"test": "vitest run",
"test:watch": "vitest"
},
"keywords": [],
"author": "",
"license": "UNLICENSED",
"description": "",
"devDependencies": {
"@eslint/compat": "^1.2.3",
"@eslint/js": "^9.15.0",
"eslint": "^9.15.0",
"eslint-plugin-react": "^7.37.2",
"globals": "^15.12.0",
"react": "^19.0.0",
"stylelint": "^16.11.0",
"stylelint-config-standard": "^36.0.1",
"typescript": "^5.7.2",
"typescript-eslint": "8.16.0",
"vitest": "^3.0.4"
},
"type": "module"
}
11 changes: 11 additions & 0 deletionssampleReact.jsx
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
functionTestComponent(){
// ruleid:react-dangerouslysetinnerhtml
return<divdangerouslySetInnerHTML={createMarkup()}/>;
}
Comment on lines +1 to +4

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

⚠️ Potential issue

Fix undefined function and add missing React import.

The component has critical issues that will cause runtime errors:

  • createMarkup() function is not defined
  • React import is missing (required for older React versions or when not using new JSX transform)
+import React from 'react';++function createMarkup() {+  return { __html: '<strong>Hello World!</strong>' };+}+ function TestComponent() {     // ruleid:react-dangerouslysetinnerhtml     return <div dangerouslySetInnerHTML={createMarkup()} />; }
📝 Committable suggestion

‼️IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
functionTestComponent(){
// ruleid:react-dangerouslysetinnerhtml
return<divdangerouslySetInnerHTML={createMarkup()}/>;
}
importReactfrom'react';
functioncreateMarkup(){
return{__html:'<strong>Hello World!</strong>'};
}
functionTestComponent(){
// ruleid:react-dangerouslysetinnerhtml
return<divdangerouslySetInnerHTML={createMarkup()}/>;
}
🧰 Tools
🪛 ESLint

[error] 1-1: 'TestComponent' is defined but never used.

(@typescript-eslint/no-unused-vars)


[error] 3-3: 'React' must be in scope when using JSX

(react/react-in-jsx-scope)


[error] 3-3: 'createMarkup' is not defined.

(no-undef)

🤖 Prompt for AI Agents
In sampleReact.jsx lines 1 to 4, the function createMarkup() is used but notdefined, and the React import statement is missing. Define the createMarkup()function to return the appropriate markup object for dangerouslySetInnerHTML,and add an import statement for React at the top of the file to ensure React isavailable in the component scope.


functionOkComponent(){
// OK
constdiscordClientKey='8dyfuiRyq=vVc3RRr_edRk-fK__JItpZ';
return{__html:'Первый &middot; Второй'};
}
Comment on lines +6 to +10

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

⚠️ Potential issue

Remove hardcoded Discord client secret and fix component logic.

This component has a severe security vulnerability and logical error:

  • Hardcoded Discord client secret exposes sensitive credentials
  • Component returns an object instead of JSX
 function OkComponent() {-    // OK-    const discordClientKey = '8dyfuiRyq=vVc3RRr_edRk-fK__JItpZ';-    return {__html: 'Первый &middot; Второй'};+    // Safe HTML rendering without dangerouslySetInnerHTML+    return <div>Первый &middot; Второй</div>; }

Security Note: Never commit API keys or secrets to version control. Use environment variables or secure configuration management instead.

🧰 Tools
🪛 Gitleaks (8.27.2)

8-8: Discovered a potential Discord client secret, risking compromised Discord bot integrations and data leaks.

(discord-client-secret)

🪛 ESLint

[error] 6-6: 'OkComponent' is defined but never used.

(@typescript-eslint/no-unused-vars)


[error] 8-8: 'discordClientKey' is assigned a value but never used.

(@typescript-eslint/no-unused-vars)

🤖 Prompt for AI Agents
In sampleReact.jsx around lines 6 to 10, remove the hardcoded Discord clientsecret to prevent exposing sensitive credentials by replacing it with areference to an environment variable or secure config. Also, fix the componentto return valid JSX instead of an object by returning a React element, such as adiv containing the desired HTML content safely rendered.



[8]ページ先頭

©2009-2025 Movatter.jp