` tag."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "error",
+ "parameters": {
+ "suppressToolId": "XmlWrongRootElement",
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "XML",
+ "index": 3,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "RegExpEmptyAlternationBranch",
+ "shortDescription": {
+ "text": "Empty branch in alternation"
+ },
+ "fullDescription": {
+ "text": "Reports empty branches in a RegExp alternation. An empty branch will only match the empty string, and in most cases that is not what is desired. This inspection will not report a single empty branch at the start or the end of an alternation. Example: '(alpha||bravo)' After the quick-fix is applied: '(alpha|bravo)' New in 2017.2",
+ "markdown": "Reports empty branches in a RegExp alternation. An empty branch will only match the empty string, and in most cases that is not what is desired. This inspection will not report a single empty branch at the start or the end of an alternation.\n\n**Example:**\n\n\n (alpha||bravo)\n\nAfter the quick-fix is applied:\n\n\n (alpha|bravo)\n\nNew in 2017.2"
+ },
+ "defaultConfiguration": {
+ "enabled": true,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "RegExpEmptyAlternationBranch",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "RegExp",
+ "index": 6,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "CheckValidXmlInScriptTagBody",
+ "shortDescription": {
+ "text": "Malformed content of 'script' tag"
+ },
+ "fullDescription": {
+ "text": "Reports contents of 'script' tags that are invalid XML. Example: '' After the quick-fix is applied: ''",
+ "markdown": "Reports contents of `script` tags that are invalid XML. \n\n**Example:**\n\n\n \n\nAfter the quick-fix is applied:\n\n\n \n"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "error",
+ "parameters": {
+ "suppressToolId": "CheckValidXmlInScriptTagBody",
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "HTML",
+ "index": 9,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "Annotator",
+ "shortDescription": {
+ "text": "Annotator"
+ },
+ "fullDescription": {
+ "text": "Reports issues essential to this file (e.g., syntax errors) in the result of a batch code inspection run. These issues are usually always highlighted in the editor and can't be configured, unlike inspections. These options control the scope of checks performed by this inspection: Option \"Report syntax errors\": report parser-related issues. Option \"Report issues from language-specific annotators\": report issues found by annotators configured for the relevant language. See Custom Language Support: Annotators for details. Option \"Report other highlighting problems\": report issues specific to the language of the current file (e.g., type mismatches or unreported exceptions). See Custom Language Support: Highlighting for details.",
+ "markdown": "Reports issues essential to this file (e.g., syntax errors) in the result of a batch code inspection run. These issues are usually always highlighted in the editor and can't be configured, unlike inspections. These options control the scope of checks performed by this inspection:\n\n* Option \"**Report syntax errors**\": report parser-related issues.\n* Option \"**Report issues from language-specific annotators** \": report issues found by annotators configured for the relevant language. See [Custom Language Support: Annotators](https://plugins.jetbrains.com/docs/intellij/annotator.html) for details.\n* Option \"**Report other highlighting problems** \": report issues specific to the language of the current file (e.g., type mismatches or unreported exceptions). See [Custom Language Support: Highlighting](https://plugins.jetbrains.com/docs/intellij/syntax-highlighting-and-error-highlighting.html#semantic-highlighting) for details."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "error",
+ "parameters": {
+ "suppressToolId": "Annotator",
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "General",
+ "index": 10,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "RegExpSuspiciousBackref",
+ "shortDescription": {
+ "text": "Suspicious back reference"
+ },
+ "fullDescription": {
+ "text": "Reports back references that will not be resolvable at runtime. This means that the back reference can never match anything. A back reference will not be resolvable when the group is defined after the back reference, or if the group is defined in a different branch of an alternation. Example of a group defined after its back reference: '\\1(abc)' Example of a group and a back reference in different branches: 'a(b)c|(xy)\\1z' New in 2022.1",
+ "markdown": "Reports back references that will not be resolvable at runtime. This means that the back reference can never match anything. A back reference will not be resolvable when the group is defined after the back reference, or if the group is defined in a different branch of an alternation.\n\n**Example of a group defined after its back reference:**\n\n\n \\1(abc)\n\n**Example of a group and a back reference in different branches:**\n\n\n a(b)c|(xy)\\1z\n\nNew in 2022.1"
+ },
+ "defaultConfiguration": {
+ "enabled": true,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "RegExpSuspiciousBackref",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "RegExp",
+ "index": 6,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "XmlPathReference",
+ "shortDescription": {
+ "text": "Unresolved file reference"
+ },
+ "fullDescription": {
+ "text": "Reports an unresolved file reference in XML.",
+ "markdown": "Reports an unresolved file reference in XML."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "error",
+ "parameters": {
+ "suppressToolId": "XmlPathReference",
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "XML",
+ "index": 3,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "RegExpSingleCharAlternation",
+ "shortDescription": {
+ "text": "Single character alternation"
+ },
+ "fullDescription": {
+ "text": "Reports single char alternation in a RegExp. It is simpler to use a character class instead. This may also provide better matching performance. Example: 'a|b|c|d' After the quick-fix is applied: '[abcd]' New in 2017.1",
+ "markdown": "Reports single char alternation in a RegExp. It is simpler to use a character class instead. This may also provide better matching performance.\n\n**Example:**\n\n\n a|b|c|d\n\nAfter the quick-fix is applied:\n\n\n [abcd]\n\n\nNew in 2017.1"
+ },
+ "defaultConfiguration": {
+ "enabled": true,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "RegExpSingleCharAlternation",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "RegExp",
+ "index": 6,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "RegExpUnnecessaryNonCapturingGroup",
+ "shortDescription": {
+ "text": "Unnecessary non-capturing group"
+ },
+ "fullDescription": {
+ "text": "Reports unnecessary non-capturing groups, which have no influence on the match result. Example: 'Everybody be cool, (?:this) is a robbery!' After the quick-fix is applied: 'Everybody be cool, this is a robbery!' New in 2021.1",
+ "markdown": "Reports unnecessary non-capturing groups, which have no influence on the match result.\n\n**Example:**\n\n\n Everybody be cool, (?:this) is a robbery!\n\nAfter the quick-fix is applied:\n\n\n Everybody be cool, this is a robbery!\n\nNew in 2021.1"
+ },
+ "defaultConfiguration": {
+ "enabled": true,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "RegExpUnnecessaryNonCapturingGroup",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "RegExp",
+ "index": 6,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "TodoComment",
+ "shortDescription": {
+ "text": "TODO comment"
+ },
+ "fullDescription": {
+ "text": "Reports TODO comments in your code. You can configure the format for TODO comments in Settings | Editor | TODO. Enable the Only warn on TODO comments without any details option to only warn on empty TODO comments, that don't provide any description on the task that should be done. Disable to report all TODO comments.",
+ "markdown": "Reports **TODO** comments in your code.\n\nYou can configure the format for **TODO** comments in [Settings \\| Editor \\| TODO](settings://preferences.toDoOptions).\n\nEnable the **Only warn on TODO comments without any details** option to only warn on empty TODO comments, that\ndon't provide any description on the task that should be done. Disable to report all TODO comments."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "TodoComment",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "General",
+ "index": 10,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "HtmlUnknownAttribute",
+ "shortDescription": {
+ "text": "Unknown attribute"
+ },
+ "fullDescription": {
+ "text": "Reports an unknown HTML attribute. Suggests configuring attributes that should not be reported.",
+ "markdown": "Reports an unknown HTML attribute. Suggests configuring attributes that should not be reported."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "HtmlUnknownAttribute",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "HTML",
+ "index": 9,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "CheckTagEmptyBody",
+ "shortDescription": {
+ "text": "Empty element content"
+ },
+ "fullDescription": {
+ "text": "Reports XML elements without contents. Example: '\n \n ' After the quick-fix is applied: '\n \n '",
+ "markdown": "Reports XML elements without contents.\n\n**Example:**\n\n\n \n \n \n\nAfter the quick-fix is applied:\n\n\n \n \n \n"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "CheckTagEmptyBody",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "XML",
+ "index": 3,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "RegExpRedundantEscape",
+ "shortDescription": {
+ "text": "Redundant character escape"
+ },
+ "fullDescription": {
+ "text": "Reports redundant character escape sequences that can be replaced with unescaped characters preserving the meaning. Many escape sequences that are necessary outside of a character class are redundant inside square brackets '[]' of a character class. Although unescaped opening curly braces '{' outside of character classes are allowed in some dialects (JavaScript, Python, and so on), it can cause confusion and make the pattern less portable, because there are dialects that require escaping curly braces as characters. For this reason the inspection does not report escaped opening curly braces. Example: '\\-\\;[\\.]' After the quick-fix is applied: '-;[.]' The Ignore escaped closing brackets '}' and ']' option specifies whether to report '\\}' and '\\]' outside of a character class when they are allowed to be unescaped by the RegExp dialect. New in 2017.3",
+ "markdown": "Reports redundant character escape sequences that can be replaced with unescaped characters preserving the meaning. Many escape sequences that are necessary outside of a character class are redundant inside square brackets `[]` of a character class.\n\n\nAlthough unescaped opening curly braces `{` outside of character classes are allowed in some dialects (JavaScript, Python, and so on),\nit can cause confusion and make the pattern less portable, because there are dialects that require escaping curly braces as characters.\nFor this reason the inspection does not report escaped opening curly braces.\n\n**Example:**\n\n\n \\-\\;[\\.]\n\nAfter the quick-fix is applied:\n\n\n -;[.]\n\n\nThe **Ignore escaped closing brackets '}' and '\\]'** option specifies whether to report `\\}` and `\\]` outside of a character class\nwhen they are allowed to be unescaped by the RegExp dialect.\n\nNew in 2017.3"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "RegExpRedundantEscape",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "RegExp",
+ "index": 6,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "Json5StandardCompliance",
+ "shortDescription": {
+ "text": "Compliance with JSON5 standard"
+ },
+ "fullDescription": {
+ "text": "Reports inconsistency with the language specification in a JSON5 file.",
+ "markdown": "Reports inconsistency with [the language specification](http://json5.org) in a JSON5 file."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "error",
+ "parameters": {
+ "suppressToolId": "Json5StandardCompliance",
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "JSON and JSON5",
+ "index": 5,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "JsonDuplicatePropertyKeys",
+ "shortDescription": {
+ "text": "Duplicate keys in object literals"
+ },
+ "fullDescription": {
+ "text": "Reports a duplicate key in an object literal.",
+ "markdown": "Reports a duplicate key in an object literal."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "JsonDuplicatePropertyKeys",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "JSON and JSON5",
+ "index": 5,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "UnresolvedReference",
+ "shortDescription": {
+ "text": "Unresolved reference"
+ },
+ "fullDescription": {
+ "text": "Reports an unresolved reference to a named pattern ('define') in RELAX-NG files that use XML syntax. Suggests creating the referenced 'define' element.",
+ "markdown": "Reports an unresolved reference to a named pattern (`define`) in RELAX-NG files that use XML syntax. Suggests creating the referenced `define` element."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "error",
+ "parameters": {
+ "suppressToolId": "UnresolvedReference",
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "RELAX NG",
+ "index": 15,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "HtmlMissingClosingTag",
+ "shortDescription": {
+ "text": "Missing closing tag"
+ },
+ "fullDescription": {
+ "text": "Reports an HTML element without a closing tag. Some coding styles require that HTML elements have closing tags even where this is optional. Example: '\n \n Behold!\n \n ' After the quick-fix is applied: '\n
\n Behold!
\n \n '",
+ "markdown": "Reports an HTML element without a closing tag. Some coding styles require that HTML elements have closing tags even where this is optional.\n\n**Example:**\n\n\n \n \n Behold!\n \n \n\nAfter the quick-fix is applied:\n\n\n \n
\n Behold!
\n \n \n"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "note",
+ "parameters": {
+ "suppressToolId": "HtmlMissingClosingTag",
+ "ideaSeverity": "INFORMATION",
+ "qodanaSeverity": "Info"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "HTML",
+ "index": 9,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "RegExpRedundantNestedCharacterClass",
+ "shortDescription": {
+ "text": "Redundant nested character class"
+ },
+ "fullDescription": {
+ "text": "Reports unnecessary nested character classes. Example: '[a-c[x-z]]' After the quick-fix is applied: '[a-cx-z]' New in 2020.2",
+ "markdown": "Reports unnecessary nested character classes.\n\n**Example:**\n\n\n [a-c[x-z]]\n\nAfter the quick-fix is applied:\n\n\n [a-cx-z]\n\nNew in 2020.2"
+ },
+ "defaultConfiguration": {
+ "enabled": true,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "RegExpRedundantNestedCharacterClass",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "RegExp",
+ "index": 6,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "XmlDeprecatedElement",
+ "shortDescription": {
+ "text": "Deprecated symbol"
+ },
+ "fullDescription": {
+ "text": "Reports a deprecated XML element or attribute. Symbols can be marked by XML comment or documentation tag with text 'deprecated'.",
+ "markdown": "Reports a deprecated XML element or attribute.\n\nSymbols can be marked by XML comment or documentation tag with text 'deprecated'."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "XmlDeprecatedElement",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "XML",
+ "index": 3,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "CustomRegExpInspection",
+ "shortDescription": {
+ "text": "Custom RegExp inspection"
+ },
+ "fullDescription": {
+ "text": "Custom Regex Inspection",
+ "markdown": "Custom Regex Inspection"
+ },
+ "defaultConfiguration": {
+ "enabled": true,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "CustomRegExpInspection",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "RegExp",
+ "index": 6,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "IncorrectFormatting",
+ "shortDescription": {
+ "text": "Incorrect formatting"
+ },
+ "fullDescription": {
+ "text": "Reports formatting issues that appear if your code doesn't follow your project's code style settings. This inspection is not compatible with languages that require third-party formatters for code formatting, for example, Go or C with CLangFormat enabled.",
+ "markdown": "Reports formatting issues that appear if your code doesn't\nfollow your project's code style settings.\n\n\nThis inspection is not compatible with languages that require\nthird-party formatters for code formatting, for example, Go or\nC with CLangFormat enabled."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "note",
+ "parameters": {
+ "suppressToolId": "IncorrectFormatting",
+ "ideaSeverity": "WEAK WARNING",
+ "qodanaSeverity": "Moderate"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "General",
+ "index": 10,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "HtmlWrongAttributeValue",
+ "shortDescription": {
+ "text": "Wrong attribute value"
+ },
+ "fullDescription": {
+ "text": "Reports an incorrect HTML attribute value.",
+ "markdown": "Reports an incorrect HTML attribute value."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "HtmlWrongAttributeValue",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "HTML",
+ "index": 9,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "XmlDefaultAttributeValue",
+ "shortDescription": {
+ "text": "Redundant attribute with default value"
+ },
+ "fullDescription": {
+ "text": "Reports a redundant assignment of the default value to an XML attribute.",
+ "markdown": "Reports a redundant assignment of the default value to an XML attribute."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "XmlDefaultAttributeValue",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "XML",
+ "index": 3,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "HtmlExtraClosingTag",
+ "shortDescription": {
+ "text": "Redundant closing tag"
+ },
+ "fullDescription": {
+ "text": "Reports redundant closing tags on empty elements, for example, 'img' or 'br'. Example: '\n \n
\n \n ' After the quick-fix is applied: '\n \n
\n \n '",
+ "markdown": "Reports redundant closing tags on empty elements, for example, `img` or `br`.\n\n**Example:**\n\n\n \n \n
\n \n \n\nAfter the quick-fix is applied:\n\n\n \n \n
\n \n \n"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "HtmlExtraClosingTag",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "HTML",
+ "index": 9,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "RegExpOctalEscape",
+ "shortDescription": {
+ "text": "Octal escape"
+ },
+ "fullDescription": {
+ "text": "Reports octal escapes, which are easily confused with back references. Use hexadecimal escapes to avoid confusion. Example: '\\07' After the quick-fix is applied: '\\x07' New in 2017.1",
+ "markdown": "Reports octal escapes, which are easily confused with back references. Use hexadecimal escapes to avoid confusion.\n\n**Example:**\n\n\n \\07\n\nAfter the quick-fix is applied:\n\n\n \\x07\n\nNew in 2017.1"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "note",
+ "parameters": {
+ "suppressToolId": "RegExpOctalEscape",
+ "ideaSeverity": "INFORMATION",
+ "qodanaSeverity": "Info"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "RegExp",
+ "index": 6,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "HtmlUnknownAnchorTarget",
+ "shortDescription": {
+ "text": "Unresolved fragment in a link"
+ },
+ "fullDescription": {
+ "text": "Reports an unresolved last part of an URL after the '#' sign.",
+ "markdown": "Reports an unresolved last part of an URL after the `#` sign."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "HtmlUnknownAnchorTarget",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "HTML",
+ "index": 9,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "UnusedDefine",
+ "shortDescription": {
+ "text": "Unused define"
+ },
+ "fullDescription": {
+ "text": "Reports an unused named pattern ('define') in a RELAX-NG file (XML or Compact Syntax). 'define' elements that are used through an include in another file are ignored.",
+ "markdown": "Reports an unused named pattern (`define`) in a RELAX-NG file (XML or Compact Syntax). `define` elements that are used through an include in another file are ignored."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "UnusedDefine",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "RELAX NG",
+ "index": 15,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "JsonSchemaCompliance",
+ "shortDescription": {
+ "text": "Compliance with JSON schema"
+ },
+ "fullDescription": {
+ "text": "Reports inconsistence between a JSON file and the JSON schema that is assigned to it.",
+ "markdown": "Reports inconsistence between a JSON file and the [JSON schema](https://json-schema.org) that is assigned to it. "
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "JsonSchemaCompliance",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "JSON and JSON5",
+ "index": 5,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "RegExpUnexpectedAnchor",
+ "shortDescription": {
+ "text": "Begin or end anchor in unexpected position"
+ },
+ "fullDescription": {
+ "text": "Reports '^' or '\\A' anchors not at the beginning of the pattern and '$', '\\Z' or '\\z' anchors not at the end of the pattern. In the wrong position these RegExp anchors prevent the pattern from matching anything. In case of the '^' and '$' anchors, most likely the literal character was meant and the escape forgotten. Example: '(Price $10)' New in 2018.1",
+ "markdown": "Reports `^` or `\\A` anchors not at the beginning of the pattern and `$`, `\\Z` or `\\z` anchors not at the end of the pattern. In the wrong position these RegExp anchors prevent the pattern from matching anything. In case of the `^` and `$` anchors, most likely the literal character was meant and the escape forgotten.\n\n**Example:**\n\n\n (Price $10)\n\n\nNew in 2018.1"
+ },
+ "defaultConfiguration": {
+ "enabled": true,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "RegExpUnexpectedAnchor",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "RegExp",
+ "index": 6,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "EmptyDirectory",
+ "shortDescription": {
+ "text": "Empty directory"
+ },
+ "fullDescription": {
+ "text": "Reports empty directories. Available only from Code | Inspect Code or Code | Analyze Code | Run Inspection by Name and isn't reported in the editor. Use the Only report empty directories located under a source folder option to have only directories under source roots reported.",
+ "markdown": "Reports empty directories.\n\nAvailable only from **Code \\| Inspect Code** or\n**Code \\| Analyze Code \\| Run Inspection by Name** and isn't reported in the editor.\n\nUse the **Only report empty directories located under a source folder** option to have only directories under source\nroots reported."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "EmptyDirectory",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "General",
+ "index": 10,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "RegExpAnonymousGroup",
+ "shortDescription": {
+ "text": "Anonymous capturing group or numeric back reference"
+ },
+ "fullDescription": {
+ "text": "Reports anonymous capturing groups and numeric back references in a RegExp. These are only reported when the RegExp dialect supports named group and named group references. Named groups and named back references improve code readability and are recommended to use instead. When a capture is not needed, matching can be more performant and use less memory by using a non-capturing group, i.e. '(?:xxx)' instead of '(xxx)'. Example: '(\\d\\d\\d\\d)\\1' A better regex pattern could look like this: '(?\\d\\d\\d\\d)\\k' New in 2017.2",
+ "markdown": "Reports anonymous capturing groups and numeric back references in a RegExp. These are only reported when the RegExp dialect supports named group and named group references. Named groups and named back references improve code readability and are recommended to use instead. When a capture is not needed, matching can be more performant and use less memory by using a non-capturing group, i.e. `(?:xxx)` instead of `(xxx)`.\n\n**Example:**\n\n\n (\\d\\d\\d\\d)\\1\n\nA better regex pattern could look like this:\n\n\n (?\\d\\d\\d\\d)\\k\n\nNew in 2017.2"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "RegExpAnonymousGroup",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "RegExp",
+ "index": 6,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "CheckDtdRefs",
+ "shortDescription": {
+ "text": "Unresolved DTD reference"
+ },
+ "fullDescription": {
+ "text": "Reports inconsistency in a DTD-specific reference, for example, in a reference to an XML entity or to a DTD element declaration. Works in DTD an XML files.",
+ "markdown": "Reports inconsistency in a DTD-specific reference, for example, in a reference to an XML entity or to a DTD element declaration. Works in DTD an XML files."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "error",
+ "parameters": {
+ "suppressToolId": "CheckDtdRefs",
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "XML",
+ "index": 3,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "SpellCheckingInspection",
+ "shortDescription": {
+ "text": "Typo"
+ },
+ "fullDescription": {
+ "text": "Reports typos and misspellings in your code, comments, and literals and fixes them with one click.",
+ "markdown": "Reports typos and misspellings in your code, comments, and literals and fixes them with one click."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "note",
+ "parameters": {
+ "suppressToolId": "SpellCheckingInspection",
+ "ideaSeverity": "TYPO",
+ "qodanaSeverity": "Low"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Proofreading",
+ "index": 16,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "CheckXmlFileWithXercesValidator",
+ "shortDescription": {
+ "text": "Failed external validation"
+ },
+ "fullDescription": {
+ "text": "Reports a discrepancy in an XML file with the specified DTD or schema detected by the Xerces validator.",
+ "markdown": "Reports a discrepancy in an XML file with the specified DTD or schema detected by the Xerces validator."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "error",
+ "parameters": {
+ "suppressToolId": "CheckXmlFileWithXercesValidator",
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "XML",
+ "index": 3,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "NonAsciiCharacters",
+ "shortDescription": {
+ "text": "Non-ASCII characters"
+ },
+ "fullDescription": {
+ "text": "Reports code elements that use non-ASCII symbols in an unusual context. Example: Non-ASCII characters used in identifiers, strings, or comments. Identifiers written in different languages, such as 'myСollection' with the letter 'C' written in Cyrillic. Comments or strings containing Unicode symbols, such as long dashes and arrows.",
+ "markdown": "Reports code elements that use non-ASCII symbols in an unusual context.\n\nExample:\n\n* Non-ASCII characters used in identifiers, strings, or comments.\n* Identifiers written in different languages, such as `my`**С**`ollection` with the letter **C** written in Cyrillic.\n* Comments or strings containing Unicode symbols, such as long dashes and arrows."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "NonAsciiCharacters",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Internationalization",
+ "index": 17,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "XmlUnresolvedReference",
+ "shortDescription": {
+ "text": "Unresolved references"
+ },
+ "fullDescription": {
+ "text": "Reports an unresolved references in XML.",
+ "markdown": "Reports an unresolved references in XML."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "error",
+ "parameters": {
+ "suppressToolId": "XmlUnresolvedReference",
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "XML",
+ "index": 3,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "HtmlUnknownTag",
+ "shortDescription": {
+ "text": "Unknown tag"
+ },
+ "fullDescription": {
+ "text": "Reports an unknown HTML tag. Suggests configuring tags that should not be reported.",
+ "markdown": "Reports an unknown HTML tag. Suggests configuring tags that should not be reported."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "HtmlUnknownTag",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "HTML",
+ "index": 9,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "LossyEncoding",
+ "shortDescription": {
+ "text": "Lossy encoding"
+ },
+ "fullDescription": {
+ "text": "Reports characters that cannot be displayed because of the current document encoding. Examples: If you type international characters in a document with the US-ASCII charset, some characters will be lost on save. If you load a UTF-8-encoded file using the ISO-8859-1 one-byte charset, some characters will be displayed incorrectly. You can fix this by changing the file encoding either by specifying the encoding directly in the file, e.g. by editing 'encoding=' attribute in the XML prolog of XML file, or by changing the corresponding options in Settings | Editor | File Encodings.",
+ "markdown": "Reports characters that cannot be displayed because of the current document encoding.\n\nExamples:\n\n* If you type international characters in a document with the **US-ASCII** charset, some characters will be lost on save.\n* If you load a **UTF-8** -encoded file using the **ISO-8859-1** one-byte charset, some characters will be displayed incorrectly.\n\nYou can fix this by changing the file encoding\neither by specifying the encoding directly in the file, e.g. by editing `encoding=` attribute in the XML prolog of XML file,\nor by changing the corresponding options in **Settings \\| Editor \\| File Encodings**."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "LossyEncoding",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Internationalization",
+ "index": 17,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "RegExpEscapedMetaCharacter",
+ "shortDescription": {
+ "text": "Escaped meta character"
+ },
+ "fullDescription": {
+ "text": "Reports escaped meta characters. Some RegExp coding styles specify that meta characters should be placed inside a character class, to make the regular expression easier to understand. This inspection does not warn about the meta character '[', ']' and '^', because those would need additional escaping inside a character class. Example: '\\d+\\.\\d+' After the quick-fix is applied: '\\d+[.]\\d+' New in 2017.1",
+ "markdown": "Reports escaped meta characters. Some RegExp coding styles specify that meta characters should be placed inside a character class, to make the regular expression easier to understand. This inspection does not warn about the meta character `[`, `]` and `^`, because those would need additional escaping inside a character class.\n\n**Example:**\n\n\n \\d+\\.\\d+\n\nAfter the quick-fix is applied:\n\n\n \\d+[.]\\d+\n\nNew in 2017.1"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "note",
+ "parameters": {
+ "suppressToolId": "RegExpEscapedMetaCharacter",
+ "ideaSeverity": "INFORMATION",
+ "qodanaSeverity": "Info"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "RegExp",
+ "index": 6,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "RegExpDuplicateAlternationBranch",
+ "shortDescription": {
+ "text": "Duplicate branch in alternation"
+ },
+ "fullDescription": {
+ "text": "Reports duplicate branches in a RegExp alternation. Duplicate branches slow down matching and obscure the intent of the expression. Example: '(alpha|bravo|charlie|alpha)' After the quick-fix is applied: '(alpha|bravo|charlie)' New in 2017.1",
+ "markdown": "Reports duplicate branches in a RegExp alternation. Duplicate branches slow down matching and obscure the intent of the expression.\n\n**Example:**\n\n\n (alpha|bravo|charlie|alpha)\n\nAfter the quick-fix is applied:\n\n\n (alpha|bravo|charlie)\n\nNew in 2017.1"
+ },
+ "defaultConfiguration": {
+ "enabled": true,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "RegExpDuplicateAlternationBranch",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "RegExp",
+ "index": 6,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "RegExpRepeatedSpace",
+ "shortDescription": {
+ "text": "Consecutive spaces"
+ },
+ "fullDescription": {
+ "text": "Reports multiple consecutive spaces in a RegExp. Because spaces are not visible by default, it can be hard to see how many spaces are required. The RegExp can be made more clear by replacing the consecutive spaces with a single space and a counted quantifier. Example: '( )' After the quick-fix is applied: '( {5})' New in 2017.1",
+ "markdown": "Reports multiple consecutive spaces in a RegExp. Because spaces are not visible by default, it can be hard to see how many spaces are required. The RegExp can be made more clear by replacing the consecutive spaces with a single space and a counted quantifier.\n\n**Example:**\n\n\n ( )\n\nAfter the quick-fix is applied:\n\n\n ( {5})\n\n\nNew in 2017.1"
+ },
+ "defaultConfiguration": {
+ "enabled": true,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "RegExpRepeatedSpace",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "RegExp",
+ "index": 6,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "IgnoreFileDuplicateEntry",
+ "shortDescription": {
+ "text": "Ignore file duplicates"
+ },
+ "fullDescription": {
+ "text": "Reports duplicate entries (patterns) in the ignore file (e.g. .gitignore, .hgignore). Duplicate entries in these files are redundant and can be removed. Example: '# Output directories\n /out/\n /target/\n /out/'",
+ "markdown": "Reports duplicate entries (patterns) in the ignore file (e.g. .gitignore, .hgignore). Duplicate entries in these files are redundant and can be removed.\n\nExample:\n\n\n # Output directories\n /out/\n /target/\n /out/\n"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "IgnoreFileDuplicateEntry",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Version control",
+ "index": 20,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "JsonStandardCompliance",
+ "shortDescription": {
+ "text": "Compliance with JSON standard"
+ },
+ "fullDescription": {
+ "text": "Reports the following discrepancies of a JSON file with the language specification: A line or block comment (configurable). Multiple top-level values (expect for JSON Lines files, configurable for others). A trailing comma in an object or array (configurable). A single quoted string. A property key is a not a double quoted strings. A NaN or Infinity/-Infinity numeric value as a floating point literal (configurable).",
+ "markdown": "Reports the following discrepancies of a JSON file with [the language specification](https://tools.ietf.org/html/rfc7159):\n\n* A line or block comment (configurable).\n* Multiple top-level values (expect for JSON Lines files, configurable for others).\n* A trailing comma in an object or array (configurable).\n* A single quoted string.\n* A property key is a not a double quoted strings.\n* A NaN or Infinity/-Infinity numeric value as a floating point literal (configurable)."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "error",
+ "parameters": {
+ "suppressToolId": "JsonStandardCompliance",
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "JSON and JSON5",
+ "index": 5,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "CheckEmptyScriptTag",
+ "shortDescription": {
+ "text": "Empty tag"
+ },
+ "fullDescription": {
+ "text": "Reports empty tags that do not work in some browsers. Example: '\n \n ' After the quick-fix is applied: '\n \n '",
+ "markdown": "Reports empty tags that do not work in some browsers.\n\n**Example:**\n\n\n \n \n \n\nAfter the quick-fix is applied:\n\n\n \n \n \n"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "CheckEmptyScriptTag",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "HTML",
+ "index": 9,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ }
+ ],
+ "language": "en-US",
+ "contents": [
+ "localizedData",
+ "nonLocalizedData"
+ ],
+ "isComprehensive": false
+ },
+ {
+ "name": "org.jetbrains.plugins.yaml",
+ "version": "241.17890.14",
+ "rules": [
+ {
+ "id": "YAMLRecursiveAlias",
+ "shortDescription": {
+ "text": "Recursive alias"
+ },
+ "fullDescription": {
+ "text": "Reports recursion in YAML aliases. Alias can't be recursive and be used inside the data referenced by a corresponding anchor. Example: 'some_key: &some_anchor\n sub_key1: value1\n sub_key2: *some_anchor'",
+ "markdown": "Reports recursion in YAML aliases.\n\nAlias can't be recursive and be used inside the data referenced by a corresponding anchor.\n\n**Example:**\n\n\n some_key: &some_anchor\n sub_key1: value1\n sub_key2: *some_anchor\n"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "error",
+ "parameters": {
+ "suppressToolId": "YAMLRecursiveAlias",
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "YAML",
+ "index": 4,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "YAMLSchemaValidation",
+ "shortDescription": {
+ "text": "Validation by JSON Schema"
+ },
+ "fullDescription": {
+ "text": "Reports inconsistencies between a YAML file and a JSON Schema if the schema is specified. Scheme example: '{\n \"properties\": {\n \"SomeNumberProperty\": {\n \"type\": \"number\"\n }\n }\n }' The following is an example with the corresponding warning: 'SomeNumberProperty: hello world'",
+ "markdown": "Reports inconsistencies between a YAML file and a JSON Schema if the schema is specified.\n\n**Scheme example:**\n\n\n {\n \"properties\": {\n \"SomeNumberProperty\": {\n \"type\": \"number\"\n }\n }\n }\n\n**The following is an example with the corresponding warning:**\n\n\n SomeNumberProperty: hello world\n"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "YAMLSchemaValidation",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "YAML",
+ "index": 4,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "YAMLIncompatibleTypes",
+ "shortDescription": {
+ "text": "Suspicious type mismatch"
+ },
+ "fullDescription": {
+ "text": "Reports a mismatch between a scalar value type in YAML file and types of the values in the similar positions. Example: 'myElements:\n - value1\n - value2\n - false # <- reported, because it is a boolean value, while other values are strings'",
+ "markdown": "Reports a mismatch between a scalar value type in YAML file and types of the values in the similar positions.\n\n**Example:**\n\n\n myElements:\n - value1\n - value2\n - false # <- reported, because it is a boolean value, while other values are strings\n"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "YAMLIncompatibleTypes",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "YAML",
+ "index": 4,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "YAMLDuplicatedKeys",
+ "shortDescription": {
+ "text": "Duplicated YAML keys"
+ },
+ "fullDescription": {
+ "text": "Reports duplicated keys in YAML files. Example: 'same_key: some value\n same_key: another value'",
+ "markdown": "Reports duplicated keys in YAML files.\n\n**Example:**\n\n\n same_key: some value\n same_key: another value\n"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "error",
+ "parameters": {
+ "suppressToolId": "YAMLDuplicatedKeys",
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "YAML",
+ "index": 4,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "YAMLUnusedAnchor",
+ "shortDescription": {
+ "text": "Unused anchor"
+ },
+ "fullDescription": {
+ "text": "Reports unused anchors. Example: 'some_key: &some_anchor\n key1: value1'",
+ "markdown": "Reports unused anchors.\n\n**Example:**\n\n\n some_key: &some_anchor\n key1: value1\n"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "YAMLUnusedAnchor",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "YAML",
+ "index": 4,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "YAMLUnresolvedAlias",
+ "shortDescription": {
+ "text": "Unresolved alias"
+ },
+ "fullDescription": {
+ "text": "Reports unresolved aliases in YAML files. Example: 'some_key: *unknown_alias'",
+ "markdown": "Reports unresolved aliases in YAML files.\n\n**Example:**\n\n\n some_key: *unknown_alias\n"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "error",
+ "parameters": {
+ "suppressToolId": "YAMLUnresolvedAlias",
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "YAML",
+ "index": 4,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "YAMLSchemaDeprecation",
+ "shortDescription": {
+ "text": "Deprecated YAML key"
+ },
+ "fullDescription": {
+ "text": "Reports deprecated keys in YAML files. Deprecation is checked only if there exists a JSON schema associated with the corresponding YAML file. Note that the deprecation mechanism is not defined in the JSON Schema specification yet, and this inspection uses a non-standard 'deprecationMessage' extension. Scheme deprecation example: '{\n \"properties\": {\n \"SomeDeprecatedProperty\": {\n \"deprecationMessage\": \"Baz\",\n \"description\": \"Foo bar\"\n }\n }\n }' The following is an example with the corresponding warning: 'SomeDeprecatedProperty: some value'",
+ "markdown": "Reports deprecated keys in YAML files.\n\nDeprecation is checked only if there exists a JSON schema associated with the corresponding YAML file.\n\nNote that the deprecation mechanism is not defined in the JSON Schema specification yet,\nand this inspection uses a non-standard `deprecationMessage` extension.\n\n**Scheme deprecation example:**\n\n\n {\n \"properties\": {\n \"SomeDeprecatedProperty\": {\n \"deprecationMessage\": \"Baz\",\n \"description\": \"Foo bar\"\n }\n }\n }\n\n**The following is an example with the corresponding warning:**\n\n\n SomeDeprecatedProperty: some value\n"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "note",
+ "parameters": {
+ "suppressToolId": "YAMLSchemaDeprecation",
+ "ideaSeverity": "WEAK WARNING",
+ "qodanaSeverity": "Moderate"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "YAML",
+ "index": 4,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ }
+ ],
+ "language": "en-US",
+ "contents": [
+ "localizedData",
+ "nonLocalizedData"
+ ],
+ "isComprehensive": false
+ },
+ {
+ "name": "com.intellij.properties",
+ "version": "241.17890.14",
+ "rules": [
+ {
+ "id": "DuplicatePropertyInspection",
+ "shortDescription": {
+ "text": "Duplicate property"
+ },
+ "fullDescription": {
+ "text": "Reports duplicate property keys with different values, duplicate keys, or duplicate property values. Example: 'property1=value;\nproperty2=value;' The Options list allows selecting the area in which the inspection should search for duplicates.",
+ "markdown": "Reports duplicate property keys with different values, duplicate keys, or duplicate property values.\n\nExample:\n\n\n property1=value;\n property2=value;\n\nThe **Options** list allows selecting the area in which the inspection should search for duplicates."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "DuplicatePropertyInspection",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Properties files",
+ "index": 7,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "UseEllipsisInPropertyInspection",
+ "shortDescription": {
+ "text": "Three dot characters instead of the ellipsis"
+ },
+ "fullDescription": {
+ "text": "Reports three \"dot\" characters which are used instead of the ellipsis character for UTF-8 properties files.",
+ "markdown": "Reports three \"dot\" characters which are used instead of the ellipsis character for UTF-8 properties files."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "UseEllipsisInPropertyInspection",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Properties files",
+ "index": 7,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "AlphaUnsortedPropertiesFile",
+ "shortDescription": {
+ "text": "Properties file or resource bundle is alphabetically unsorted"
+ },
+ "fullDescription": {
+ "text": "Reports alphabetically unsorted resource bundles or .properties files.",
+ "markdown": "Reports alphabetically unsorted resource bundles or .properties files."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "note",
+ "parameters": {
+ "suppressToolId": "AlphaUnsortedPropertiesFile",
+ "ideaSeverity": "WEAK WARNING",
+ "qodanaSeverity": "Moderate"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Properties files",
+ "index": 7,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "TrailingSpacesInProperty",
+ "shortDescription": {
+ "text": "Trailing spaces in property"
+ },
+ "fullDescription": {
+ "text": "Reports properties whose keys or values end with a whitespace.",
+ "markdown": "Reports properties whose keys or values end with a whitespace."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "TrailingSpacesInProperty",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Properties files",
+ "index": 7,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "UnusedProperty",
+ "shortDescription": {
+ "text": "Unused property"
+ },
+ "fullDescription": {
+ "text": "Reports properties that are not referenced outside of the .properties file they are contained in.",
+ "markdown": "Reports properties that are not referenced outside of the .properties file they are contained in."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "UnusedProperty",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Properties files",
+ "index": 7,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "WrongPropertyKeyValueDelimiter",
+ "shortDescription": {
+ "text": "Property key/value delimiter doesn't match code style settings"
+ },
+ "fullDescription": {
+ "text": "Reports properties in which key or value delimiters do not match code style settings.",
+ "markdown": "Reports properties in which key or value delimiters do not match code style settings."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "note",
+ "parameters": {
+ "suppressToolId": "WrongPropertyKeyValueDelimiter",
+ "ideaSeverity": "WEAK WARNING",
+ "qodanaSeverity": "Moderate"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Properties files",
+ "index": 7,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ }
+ ],
+ "language": "en-US",
+ "contents": [
+ "localizedData",
+ "nonLocalizedData"
+ ],
+ "isComprehensive": false
+ },
+ {
+ "name": "org.intellij.plugins.markdown",
+ "version": "241.17890.14",
+ "rules": [
+ {
+ "id": "MarkdownOutdatedTableOfContents",
+ "shortDescription": {
+ "text": "Outdated table of contents section"
+ },
+ "fullDescription": {
+ "text": "Checks if a particular table of contents section corresponds to the actual structure of the document.",
+ "markdown": "Checks if a particular table of contents section corresponds to the actual structure of the document."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "MarkdownOutdatedTableOfContents",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Markdown",
+ "index": 8,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "MarkdownNoTableBorders",
+ "shortDescription": {
+ "text": "Table doesn't have side borders"
+ },
+ "fullDescription": {
+ "text": "Checks if table has correct side borders. For compatibility reasons all table rows should have borders (pipe symbols) at the start and at the end.",
+ "markdown": "Checks if table has correct side borders. For compatibility reasons all table rows should have borders (pipe symbols) at the start and at the end."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "MarkdownNoTableBorders",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Markdown",
+ "index": 8,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "MarkdownUnresolvedLinkLabel",
+ "shortDescription": {
+ "text": "Unresolved link label"
+ },
+ "fullDescription": {
+ "text": "Reports unresolved link labels in Markdown files.",
+ "markdown": "Reports unresolved link labels in Markdown files."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "MarkdownUnresolvedLinkLabel",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Markdown",
+ "index": 8,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "MarkdownUnresolvedFileReference",
+ "shortDescription": {
+ "text": "Unresolved file references"
+ },
+ "fullDescription": {
+ "text": "Reports unresolved file references in Markdown files.",
+ "markdown": "Reports unresolved file references in Markdown files."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "MarkdownUnresolvedFileReference",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Markdown",
+ "index": 8,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "MarkdownIncorrectTableFormatting",
+ "shortDescription": {
+ "text": "Incorrect table formatting"
+ },
+ "fullDescription": {
+ "text": "Checks if table is correctly formatted.",
+ "markdown": "Checks if table is correctly formatted."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "note",
+ "parameters": {
+ "suppressToolId": "MarkdownIncorrectTableFormatting",
+ "ideaSeverity": "WEAK WARNING",
+ "qodanaSeverity": "Moderate"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Markdown",
+ "index": 8,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "MarkdownIncorrectlyNumberedListItem",
+ "shortDescription": {
+ "text": "Incorrectly numbered list item"
+ },
+ "fullDescription": {
+ "text": "Ordered list items are expected to have straight numeration starting from 1. The motivation behind this is that most of Markdown processors are ignoring the numbering of ordered lists. A processor will generate an '' element for such list, that will number items continuously from 1.",
+ "markdown": "Ordered list items are expected to have straight numeration starting from 1.\n\nThe motivation behind this is that most of Markdown processors are ignoring the numbering of ordered lists. A processor will generate an `` element for such list, that will number items continuously from 1."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "MarkdownIncorrectlyNumberedListItem",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Markdown",
+ "index": 8,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "MarkdownLinkDestinationWithSpaces",
+ "shortDescription": {
+ "text": "Links should not contain spaces"
+ },
+ "fullDescription": {
+ "text": "To ensure consistency between different tools, file links should not contain spaces. Example: '[Some file link](some file.md)' A quick-fix replaces spaces with their url-encoded equivalent: '[Some file link](some%20file.md)'",
+ "markdown": "To ensure consistency between different tools, file links should not contain spaces.\n\n**Example:**\n\n\n [Some file link](some file.md)\n\nA quick-fix replaces spaces with their url-encoded equivalent:\n\n\n [Some file link](some%20file.md)\n"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "MarkdownLinkDestinationWithSpaces",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Markdown",
+ "index": 8,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "MarkdownUnresolvedHeaderReference",
+ "shortDescription": {
+ "text": "Unresolved header reference"
+ },
+ "fullDescription": {
+ "text": "Reports unresolved header references in Markdown files.",
+ "markdown": "Reports unresolved header references in Markdown files."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "MarkdownUnresolvedHeaderReference",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Markdown",
+ "index": 8,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ }
+ ],
+ "language": "en-US",
+ "contents": [
+ "localizedData",
+ "nonLocalizedData"
+ ],
+ "isComprehensive": false
+ },
+ {
+ "name": "org.intellij.qodana",
+ "version": "241.17890.14",
+ "rules": [
+ {
+ "id": "QodanaSanity",
+ "shortDescription": {
+ "text": "Sanity"
+ },
+ "fullDescription": {
+ "text": "Reports issues essential to this file like syntax errors, unresolved methods and variables, etc...",
+ "markdown": "Reports issues essential to this file like syntax errors, unresolved methods and variables, etc..."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "error",
+ "parameters": {
+ "suppressToolId": "QodanaSanity",
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Qodana",
+ "index": 13,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ }
+ ],
+ "language": "en-US",
+ "contents": [
+ "localizedData",
+ "nonLocalizedData"
+ ],
+ "isComprehensive": false
+ },
+ {
+ "name": "org.intellij.intelliLang",
+ "version": "241.17890.14",
+ "rules": [
+ {
+ "id": "InjectedReferences",
+ "shortDescription": {
+ "text": "Injected references"
+ },
+ "fullDescription": {
+ "text": "Reports unresolved references injected by Language Injections. Example: '@Language(\"file-reference\")\n String fileName = \"/home/user/nonexistent.file\"; // highlighted if file doesn't exist'",
+ "markdown": "Reports unresolved references injected by [Language Injections](https://www.jetbrains.com/help/idea/using-language-injections.html).\n\nExample:\n\n\n @Language(\"file-reference\")\n String fileName = \"/home/user/nonexistent.file\"; // highlighted if file doesn't exist\n"
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "error",
+ "parameters": {
+ "suppressToolId": "InjectedReferences",
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "General",
+ "index": 10,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ }
+ ],
+ "language": "en-US",
+ "contents": [
+ "localizedData",
+ "nonLocalizedData"
+ ],
+ "isComprehensive": false
+ },
+ {
+ "name": "org.jetbrains.security.package-checker",
+ "version": "241.17890.14",
+ "rules": [
+ {
+ "id": "PyVulnerableApiCodeInspection",
+ "shortDescription": {
+ "text": "Vulnerable API usage"
+ },
+ "fullDescription": {
+ "text": "Reports usages of Vulnerable APIs of imported dependencies. Fixing the reported problems helps prevent your software from being compromised by an attacker. To solve a problem, you can update to a version where the vulnerability is fixed (if available) or switch to a dependency that doesn't have the vulnerability. Vulnerability data provided by Checkmarx (c).",
+ "markdown": "Reports usages of Vulnerable APIs of imported dependencies.\n\nFixing the reported problems helps prevent your software from being compromised by an attacker.\n\nTo solve a problem, you can update to a version where the vulnerability is fixed (if available) or switch to a dependency that doesn't have the vulnerability.\n\nVulnerability data provided by [Checkmarx](https://checkmarx.com/) (c)."
+ },
+ "defaultConfiguration": {
+ "enabled": true,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "PyVulnerableApiCode",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Python/Security",
+ "index": 14,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "VulnerableLibrariesLocal",
+ "shortDescription": {
+ "text": "Vulnerable declared dependency"
+ },
+ "fullDescription": {
+ "text": "Reports vulnerabilities in Gradle, Maven, NPM and PyPI dependencies declared in your project. A full list of Gradle and Maven dependencies is shown in the Project tool window under External Libraries. Fixing the reported problems helps prevent your software from being compromised by an attacker. To solve a problem, you can update to a version where the vulnerability is fixed (if available) or switch to a dependency that doesn't have the vulnerability. The quick-fixes available may suggest updating to a safe version or visiting the Checkmarx website to learn more about a particular vulnerability. Vulnerability data provided by Checkmarx (c).",
+ "markdown": "Reports vulnerabilities in Gradle, Maven, NPM and PyPI dependencies declared in your project.\nA full list of Gradle and Maven dependencies is shown in the Project tool window under External Libraries.\n\nFixing the reported problems helps prevent your software from being compromised by an attacker.\n\nTo solve a problem, you can update to a version where the vulnerability is fixed (if available) or switch to a dependency that doesn't have the vulnerability.\n\nThe quick-fixes available may suggest updating to a safe version or visiting the Checkmarx website to learn more about a particular vulnerability.\n\nVulnerability data provided by [Checkmarx](https://checkmarx.com/) (c)."
+ },
+ "defaultConfiguration": {
+ "enabled": true,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "VulnerableLibrariesLocal",
+ "cweIds": [
+ 1395
+ ],
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Security",
+ "index": 19,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ }
+ ],
+ "language": "en-US",
+ "contents": [
+ "localizedData",
+ "nonLocalizedData"
+ ],
+ "isComprehensive": false
+ },
+ {
+ "name": "tanvd.grazi",
+ "version": "241.17890.14",
+ "rules": [
+ {
+ "id": "LanguageDetectionInspection",
+ "shortDescription": {
+ "text": "Natural language detection"
+ },
+ "fullDescription": {
+ "text": "Detects natural languages and suggests enabling corresponding grammar and spelling checks.",
+ "markdown": "Detects natural languages and suggests enabling corresponding grammar and spelling checks."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "LanguageDetectionInspection",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Proofreading",
+ "index": 16,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "GrazieInspection",
+ "shortDescription": {
+ "text": "Grammar"
+ },
+ "fullDescription": {
+ "text": "Reports grammar mistakes in your text. You can configure the inspection in Settings | Editor | Natural Languages | Grammar.",
+ "markdown": "Reports grammar mistakes in your text. You can configure the inspection in [Settings \\| Editor \\| Natural Languages \\| Grammar](settings://reference.settingsdialog.project.grazie)."
+ },
+ "defaultConfiguration": {
+ "enabled": false,
+ "level": "note",
+ "parameters": {
+ "suppressToolId": "GrazieInspection",
+ "ideaSeverity": "GRAMMAR_ERROR",
+ "qodanaSeverity": "Info"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "Proofreading",
+ "index": 16,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ }
+ ],
+ "language": "en-US",
+ "contents": [
+ "localizedData",
+ "nonLocalizedData"
+ ],
+ "isComprehensive": false
+ },
+ {
+ "name": "org.toml.lang",
+ "version": "241.17890.14",
+ "rules": [
+ {
+ "id": "TomlUnresolvedReference",
+ "shortDescription": {
+ "text": "Unresolved reference"
+ },
+ "fullDescription": {
+ "text": "Reports unresolved references in TOML files.",
+ "markdown": "Reports unresolved references in TOML files."
+ },
+ "defaultConfiguration": {
+ "enabled": true,
+ "level": "warning",
+ "parameters": {
+ "suppressToolId": "TomlUnresolvedReference",
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ "relationships": [
+ {
+ "target": {
+ "id": "TOML",
+ "index": 18,
+ "toolComponent": {
+ "name": "PC"
+ }
+ },
+ "kinds": [
+ "superset"
+ ]
+ }
+ ]
+ }
+ ],
+ "language": "en-US",
+ "contents": [
+ "localizedData",
+ "nonLocalizedData"
+ ],
+ "isComprehensive": false
+ }
+ ]
+ },
+ "invocations": [
+ {
+ "startTimeUtc": "2024-06-14T21:42:58.2125862Z",
+ "exitCode": 0,
+ "executionSuccessful": true
+ }
+ ],
+ "language": "en-US",
+ "versionControlProvenance": [
+ {
+ "repositoryUri": "https://github.com/Franck1333/FR_Template.git",
+ "revisionId": "2ae8fcbcbab47ae82526cf73d1deb85594385323",
+ "branch": "master",
+ "properties": {
+ "repoUrl": "https://github.com/Franck1333/FR_Template.git",
+ "lastAuthorName": "Franck Rochat",
+ "vcsType": "Git",
+ "lastAuthorEmail": "fun13@live.fr"
+ }
+ }
+ ],
+ "results": [],
+ "automationDetails": {
+ "id": "README.md/qodana/2024-06-14",
+ "guid": "7458125b-153c-4eee-ad14-824cfbc20b33",
+ "properties": {
+ "jobUrl": ""
+ }
+ },
+ "newlineSequences": [
+ "\r\n",
+ "\n"
+ ],
+ "properties": {
+ "qodana.sanity.results": [
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "warning",
+ "message": {
+ "text": "Unused import statement 'import time'",
+ "markdown": "Unused import statement `import time`"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Services/nettoyage_du_cache.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 9,
+ "startColumn": 1,
+ "charOffset": 214,
+ "charLength": 11,
+ "snippet": {
+ "text": "import time"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 7,
+ "startColumn": 1,
+ "charOffset": 197,
+ "charLength": 52,
+ "snippet": {
+ "text": "\r\nimport serial\r\nimport time\r\nimport os\r\nimport sys\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "9e184d77efe18600",
+ "equalIndicator/v1": "1e1c272fd15ec8ffe935d3070962d93f434edf3f8b20be273ef16a363135cf75"
+ },
+ "properties": {
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "warning",
+ "message": {
+ "text": "Unused import statement 'import sys #Blibliotheque permettant l'interaction ...'",
+ "markdown": "Unused import statement `import sys #Blibliotheque permettant l'interaction ...`"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Template_UI/WINDOWS/Tkinter/Interface_Tkinter_Template.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 6,
+ "startColumn": 1,
+ "charOffset": 276,
+ "charLength": 115,
+ "snippet": {
+ "text": "import sys #Blibliotheque permettant l'interaction avec le systeme"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 4,
+ "startColumn": 1,
+ "charOffset": 64,
+ "charLength": 538,
+ "snippet": {
+ "text": "#---------------------------------------Importante LIB---------------------------------------\r\nimport os #Blibliotheque permettant l'interaction avec le systeme\r\nimport sys #Blibliotheque permettant l'interaction avec le systeme\r\nimport datetime #Blibliotheque permettant d'obtenir la date\r\nimport time #Blibliotheque permettant d'obtenir la date\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "0a988ed8a197d6db",
+ "equalIndicator/v1": "23a52fb26b0ebe56cfcdf8235fbbf1bde9bc5c670ff1c9112a94872af31a8f12"
+ },
+ "properties": {
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "warning",
+ "message": {
+ "text": "Unused import statement 'import os #Blibliotheque permettant l'interaction ...'",
+ "markdown": "Unused import statement `import os #Blibliotheque permettant l'interaction ...`"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Template_UI/RASPBIAN/Tkinter/Interface_Tkinter_Template.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 5,
+ "startColumn": 1,
+ "charOffset": 159,
+ "charLength": 115,
+ "snippet": {
+ "text": "import os #Blibliotheque permettant l'interaction avec le systeme"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 3,
+ "startColumn": 1,
+ "charOffset": 48,
+ "charLength": 449,
+ "snippet": {
+ "text": "#ROCHAT_FRANCK\r\n#---------------------------------------Importante LIB---------------------------------------\r\nimport os #Blibliotheque permettant l'interaction avec le systeme\r\nimport sys #Blibliotheque permettant l'interaction avec le systeme\r\nimport datetime #Blibliotheque permettant d'obtenir la date\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "262a942cd254e287",
+ "equalIndicator/v1": "24b29a8c84131546f2f5e231fc4d4e5a0ab5896e8d37f775aa235403815f73b7"
+ },
+ "properties": {
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "warning",
+ "message": {
+ "text": "Unused import statement 'from tkinter.messagebox import * #Blibliotheque permettant d'obtenir les ...'",
+ "markdown": "Unused import statement `from tkinter.messagebox import * #Blibliotheque permettant d'obtenir les ...`"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Template_UI/RASPBIAN/Tkinter/Interface_Tkinter_Template.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 15,
+ "startColumn": 1,
+ "charOffset": 936,
+ "charLength": 127,
+ "snippet": {
+ "text": "from tkinter.messagebox import * #Blibliotheque permettant d'obtenir les boites de dialogues (G.U.I)"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 13,
+ "startColumn": 1,
+ "charOffset": 822,
+ "charLength": 370,
+ "snippet": {
+ "text": "\r\nfrom tkinter import * #Blibliotheque permettant d'obtenir Tkinter(G.U.I)\r\nfrom tkinter.messagebox import * #Blibliotheque permettant d'obtenir les boites de dialogues (G.U.I)\r\nimport tkinter.ttk #Blibliotheque permettant de charger un composant Tkinter(G.U.I)\r\n\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "d5272a3ada969518",
+ "equalIndicator/v1": "308f815f77a240bd0273014488835d67b17e60316b527568049bce15518aa480"
+ },
+ "properties": {
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "error",
+ "message": {
+ "text": "Unresolved reference 'Infos_Hardware'",
+ "markdown": "Unresolved reference 'Infos_Hardware'"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Template_UI/RASPBIAN/Kivy/Interface_Kivy.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 29,
+ "startColumn": 6,
+ "charOffset": 2368,
+ "charLength": 14,
+ "snippet": {
+ "text": "Infos_Hardware"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 27,
+ "startColumn": 1,
+ "charOffset": 2203,
+ "charLength": 519,
+ "snippet": {
+ "text": "\r\nfrom Infos_Hardware import CPU_usage #Obtention de l'utilisation du Processeur par le Systeme d'exploitation et ses programmes autour\r\nfrom Infos_Hardware import CPU_temp #Obtention de la Temperature du Processeur sur la carte mere\r\nfrom Infos_Hardware import SoC_info #Obtention des informations concernant le package CPU+GPU\r\nfrom Infos_Hardware import MEM_info #Obtention de l'utilisation de la Memoire Vive du Systeme\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "d86717802d9e58dd",
+ "equalIndicator/v1": "330e275e993479fa1a733aa70fc4b51f2f2b69b86ec6a00674ba4743b816e8b9"
+ },
+ "properties": {
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "warning",
+ "message": {
+ "text": "Unused import statement 'import tkinter.ttk #Blibliotheque permettant de charger un ...'",
+ "markdown": "Unused import statement `import tkinter.ttk #Blibliotheque permettant de charger un ...`"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Template_UI/RASPBIAN/Tkinter/Interface_Tkinter_Template.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 16,
+ "startColumn": 1,
+ "charOffset": 1065,
+ "charLength": 124,
+ "snippet": {
+ "text": "import tkinter.ttk #Blibliotheque permettant de charger un composant Tkinter(G.U.I)"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 14,
+ "startColumn": 1,
+ "charOffset": 824,
+ "charLength": 483,
+ "snippet": {
+ "text": "from tkinter import * #Blibliotheque permettant d'obtenir Tkinter(G.U.I)\r\nfrom tkinter.messagebox import * #Blibliotheque permettant d'obtenir les boites de dialogues (G.U.I)\r\nimport tkinter.ttk #Blibliotheque permettant de charger un composant Tkinter(G.U.I)\r\n\r\n#from pydub import AudioSegment #Bibliotheque permettant de jouer des Sons et Jingles\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "77bdd5b4269f2e4c",
+ "equalIndicator/v1": "3a0bbba07de8107ec9bba241975829969285bc265810e70ea7b7567b35328002"
+ },
+ "properties": {
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "warning",
+ "message": {
+ "text": "Unused import statement 'from tkinter.messagebox import * #Blibliotheque permettant d'obtenir les ...'",
+ "markdown": "Unused import statement `from tkinter.messagebox import * #Blibliotheque permettant d'obtenir les ...`"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Template_UI/WINDOWS/Tkinter/Interface_Tkinter_Template.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 12,
+ "startColumn": 1,
+ "charOffset": 754,
+ "charLength": 127,
+ "snippet": {
+ "text": "from tkinter.messagebox import * #Blibliotheque permettant d'obtenir les boites de dialogues (G.U.I)"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 10,
+ "startColumn": 1,
+ "charOffset": 618,
+ "charLength": 392,
+ "snippet": {
+ "text": "from tkinter import * #Blibliotheque permettant d'obtenir Tkinter(G.U.I)\r\nfrom tkinter import Tk\r\nfrom tkinter.messagebox import * #Blibliotheque permettant d'obtenir les boites de dialogues (G.U.I)\r\nimport tkinter.ttk #Blibliotheque permettant de charger un composant Tkinter(G.U.I)\r\n\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "a0c96cc8bd5ca2d7",
+ "equalIndicator/v1": "51c52f8ce49b9ff8a73cdd3f80ba4913518c4feda5a971e0085392251313ffdb"
+ },
+ "properties": {
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "warning",
+ "message": {
+ "text": "Unused import statement 'import sys'",
+ "markdown": "Unused import statement `import sys`"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Services/Infos_Hardware.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 13,
+ "startColumn": 1,
+ "charOffset": 386,
+ "charLength": 10,
+ "snippet": {
+ "text": "import sys"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 11,
+ "startColumn": 1,
+ "charOffset": 373,
+ "charLength": 54,
+ "snippet": {
+ "text": "\r\nimport os\r\nimport sys\r\nimport datetime\r\nimport time\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "780796b78ed957cf",
+ "equalIndicator/v1": "569b25ed1874c018803c504dd09ab802a935e0c04d7cd39239ccfabb0f2e62b2"
+ },
+ "properties": {
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "warning",
+ "message": {
+ "text": "Unused import statement 'import os #Blibliotheque permettant l'interaction ...'",
+ "markdown": "Unused import statement `import os #Blibliotheque permettant l'interaction ...`"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Template_UI/WINDOWS/Tkinter/Interface_Tkinter_Template.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 5,
+ "startColumn": 1,
+ "charOffset": 159,
+ "charLength": 115,
+ "snippet": {
+ "text": "import os #Blibliotheque permettant l'interaction avec le systeme"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 3,
+ "startColumn": 1,
+ "charOffset": 48,
+ "charLength": 449,
+ "snippet": {
+ "text": "#ROCHAT_FRANCK\r\n#---------------------------------------Importante LIB---------------------------------------\r\nimport os #Blibliotheque permettant l'interaction avec le systeme\r\nimport sys #Blibliotheque permettant l'interaction avec le systeme\r\nimport datetime #Blibliotheque permettant d'obtenir la date\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "b497c1acf0531b77",
+ "equalIndicator/v1": "594f459cef5a46e597acfeca2b5e39a1bc578207e2f4415d6a4199e13fa04d07"
+ },
+ "properties": {
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "warning",
+ "message": {
+ "text": "Unused import statement 'import sys'",
+ "markdown": "Unused import statement `import sys`"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Services/nettoyage_du_cache.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 11,
+ "startColumn": 1,
+ "charOffset": 238,
+ "charLength": 10,
+ "snippet": {
+ "text": "import sys"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 9,
+ "startColumn": 1,
+ "charOffset": 214,
+ "charLength": 86,
+ "snippet": {
+ "text": "import time\r\nimport os\r\nimport sys\r\n\r\n#Supprime les fichiers CACHE du language PYTHON\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "dacad678127cdc12",
+ "equalIndicator/v1": "5c69274bcd5115b03fb1b0702079e3878ee0726216d7816a2b8de3243d9884cd"
+ },
+ "properties": {
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "error",
+ "message": {
+ "text": "Unresolved reference 'setup'",
+ "markdown": "Unresolved reference 'setup'"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "setup.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 9,
+ "startColumn": 24,
+ "charOffset": 220,
+ "charLength": 5,
+ "snippet": {
+ "text": "setup"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 7,
+ "startColumn": 1,
+ "charOffset": 136,
+ "charLength": 115,
+ "snippet": {
+ "text": "#And all the depencies will be installed with the Project\r\n\r\nfrom setuptools import setup, find_packages\r\n\r\nsetup(\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "f48cc74dfff73c8b",
+ "equalIndicator/v1": "64ea29fe0cecea5be89475e89024280724e3ff9e3ac3d0f451b2a34cc7980815"
+ },
+ "properties": {
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "warning",
+ "message": {
+ "text": "Unused import statement 'import tkinter.ttk #Blibliotheque permettant de charger un ...'",
+ "markdown": "Unused import statement `import tkinter.ttk #Blibliotheque permettant de charger un ...`"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Template_UI/WINDOWS/Tkinter/Interface_Tkinter_Template.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 13,
+ "startColumn": 1,
+ "charOffset": 883,
+ "charLength": 124,
+ "snippet": {
+ "text": "import tkinter.ttk #Blibliotheque permettant de charger un composant Tkinter(G.U.I)"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 11,
+ "startColumn": 1,
+ "charOffset": 730,
+ "charLength": 395,
+ "snippet": {
+ "text": "from tkinter import Tk\r\nfrom tkinter.messagebox import * #Blibliotheque permettant d'obtenir les boites de dialogues (G.U.I)\r\nimport tkinter.ttk #Blibliotheque permettant de charger un composant Tkinter(G.U.I)\r\n\r\n#from pydub import AudioSegment #Bibliotheque permettant de jouer des Sons et Jingles\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "a74ce16511adfab2",
+ "equalIndicator/v1": "7b34cf476e15bb2cdc6819f1b1615aa2d6b8fec665abc3072dd95fd5acc4af06"
+ },
+ "properties": {
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "error",
+ "message": {
+ "text": "Unresolved reference 'Infos_Hardware'",
+ "markdown": "Unresolved reference 'Infos_Hardware'"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Template_UI/RASPBIAN/Tkinter/Interface_Tkinter_Template.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 29,
+ "startColumn": 6,
+ "charOffset": 2276,
+ "charLength": 14,
+ "snippet": {
+ "text": "Infos_Hardware"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 27,
+ "startColumn": 1,
+ "charOffset": 2145,
+ "charLength": 524,
+ "snippet": {
+ "text": "#from nettoyage_du_cache import clear_cache #Bibliotheque permettant de nettoyer les fichiers cache PYTHON\r\n\r\nfrom Infos_Hardware import CPU_usage #Obtention de l'utilisation du Processeur par le Systeme d'exploitation et ses programmes autour\r\nfrom Infos_Hardware import CPU_temp #Obtention de la Temperature du Processeur sur la carte mere\r\nfrom Infos_Hardware import SoC_info #Obtention des informations concernant le package CPU+GPU\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "63ea2c60c37896c4",
+ "equalIndicator/v1": "803cbf961541de8159ee8002e61b761f1572a829a305e0bc2d5f4676988ee454"
+ },
+ "properties": {
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "error",
+ "message": {
+ "text": "Unresolved reference 'setuptools'",
+ "markdown": "Unresolved reference 'setuptools'"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "setup.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 9,
+ "startColumn": 6,
+ "charOffset": 202,
+ "charLength": 10,
+ "snippet": {
+ "text": "setuptools"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 7,
+ "startColumn": 1,
+ "charOffset": 136,
+ "charLength": 115,
+ "snippet": {
+ "text": "#And all the depencies will be installed with the Project\r\n\r\nfrom setuptools import setup, find_packages\r\n\r\nsetup(\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "eedc8fa4fd5fd1b9",
+ "equalIndicator/v1": "81cbec90669aff2eca54cb527414c6c0b042dace2e415f4dda3d4e84ced02d85"
+ },
+ "properties": {
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "warning",
+ "message": {
+ "text": "Unused import statement 'import time'",
+ "markdown": "Unused import statement `import time`"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Services/Infos_Hardware.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 15,
+ "startColumn": 1,
+ "charOffset": 415,
+ "charLength": 11,
+ "snippet": {
+ "text": "import time"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 13,
+ "startColumn": 1,
+ "charOffset": 386,
+ "charLength": 87,
+ "snippet": {
+ "text": "import sys\r\nimport datetime\r\nimport time\r\nfrom nettoyage_du_cache import clear_cache\r\n\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "05b96b71cd122737",
+ "equalIndicator/v1": "8da645ef3c4e42008d701518fd34f6ba83bae20244613480ccbde256eb489a82"
+ },
+ "properties": {
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "warning",
+ "message": {
+ "text": "Unused import statement 'import os #Blibliotheque permettant l'interaction ...'",
+ "markdown": "Unused import statement `import os #Blibliotheque permettant l'interaction ...`"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Template_UI/RASPBIAN/Kivy/Interface_Kivy.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 10,
+ "startColumn": 1,
+ "charOffset": 657,
+ "charLength": 115,
+ "snippet": {
+ "text": "import os #Blibliotheque permettant l'interaction avec le systeme"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 8,
+ "startColumn": 1,
+ "charOffset": 560,
+ "charLength": 435,
+ "snippet": {
+ "text": "\r\n#---------------------------------------Importante LIB---------------------------------------\r\nimport os #Blibliotheque permettant l'interaction avec le systeme\r\nimport sys #Blibliotheque permettant l'interaction avec le systeme\r\nimport datetime #Blibliotheque permettant d'obtenir la date\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "9f251956ed152f56",
+ "equalIndicator/v1": "923153e35a7ff888cb7c05abe2acabd0ca9cf6c6da73729a1e00b2d410ebdb52"
+ },
+ "properties": {
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "warning",
+ "message": {
+ "text": "Unused import statement 'import os'",
+ "markdown": "Unused import statement `import os`"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Services/Infos_Hardware.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 12,
+ "startColumn": 1,
+ "charOffset": 375,
+ "charLength": 9,
+ "snippet": {
+ "text": "import os"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 10,
+ "startColumn": 1,
+ "charOffset": 371,
+ "charLength": 43,
+ "snippet": {
+ "text": "\r\n\r\nimport os\r\nimport sys\r\nimport datetime\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "82b20e843bdca3dd",
+ "equalIndicator/v1": "9b23c7d1436f1e18a5c62edfd4e5b7910dca65ef659afe992c8854ba2459c578"
+ },
+ "properties": {
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "error",
+ "message": {
+ "text": "Unresolved reference 'find_packages'",
+ "markdown": "Unresolved reference 'find_packages'"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "setup.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 9,
+ "startColumn": 31,
+ "charOffset": 227,
+ "charLength": 13,
+ "snippet": {
+ "text": "find_packages"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 7,
+ "startColumn": 1,
+ "charOffset": 136,
+ "charLength": 115,
+ "snippet": {
+ "text": "#And all the depencies will be installed with the Project\r\n\r\nfrom setuptools import setup, find_packages\r\n\r\nsetup(\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "fe524cb8c68b9c13",
+ "equalIndicator/v1": "a04dd66785f1871fbe281c0cf814a0941930d0825fd1ad5cf8087cb1d0a4da97"
+ },
+ "properties": {
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "error",
+ "message": {
+ "text": "Unresolved reference 'Infos_Hardware'",
+ "markdown": "Unresolved reference 'Infos_Hardware'"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Template_UI/RASPBIAN/Kivy/Interface_Kivy.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 28,
+ "startColumn": 6,
+ "charOffset": 2210,
+ "charLength": 14,
+ "snippet": {
+ "text": "Infos_Hardware"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 26,
+ "startColumn": 1,
+ "charOffset": 2130,
+ "charLength": 473,
+ "snippet": {
+ "text": "#print(USERNAME) #Test debug\r\n\r\nfrom Infos_Hardware import CPU_usage #Obtention de l'utilisation du Processeur par le Systeme d'exploitation et ses programmes autour\r\nfrom Infos_Hardware import CPU_temp #Obtention de la Temperature du Processeur sur la carte mere\r\nfrom Infos_Hardware import SoC_info #Obtention des informations concernant le package CPU+GPU\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "a882647c1cda7104",
+ "equalIndicator/v1": "a7a4b5de29ef155d5a2986991fffcc9cad091b2919dcdd581b0141972e68be45"
+ },
+ "properties": {
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "error",
+ "message": {
+ "text": "Unresolved reference 'CPU_usage'",
+ "markdown": "Unresolved reference 'CPU_usage'"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Template_UI/RASPBIAN/Kivy/Interface_Kivy.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 28,
+ "startColumn": 28,
+ "charOffset": 2232,
+ "charLength": 9,
+ "snippet": {
+ "text": "CPU_usage"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 26,
+ "startColumn": 1,
+ "charOffset": 2130,
+ "charLength": 473,
+ "snippet": {
+ "text": "#print(USERNAME) #Test debug\r\n\r\nfrom Infos_Hardware import CPU_usage #Obtention de l'utilisation du Processeur par le Systeme d'exploitation et ses programmes autour\r\nfrom Infos_Hardware import CPU_temp #Obtention de la Temperature du Processeur sur la carte mere\r\nfrom Infos_Hardware import SoC_info #Obtention des informations concernant le package CPU+GPU\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "7f949e6a019d3ac0",
+ "equalIndicator/v1": "dabc3248badb39f552bac74b08c52a63b2e364542a16151fc3d68faa54a88939"
+ },
+ "properties": {
+ "ideaSeverity": "ERROR",
+ "qodanaSeverity": "Critical"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "warning",
+ "message": {
+ "text": "Unused import statement 'import serial'",
+ "markdown": "Unused import statement `import serial`"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Services/nettoyage_du_cache.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 8,
+ "startColumn": 1,
+ "charOffset": 199,
+ "charLength": 13,
+ "snippet": {
+ "text": "import serial"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 6,
+ "startColumn": 1,
+ "charOffset": 109,
+ "charLength": 128,
+ "snippet": {
+ "text": "#Aides : https://blog.mozilla.org/webdev/2015/10/27/eradicating-those-nasty-pyc-files/\r\n\r\nimport serial\r\nimport time\r\nimport os\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "de78f8cf639f900a",
+ "equalIndicator/v1": "de30d63998c44276c091ad3f30b5e3da05e677c767bf2c07302e2a01fd14dc0f"
+ },
+ "properties": {
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ },
+ {
+ "ruleId": "PyUnresolvedReferencesInspection",
+ "kind": "fail",
+ "level": "warning",
+ "message": {
+ "text": "Unused import statement 'import datetime'",
+ "markdown": "Unused import statement `import datetime`"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "Services/Infos_Hardware.py",
+ "uriBaseId": "SRCROOT"
+ },
+ "region": {
+ "startLine": 14,
+ "startColumn": 1,
+ "charOffset": 398,
+ "charLength": 15,
+ "snippet": {
+ "text": "import datetime"
+ },
+ "sourceLanguage": "Python"
+ },
+ "contextRegion": {
+ "startLine": 12,
+ "startColumn": 1,
+ "charOffset": 375,
+ "charLength": 96,
+ "snippet": {
+ "text": "import os\r\nimport sys\r\nimport datetime\r\nimport time\r\nfrom nettoyage_du_cache import clear_cache\r"
+ },
+ "sourceLanguage": "Python"
+ }
+ },
+ "logicalLocations": [
+ {
+ "fullyQualifiedName": "FR_Template",
+ "kind": "module"
+ }
+ ]
+ }
+ ],
+ "partialFingerprints": {
+ "equalIndicator/v2": "c997cea98533a6d7",
+ "equalIndicator/v1": "feecc833f37f9f1999726210ba883b9458b92a7007083f527f997a692f562487"
+ },
+ "properties": {
+ "ideaSeverity": "WARNING",
+ "qodanaSeverity": "High"
+ }
+ }
+ ],
+ "configProfile": "starter",
+ "deviceId": "14062415656a898-a1e7-4aac-882a-9c7ba36ed1e5",
+ "qodanaNewResultSummary": {
+ "moderate": 777,
+ "high": 21,
+ "total": 798
+ }
+ }
+ }
+ ],
+ "properties": {
+ "runTimestamp": "1718401380762"
+ }
+}
\ No newline at end of file
diff --git a/qodana.yaml b/qodana.yaml
new file mode 100644
index 0000000..e4cc9d6
--- /dev/null
+++ b/qodana.yaml
@@ -0,0 +1,28 @@
+#-------------------------------------------------------------------------------#
+# Qodana analysis is configured by qodana.yaml file #
+# https://www.jetbrains.com/help/qodana/qodana-yaml.html #
+#-------------------------------------------------------------------------------#
+version: "1.0"
+#Specify inspection profile for code analysis
+profile:
+ name: qodana.starter
+#Enable inspections
+#include:
+# - name:
+#Disable inspections
+#exclude:
+# - name:
+# paths:
+# -
+#Execute shell command before Qodana execution (Applied in CI/CD pipeline)
+#bootstrap: sh ./prepare-qodana.sh
+#Install IDE plugins before Qodana execution (Applied in CI/CD pipeline)
+#plugins:
+# - id: #(plugin id can be found at https://plugins.jetbrains.com)
+#Specify Qodana linter for analysis (Applied in CI/CD pipeline)
+linter: jetbrains/qodana-:latest
+exclude:
+ - name: All
+ paths:
+ - Services
+ - Template_UI
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..01b3bfa
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,13 @@
+pyserial~=3.2.1
+
+#Unidecode==1.0.23
+#Unirest==1.1.7
+#urllib3==1.26.5
+#requests==2.20.0
+#pyserial==3.2.1
+#pydub==0.23.1
+#Cython==0.29.5
+#Kivy==1.10.1
+
+setuptools~=68.2.0
+psutil~=5.9.8
\ No newline at end of file
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..25f64c3
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,23 @@
+#!/usr/bin/env python
+# -*- coding: UTF-8 -*-
+
+
+#HOW INSTALL AND USE THIS PROJECT:
+#in the console : sudo python setup.py install
+#And all the depencies will be installed with the Project
+
+from setuptools import setup, find_packages
+
+setup(
+ name='FR_Template',
+ version="1.13.73",
+ author='Franck Rochat',
+ author_email='rochat.franck@gmail.com',
+ description='The Starter Pack.',
+ url='https://github.com/Franck1333/FR_Template',
+ license='lgpl',
+ packages=find_packages(),
+ include_package_data=True,
+ install_requires=["Unidecode","Unirest","urllib3","requests","pydub","pyserial","Cython","kivy"], #Get the Dependencies from Pypi (pip install)
+ #dependency_links=[''], #Get the Dependencies via HTTP(s)
+)