ci(semgrep): fix false positives (#25823)
This commit is contained in:
parent
09d9bd19ac
commit
073dcf7e42
8
.github/helper/semgrep_rules/translate.py
vendored
8
.github/helper/semgrep_rules/translate.py
vendored
@ -51,3 +51,11 @@ _(f"what" + f"this is also not cool")
|
|||||||
_("")
|
_("")
|
||||||
# ruleid: frappe-translation-empty-string
|
# ruleid: frappe-translation-empty-string
|
||||||
_('')
|
_('')
|
||||||
|
|
||||||
|
|
||||||
|
class Test:
|
||||||
|
# ok: frappe-translation-python-splitting
|
||||||
|
def __init__(
|
||||||
|
args
|
||||||
|
):
|
||||||
|
pass
|
||||||
|
4
.github/helper/semgrep_rules/translate.yml
vendored
4
.github/helper/semgrep_rules/translate.yml
vendored
@ -44,8 +44,8 @@ rules:
|
|||||||
pattern-either:
|
pattern-either:
|
||||||
- pattern: _(...) + _(...)
|
- pattern: _(...) + _(...)
|
||||||
- pattern: _("..." + "...")
|
- pattern: _("..." + "...")
|
||||||
- pattern-regex: '_\([^\)]*\\\s*' # lines broken by `\`
|
- pattern-regex: '[\s\.]_\([^\)]*\\\s*' # lines broken by `\`
|
||||||
- pattern-regex: '_\(\s*\n' # line breaks allowed by python for using ( )
|
- pattern-regex: '[\s\.]_\(\s*\n' # line breaks allowed by python for using ( )
|
||||||
message: |
|
message: |
|
||||||
Do not split strings inside translate function. Do not concatenate using translate functions.
|
Do not split strings inside translate function. Do not concatenate using translate functions.
|
||||||
Please refer: https://frappeframework.com/docs/user/en/translations
|
Please refer: https://frappeframework.com/docs/user/en/translations
|
||||||
|
9
.github/helper/semgrep_rules/ux.js
vendored
Normal file
9
.github/helper/semgrep_rules/ux.js
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
// ok: frappe-missing-translate-function-js
|
||||||
|
frappe.msgprint('{{ _("Both login and password required") }}');
|
||||||
|
|
||||||
|
// ruleid: frappe-missing-translate-function-js
|
||||||
|
frappe.msgprint('What');
|
||||||
|
|
||||||
|
// ok: frappe-missing-translate-function-js
|
||||||
|
frappe.throw(' {{ _("Both login and password required") }}. ');
|
18
.github/helper/semgrep_rules/ux.py
vendored
18
.github/helper/semgrep_rules/ux.py
vendored
@ -2,30 +2,30 @@ import frappe
|
|||||||
from frappe import msgprint, throw, _
|
from frappe import msgprint, throw, _
|
||||||
|
|
||||||
|
|
||||||
# ruleid: frappe-missing-translate-function
|
# ruleid: frappe-missing-translate-function-python
|
||||||
throw("Error Occured")
|
throw("Error Occured")
|
||||||
|
|
||||||
# ruleid: frappe-missing-translate-function
|
# ruleid: frappe-missing-translate-function-python
|
||||||
frappe.throw("Error Occured")
|
frappe.throw("Error Occured")
|
||||||
|
|
||||||
# ruleid: frappe-missing-translate-function
|
# ruleid: frappe-missing-translate-function-python
|
||||||
frappe.msgprint("Useful message")
|
frappe.msgprint("Useful message")
|
||||||
|
|
||||||
# ruleid: frappe-missing-translate-function
|
# ruleid: frappe-missing-translate-function-python
|
||||||
msgprint("Useful message")
|
msgprint("Useful message")
|
||||||
|
|
||||||
|
|
||||||
# ok: frappe-missing-translate-function
|
# ok: frappe-missing-translate-function-python
|
||||||
translatedmessage = _("Hello")
|
translatedmessage = _("Hello")
|
||||||
|
|
||||||
# ok: frappe-missing-translate-function
|
# ok: frappe-missing-translate-function-python
|
||||||
throw(translatedmessage)
|
throw(translatedmessage)
|
||||||
|
|
||||||
# ok: frappe-missing-translate-function
|
# ok: frappe-missing-translate-function-python
|
||||||
msgprint(translatedmessage)
|
msgprint(translatedmessage)
|
||||||
|
|
||||||
# ok: frappe-missing-translate-function
|
# ok: frappe-missing-translate-function-python
|
||||||
msgprint(_("Helpful message"))
|
msgprint(_("Helpful message"))
|
||||||
|
|
||||||
# ok: frappe-missing-translate-function
|
# ok: frappe-missing-translate-function-python
|
||||||
frappe.throw(_("Error occured"))
|
frappe.throw(_("Error occured"))
|
||||||
|
23
.github/helper/semgrep_rules/ux.yml
vendored
23
.github/helper/semgrep_rules/ux.yml
vendored
@ -1,15 +1,30 @@
|
|||||||
rules:
|
rules:
|
||||||
- id: frappe-missing-translate-function
|
- id: frappe-missing-translate-function-python
|
||||||
pattern-either:
|
pattern-either:
|
||||||
- patterns:
|
- patterns:
|
||||||
- pattern: frappe.msgprint("...", ...)
|
- pattern: frappe.msgprint("...", ...)
|
||||||
- pattern-not: frappe.msgprint(_("..."), ...)
|
- pattern-not: frappe.msgprint(_("..."), ...)
|
||||||
- pattern-not: frappe.msgprint(__("..."), ...)
|
|
||||||
- patterns:
|
- patterns:
|
||||||
- pattern: frappe.throw("...", ...)
|
- pattern: frappe.throw("...", ...)
|
||||||
- pattern-not: frappe.throw(_("..."), ...)
|
- pattern-not: frappe.throw(_("..."), ...)
|
||||||
- pattern-not: frappe.throw(__("..."), ...)
|
|
||||||
message: |
|
message: |
|
||||||
All user facing text must be wrapped in translate function. Please refer to translation documentation. https://frappeframework.com/docs/user/en/guides/basics/translations
|
All user facing text must be wrapped in translate function. Please refer to translation documentation. https://frappeframework.com/docs/user/en/guides/basics/translations
|
||||||
languages: [python, javascript, json]
|
languages: [python]
|
||||||
|
severity: ERROR
|
||||||
|
|
||||||
|
- id: frappe-missing-translate-function-js
|
||||||
|
pattern-either:
|
||||||
|
- patterns:
|
||||||
|
- pattern: frappe.msgprint("...", ...)
|
||||||
|
- pattern-not: frappe.msgprint(__("..."), ...)
|
||||||
|
# ignore microtemplating e.g. msgprint("{{ _("server side translation") }}")
|
||||||
|
- pattern-not: frappe.msgprint("=~/\{\{.*\_.*\}\}/i", ...)
|
||||||
|
- patterns:
|
||||||
|
- pattern: frappe.throw("...", ...)
|
||||||
|
- pattern-not: frappe.throw(__("..."), ...)
|
||||||
|
# ignore microtemplating
|
||||||
|
- pattern-not: frappe.throw("=~/\{\{.*\_.*\}\}/i", ...)
|
||||||
|
message: |
|
||||||
|
All user facing text must be wrapped in translate function. Please refer to translation documentation. https://frappeframework.com/docs/user/en/guides/basics/translations
|
||||||
|
languages: [javascript]
|
||||||
severity: ERROR
|
severity: ERROR
|
||||||
|
Loading…
x
Reference in New Issue
Block a user