#!/usr/bin/env python3
import argparse
import shutil
from pathlib import Path

from script_common import resolve_repo_root


def main() -> int:
    parser = argparse.ArgumentParser(description="Cross-platform node_modules cleanup")
    parser.add_argument("--repo-root", default=None)
    parser.add_argument("--working-dir", default=".")
    parser.add_argument("--also-cache", action="store_true")
    args = parser.parse_args()

    repo_root = resolve_repo_root(args.repo_root)
    work_dir = (repo_root / args.working_dir).resolve()
    node_modules = work_dir / "node_modules"
    if node_modules.exists():
        shutil.rmtree(node_modules)
        print(f"Removed: {node_modules}")
    else:
        print(f"Not found: {node_modules}")

    if args.also_cache:
        npm_cache = repo_root / ".npm" / "cache"
        if npm_cache.exists():
            shutil.rmtree(npm_cache)
            print(f"Removed: {npm_cache}")

    return 0


if __name__ == "__main__":
    raise SystemExit(main())
