scratch-www/Makefile
Ray Schamp b278aa05f5 Add deploy make target
Now that we send the build artifact to EB from Travis, we have to do the same thing locally.
2015-11-03 12:51:45 -05:00

77 lines
1.6 KiB
Makefile

ESLINT=./node_modules/.bin/eslint
NODE=node
SASSLINT=./node_modules/.bin/sass-lint -v
WATCH=./node_modules/.bin/watch
WEBPACK=./node_modules/.bin/webpack
# ------------------------------------
build:
@make clean
@make static
@make translations
@make webpack
clean:
rm -rf ./build
mkdir -p build
mkdir -p locales
deploy:
ifeq ($(shell grep "artifact: deploy.zip" .elasticbeanstalk/config.yml), )
@echo "You must configure elasticbeanstalk to deploy an artifact."
@echo "Add the following to your .elasticbeanstalk/config.yml"
@echo "deploy:\n artifact: deploy.zip"
else
@make build
git archive -o deploy.zip HEAD
zip -rv deploy.zip build
eb deploy -l $$(git rev-parse --verify --short=5 HEAD) -m "$$(git log -1 --pretty=%s)"
endif
static:
cp -a ./static/. ./build/
translations:
./src/scripts/build-locales locales/translations.json
webpack:
$(WEBPACK) --bail
# ------------------------------------
watch:
$(WATCH) "make clean && make static" ./static &
$(WEBPACK) -d --watch &
wait
stop:
-pkill -f "$(WEBPACK) -d --watch"
-pkill -f "$(WATCH) make clean && make static ./static"
-pkill -f "$(NODE) ./server/index.js"
start:
$(NODE) ./server/index.js
# ------------------------------------
test:
@make lint
@make build
lint:
$(ESLINT) ./*.js
$(ESLINT) ./server/*.js
$(ESLINT) ./src/*.js
$(ESLINT) ./src/*.jsx
$(ESLINT) ./src/mixins/*.jsx
$(ESLINT) ./src/views/**/*.jsx
$(ESLINT) ./src/components/**/*.jsx
$(SASSLINT) ./src/*.scss
$(SASSLINT) ./src/views/**/*.scss
$(SASSLINT) ./src/components/**/*.scss
# ------------------------------------
.PHONY: build clean deploy static translations webpack watch stop start test lint