2023-01-13 04:36:14 +00:00
|
|
|
.PHONY: build bundle ci clean docs docs-local lint package run test
|
2023-01-05 03:55:25 +00:00
|
|
|
|
|
|
|
# JS targets
|
|
|
|
node_modules: deps
|
|
|
|
|
2023-01-06 19:05:31 +00:00
|
|
|
ci: deps lint build-shebang test bundle
|
2023-01-05 03:55:25 +00:00
|
|
|
|
|
|
|
clean:
|
|
|
|
rm -rf node_modules/
|
|
|
|
rm -rf out/
|
|
|
|
|
|
|
|
deps:
|
|
|
|
yarn install
|
|
|
|
|
|
|
|
docs:
|
|
|
|
yarn api-extractor run -c .api-extractor.json
|
|
|
|
yarn api-documenter markdown -i out/api -o docs/api
|
|
|
|
|
|
|
|
docs-local:
|
|
|
|
yarn api-extractor run -c .api-extractor.json --local
|
|
|
|
yarn api-documenter markdown -i out/api -o docs/api
|
|
|
|
|
|
|
|
build: deps
|
|
|
|
yarn tsc
|
|
|
|
|
|
|
|
build-shebang: build
|
2023-01-05 19:47:43 +00:00
|
|
|
sed -i '1s;^;#! /usr/bin/env node\n\n;g' $(shell pwd)/out/src/main.js
|
|
|
|
chmod ug+x out/src/main.js
|
2023-01-05 03:55:25 +00:00
|
|
|
|
|
|
|
bundle: build
|
|
|
|
node esbuild.js
|
|
|
|
cp -v src/index.html out/
|
2023-01-05 16:39:46 +00:00
|
|
|
cp -v examples/config.json out/
|
2023-01-05 03:55:25 +00:00
|
|
|
|
|
|
|
COVER_OPTS := --all \
|
|
|
|
--exclude ".eslintrc.js" \
|
|
|
|
--exclude "docs/**" \
|
2023-04-01 04:32:05 +00:00
|
|
|
--exclude "out/bundle/**" \
|
2023-01-05 03:55:25 +00:00
|
|
|
--exclude "out/coverage/**" \
|
|
|
|
--exclude "vendor/**" \
|
|
|
|
--reporter=text-summary \
|
|
|
|
--reporter=lcov \
|
|
|
|
--reporter=cobertura \
|
|
|
|
--report-dir=out/coverage
|
|
|
|
|
|
|
|
MOCHA_OPTS := --async-only \
|
|
|
|
--check-leaks \
|
|
|
|
--forbid-only \
|
|
|
|
--recursive \
|
|
|
|
--require source-map-support/register \
|
|
|
|
--require out/test/setup.js \
|
|
|
|
--sort
|
|
|
|
|
|
|
|
lint: deps
|
|
|
|
yarn eslint src/ test/ --ext .ts,.tsx
|
|
|
|
|
|
|
|
test: build
|
|
|
|
MOCHA_FILE=out/test-results.xml yarn c8 $(COVER_OPTS) mocha $(MOCHA_OPTS) "out/**/Test*.js"
|
2023-02-18 05:16:02 +00:00
|
|
|
|
|
|
|
watch: deps
|
|
|
|
WATCH=TRUE make ci
|