|
2 | 2 | <id>dev.unqueryvet</id> |
3 | 3 | <name>Unqueryvet - SQL Query Linter</name> |
4 | 4 | <version>1.0.0</version> |
5 | | - <vendor email="mirrexone@gmail.com" url="https://github.com/MirrexOne/unqueryvet">unqueryvet</vendor> |
| 5 | + <vendor |
| 6 | + email="mirrexone@gmail.com" |
| 7 | + url="https://github.com/MirrexOne/unqueryvet" |
| 8 | + >unqueryvet</vendor> |
6 | 9 |
|
7 | | - <description><![CDATA[ |
8 | | - <p>Detects SELECT * usage in SQL queries within Go code.</p> |
| 10 | + <description |
| 11 | + ><![CDATA[ |
| 12 | + <p>Go SQL Linter for detecting inconsistency queries in Go code.</p> |
9 | 13 | <ul> |
10 | | - <li>Real-time SELECT * detection in SQL strings</li> |
11 | | - <li>N+1 query detection</li> |
| 14 | + <li>Real-time SELECT * detection (including aliased wildcards and subqueries)</li> |
| 15 | + <li>Detection in string concatenation and format strings (fmt.Sprintf)</li> |
| 16 | + <li>N+1 query detection in loops</li> |
12 | 17 | <li>SQL injection vulnerability scanning</li> |
13 | | - <li>Query complexity analysis</li> |
14 | 18 | <li>Quick fixes for replacing SELECT * with specific columns</li> |
15 | | - <li>Support for popular SQL builders (sqlx, gorm, sqlc, goqu, etc.)</li> |
| 19 | + <li>Support for 12 SQL builders: Squirrel, GORM, SQLx, Ent, PGX, Bun, SQLBoiler, Jet, sqlc, goqu, rel, reform</li> |
| 20 | + <li>Custom rules via DSL configuration</li> |
16 | 21 | </ul> |
17 | 22 | ]]></description> |
18 | 23 |
|
19 | | - <change-notes><![CDATA[ |
| 24 | + <change-notes |
| 25 | + ><![CDATA[ |
20 | 26 | <h3>1.0.0</h3> |
21 | 27 | <ul> |
22 | 28 | <li>Initial release</li> |
23 | | - <li>SELECT * detection in raw SQL and query builders</li> |
24 | | - <li>N+1 query detection</li> |
25 | | - <li>SQL injection scanning</li> |
| 29 | + <li>SELECT * detection in raw SQL, string concatenation, format strings, and 12 SQL builders</li> |
| 30 | + <li>Aliased wildcards (t.*) and subquery detection</li> |
| 31 | + <li>N+1 query detection in loops</li> |
| 32 | + <li>SQL injection vulnerability scanning</li> |
26 | 33 | <li>Quick fix suggestions</li> |
| 34 | + <li>Custom rules via DSL configuration</li> |
27 | 35 | </ul> |
28 | 36 | ]]></change-notes> |
29 | 37 |
|
|
34 | 42 | <!-- External annotator for real-time analysis --> |
35 | 43 | <externalAnnotator |
36 | 44 | language="go" |
37 | | - implementationClass="dev.unqueryvet.UnqueryvetAnnotator"/> |
| 45 | + implementationClass="dev.unqueryvet.UnqueryvetAnnotator" |
| 46 | + /> |
38 | 47 |
|
39 | 48 | <!-- Inspection for batch analysis --> |
40 | 49 | <localInspection |
|
44 | 53 | displayName="SELECT * usage" |
45 | 54 | enabledByDefault="true" |
46 | 55 | level="WARNING" |
47 | | - implementationClass="dev.unqueryvet.SelectStarInspection"/> |
| 56 | + implementationClass="dev.unqueryvet.SelectStarInspection" |
| 57 | + /> |
48 | 58 |
|
49 | 59 | <!-- Tool window for results --> |
50 | 60 | <toolWindow |
51 | 61 | id="unqueryvet" |
52 | 62 | anchor="bottom" |
53 | 63 | factoryClass="dev.unqueryvet.UnqueryvetToolWindowFactory" |
54 | | - icon="/icons/unqueryvet.svg"/> |
| 64 | + icon="/icons/unqueryvet.svg" |
| 65 | + /> |
55 | 66 |
|
56 | 67 | <!-- Settings --> |
57 | 68 | <applicationConfigurable |
58 | 69 | parentId="tools" |
59 | 70 | instance="dev.unqueryvet.UnqueryvetConfigurable" |
60 | 71 | id="dev.unqueryvet.settings" |
61 | | - displayName="unqueryvet"/> |
| 72 | + displayName="unqueryvet" |
| 73 | + /> |
62 | 74 |
|
63 | 75 | <applicationService |
64 | | - serviceImplementation="dev.unqueryvet.UnqueryvetSettings"/> |
| 76 | + serviceImplementation="dev.unqueryvet.UnqueryvetSettings" |
| 77 | + /> |
65 | 78 |
|
66 | 79 | <!-- Intention actions --> |
67 | 80 | <intentionAction> |
|
72 | 85 | </extensions> |
73 | 86 |
|
74 | 87 | <actions> |
75 | | - <group id="UnqueryvetMenu" text="unqueryvet" description="unqueryvet actions"> |
76 | | - <add-to-group group-id="ToolsMenu" anchor="last"/> |
| 88 | + <group |
| 89 | + id="UnqueryvetMenu" |
| 90 | + text="unqueryvet" |
| 91 | + description="unqueryvet actions" |
| 92 | + > |
| 93 | + <add-to-group group-id="ToolsMenu" anchor="last" /> |
77 | 94 |
|
78 | | - <action id="Unqueryvet.RunAnalysis" |
| 95 | + <action |
| 96 | + id="Unqueryvet.RunAnalysis" |
79 | 97 | class="dev.unqueryvet.actions.RunAnalysisAction" |
80 | 98 | text="Run Analysis" |
81 | | - description="Run unqueryvet analysis on current file or project" |
82 | | - icon="/icons/analyze.svg"/> |
| 99 | + description="Run SELECT *, N+1, and SQL injection analysis on current file or project" |
| 100 | + icon="/icons/analyze.svg" |
| 101 | + /> |
83 | 102 |
|
84 | | - <action id="Unqueryvet.FixAll" |
| 103 | + <action |
| 104 | + id="Unqueryvet.FixAll" |
85 | 105 | class="dev.unqueryvet.actions.FixAllAction" |
86 | 106 | text="Fix All SELECT *" |
87 | | - description="Apply all available fixes"/> |
| 107 | + description="Apply all available SELECT * fixes in the current file" |
| 108 | + /> |
88 | 109 | </group> |
89 | 110 | </actions> |
90 | 111 | </idea-plugin> |
0 commit comments