work on postgress / will prob remove and work on ib exchanges and symbols

This commit is contained in:
Boki 2025-06-13 19:59:35 -04:00
parent cce5126cb7
commit a20a11c1aa
16 changed files with 1441 additions and 95 deletions

134
scripts/setup-playwright.sh Executable file
View file

@ -0,0 +1,134 @@
#!/bin/bash
# Playwright Setup Script for Stock Bot
# This script specifically handles Playwright installation and browser setup
set -e
# Colors
GREEN='\033[0;32m'
BLUE='\033[0;34m'
RED='\033[0;31m'
NC='\033[0m'
log_info() {
echo -e "${BLUE}[INFO]${NC} $1"
}
log_success() {
echo -e "${GREEN}[SUCCESS]${NC} $1"
}
log_error() {
echo -e "${RED}[ERROR]${NC} $1"
}
# Check if we're in the project directory
check_project_directory() {
if [[ ! -f "package.json" ]]; then
log_error "Please run this script from the project root directory"
exit 1
fi
}
# Install Playwright dependencies
install_playwright_deps() {
log_info "Installing Playwright system dependencies..."
bunx playwright install-deps chromium
log_success "Playwright system dependencies installed"
}
# Install Playwright browsers
install_browsers() {
log_info "Installing Playwright browsers..."
# Install all browsers
bunx playwright install chromium
bunx playwright install firefox
bunx playwright install webkit
log_success "All Playwright browsers installed"
}
# Test Playwright installation
test_playwright() {
log_info "Testing Playwright installation..."
# Create a simple test script
cat > /tmp/test-playwright.js << 'EOF'
const { chromium } = require('playwright');
(async () => {
try {
const browser = await chromium.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://example.com');
const title = await page.title();
console.log('✅ Playwright test successful! Page title:', title);
await browser.close();
} catch (error) {
console.error('❌ Playwright test failed:', error.message);
process.exit(1);
}
})();
EOF
# Run the test
node /tmp/test-playwright.js
# Clean up
rm /tmp/test-playwright.js
log_success "Playwright test completed successfully"
}
# Main function
main() {
log_info "Setting up Playwright for Stock Bot..."
check_project_directory
install_playwright_deps
install_browsers
test_playwright
log_success "Playwright setup completed!"
log_info "You can now run your browser automation scripts"
}
# Show help
show_help() {
echo "Playwright Setup Script for Stock Bot"
echo ""
echo "Usage: $0 [OPTIONS]"
echo ""
echo "Options:"
echo " -h, --help Show this help message"
echo " --test-only Only run the Playwright test"
echo " --deps-only Only install system dependencies"
echo ""
}
# Parse arguments
case "${1:-}" in
-h|--help)
show_help
exit 0
;;
--test-only)
check_project_directory
test_playwright
exit 0
;;
--deps-only)
install_playwright_deps
exit 0
;;
"")
main
;;
*)
log_error "Unknown option: $1"
show_help
exit 1
;;
esac