| [project] |
| requires-python = ">=3.8" |
| |
| [tool.ruff] |
| exclude = [ |
| "./cache/", |
| "./node_modules/", |
| "./site/source/_themes/", |
| "./site/source/conf.py", |
| "./system/lib/", |
| "./test/third_party/", |
| "./third_party/", |
| "./tools/filelock.py", |
| "./tools/scons/", |
| ".git", |
| ] |
| |
| lint.select = [ |
| "ARG", |
| "ASYNC", |
| "B", |
| "C4", |
| "C90", |
| "COM", |
| "E", |
| "F", |
| "PERF", |
| "PIE", |
| "PL", |
| "UP", |
| "W", |
| "YTT", |
| ] |
| lint.external = [ "D" ] |
| lint.ignore = [ |
| "B011", # See https://github.com/PyCQA/flake8-bugbear/issues/66 |
| "B023", |
| "B026", |
| "E402", |
| "E501", |
| "E721", |
| "E741", |
| "PERF203", |
| "PERF401", |
| "PLR1704", |
| "PLR5501", |
| "PLW0602", |
| "PLW0603", |
| "PLW1510", |
| "PLW2901", |
| "UP030", # TODO |
| "UP031", # TODO |
| "UP032", # TODO |
| ] |
| lint.per-file-ignores."emrun.py" = [ "PLE0704" ] |
| lint.per-file-ignores."tools/ports/*.py" = [ "ARG001", "ARG005" ] |
| lint.per-file-ignores."test/other/ports/*.py" = [ "ARG001" ] |
| lint.per-file-ignores."test/parallel_testsuite.py" = [ "ARG002" ] |
| lint.per-file-ignores."test/test_benchmark.py" = [ "ARG002" ] |
| lint.mccabe.max-complexity = 51 # Recommended: 10 |
| lint.pylint.allow-magic-value-types = [ |
| "bytes", |
| "float", |
| "int", |
| "str", |
| ] |
| lint.pylint.max-args = 15 # Recommended: 5 |
| lint.pylint.max-branches = 50 # Recommended: 12 |
| lint.pylint.max-returns = 16 # Recommended: 6 |
| lint.pylint.max-statements = 142 # Recommended: 50 |
| |
| [tool.coverage.run] |
| source = [ "." ] |
| omit = [ |
| "./test/*", |
| "./third_party/*", |
| "./tools/emcoverage.py", |
| "test.py", |
| ] |
| |
| [tool.mypy] |
| mypy_path = "third_party/,third_party/ply,third_party/websockify" |
| files = [ "." ] |
| exclude = ''' |
| (?x)( |
| cache | |
| third_party | |
| conf\.py | |
| emrun\.py | |
| site/source/_themes/ | |
| tools/scons/site_scons/site_tools/emscripten/__init__\.py | |
| tools/maint/create_dom_pk_codes.py | |
| site/source/get_wiki\.py | |
| test/parse_benchmark_output\.py |
| )''' |
| |
| [[tool.mypy.overrides]] |
| module = [ |
| "tools.webidl_binder", |
| "tools.toolchain_profiler", |
| "tools.filelock", |
| "tools.find_bigvars", |
| "leb128", |
| "ply.*", |
| ] |
| ignore_errors = true |
| |
| [[tool.mypy.overrides]] |
| module = ["psutil", "win32con", "win32gui", "win32process"] |
| ignore_missing_imports = true |
| |
| [tool.deadcode] |
| exclude = ["out", "cache", "third_party", "test/third_party", "node_modules", "site/source/_themes", "site/source/conf.py"] |
| |
| [tool.vulture] |
| exclude = ["out", "cache", "third_party", "test/third_party", "node_modules", "site/source/_themes", "site/source/conf.py"] |