TOOLS="./tools"

bundle:
	npm run env -- redocly bundle openapi/programmable-wallets/common/openapi.yml -o dist/temp/configurations_1.yaml
	npm run env -- redocly bundle openapi/common/openapi.yml -o dist/temp/configurations_2.yaml
	npm run env -- redocly join dist/temp/configurations_1.yaml dist/temp/configurations_2.yaml -o dist/configurations.yaml --without-x-tag-groups

	npm run env -- redocly bundle openapi/programmable-wallets/developer-controlled-wallets/openapi.yml -o dist/developer-controlled-wallets.yaml
	npm run env -- redocly bundle openapi/programmable-wallets/user-controlled-wallets/openapi.yml -o dist/user-controlled-wallets.yaml
	npm run env -- redocly bundle openapi/smart-contract-platform/openapi.yml -o dist/smart-contract-platform.yaml
	npm run env -- redocly bundle openapi/compliance/openapi.yml -o dist/compliance.yaml
	npm run env -- redocly bundle openapi/usdc-access/openapi.yml -o dist/usdc-access.yaml
	npm run env -- redocly bundle openapi/buidl-wallets/openapi.yml -o dist/buidl-wallets.yaml
	npm run env -- redocly bundle openapi/cctp/openapi.yml -o dist/cctp.yaml
	npm run env -- redocly bundle openapi/gateway/openapi.yml -o dist/gateway.yaml
	npm run env -- redocly bundle openapi/xreserve/openapi.yml -o dist/xreserve.yaml

	npm run env -- redocly lint --extends=recommended --format=codeframe dist/configurations.yaml dist/user-controlled-wallets.yaml dist/developer-controlled-wallets.yaml dist/smart-contract-platform.yaml dist/compliance.yaml dist/usdc-access.yaml dist/buidl-wallets.yaml
	npm run env -- redocly lint --extends=recommended --skip-rule=security-defined --format=codeframe dist/cctp.yaml dist/gateway.yaml dist/xreserve.yaml

swagger:
	echo "starting up swagger editor locally with docker..."
	docker-compose -f $(TOOLS)/swagger-editor/docker-compose.yaml up
