#!/usr/bin/make -f

# generate documentation unless nodoc requested
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
DOCS = README.html README.txt
endif

ESLINT = eslint
MOCHA = mocha --no-timeout
# normalize output with TAP where possible unless terse requested
ifeq (,$(filter terse,$(DEB_BUILD_OPTIONS)))
ESLINT += --format tap
MOCHA += --reporter tap
else
ESLINT += --format unix
MOCHA += --reporter dot --no-colors
endif

%:
	dh $@

%.html: %.md
	pandoc --from gfm-raw_html --to html --standalone --output $@ $<

%.txt: %.md
	pandoc --from gfm-raw_html --to plain --output $@ $<

override_dh_clean:
	dh_clean -- $(DOCS)

override_dh_auto_configure:
	mkdir -p node_modules/@types
	cp --force --recursive --target node_modules/@types $(addprefix /usr/share/nodejs/@types/,eslint estree json-schema node)

# TODO: refresh unicode ids and properties when ts-node works
override_dh_auto_build: $(DOCS)
#	ts-node scripts/update-unicode-ids.ts
#	ts-node scripts/update-unicode-properties.ts
	tsc --module es2015
	rollup --config

# TODO: lint-check code when ESLint plugins are in Debian
override_dh_auto_test:
	cp --force --recursive --target node_modules/@types /usr/share/nodejs/@types/mocha
	ts-node scripts/update-fixtures.ts
	$(MOCHA) --require ts-node/register "test/*.ts"
#	$(ESLINT) scripts src test --ext .ts

override_dh_installdocs:
	dh_installdocs --all -- $(DOCS)
