Skip to content

Commit c5e5c38

Browse files
committed
update env related scripts
1 parent dcf6479 commit c5e5c38

File tree

8 files changed

+23
-87
lines changed

8 files changed

+23
-87
lines changed

Taskfile.yaml

Lines changed: 3 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ tasks:
8181
supabase-start:
8282
cmds:
8383
- curl -o supabase/config.toml https://gist.githubusercontent.com/yujonglee/c0704ebe0818621a64753d663c4fcaff/raw/b82572dfcb6ffa4d20c332a8dd7650e5b82b99c3/supabase-default.toml
84+
- dasel put -f supabase/config.toml -t int -v 17 'db.major_version'
8485
- dasel put -f supabase/config.toml -t string -v 'http://localhost:3000' 'auth.site_url'
8586
- dasel put -f supabase/config.toml -t json -v '["http://localhost:3000/callback/auth"]' 'auth.additional_redirect_urls'
8687
- '[ -n "$GITHUB_CLIENT_ID" ] && [ -n "$GITHUB_CLIENT_SECRET" ] && dasel put -f supabase/config.toml -t bool -v true ''auth.external.github.enabled'' || true'
@@ -199,83 +200,5 @@ tasks:
199200
200201
stripe:
201202
cmds:
202-
- |
203-
bash <<'EOF'
204-
set -euo pipefail
205-
206-
generated_env_file=".stripe/generated.env"
207-
env_target="apps/api/.env"
208-
209-
cleanup() {
210-
rm -f "$generated_env_file"
211-
}
212-
trap cleanup EXIT
213-
214-
mkdir -p "$(dirname "$generated_env_file")"
215-
216-
secret=$(stripe listen --print-secret | tr -d '\r\n')
217-
218-
if [ -z "$secret" ]; then
219-
echo "failed to retrieve Stripe webhook secret" >&2
220-
exit 1
221-
fi
222-
223-
printf 'STRIPE_WEBHOOK_SECRET="%s"\n' "$secret" > "$generated_env_file"
224-
225-
if [ -s "$generated_env_file" ]; then
226-
mkdir -p "$(dirname "$env_target")"
227-
228-
if [ ! -f "$env_target" ]; then
229-
cp "$generated_env_file" "$env_target"
230-
else
231-
merged_env=$(mktemp)
232-
awk -v new_file="$generated_env_file" '
233-
BEGIN {
234-
while ((getline line < new_file) > 0) {
235-
if (line ~ /^[[:space:]]*$/ || line ~ /^[[:space:]]*#/) continue
236-
sep = index(line, "=")
237-
if (sep == 0) continue
238-
key = substr(line, 1, sep - 1)
239-
gsub(/^[[:space:]]+|[[:space:]]+$/, "", key)
240-
value = substr(line, sep + 1)
241-
new_values[key] = value
242-
}
243-
close(new_file)
244-
}
245-
{
246-
line = $0
247-
if (line ~ /^[[:space:]]*$/ || line ~ /^[[:space:]]*#/) {
248-
print line
249-
next
250-
}
251-
sep = index(line, "=")
252-
if (sep == 0) {
253-
print line
254-
next
255-
}
256-
key = substr(line, 1, sep - 1)
257-
gsub(/^[[:space:]]+|[[:space:]]+$/, "", key)
258-
if (key in new_values) {
259-
print key "=" new_values[key]
260-
used[key] = 1
261-
} else {
262-
print line
263-
}
264-
}
265-
END {
266-
for (key in new_values) {
267-
if (!(key in used)) {
268-
print key "=" new_values[key]
269-
}
270-
}
271-
}
272-
' "$env_target" > "$merged_env"
273-
mv "$merged_env" "$env_target"
274-
fi
275-
echo "✓ Webhook secret written to $env_target"
276-
fi
277-
278-
rm -f "$generated_env_file"
279-
280-
stripe listen --skip-verify --forward-to http://localhost:8787/webhook/stripe
281-
EOF
203+
- stripe listen --print-secret | tr -d '\r\n' | xargs -I{} sh -c 'printf "STRIPE_WEBHOOK_SECRET=\"{}\"\n" > .env.stripe'
204+
- stripe listen --skip-verify --forward-to http://localhost:8787/webhook/stripe

apps/api/AGENTS.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@ infisical export \
55
--secret-overriding=false \
66
--format=dotenv-export \
77
--output-file="$REPO/apps/api/.env" \
8-
--projectId=0dd35732-265e-41e1-86d5-abeda08e568d
8+
--projectId=87dad7b5-72a6-4791-9228-b3b86b169db1 \
9+
--path="api"
910
```

apps/api/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"private": true,
44
"type": "module",
55
"scripts": {
6-
"dev": "dotenvx run -f ../../.env.supabase -f .env -- bun --hot src/index.ts",
6+
"dev": "dotenvx run --ignore MISSING_ENV_FILE -f ../../.env.supabase -f ../../.env.stripe -f .env -- bun --hot src/index.ts",
77
"typecheck": "tsc --noEmit"
88
},
99
"dependencies": {

apps/desktop/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
"dev": "vite",
88
"build": "tsc && vite build",
99
"preview": "vite preview",
10-
"tauri": "dotenvx run -f ../../.env.supabase -f .env -- tauri",
10+
"tauri": "dotenvx run --ignore MISSING_ENV_FILE -f ../../.env.supabase -f .env -- tauri",
1111
"typecheck": "tsc --noEmit",
1212
"test": "vitest run",
13-
"tauri:dev": "dotenvx run -f ../../.env.supabase -f .env -- tauri dev",
13+
"tauri:dev": "dotenvx run --ignore MISSING_ENV_FILE -f ../../.env.supabase -f .env -- tauri dev",
1414
"tauri:build": "tauri build",
1515
"gen:schema": "tsx src/devtool/seed/script.ts"
1616
},

apps/restate/AGENTS.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@ infisical export \
55
--secret-overriding=false \
66
--format=dotenv-export \
77
--output-file="$REPO/apps/restate/.env" \
8-
--projectId=f7a16b54-2e47-44a0-9eca-df4de6911f43
8+
--projectId=87dad7b5-72a6-4791-9228-b3b86b169db1 \
9+
--path="restate"
910
```

apps/web/AGENTS.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@ infisical export \
55
--secret-overriding=false \
66
--format=dotenv-export \
77
--output-file="$REPO/apps/web/.env" \
8-
--projectId=87dad7b5-72a6-4791-9228-b3b86b169db1
8+
--projectId=87dad7b5-72a6-4791-9228-b3b86b169db1 \
9+
--path="web"
910
```

apps/web/content/docs/developers/9.env.mdx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,16 @@ description: "Learn how to set environment variables for Hyprnote"
99
- We use `dotenvx` to load environment variables.
1010
- Hyprnote team uses [infisical](https://infisical.com/docs/cli/commands/login) to manage them. (See `apps/web/AGENTS.md` for example.)
1111

12+
# Stripe
13+
14+
`task stripe` will generate `.env.stripe` at the root with the following environment variables:
15+
16+
```bash
17+
STRIPE_WEBHOOK_SECRET="whsec_..."
18+
```
19+
20+
See `apps/web/package.json` to see how `.env.stripe` is used.
21+
1222
# Supabase
1323

1424
`task supabase-start` will generate `.env.supabase` at the root with the following environment variables:

apps/web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"private": true,
44
"type": "module",
55
"scripts": {
6-
"dev": "VITE_APP_URL=\"http://localhost:3000\" dotenvx run -f ../../.env.supabase -f .env -- vite dev --port 3000",
6+
"dev": "VITE_APP_URL=\"http://localhost:3000\" dotenvx run --ignore MISSING_ENV_FILE -f ../../.env.supabase -f .env -- vite dev --port 3000",
77
"build": "vite build",
88
"serve": "vite preview",
99
"test": "playwright test",

0 commit comments

Comments
 (0)