UNPKG

1.51 kBPlain TextView Raw
1SHELL := /usr/bin/env bash
2TYPESCRIPT_SOURCE_FILES = $(shell find src test -type f -name "*.ts" -o -name "*.tsx")
3PRIVATE = $(shell node -e "console.log(require('./package.json').private)")
4
5default: .linted .tested .built
6.PHONY: default
7
8.deps: package-lock.json
9ifndef NEW_VERSION
10 if [ -f ".internal-dependencies" ]; then cat .internal-dependencies | xargs -n 1 scripts/npm-link; fi
11endif
12 touch $@
13
14.codegen: .deps
15 touch $@
16
17.built: .codegen $(TYPESCRIPT_SOURCE_FILES)
18 npm run build
19 touch $@
20
21.tested: .built $(TYPESCRIPT_SOURCE_FILES)
22 TS_NODE_TRANSPILE_ONLY=1 npm run test
23 touch $@
24
25.linted: $(TYPESCRIPT_SOURCE_FILES) package-lock.json
26 npm run lint-fix
27 touch $@
28
29package-lock.json: package.json
30 npm install
31 touch $@
32
33update-dependencies:
34 npx npm-check-updates --upgrade
35.PHONY: update-dependencies
36
37pre-release: update-dependencies clean default
38.PHONY: pre-release
39
40update-version:
41ifdef NEW_VERSION
42 npm --no-git-tag-version --allow-same-version version "$(NEW_VERSION)"
43else
44 @echo -e "\033[0;31mNEW_VERSION is not defined. Can't update version :-(\033[0m"
45 exit 1
46endif
47.PHONY: update-version
48
49publish: .codegen
50ifneq (true,$(PRIVATE))
51 npm publish
52else
53 @echo "Not publishing private npm module"
54endif
55.PHONY: publish
56
57post-release:
58 @echo "No post-release needed for javascript"
59.PHONY: post-release
60
61clean: clean-javascript
62.PHONY: clean
63
64clean-javascript:
65 rm -rf .deps .codegen .built .tested* .linted package-lock.json node_modules coverage dist acceptance
66.PHONY: clean-javascript
67
\No newline at end of file