blob: 2356f07529f0c9076ad9ae44e0a24db3df5aea9c (
plain) (
blame)
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
SH=/bin/sh
GO=go
NPM=npm
PANDOC=pandoc
BINARY=neko
VERSION=0.3
BUILD=`git rev-parse HEAD`
LDFLAGS=-ldflags "-X main.Version=${VERSION} -X main.Build=${BUILD}"
.PHONY: default all clean ui build install test test-race test-frontend test-e2e ui-check lint check ci run dev docs install-hooks cover coverage-html bench bench-short stress test-perf
default: build
all: clean ui ui-vanilla build docs
clean:
rm -f ${BINARY}
rm -f readme.html
ui:
cd frontend && ${NPM} install && ${NPM} run build
rm -rf web/dist/v2
mkdir -p web/dist/v2
cp -r frontend/dist/* web/dist/v2/
ui-vanilla:
cd frontend-vanilla && ${NPM} install && ${NPM} run build
rm -rf web/dist/v3
mkdir -p web/dist/v3
cp -r frontend-vanilla/dist/* web/dist/v3/
build:
${GO} build ${LDFLAGS} -o ${BINARY} ./cmd/neko
install: build
cp ${BINARY} ${GOBIN}
test:
${GO} test -cover ./...
cd frontend && ${NPM} test -- --run
cd frontend-vanilla && ${NPM} test -- --run
test-race:
${GO} test -race ./...
cover:
${GO} test -coverprofile=coverage.out ./...
${GO} tool cover -func=coverage.out
coverage-html: cover
${GO} tool cover -html=coverage.out
test-frontend:
cd frontend && ${NPM} run lint
cd frontend && ${NPM} test -- --run
# test-e2e: build
# ./scripts/run_e2e_safe.sh
ui-check: ui
git diff --exit-code web/dist/v2/
lint:
golangci-lint run
cd frontend && ${NPM} run lint
check: lint test
ci: lint test-race test-frontend ui-check
run: build
./${BINARY}
dev: build
./${BINARY} -d
install-hooks:
chmod +x scripts/install-hooks.sh
./scripts/install-hooks.sh
bench:
${GO} test -bench=. -benchmem -count=3 -run=^$$ ./...
bench-short:
${GO} test -bench=. -benchmem -count=1 -run=^$$ ./...
stress:
${GO} test -run=TestStress -count=1 -timeout=120s ./...
test-perf:
cd frontend-vanilla && ${NPM} test -- --run src/perf/
docs: readme.html
readme.html: README.md
${PANDOC} README.md -o readme.html
|