#!/usr/bin/env python3 import argparse import json import shutil from pathlib import Path REPO_ROOT = Path(__file__).resolve().parents[1] SOURCE_DIR = REPO_ROOT / "browser" / "extension" def main() -> int: parser = argparse.ArgumentParser(description="Prepare a Firefox extension directory for web-ext.") parser.add_argument("output_dir", help="directory to write the prepared extension into") args = parser.parse_args() output_dir = Path(args.output_dir).resolve() if output_dir.exists(): shutil.rmtree(output_dir) shutil.copytree(SOURCE_DIR, output_dir) manifest = json.loads((output_dir / "manifest.firefox.json").read_text(encoding="utf-8")) (output_dir / "manifest.json").write_text(json.dumps(manifest, indent=2) + "\n", encoding="utf-8") return 0 if __name__ == "__main__": raise SystemExit(main())