2016-10-31 14:02:32 +02:00
|
|
|
NAME := $(lastword $(subst /, ,$(CURDIR)))
|
|
|
|
|
|
|
|
bindir := $(shell yarn bin)
|
|
|
|
AVA := $(bindir)/ava
|
|
|
|
NYC := $(bindir)/nyc
|
2016-12-06 12:12:25 +02:00
|
|
|
UI := $(shell pwd)/../ui
|
2016-10-31 14:02:32 +02:00
|
|
|
|
2017-01-03 19:35:24 +02:00
|
|
|
.PHONY: install-production
|
2017-01-06 17:32:38 +02:00
|
|
|
install-production: compile
|
|
|
|
yarn install --production --prefer-offline
|
2017-01-03 19:35:24 +02:00
|
|
|
|
2016-10-24 17:52:46 +03:00
|
|
|
.PHONY: install
|
|
|
|
install:
|
2017-01-06 18:24:37 +02:00
|
|
|
NODE_ENV=development yarn install --prefer-offline
|
2016-10-24 17:52:46 +03:00
|
|
|
|
|
|
|
.PHONY: clean
|
|
|
|
clean:
|
|
|
|
@rm -rf node_modules
|
|
|
|
|
2016-12-06 12:12:25 +02:00
|
|
|
ui:
|
2017-01-03 19:11:18 +02:00
|
|
|
ifeq ($(BUILD),production)
|
|
|
|
else
|
2016-12-06 12:12:25 +02:00
|
|
|
$(MAKE) compile -C $(UI)
|
2017-01-03 19:11:18 +02:00
|
|
|
endif
|
2016-12-06 12:12:25 +02:00
|
|
|
|
2016-10-20 04:14:26 +03:00
|
|
|
.PHONY: test
|
2016-12-06 12:12:25 +02:00
|
|
|
test: ui
|
2016-12-20 13:29:54 +02:00
|
|
|
NODE_ENV=test BABEL_DISABLE_CACHE=1 CONFIG=$(shell pwd)/webpack/index.js $(NYC) $(AVA) test/**/*.js $(TEST_ARGS)
|
2016-10-20 04:14:26 +03:00
|
|
|
|
2016-10-31 14:02:32 +02:00
|
|
|
XUNIT_DIR := ${CIRCLE_TEST_REPORTS}/tap-xunit
|
2016-10-31 16:17:08 +02:00
|
|
|
XUNIT := $(bindir)/tap-xunit
|
|
|
|
XUNIT_OUTPUT := >> ${CIRCLE_TEST_REPORTS}/tap-xunit/xunit-$(NAME)
|
2016-10-31 14:02:32 +02:00
|
|
|
.PHONY: test-ci
|
2016-12-06 12:12:25 +02:00
|
|
|
test-ci: ui
|
2016-10-31 14:02:32 +02:00
|
|
|
mkdir -p $(XUNIT_DIR)
|
2016-12-20 13:29:54 +02:00
|
|
|
BABEL_DISABLE_CACHE=1 NODE_ENV=test CONFIG=$(shell pwd)/webpack/index.js $(NYC) $(AVA) test/**/*.js -t | $(XUNIT) $(XUNIT_OUTPUT).xml
|
2016-10-31 14:02:32 +02:00
|
|
|
|
2016-10-20 15:36:24 +03:00
|
|
|
.PHONY: compile
|
2016-12-06 12:12:25 +02:00
|
|
|
compile: ui install
|
2017-01-03 19:11:18 +02:00
|
|
|
ifeq ($(BUILD),production)
|
2016-12-06 12:12:25 +02:00
|
|
|
NODE_ENV=production $(bindir)/webpack --config webpack/index.js
|
2017-01-03 19:11:18 +02:00
|
|
|
else
|
|
|
|
$(bindir)/webpack --config webpack/index.js
|
|
|
|
endif
|
2016-10-24 17:52:46 +03:00
|
|
|
|
2016-10-31 19:09:00 +02:00
|
|
|
.PHONY: build
|
|
|
|
build:
|
|
|
|
docker build -t quay.io/yldio/joyent-dashboard-$(NAME) .
|
|
|
|
|
|
|
|
.PHONY: push
|
|
|
|
push:
|
|
|
|
docker push quay.io/yldio/joyent-dashboard-$(NAME)
|
|
|
|
|
2016-10-24 18:31:05 +03:00
|
|
|
.PHONY: start
|
|
|
|
start:
|
2016-10-31 15:28:44 +02:00
|
|
|
node server
|
2016-10-25 14:05:29 +03:00
|
|
|
|
|
|
|
.PHONY: lint
|
|
|
|
lint:
|
2016-10-31 16:17:08 +02:00
|
|
|
$(bindir)/eslint .
|
|
|
|
|
|
|
|
.PHONY: lint-ci
|
|
|
|
lint-ci:
|
|
|
|
mkdir -p $(XUNIT_DIR)
|
|
|
|
-$(bindir)/eslint . --format tap | $(XUNIT) $(XUNIT_OUTPUT)-lint.xml
|