@mostajs/orm-cli 0.5.15 → 0.5.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/mostajs.sh +65 -8
- package/package.json +1 -1
package/bin/mostajs.sh
CHANGED
|
@@ -1499,7 +1499,9 @@ menu_services() {
|
|
|
1499
1499
|
echo -e " ${CYAN}4${RESET}) Status"
|
|
1500
1500
|
echo -e " ${CYAN}5${RESET}) Show access URLs"
|
|
1501
1501
|
echo -e " ${CYAN}6${RESET}) ${BOLD}Setup services${RESET} — scaffold replicator + monitor + config.env + dev:all"
|
|
1502
|
-
echo -e " ${CYAN}7${RESET}) Start all (
|
|
1502
|
+
echo -e " ${CYAN}7${RESET}) ${BOLD}Start all${RESET} (replicator + monitor in background, return to menu)"
|
|
1503
|
+
echo -e " ${CYAN}8${RESET}) ${BOLD}Stop all background${RESET} (stop dev:all)"
|
|
1504
|
+
echo -e " ${CYAN}9${RESET}) ${BOLD}Background status${RESET} (dev:all PID + last logs)"
|
|
1503
1505
|
echo
|
|
1504
1506
|
echo -e " ${CYAN}b${RESET}) Back"
|
|
1505
1507
|
echo
|
|
@@ -1512,6 +1514,8 @@ menu_services() {
|
|
|
1512
1514
|
5) show_urls;;
|
|
1513
1515
|
6) action_setup_services;;
|
|
1514
1516
|
7) svc_start_dev_all;;
|
|
1517
|
+
8) svc_stop_dev_all;;
|
|
1518
|
+
9) svc_dev_all_status;;
|
|
1515
1519
|
b|B) return;;
|
|
1516
1520
|
*) warn Unknown;;
|
|
1517
1521
|
esac
|
|
@@ -1546,9 +1550,57 @@ svc_start_dev_all() {
|
|
|
1546
1550
|
info "Run menu 5 → 6 (Setup services) first to scaffold + patch."
|
|
1547
1551
|
return
|
|
1548
1552
|
fi
|
|
1549
|
-
info "Starting dev:all
|
|
1550
|
-
|
|
1551
|
-
|
|
1553
|
+
info "Starting dev:all in background..."
|
|
1554
|
+
nohup "$PKG_MANAGER" run dev:all > "$LOG_DIR/dev-all.log" 2>&1 &
|
|
1555
|
+
local pid=$!
|
|
1556
|
+
echo "$pid" > "$LOG_DIR/dev-all.pid"
|
|
1557
|
+
sleep 2
|
|
1558
|
+
if kill -0 "$pid" 2>/dev/null; then
|
|
1559
|
+
ok "dev:all running (PID $pid)"
|
|
1560
|
+
ok "Logs : tail -f $LOG_DIR/dev-all.log"
|
|
1561
|
+
# Show detected ports from log
|
|
1562
|
+
grep -oE '(localhost|127\.0\.0\.1):[0-9]+' "$LOG_DIR/dev-all.log" 2>/dev/null | sort -u | while read url; do
|
|
1563
|
+
echo -e " ${CYAN}→ http://$url${RESET}"
|
|
1564
|
+
done
|
|
1565
|
+
else
|
|
1566
|
+
err "dev:all failed to start — check $LOG_DIR/dev-all.log"
|
|
1567
|
+
tail -5 "$LOG_DIR/dev-all.log" 2>/dev/null
|
|
1568
|
+
fi
|
|
1569
|
+
}
|
|
1570
|
+
|
|
1571
|
+
svc_stop_dev_all() {
|
|
1572
|
+
local pidfile="$LOG_DIR/dev-all.pid"
|
|
1573
|
+
if [[ ! -f "$pidfile" ]]; then
|
|
1574
|
+
warn "No dev:all PID file found — not running?"
|
|
1575
|
+
return
|
|
1576
|
+
fi
|
|
1577
|
+
local pid
|
|
1578
|
+
pid=$(cat "$pidfile")
|
|
1579
|
+
if kill -0 "$pid" 2>/dev/null; then
|
|
1580
|
+
# Kill the process group (concurrently + children)
|
|
1581
|
+
kill -- -"$pid" 2>/dev/null || kill "$pid" 2>/dev/null
|
|
1582
|
+
sleep 1
|
|
1583
|
+
if kill -0 "$pid" 2>/dev/null; then
|
|
1584
|
+
kill -9 -- -"$pid" 2>/dev/null || kill -9 "$pid" 2>/dev/null
|
|
1585
|
+
fi
|
|
1586
|
+
ok "dev:all stopped (was PID $pid)"
|
|
1587
|
+
else
|
|
1588
|
+
info "dev:all already stopped (PID $pid)"
|
|
1589
|
+
fi
|
|
1590
|
+
rm -f "$pidfile"
|
|
1591
|
+
}
|
|
1592
|
+
|
|
1593
|
+
svc_dev_all_status() {
|
|
1594
|
+
local pidfile="$LOG_DIR/dev-all.pid"
|
|
1595
|
+
if [[ -f "$pidfile" ]] && kill -0 "$(cat "$pidfile")" 2>/dev/null; then
|
|
1596
|
+
local pid=$(cat "$pidfile")
|
|
1597
|
+
ok "dev:all running (PID $pid)"
|
|
1598
|
+
ok "Logs : $LOG_DIR/dev-all.log"
|
|
1599
|
+
echo -e " Last 5 lines :"
|
|
1600
|
+
tail -5 "$LOG_DIR/dev-all.log" 2>/dev/null | sed 's/^/ /'
|
|
1601
|
+
else
|
|
1602
|
+
info "dev:all not running"
|
|
1603
|
+
fi
|
|
1552
1604
|
}
|
|
1553
1605
|
|
|
1554
1606
|
svc_start_dev() {
|
|
@@ -2006,12 +2058,17 @@ action_rep_scaffold_services() {
|
|
|
2006
2058
|
};
|
|
2007
2059
|
add('replicator', 'node services/replicator.mjs');
|
|
2008
2060
|
add('monitor', 'node services/monitor.mjs');
|
|
2009
|
-
// dev:all —
|
|
2061
|
+
// dev:all — ALWAYS recalculate based on whether 'dev' script exists.
|
|
2062
|
+
// Don't keep stale values that reference npm:dev when dev doesn't exist.
|
|
2010
2063
|
const hasDev = !!pkg.scripts.dev;
|
|
2011
|
-
|
|
2012
|
-
|
|
2064
|
+
const devAll = hasDev
|
|
2065
|
+
? 'concurrently --kill-others-on-fail --names next,rep,mon -c blue,magenta,cyan \"npm:dev\" \"npm:replicator\" \"npm:monitor\"'
|
|
2066
|
+
: 'concurrently --kill-others-on-fail --names rep,mon -c magenta,cyan \"npm:replicator\" \"npm:monitor\"';
|
|
2067
|
+
if (pkg.scripts['dev:all'] !== devAll) {
|
|
2068
|
+
pkg.scripts['dev:all'] = devAll;
|
|
2069
|
+
console.log(' ✓ ' + (pkg.scripts['dev:all'] ? 'updated' : 'added') + ' dev:all' + (hasDev ? ' (with npm:dev)' : ' (without npm:dev)'));
|
|
2013
2070
|
} else {
|
|
2014
|
-
|
|
2071
|
+
console.log(' • dev:all up-to-date');
|
|
2015
2072
|
}
|
|
2016
2073
|
fs.writeFileSync(path, JSON.stringify(pkg, null, 2) + '\n');
|
|
2017
2074
|
" 2>&1 | sed 's/^/ /'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mostajs/orm-cli",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.17",
|
|
4
4
|
"description": "Universal CLI to integrate @mostajs/orm into any project — one-shot `mostajs bootstrap` migrates a Prisma project (codemod + deps + schema convert + DDL) to 13 databases with zero code change.",
|
|
5
5
|
"author": "Dr Hamid MADANI <drmdh@msn.com>",
|
|
6
6
|
"license": "AGPL-3.0-or-later",
|