-
Notifications
You must be signed in to change notification settings - Fork 41
Expand file tree
/
Copy pathjustfile
More file actions
142 lines (114 loc) · 2.9 KB
/
justfile
File metadata and controls
142 lines (114 loc) · 2.9 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# Import sub-justfiles
import '.just/firebase.just'
import '.just/analysis.just'
# `just --list --unsorted`
default:
@just --list --unsorted
# `npm install`
[group('setup')]
install:
npm install --ignore-scripts
# `npm ci`
[group('setup')]
install-ci:
npm ci --ignore-scripts --include=dev
# `npm run route:generate`
[group('codegen')]
route-generate: install
npm run route:generate
# `npm run route:generate`
[group('codegen')]
route-generate-ci: install-ci
npm run route:generate
# `npm run dev`
[group('dev')]
dev: install
npm run dev
# `npm run lint`
[group('lint')]
lint: install
npm run lint
# `npm run ci:eslint`
[group('lint')]
eslint-ci: install-ci
npm run ci:eslint
# `npm run format`
[group('lint')]
format: install
npm run format
# `npm run ci:biome`
[group('lint')]
biome-ci: install-ci
npm run ci:biome
# `npm run ci:prettier`
[group('lint')]
prettier-ci: install-ci
npm run ci:prettier
# `npm run test:run`
[group('test')]
test: install route-generate
npm run test:run
# `npm run test:run`
[group('test')]
test-ci: install-ci route-generate-ci
npm run test:run
# `npm run typecheck`
[group('test')]
typecheck: install route-generate
npm run typecheck
# `npm run typecheck`
[group('test')]
typecheck-ci: install-ci route-generate-ci
npm run typecheck
# `uv tool run pre-commit run`
[group('test')]
hooks:
uv tool run pre-commit run --all-files
# `npm run build`
[group('build')]
build: install
op run -- npm run build
# `npm run build` without 1Password (for precommit checks)
[group('build')]
build-no-secrets: install
SENTRY_AUTH_TOKEN="" npm run build
# `npm run build`
[group('build')]
build-ci: route-generate-ci install-ci
npm run build
# Run all pre-commit checks
[group('build')]
precommit: format lint typecheck build-no-secrets test
@echo "✅ All pre-commit checks passed!"
# `npm run deploy:all`
[group('deploy')]
deploy: install
npm run deploy:all
# `npm run deploy:functions`
[group('deploy')]
deploy-functions: install
npm run deploy:functions
# `firebase login`
[group('firebase')]
firebase-login: install
firebase login
# `firebase database:get / > factorio-blueprints-export.json`
[group('firebase')]
database-export: install
firebase database:get / > factorio-blueprints-export.json
# `firebase database:get /tags > tags-export.json`
[group('firebase')]
tags-export: install
firebase database:get /tags > tags-export.json
# Deploy to Cloudflare Pages
[group('deploy')]
deploy-cloudflare: build
npx wrangler pages deploy dist --project-name=factorio-prints
# Preview deployment on Cloudflare Pages
[group('deploy')]
preview-cloudflare: build
npx wrangler pages deploy dist --project-name=factorio-prints --branch=preview
# Deploy to Cloudflare Pages (production)
[group('deploy')]
deploy-cloudflare-production: build
npx wrangler pages deploy dist --project-name=factorio-prints --branch=main