feat: add ngrok tunnel to dev server for HTTPS testing

Run ngrok automatically alongside the dev server to enable HTTPS
access for testing camera features on phones.

Changes:
- Install ngrok and concurrently packages
- Update dev script to run ngrok tunnel on port 3000
- Add dev:no-tunnel fallback script (no HTTPS tunnel)

Usage:
  pnpm run dev           # Dev server + ngrok HTTPS tunnel
  pnpm run dev:no-tunnel # Dev server only (HTTP)

When running with tunnel:
- ngrok will display HTTPS URL in console
- Use that URL for testing camera on phones
- Camera access works over HTTPS (ngrok URL)
- LAN IP detection still works for localhost testing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Thomas Hallock 2025-11-10 05:01:08 -06:00
parent e2589b3533
commit ab2bfde9c2
1 changed files with 4 additions and 2 deletions

View File

@ -3,7 +3,8 @@
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "tsc -p tsconfig.server.json && tsc-alias -p tsconfig.server.json && concurrently \"node server.js\" \"npx @pandacss/dev --watch\"",
"dev": "tsc -p tsconfig.server.json && tsc-alias -p tsconfig.server.json && concurrently \"node server.js\" \"npx @pandacss/dev --watch\" \"ngrok http --log stdout 3000\"",
"dev:no-tunnel": "tsc -p tsconfig.server.json && tsc-alias -p tsconfig.server.json && concurrently \"node server.js\" \"npx @pandacss/dev --watch\"",
"build": "node scripts/generate-build-info.js && npx tsx scripts/generateAllDayIcons.tsx && npx @pandacss/dev && tsc -p tsconfig.server.json && tsc-alias -p tsconfig.server.json && next build",
"start": "NODE_ENV=production node server.js",
"lint": "npx @biomejs/biome lint . && npx eslint .",
@ -110,13 +111,14 @@
"@types/react-textfit": "^1.1.4",
"@types/ws": "^8.18.1",
"@vitejs/plugin-react": "^5.0.2",
"concurrently": "^8.0.0",
"concurrently": "^8.2.2",
"drizzle-kit": "^0.31.5",
"eslint": "^8.0.0",
"eslint-config-next": "^14.0.0",
"eslint-plugin-storybook": "^9.1.7",
"happy-dom": "^18.0.1",
"jsdom": "^27.0.0",
"ngrok": "5.0.0-beta.2",
"storybook": "^9.1.7",
"tsc-alias": "^1.8.16",
"tsx": "^4.20.5",