.PHONY: build test clean ext-test ext-lint ext-build ext-run

build:
	@mkdir -p bin && go build -ldflags="-s -w" -o bin/cpfgen .

test:
	@go test -v ./...

clean:
	@rm -rf bin web-ext-artifacts

# --- extensão de navegador ---

# Confere o porte JS contra os binários Go e carrega a extensão nos dois
# navegadores para validar menus e inserção de verdade.
ext-test:
	@node extension/test_generator.mjs
	@python3 extension/test_extension.py
	@python3 extension/test_chromium.py

ext-lint:
	@npx --yes web-ext@latest lint --source-dir extension

# Gera o .zip para empacotar/publicar, sem os testes nem o SVG fonte.
ext-build:
	@npx --yes web-ext@latest build --source-dir extension --overwrite-dest \
		--ignore-files 'test_*' 'testdata.html' 'icons/icon.svg'

# Abre um Firefox temporário com a extensão já carregada.
ext-run:
	@npx --yes web-ext@latest run --source-dir extension
