]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git/blame - cmd/web/Makefile
JS factorization + clean.
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git] / cmd / web / Makefile
CommitLineData
7a9e5112 1SHELL=/bin/bash
2ENV ?= dev
3export PATH := $(PATH):./node_modules/.bin
4
5SRC_DIR=js
6BUILD_DIR=build/js
d5b8f0ff 7JSX_SRC= header_footer.jsx main.jsx signup.jsx signin.jsx otp.jsx poloniex.jsx password_reset.jsx change_password.jsx account.jsx balance.jsx admin.jsx panel.jsx
7a9e5112 8JS_SRC= cookies.js app.js api.js
bf5deb87 9STATIC_FILES= index.html style.css fontello.css
d5b8f0ff 10STATIC_FILES+=$(addprefix fonts/, fontello.eot fontello.svg fontello.ttf fontello.woff fontello.woff2 cryptocoins.css cryptocoins.ttf cryptocoins.woff cryptocoins.woff2)
7a9e5112 11JSX_OBJS=$(addprefix $(BUILD_DIR)/,$(JSX_SRC:.jsx=.js))
12JS_OBJS=$(addprefix $(BUILD_DIR)/,$(JS_SRC))
6b3f0ad0 13ICONS=$(addprefix $(STATIC_BUILD_DIR)/icons/black/, $(notdir $(wildcard static/icons/black/*.svg)))
14ICONS+=$(addprefix $(STATIC_BUILD_DIR)/icons/color/, $(notdir $(wildcard static/icons/color/*.svg)))
7a9e5112 15STATIC_BUILD_DIR=build/static
16
17install:
18 node --version
19 npm --version
20 yarn --version
21 yarn install
22
78e3e81d 23static: $(STATIC_BUILD_DIR) $(STATIC_BUILD_DIR)/fonts js $(addprefix $(STATIC_BUILD_DIR)/, $(STATIC_FILES)) $(ICONS)
7a9e5112 24
25js: build/static/main.js
26
2f91f20a 27$(STATIC_BUILD_DIR)/%: static/%
28 cp $< $@
7a9e5112 29
2f91f20a 30$(STATIC_BUILD_DIR):
31 mkdir -p $(BUILD_DIR)
32 mkdir -p $@
6b3f0ad0 33 mkdir -p $@/icons/black
34 mkdir -p $@/icons/color
78e3e81d 35
36$(STATIC_BUILD_DIR)/fonts:
37 mkdir -p $@
7a9e5112 38
39$(BUILD_DIR)/%.js: $(SRC_DIR)/%.jsx
989fb5c7 40 eslint --fix $<
41 cp $< $@
7a9e5112 42
43$(BUILD_DIR)/%.js: $(SRC_DIR)/%.js
989fb5c7 44 eslint $<
7a9e5112 45 cp $< $@
7a9e5112 46
6b3f0ad0 47$(STATIC_BUILD_DIR)/icons/black/%.svg: static/icons/black/%.svg
48 cp $< $@
49
7a9e5112 50build/static/main.js: $(JSX_OBJS) $(JS_OBJS) env/$(ENV).env
989fb5c7 51 browserify -t [ babelify --presets [ env react ] --plugins [ transform-class-properties ] ] \
52 -t [ localenvify --envfile env/$(ENV).env ] \
53 -t [ debowerify ] \
54 $(BUILD_DIR)/main.js -o $@
7a9e5112 55
6b3f0ad0 56build/webapp.tar.gz: $(addprefix $(STATIC_BUILD_DIR)/, $(STATIC_FILES)) build/static/main.js $(ICONS)
57 tar czf $@ --directory=$(dir $<) $(subst $(STATIC_BUILD_DIR)/,,$^)
7a9e5112 58
2f91f20a 59release: $(STATIC_BUILD_DIR) build/webapp.tar.gz
7a9e5112 60
61clean:
62 rm -rf build
2f91f20a 63 rm -rf node_modules
bf5deb87 64
65
66FONT_DIR = ./static/fontello
67FONTELLO_HOST ?= http://fontello.com
68
d5b8f0ff 69crypto-icons:
70 curl "https://raw.githubusercontent.com/AllienWorks/cryptocoins/master/webfont/cryptocoins.css" > ./static/fonts/cryptocoins.css
71 curl "https://raw.githubusercontent.com/AllienWorks/cryptocoins/master/webfont/cryptocoins.ttf" > ./static/fonts/cryptocoins.ttf
72 curl "https://raw.githubusercontent.com/AllienWorks/cryptocoins/master/webfont/cryptocoins.woff" > ./static/fonts/cryptocoins.woff
73 curl "https://raw.githubusercontent.com/AllienWorks/cryptocoins/master/webfont/cryptocoins.woff2" > ./static/fonts/cryptocoins.woff2
74
bf5deb87 75fontopen:
76 @if test ! `which curl` ; then \
77 echo 'Install curl first.' >&2 ; \
78 exit 128 ; \
79 fi
80 curl --silent --show-error --fail --output .fontello \
81 --form "config=@fontello_config.json" \
82 ${FONTELLO_HOST}
83 x-www-browser ${FONTELLO_HOST}/`cat .fontello`
84
85
86fontsave:
87 @if test ! `which unzip` ; then \
88 echo 'Install unzip first.' >&2 ; \
89 exit 128 ; \
90 fi
91 @if test ! -e .fontello ; then \
92 echo 'Run `make fontopen` first.' >&2 ; \
93 exit 128 ; \
94 fi
95 rm -rf .fontello.src .fontello.zip
96 curl --silent --show-error --fail --output .fontello.zip \
97 ${FONTELLO_HOST}/`cat .fontello`/get
98 unzip .fontello.zip -d .fontello.src
99 rm -rf ${FONT_DIR}
100 mv `find ./.fontello.src -maxdepth 1 -name 'fontello-*'` ${FONT_DIR}
101 rm -rf .fontello.src .fontello.zip
102 cp ${FONT_DIR}/font/* static/fonts/
103 cp ${FONT_DIR}/css/fontello-codes.css static/fontello.css
104 rm -rf ${FONT_DIR}