Commit graph jw-pkg/src/python/jw/pkg/cmds/projects/check
Author SHA1 Message Date
24d67a5ec0
App: Return cycle path from find_circular_deps()
The __find_circular_deps() and find_circular_deps() methods now
return list[str] instead of bool. On a cycle, the path builds up the
dependency chain in __find_circular_deps_recursive(), and
__find_circular_deps() appends the closing project to complete the
cycle. An empty list means no cycle found.

CmdDep prints the cycle as 'a -> b -> c -> a' instead of a generic
message.

Assisted-by: unsloth/Qwen3.6-35B-A3B-GGUF:IQ4_NL and pi.dev
Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-30 15:06:11 +02:00
3dc452d9b4
lib.init.detect_modules(): Renovate signature
- Remove package_name and package_path from the prototype of
    detect_modules(). They can and should be deduced from
    namespace['__name__'] and namespace['__path__'], respectively.

  - Make prefix default to None, which signifies "Don't filter by
    prefix".

  - Add an optional extend_namespace parameter, which will make the
    function append the module's __name__ to its __path__. This
    defaults to True, thereby adding a side effect to the function.
    Which is always wanted in the case for all callers of this
    function.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-06 23:08:28 +00:00
5d1ba6e15a
pyproject.toml: Enforce import annotations style
Add new ruff rules and fix their fallout:

  future-annotations = true

   select = [
    "TC",  # type-checking import placement rules
    "FA",  # future annotations rules
   ]

This comprises:

  - Streamline imports and exports in cmds.xxx.Cmd

    - Import base class as "Base"

    - Export types Cmd and Parent via __all__

  - Move all types imported only for annotation below TYPE_CHECKING

  - Use "from __future__ import annotations" all over the place

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-01 14:34:25 +02:00
f275aa9715
cmds.projects.CmdCheck: Move to .check.CmdDep
Move CmdCheck to .check.CmdDep, to make room for more checks under
the same "check" parent command.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-01 14:33:52 +02:00