-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
72 lines (55 loc) · 1.77 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# Makefile
# Copyright 2017-2018 Balint Kovacs
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
BSB = "$$(npm bin)/bsb"
WEBPACK = "$$(npm bin)/webpack"
WEBPACK-DEV-SERVER = "$$(npm bin)/webpack-dev-server"
CHOKIDAR = "$$(npm bin)/chokidar"
npm:
npm install
revision:
./revision.sh
build: revision
$(BSB) -make-world
mkdir -p build/bundle/js
cp -r web/* build/bundle
$(WEBPACK)
serve: revision
$(CHOKIDAR) "web/**" "src/**" -c './revision.sh "{path}"' & \
$(WEBPACK-DEV-SERVER) --env.dev & \
$(BSB) -make-world -w
test:
$(BSB) -make-world
node_modules/infinite-jest/node_modules/.bin/jest
buildtest:
temp=$$(mktemp -d); \
pwd=$$(pwd); \
cd $$temp; \
git clone $$pwd etpl; \
cd etpl; \
make; \
make test; \
rm -rf $$temp
watch-test: revision
$(BSB) -make-world -w > /dev/null & \
node_modules/infinite-jest/node_modules/.bin/jest --watchAll
all: npm build
build/bundle.zip: build
rm -f build/bundle.zip
cd build && zip -r bundle.zip bundle
release: build/bundle.zip
cp -rT build/bundle ../etpl-pages/demo/$(shell git describe --dirty | tr -d "\n")
cp -T build/bundle.zip ../etpl-releases/$(shell git describe --dirty | tr -d "\n").zip
clean:
$(BSB) -clean-world
rm -vrf lib build
.PHONY: npm bucklescript revision build serve test watch-test all release clean
.DEFAULT_GOAL := all