.PHONY: test vet shell-check check build package ui-check

test:
	(cd plugins/plugin-admin && go test -race ./... -count=1)
	(cd plugins/subscription-admin && go test -race ./... -count=1)

vet:
	(cd plugins/plugin-admin && go vet ./...)
	(cd plugins/subscription-admin && go vet ./...)

shell-check:
	bash -n deploy/install.sh deploy/uninstall.sh scripts/install-local.sh tests/deploy-path-safety.sh
	sh -n plugins/plugin-admin/build.sh plugins/plugin-admin/build-ui.sh plugins/plugin-admin/test/run-browser-check.sh
	sh -n plugins/subscription-admin/build.sh plugins/subscription-admin/package.sh plugins/subscription-admin/test/run-browser-check.sh
	bash tests/deploy-path-safety.sh

ui-check:
	(cd plugins/plugin-admin/ui-vue && npm ci --ignore-scripts && npm run typecheck && npm run build)

check: test vet shell-check ui-check
	node --check plugins/plugin-admin/ui/app.js
	node --check plugins/subscription-admin/ui/app.js
	(cd plugins/subscription-admin && go run ./tools/manifestcheck)
	git diff --check

build:
	(cd plugins/plugin-admin && ./build.sh)
	(cd plugins/subscription-admin && ./build.sh)

package:
	(cd plugins/subscription-admin && ./package.sh)
