]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git/blame - cmd/web/Makefile
Upgrade ReactJS. EC6 import modules.
[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
7JSX_SRC= main.jsx signup.jsx signin.jsx otp.jsx poloniex.jsx
8JS_SRC= cookies.js app.js api.js
2f91f20a 9STATIC_FILES= index.html style.css cryptocoins.css cryptocoins.ttf cryptocoins.woff cryptocoins.woff2
7a9e5112 10JSX_OBJS=$(addprefix $(BUILD_DIR)/,$(JSX_SRC:.jsx=.js))
11JS_OBJS=$(addprefix $(BUILD_DIR)/,$(JS_SRC))
12STATIC_BUILD_DIR=build/static
13
14install:
15 node --version
16 npm --version
17 yarn --version
18 yarn install
19
2f91f20a 20static: $(STATIC_BUILD_DIR) js $(addprefix $(STATIC_BUILD_DIR)/, $(STATIC_FILES))
7a9e5112 21
22js: build/static/main.js
23
2f91f20a 24$(STATIC_BUILD_DIR)/%: static/%
25 cp $< $@
7a9e5112 26
2f91f20a 27$(STATIC_BUILD_DIR):
28 mkdir -p $(BUILD_DIR)
29 mkdir -p $@
7a9e5112 30
31$(BUILD_DIR)/%.js: $(SRC_DIR)/%.jsx
989fb5c7 32 eslint --fix $<
33 cp $< $@
7a9e5112 34
35$(BUILD_DIR)/%.js: $(SRC_DIR)/%.js
989fb5c7 36 eslint $<
7a9e5112 37 cp $< $@
7a9e5112 38
39build/static/main.js: $(JSX_OBJS) $(JS_OBJS) env/$(ENV).env
989fb5c7 40 browserify -t [ babelify --presets [ env react ] --plugins [ transform-class-properties ] ] \
41 -t [ localenvify --envfile env/$(ENV).env ] \
42 -t [ debowerify ] \
43 $(BUILD_DIR)/main.js -o $@
7a9e5112 44
2f91f20a 45build/webapp.tar.gz: $(addprefix $(STATIC_BUILD_DIR)/, $(STATIC_FILES)) build/static/main.js
7a9e5112 46 tar czf $@ --directory=$(dir $<) $(notdir $^)
47
2f91f20a 48release: $(STATIC_BUILD_DIR) build/webapp.tar.gz
7a9e5112 49
50clean:
51 rm -rf build
2f91f20a 52 rm -rf node_modules