1 | .DELETE_ON_ERROR:
|
2 |
|
3 | BIN = ./node_modules/.bin
|
4 | TESTS = $(shell find src -path '*/__tests__/*-test.js')
|
5 | FIXTURES = $(shell find src -path '*/__tests__/*-fixture/*.js')
|
6 | SRC = $(filter-out $(TESTS) $(FIXTURES), $(shell find src -name '*.js'))
|
7 | LIB = $(SRC:src/%=lib/%)
|
8 | MOCHA_OPTS = -R dot --require babel-core/register
|
9 |
|
10 | build::
|
11 | @$(MAKE) -j 8 $(LIB)
|
12 |
|
13 | lint::
|
14 | @$(BIN)/eslint src
|
15 |
|
16 | check::
|
17 | @$(BIN)/flow --show-all-errors src
|
18 |
|
19 | test::
|
20 | @$(BIN)/mocha $(MOCHA_OPTS) $(TESTS)
|
21 |
|
22 | ci::
|
23 | @$(BIN)/mocha $(MOCHA_OPTS) --watch --watch-extensions json,md $(TESTS)
|
24 |
|
25 | version-major version-minor version-patch:: lint check test build
|
26 | @npm version $(@:version-%=%)
|
27 |
|
28 | publish::
|
29 | @npm publish
|
30 | @git push --tags origin HEAD:master
|
31 |
|
32 | clean::
|
33 | @rm -rf lib
|
34 |
|
35 | lib/%.js: src/%.js
|
36 | @echo "Building $<"
|
37 | @mkdir -p $(@D)
|
38 | @$(BIN)/babel $(BABEL_OPTIONS) -o $@ $<
|