From 974d7597b176c5e9ed91e20d3a023d2614227a21 Mon Sep 17 00:00:00 2001 From: Remco de Boer <29308176+redeboer@users.noreply.github.com> Date: Thu, 5 Feb 2026 22:59:45 +0100 Subject: [PATCH] ENH: set `ty` `error-on-warning` in terminal --- pyproject.toml | 3 +++ src/compwa_policy/check_dev_files/ty.py | 15 ++++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5db8813b..8d7ebd55 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -375,3 +375,6 @@ trailing_comma_inline_array = true division-by-zero = "warn" possibly-missing-import = "warn" possibly-unresolved-reference = "warn" + +[tool.ty.terminal] +error-on-warning = true diff --git a/src/compwa_policy/check_dev_files/ty.py b/src/compwa_policy/check_dev_files/ty.py index 693c49e9..81f88e6b 100644 --- a/src/compwa_policy/check_dev_files/ty.py +++ b/src/compwa_policy/check_dev_files/ty.py @@ -56,21 +56,26 @@ def _update_vscode_settings(type_checkers: set[TypeChecker]) -> None: def _update_configuration(pyproject: ModifiablePyproject) -> None: def _remove_rule(key: str, default: Literal["error", "ignore", "warn"]) -> None: - if ty_config.get(key) == default: - del ty_config[key] + if ty_rules.get(key) == default: + del ty_rules[key] pyproject.changelog.append(f"Removed tool.ty.rules.{key}") def _update_rule(key: str, value: Literal["error", "ignore", "warn"]) -> None: - if key not in ty_config: - ty_config[key] = value + if key not in ty_rules: + ty_rules[key] = value pyproject.changelog.append(f'Set tool.ty.rules.{key} = "{value}"') - ty_config = pyproject.get_table("tool.ty.rules", create=True) + ty_rules = pyproject.get_table("tool.ty.rules", create=True) _remove_rule("unused-ignore-comment", "warn") _update_rule("division-by-zero", "warn") _update_rule("possibly-missing-import", "warn") _update_rule("possibly-unresolved-reference", "warn") + ty_terminal = pyproject.get_table("tool.ty.terminal", create=True) + if ty_terminal.get("error-on-warning") is not True: + ty_terminal["error-on-warning"] = True + pyproject.changelog.append("Set tool.ty.terminal.error-on-warning = true") + def _update_precommit_config(precommit: ModifiablePrecommit) -> None: args = CommentedSeq(["--no-progress", "--output-format=concise"])