b5f3067a6a
Initial setup of project dependencies including axios, express, dotenv, and other supporting packages. Added configuration files and documentation for project setup and usage.
51 lines
1.0 KiB
Makefile
51 lines
1.0 KiB
Makefile
# get Makefile directory name: http://stackoverflow.com/a/5982798/376773
|
|
THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
|
|
THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd)
|
|
|
|
# BIN directory
|
|
BIN := $(THIS_DIR)/node_modules/.bin
|
|
|
|
# Path
|
|
PATH := node_modules/.bin:$(PATH)
|
|
SHELL := /bin/bash
|
|
|
|
# applications
|
|
NODE ?= $(shell which node)
|
|
YARN ?= $(shell which yarn)
|
|
PKG ?= $(if $(YARN),$(YARN),$(NODE) $(shell which npm))
|
|
BROWSERIFY ?= $(NODE) $(BIN)/browserify
|
|
|
|
.FORCE:
|
|
|
|
install: node_modules
|
|
|
|
node_modules: package.json
|
|
@NODE_ENV= $(PKG) install
|
|
@touch node_modules
|
|
|
|
lint: .FORCE
|
|
eslint browser.js debug.js index.js node.js
|
|
|
|
test-node: .FORCE
|
|
istanbul cover node_modules/mocha/bin/_mocha -- test/**.js
|
|
|
|
test-browser: .FORCE
|
|
mkdir -p dist
|
|
|
|
@$(BROWSERIFY) \
|
|
--standalone debug \
|
|
. > dist/debug.js
|
|
|
|
karma start --single-run
|
|
rimraf dist
|
|
|
|
test: .FORCE
|
|
concurrently \
|
|
"make test-node" \
|
|
"make test-browser"
|
|
|
|
coveralls:
|
|
cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js
|
|
|
|
.PHONY: all install clean distclean
|