PACKAGE_TS_FILES := $(shell git ls-files package/lib) BASE_TS_FILES := $(shell git ls-files base/lib) version = $(shell git tag --sort=committerdate | tail -1) .PHONY: test base/test package/test clean bundle fmt buildOutput check all: bundle package/test: $(PACKAGE_TS_FILES) package/node_modules base/node_modules cd package && npm test base/test: $(BASE_TS_FILES) base/node_modules cd base && npm test test: base/test package/test clean: rm -rf base/node_modules rm -rf dist rm -rf baseDist rm -f package/lib/test/output.ts rm -rf package/node_modules bundle: baseDist dist | test fmt touch dist base/lib/exver/exver.ts: base/node_modules base/lib/exver/exver.pegjs cd base && npm run peggy baseDist: $(PACKAGE_TS_FILES) $(BASE_TS_FILES) base/package.json base/node_modules base/README.md LICENSE (cd base && npm run tsc) rsync -ac --include='*.js' --include='*.d.ts' --include='*/' --exclude='*' base/lib/ baseDist/ rsync -ac base/node_modules baseDist/ cp base/package.json baseDist/package.json cp base/README.md baseDist/README.md cp LICENSE baseDist/LICENSE touch baseDist dist: $(PACKAGE_TS_FILES) $(BASE_TS_FILES) package/package.json package/.npmignore package/node_modules README.md LICENSE CHANGELOG.md (cd package && npm run tsc) rsync -ac --include='*.js' --include='*.d.ts' --include='*/' --exclude='*' base/lib/ dist/base/lib/ rsync -ac package/node_modules dist/ cp package/.npmignore dist/.npmignore cp package/package.json dist/package.json cp README.md dist/README.md cp LICENSE dist/LICENSE cp CHANGELOG.md dist/CHANGELOG.md touch dist full-bundle: bundle check: cd package npm run check cd ../base npm run check fmt: package/node_modules base/node_modules npx --prefix base prettier "**/*.ts" --write package/package-lock.json: package/package.json cd package && npm i base/package-lock.json: base/package.json cd base && npm i package/node_modules: package/package-lock.json cd package && npm ci base/node_modules: base/package-lock.json cd base && npm ci node_modules: package/node_modules base/node_modules publish: bundle package/package.json README.md LICENSE CHANGELOG.md cd dist && npm publish --access=public --tag=latest link: bundle cd dist && npm link