generated from greymass/bun-service-template
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMakefile
More file actions
107 lines (78 loc) · 2.82 KB
/
Makefile
File metadata and controls
107 lines (78 loc) · 2.82 KB
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
99
100
101
102
103
104
105
106
107
include .env
SHELL := /usr/bin/env bash
BIN := ./node_modules/.bin
OS := $(shell uname)
VERSION := $(shell git describe --tags --always --abbrev=0)
RELEASE_NAME=rpcli
build: deps
bun build src/index.ts --compile --minify --sourcemap --outfile dist/$(RELEASE_NAME)
.PHONY: dev
dev: deps
bun run dev
.PHONY: dev
dev/api: deps
bun run dev/api
.PHONY: dev
dev/manager: deps
bun run dev/manager
.PHONY: run
run/manager: deps
bun run src/index.ts run manager
.PHONY: test
test: deps clean/testdb
bun --env-file=./test/.env.test test
.PHONY: test/watch
test/watch: deps
bun --env-file=./test/.env.test test --watch
.PHONY: check
check: deps
bun run lint
.PHONY: drizzle/generate
drizzle/generate: deps
$(BIN)/drizzle-kit generate
.PHONY: drizzle/migrate
drizzle/migrate: deps
$(BIN)/drizzle-kit migrate && bun run scripts/generate-migration.ts
.PHONY: drizzle/studio
drizzle/studio: deps
$(BIN)/drizzle-kit studio
.PHONY: format
format: deps
bun run format
dist/$(RELEASE_NAME)-linux-x64:
bun build --target=bun-linux-x64 --compile --minify --sourcemap src/index.ts --outfile dist/$(RELEASE_NAME)-linux-x64
dist/$(RELEASE_NAME)-linux-arm64:
bun build --target=bun-linux-arm64 --compile --minify --sourcemap src/index.ts --outfile dist/$(RELEASE_NAME)-linux-arm64
# dist/$(RELEASE_NAME)-windows-x64:
# bun build --target=bun-windows-x64 --compile --minify --sourcemap src/index.ts --outfile dist/$(RELEASE_NAME)-windows-x64
# dist/$(RELEASE_NAME)-windows-arm64:
# # TODO: Figure out why this isn't working
# # bun build --target=bun-windows-arm64 --compile --minify --sourcemap src/index.ts --outfile dist/$(RELEASE_NAME)-windows-arm64
# dist/$(RELEASE_NAME)-darwin-x64:
# bun build --target=bun-darwin-x64 --compile --minify --sourcemap src/index.ts --outfile dist/$(RELEASE_NAME)-darwin-x64
# dist/$(RELEASE_NAME)-darwin-arm64:
# bun build --target=bun-darwin-arm64 --compile --minify --sourcemap src/index.ts --outfile dist/$(RELEASE_NAME)-darwin-arm64
dist/$(RELEASE_NAME)-linux-x64-musl:
bun build --target=bun-linux-x64-musl --compile --minify --sourcemap src/index.ts --outfile dist/$(RELEASE_NAME)-linux-x64-musl
dist/$(RELEASE_NAME)-linux-arm64-musl:
bun build --target=bun-linux-arm64-musl --compile --minify --sourcemap src/index.ts --outfile dist/$(RELEASE_NAME)-linux-arm64-musl
release: clean deps dist/$(RELEASE_NAME)-linux-x64 dist/$(RELEASE_NAME)-linux-arm64 dist/$(RELEASE_NAME)-linux-x64-musl dist/$(RELEASE_NAME)-linux-arm64-musl
gzip dist/*
git push
git push --tags
gh release create $(VERSION) ./dist/*.gz --generate-notes -t $(VERSION)
.PHONY: deps
deps: node_modules
node_modules:
bun install --frozen-lockfile
.PHONY: clean
clean: clean/dist
.PHONY: clean/dist
clean/dist:
rm -rf dist
.PHONY: clean/node_modules
clean/node_modules:
rm -rf node_modules
.PHONY: clean/testdb
clean/testdb:
rm -f src/lib/testing.sqlite