-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
53 lines (37 loc) · 1.29 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
BROWSERIFY ?= browserify
MINIFY ?= minify
REPORTER ?= spec
MOCHA ?= mocha
MOCHA_HEADLESS_CHROME ?= node_modules/mocha-headless-chrome/bin/start
#FILTER ?= .+
BROWSERIFIED ?= dist/opentmi-client.js
MINIFIED ?= dist/opentmi-client.min.js
BROWSER_TEST ?= browser-test.js
TESTS = $(addprefix test/,api.js)
.PHONY: browserify minify test test-node test-browser bower-install coverage clean doc lint
clean:
rm -f ${BROWSERIFIED} ${MINIFIED} ${BROWSER_TEST}
bower-install:
bower install
ALL_DEPS := $(sort $(shell ${BROWSERIFY} --list src/index.js))
${BROWSERIFIED}: ${ALL_DEPS} package.json Makefile
${BROWSERIFY} -o $@ -s opentmiClient -r ./src/index.js:opentmiClient ${ALL_DEPS}
browserify: ${BROWSERIFIED}
${MINIFIED} : ${BROWSERIFIED}
${MINIFY} $< -o $@
minify: ${MINIFIED}
test: test-node test-browser
${BROWSER_TEST} : $(shell ${BROWSERIFY} --list ${TESTS})
${BROWSERIFY} -o $@ ${TESTS}
test-browser: bower-install ${BROWSER_TEST}
${MOCHA_HEADLESS_CHROME} -f test/index.html
test-node:
NODE_ENV=test ${MOCHA} --reporter $(REPORTER) --recursive -g '${FILTER}'
coverage:
NODE_ENV=test istanbul cover -- _mocha --recursive -R ${REPORTER} -g '${FILTER}'
doc:
./node_modules/.bin/jsdoc -d docs --readme README.md -r src package.json --verbose
lint:
eslint src test
lint-fix:
eslint src test --fix