55 lines
1.7 KiB
Bash
Executable File
55 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
echo "🔧 Applying local development setup..."
|
|
|
|
if [ ! -f "package.json" ] || [ ! -d "src" ]; then
|
|
echo "❌ Error: Please run this script from the compass directory"
|
|
exit 1
|
|
fi
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
# 1. Install sql.js
|
|
echo "📦 Installing sql.js..."
|
|
bun add sql.js
|
|
|
|
# 2. Copy dev files
|
|
echo "📦 Copying dev files..."
|
|
cp "$SCRIPT_DIR/files/middleware.ts" src/middleware.ts
|
|
cp "$SCRIPT_DIR/files/next.config.ts" next.config.ts
|
|
cp "$SCRIPT_DIR/files/cloudflare-context.ts" src/lib/cloudflare-context.ts
|
|
cp "$SCRIPT_DIR/files/db.ts" src/lib/db.ts
|
|
mkdir -p scripts
|
|
cp "$SCRIPT_DIR/files/init-local-db.ts" scripts/init-local-db.ts
|
|
|
|
# 3. Replace all @opennextjs/cloudflare imports with local wrapper
|
|
echo "📦 Updating imports..."
|
|
find src -name "*.ts" -o -name "*.tsx" | xargs sed -i '' 's|from "@opennextjs/cloudflare"|from "@/lib/db"|g'
|
|
|
|
# 4. Add db:init-local script to package.json if not present
|
|
if ! grep -q '"db:init-local"' package.json; then
|
|
echo "📦 Adding db:init-local script..."
|
|
# Use node to update package.json
|
|
node -e '
|
|
const fs = require("fs");
|
|
const pkg = JSON.parse(fs.readFileSync("package.json"));
|
|
pkg.scripts["db:init-local"] = "bun scripts/init-local-db.ts";
|
|
fs.writeFileSync("package.json", JSON.stringify(pkg, null, 2) + "\n");
|
|
'
|
|
fi
|
|
|
|
# 5. Initialize local database
|
|
echo "📦 Initializing local database..."
|
|
bun run db:init-local
|
|
|
|
echo ""
|
|
echo "✅ Development setup complete!"
|
|
echo ""
|
|
echo "📝 Notes:"
|
|
echo " - Local database stored in local.db"
|
|
echo " - Dev user: dev@compass.io (admin role)"
|
|
echo " - Run 'bun dev' to start"
|
|
echo ""
|
|
echo "🔄 To revert: run .dev-setup/restore-dev.sh"
|