personal-site/package.json
badbl0cks 72e57fb7ff
Break out contact form into separate component and implement OTP and rate
limiting, add iconify-icon dependency

Add src/components/ContactForm.astro implementing OTP verify/send flows and
server-side validation Add src/lib/Otp.ts (otplib-backed) with per-hour OTP and
per-week message rate limits and helper functions Expose OTP_SUPER_SECRET_SALT
in astro.config and add otplib Rename src/lib/cap.ts to src/lib/CapAdapter.ts
and update imports Replace inline contact page logic with ContactForm and adjust
SMS client Add iconify-icon dependency
2026-01-09 10:25:15 -08:00

38 lines
1 KiB
JSON

{
"name": "badblocks-personal-site",
"type": "module",
"version": "0.0.1",
"scripts": {
"dev": "astro dev",
"start": "bun run ./dist/server/entry.mjs",
"check": "astro check",
"build-only": "astro build",
"build": "astro check && astro build",
"build-remote": "astro check && astro build --remote",
"preview": "astro preview",
"astro": "astro"
},
"dependencies": {
"@astrojs/alpinejs": "^0.4.9",
"@astrojs/check": "^0.9.6",
"@astrojs/db": "^0.18.3",
"@astrojs/partytown": "^2.1.4",
"@astrojs/sitemap": "^3.6.0",
"@astrojs/ts-plugin": "^1.10.6",
"@cap.js/server": "^4.0.5",
"@cap.js/widget": "^0.1.33",
"@nurodev/astro-bun": "^2.1.2",
"@types/alpinejs": "^3.13.11",
"alpinejs": "^3.15.3",
"android-sms-gateway": "^3.0.0",
"astro": "^5.16.6",
"astro-htmx": "^1.0.6",
"htmx.org": "^2.0.8",
"iconify-icon": "^3.0.2",
"otplib": "^12.0.1",
"typescript": "^5.9.3"
},
"devDependencies": {
"@types/bun": "^1.3.5"
}
}