File: Makefile

package info (click to toggle)
node-chai 4.2.0%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,292 kB
  • sloc: makefile: 79; sh: 36
file content (106 lines) | stat: -rw-r--r-- 1,886 bytes parent folder | download | duplicates (3)
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

TESTS = test/*.js
REPORTER = dot

#
# Browser Build
#

all: chai.js

chai.js: lib/*
#	@printf "==> [Browser :: build]\n"
#	@./node_modules/.bin/browserify \
#	 	--bare \
#		--outfile chai.js \
#		--standalone chai \
#		--entry index.js

#
# Release Task
#

define release
	./node_modules/.bin/bump -y --$(1) package.json lib/chai.js
	make chai.js
	git add --force chai.js lib/chai.js package.json bower.json
	npm ls --depth=-1 --long . --loglevel silent | head -1 | git commit -F-
endef

release-patch:
	@$(call release,patch)

release-minor:
	@$(call release,minor)

release-major:
	@$(call release,major)

#
# Node Module
#

#node_modules: package.json
#	@npm install

#
# Tests
#

test: test-node

test-node:
	@printf "==> [Test :: Node.js]\n"
	@NODE_ENV=test mocha \
		--require ./test/bootstrap \
		--reporter $(REPORTER) \
		$(TESTS)

test-cov: node_modules
	@NODE_ENV=test ./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- \
		--require ./test/bootstrap \
		$(TESTS) \

test-phantom: clean-browser chai.js
	@printf "==> [Test :: Karma (PhantomJS)]\n"
	@./node_modules/karma/bin/karma start \
		--single-run --browsers PhantomJS

test-firefox: clean-browser chai.js
	@printf "==> [Test :: Karma (Firefox)]\n"
	@./node_modules/karma/bin/karma start \
		--browsers Firefox

test-sauce: clean-browser chai.js
	@printf "==> [Test :: Karma (Sauce)]\n"
	@CHAI_TEST_ENV=sauce ./node_modules/karma/bin/karma start \
		--single-run

test-travisci:
	@echo TRAVIS_JOB_ID $(TRAVIS_JOB_ID)
	@make test-cov
	@make test-sauce

#
# Clean up
#

clean: clean-node clean-browser clean-cov

clean-node:
	@rm -rf node_modules

clean-browser:
	@rm -f chai.js

clean-cov:
	@rm -rf coverage

#
# Instructions
#

.PHONY: all
.PHONY: test test-all test-node test-phantom test-sauce test-cov
.PHONY: clean clean-node clean-browser clean-cov
.PHONY: release-patch release-minor release-major