PORT := 3000

start: build
	@skypager start --profile history --port $(PORT) --production --disable-dll-plugin

build-dev:
	@skypager build --profile website

build-dev-with-sourcemaps:
	@skypager build website --set-devtool=source-map

build:
	@skypager build --profile website --production ./src/index.web.js

clean:
	@rm -rf dist public bundle helpers .tmp meta **/*.log **.log**

console: build-helpers metadata 
	skypager console

bootstrap:
	@yarn install
	@make dev-deps 

dev-deps: clean build-helpers metadata build-dll

build-helpers:
	@skypager build --profile local-helpers

build-dll:
	@rm -rf dist/bundles
	@skypager build website --out .tmp/dll --generate-dll --disable-dll-plugin --disable-copy-plugin --disable-html-plugin
	@rm -rf .tmp/dll

build-dev-fresh: dev-deps build-dev

start-dev-fresh: dev-deps start-dev
	
start-dev:
	@skypager start --profile website --hot --port $(PORT)

start-dev-sourcemaps:
	@skypager start --profile website --hot --port $(PORT) --set-devtool=source-map

start-dev-no-dll: metadata
	@skypager start --profile website --disable-dll-plugin --port $(PORT)

metadata-sitemap:
	@skypager select --filename=website-metadata \
		sitemap=website/sitemap \
		componentRegistry=component-registry \
		screenRegistry=screen-registry

metadata-src-asts:
	@rm -rf meta/js-asts
	@skypager metadata --chunk \
		--output-path meta/js-asts \
		--pattern='src/:group/*.js' \
		--tags='pick=ast,meta,path' \
	@mv meta/js-asts/src/* meta/js-asts
	@rm -rf meta/js-asts/src

metadata-src:
	@rm -rf meta/js
	@skypager metadata --chunk \
		--output-path meta/js \
		--pattern='src/:group/*.js' \
		--tags='pick=meta,path,query,tags'
	@mv meta/js/src/* meta/js
	@rm -rf meta/js/src

metadata-docs:
	@rm -rf meta/docs
	@skypager metadata --chunk \
		--output-path meta/docs \
		--pattern='src/:group/*.md'
	@mv meta/docs/src/* meta/docs
	@rm -rf meta/docs/src

metadata: metadata-src metadata-docs metadata-sitemap
