.PHONY: bootstrap setup install test test-e2e test-e2e-firefox lint fmt fmt-check check check-censored docker hooks build build-debug vendor-blocklist 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 # Assert that the competitor name appears nowhere but its documented # exceptions. Part of check, and re-run against dist/ at the end of a build; # separate target for re-running it alone. check-censored: @script/check-censored docker: @script/docker hooks: @script/install-precommit # build.js writes a receipt of everything it emitted — every path, its sha256, # and whether it is a bundle containing constants.js — and script/verify-build # checks dist/ against that. The receipt is made here, fresh per invocation, # outside the repo, and deleted again: a standing file inside dist/ would be # rewritten by whoever rewrote dist/, which is what made the old check # satisfiable by a hand-written tree. # # The expected mode is an explicit argument and AUTISTMASK_DEBUG is scrubbed # from the verifier's environment. The script no longer reads it at all; env -u # is here so that stays true of anything it calls. It is deliberately NOT # scrubbed from the build itself: with AUTISTMASK_DEBUG=1 exported, this target # compiles a debug bundle and then fails on it, loudly, rather than quietly # handing back something other than the release build that was asked for. build: @echo "Building extension..." @set -eu; \ receipt="$$(mktemp "$${TMPDIR:-/tmp}/autistmask-build-receipt.XXXXXX")"; \ trap 'rm -f "$$receipt"' EXIT INT TERM; \ AUTISTMASK_BUILD_RECEIPT="$$receipt" yarn run build 2>&1; \ env -u AUTISTMASK_DEBUG script/verify-build --expect release \ --receipt "$$receipt" @script/check-censored --require-dist # 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)..." @set -eu; \ receipt="$$(mktemp "$${TMPDIR:-/tmp}/autistmask-build-receipt.XXXXXX")"; \ trap 'rm -f "$$receipt"' EXIT INT TERM; \ AUTISTMASK_DEBUG=1 AUTISTMASK_BUILD_RECEIPT="$$receipt" yarn run build 2>&1; \ env -u AUTISTMASK_DEBUG script/verify-build --expect debug \ --receipt "$$receipt" @script/check-censored --require-dist # Refresh src/shared/phishingBlocklist.json from its hash-pinned upstream. # Run deliberately, land the diff: the extension does no runtime fetching, so # the shipped list is as fresh as the last vendoring run that was released. vendor-blocklist: @script/vendor-blocklist clean: @rm -rf dist/ dev: @echo "Building in watch mode..." @yarn run build --watch 2>&1