Makefile (1059B)
1 # get Makefile directory name: http://stackoverflow.com/a/5982798/376773 2 THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) 3 THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) 4 5 # BIN directory 6 BIN := $(THIS_DIR)/node_modules/.bin 7 8 # Path 9 PATH := node_modules/.bin:$(PATH) 10 SHELL := /bin/bash 11 12 # applications 13 NODE ?= $(shell which node) 14 YARN ?= $(shell which yarn) 15 PKG ?= $(if $(YARN),$(YARN),$(NODE) $(shell which npm)) 16 BROWSERIFY ?= $(NODE) $(BIN)/browserify 17 18 .FORCE: 19 20 install: node_modules 21 22 node_modules: package.json 23 @NODE_ENV= $(PKG) install 24 @touch node_modules 25 26 lint: .FORCE 27 eslint browser.js debug.js index.js node.js 28 29 test-node: .FORCE 30 istanbul cover node_modules/mocha/bin/_mocha -- test/**.js 31 32 test-browser: .FORCE 33 mkdir -p dist 34 35 @$(BROWSERIFY) \ 36 --standalone debug \ 37 . > dist/debug.js 38 39 karma start --single-run 40 rimraf dist 41 42 test: .FORCE 43 concurrently \ 44 "make test-node" \ 45 "make test-browser" 46 47 coveralls: 48 cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js 49 50 .PHONY: all install clean distclean