Lines 1-32javascript
3import fs from 'node:fs';
4import path from 'node:path';
5import { fileURLToPath } from 'node:url';
7const __filename = fileURLToPath(import.meta.url);
8const __dirname = path.dirname(__filename);
10// Fallback loader: use dist/ if built for production, otherwise src/
11const distServer = path.join(__dirname, '../dist/server.js');
12const serverPath = fs.existsSync(distServer) ? distServer : path.join(__dirname, '../src/server.js');
13const { startServer } = await import(serverPath);
14
MediumDynamic Require
Package source references dynamic require/import behavior.
bin/cli.jsView on unpkg · L12 15const distNotifier = path.join(__dirname, '../dist/utils/updateNotifier.js');
16const notifierPath = fs.existsSync(distNotifier) ? distNotifier : path.join(__dirname, '../src/utils/updateNotifier.js');
17const { checkUpdate, formatUpdateBanner } = await import(notifierPath);
19let pkg = { name: 'grok-router-mini', version: '1.0.0' };
21 const rawPkg = fs.readFileSync(path.join(__dirname, '../package.json'), 'utf8');
22 pkg = JSON.parse(rawPkg);
25function parseArgs(args) {
27 port: process.env.PORT ? parseInt(process.env.PORT, 10) : 3005,
28 host: process.env.HOST || '0.0.0.0',
30 portExplicit: Boolean(process.env.PORT)