#!/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

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)

%.html: %.md
	cmark-gfm $< > $@

%.txt: %.md
	cmark-gfm --to plaintext $< > $@

%:
	dh $@
