mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2024-11-23 07:38:07 -05:00
b278aa05f5
Now that we send the build artifact to EB from Travis, we have to do the same thing locally.
77 lines
1.6 KiB
Makefile
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
|