.PHONY: bootstrap setup install test test-e2e test-e2e-firefox lint fmt fmt-check check docker hooks build build-debug verify-build clean dev

# Standard targets are thin shims; the implementations live in script/
# per the scripts-to-rule-them-all pattern (see the Entrypoints section
# of README.md).

bootstrap:
	@script/bootstrap

setup:
	@script/setup

install:
	@yarn install --frozen-lockfile

test:
	@script/test

# Browser end-to-end suites. Both require docker; neither is part of check.
test-e2e:
	@script/test-e2e

test-e2e-firefox:
	@script/test-e2e-firefox

lint:
	@script/lint

fmt:
	@script/fmt

fmt-check:
	@script/fmt-check

check:
	@script/check

docker:
	@script/docker

hooks:
	@script/install-precommit

build:
	@echo "Building extension..."
	@yarn run build 2>&1
	@script/verify-build

# Development-only build: enables the red DEBUG / INSECURE banner and makes
# the hardcoded test recovery phrase the output of wallet creation. Never
# distribute the artifacts this produces.
build-debug:
	@echo "Building extension (DEBUG)..."
	@AUTISTMASK_DEBUG=1 yarn run build 2>&1
	@AUTISTMASK_DEBUG=1 script/verify-build

# Assert the compiled DEBUG state of the bundles already in dist/. Runs at
# the end of build and build-debug; separate target for re-running it alone.
verify-build:
	@script/verify-build

clean:
	@rm -rf dist/

dev:
	@echo "Building in watch mode..."
	@yarn run build --watch 2>&1
