SWIFT_SDK_ID ?=
ifeq ($(JAVASCRIPTKIT_DISABLE_TRACING_TRAIT),1)
	TRACING_ARGS :=
else
	TRACING_ARGS := --traits Tracing
endif

.PHONY: bootstrap
bootstrap:
	npm ci

.PHONY: unittest
unittest:
	@echo Running unit tests
	@test -n "$(SWIFT_SDK_ID)" || { \
		echo "SWIFT_SDK_ID is not set. Run 'swift sdk list' and pass a matching SDK, e.g. 'make unittest SWIFT_SDK_ID=<id>'."; \
		exit 2; \
	}
	swift package --swift-sdk "$(SWIFT_SDK_ID)" \
	    $(TRACING_ARGS) \
	    --disable-sandbox \
	    js test --prelude ./Tests/prelude.mjs -Xnode --expose-gc

.PHONY: regenerate_swiftpm_resources
regenerate_swiftpm_resources:
	npm run build
	cp Runtime/lib/index.mjs Plugins/PackageToJS/Templates/runtime.mjs
	cp Runtime/lib/index.d.ts Plugins/PackageToJS/Templates/runtime.d.ts
