-
Notifications
You must be signed in to change notification settings - Fork 3
/
Makefile
123 lines (68 loc) · 1.58 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#############
# VARIABLES #
# Set the node.js environment to test:
NODE_ENV ?= test
# NOTES #
NOTES ?= 'TODO|FIXME'
# MOCHA #
# Specify the test framework bin locations:
MOCHA ?= ./node_modules/.bin/mocha
_MOCHA ?= ./node_modules/.bin/_mocha
# Specify the mocha reporter:
MOCHA_REPORTER ?= spec
# ISTANBUL #
# Istanbul configuration:
ISTANBUL ?= ./node_modules/.bin/istanbul
ISTANBUL_OUT ?= ./reports/coverage
ISTANBUL_REPORT ?= lcov
ISTANBUL_LCOV_INFO_PATH ?= $(ISTANBUL_OUT)/lcov.info
ISTANBUL_HTML_REPORT_PATH ?= $(ISTANBUL_OUT)/lcov-report/index.html
# FILES #
# Source files:
SOURCES ?= lib/*.js
# Test files:
TESTS ?= test/*.js
###########
# TARGETS #
# NOTES #
.PHONY: notes
notes:
grep -Ern $(NOTES) $(SOURCES) $(TESTS)
# UNIT TESTS #
.PHONY: test test-mocha
test: test-mocha
test-mocha: node_modules
NODE_ENV=$(NODE_ENV) \
NODE_PATH=$(NODE_PATH_TEST) \
$(MOCHA) \
--reporter $(MOCHA_REPORTER) \
$(TESTS)
# CODE COVERAGE #
.PHONY: test-cov test-istanbul-mocha
test-cov: test-istanbul-mocha
test-istanbul-mocha: node_modules
NODE_ENV=$(NODE_ENV) \
NODE_PATH=$(NODE_PATH_TEST) \
$(ISTANBUL) cover \
--dir $(ISTANBUL_OUT) --report $(ISTANBUL_REPORT) \
$(_MOCHA) -- \
--reporter $(MOCHA_REPORTER) \
$(TESTS)
# COVERAGE REPORT #
.PHONY: view-cov view-istanbul-report
view-cov: view-istanbul-report
view-istanbul-report:
open $(ISTANBUL_HTML_REPORT_PATH)
# NODE #
# Installing node_modules:
.PHONY: install
install:
npm install
# Clean node:
.PHONY: clean-node
clean-node:
rm -rf node_modules
# CLEAN #
.PHONY: clean
clean:
rm -rf build