Files
cannaiq/backend/src/cli.ts
Kelly b1ab45f662 fix: Fix TypeScript errors for CI
- Add export {} to cli.ts and discover-and-import-store.ts to treat as modules
- Remove scrapeStore reference in crawler-jobs.ts (legacy scraper removed)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 10:45:47 -07:00

65 lines
1.5 KiB
JavaScript

#!/usr/bin/env node
/**
* CLI Entrypoint for CannaIQ Backend
* @module cli
*
* Usage:
* npx tsx src/cli.ts # Start API server
* npx tsx src/cli.ts --worker # Start worker process
* npx tsx src/cli.ts --help # Show help
*
* Environment Variables:
* DATABASE_URL - PostgreSQL connection string (required)
* PORT - API server port (default: 3010)
* WORKER_ID - Worker instance identifier (auto-generated if not set)
*/
const args = process.argv.slice(2);
function showHelp() {
console.log(`
CannaIQ Backend CLI
Usage:
npx tsx src/cli.ts [options]
Options:
--worker Start as a job queue worker (processes crawl jobs)
--api Start as API server (default)
--help Show this help message
Environment Variables:
DATABASE_URL PostgreSQL connection string (required)
PORT API server port (default: 3010)
WORKER_ID Worker instance identifier (auto-generated)
Examples:
# Start API server on default port
DATABASE_URL="postgresql://..." npx tsx src/cli.ts
# Start worker process
DATABASE_URL="postgresql://..." npx tsx src/cli.ts --worker
# Start API on custom port
PORT=3015 DATABASE_URL="postgresql://..." npx tsx src/cli.ts --api
`);
process.exit(0);
}
async function main() {
if (args.includes('--help') || args.includes('-h')) {
showHelp();
}
// Default: start API server
console.log('[CLI] Starting API server...');
await import('./index');
}
main().catch((error) => {
console.error('[CLI] Fatal error:', error);
process.exit(1);
});
export {};