# WARNING: this package is a controlled file generated from a template
# do not try to make changes in here, they will be overwritten

ROOT=.
SCRIPTS=./package-scripts

MAKEFILE_EXTRA=Makefile.extras.mk

##
##
##	MAKEFILE COMMANDS
##	-----------------
##

default: help

##	make help 	- display the help
##
help:
	@ grep -h "^##.*" ./Makefile $(MAKEFILE_EXTRA)


##
##
##	SETUP
##	-----------------
##

##	make setup 	- setup package
##
setup: install init

##	make install 	- install dependencies for the package
##
install:
	@ $(SCRIPTS)/package-install.sh

##	make init 	- init package from template
##
init: install
	@ $(ROOT)/package-init.sh


##
##
##	BUILD
##	-----------------
##

##	make build 	- build the src and the docs
##
build: setup
	@ $(SCRIPTS)/package-prettier-format.sh
	@ $(SCRIPTS)/package-build.sh

##	make clean 	- remove build artifacts from package
##
clean:
	@ $(SCRIPTS)/package-clean.sh

##	make format	- format the source code (using prettier)
##
format: setup
	@ PACKAGE_USE_AUTOFORMAT=1 $(SCRIPTS)/package-prettier-format.sh

##	make dev-server	- run the webpack dev server
##
dev-server: setup
	@ $(SCRIPTS)/package-dev-server.sh


##
##
##	TEST
##	-----------------
##

##	make test-eslint 	- run the eslint test cases
##
test-eslint: setup build
	@ $(SCRIPTS)/package-test-eslint.sh

##	make test 	- run all tests
##
test: \
	test-eslint

##
##
##	PUBLISH
##	-----------------
##

##	make publish-check 	- dry run publish - show what files will be published
##
publish-check: setup build
	@ $(SCRIPTS)/package-check-publish.sh

##	make publish 	- publish the package
##
publish: setup build
	@ $(SCRIPTS)/package-publish.sh

##

include $(MAKEFILE_EXTRA)
