unoverse 0.1.21 → 0.1.22

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/unoverse.mjs CHANGED
@@ -48,6 +48,11 @@ const UNIVERSE = findUniverse();
48
48
 
49
49
  // Everything the operator half owns. Listed here so an unknown command can say so,
50
50
  // rather than the two CLIs disagreeing about what exists.
51
+ // NOTE: `update` is deliberately ABSENT. It always updates this CLI, wherever you are.
52
+ // It used to mean the universe when you happened to be standing in one, which is the
53
+ // same word pointing at two different objects, decided by your working directory. You
54
+ // type it to update the CLI far more often than to refresh a local universe's images,
55
+ // and that refresh now belongs to `start --pull`.
51
56
  const OPERATOR_COMMANDS = new Set([
52
57
  "start", "stop", "check", "logs", "deploy",
53
58
  // kept working, not advertised
@@ -94,9 +99,6 @@ switch (cmd) {
94
99
  break;
95
100
 
96
101
  case "update": {
97
- // In a universe, "update" means THAT UNIVERSE (pull images, restart), not this CLI.
98
- // Same word, different object, decided by where you are standing.
99
- if (UNIVERSE) operator(UNIVERSE, ["update", ...args]);
100
102
  const r = spawnSync("npm", ["install", "-g", "unoverse@latest"], { stdio: "inherit" });
101
103
  if (r.status === 0) {
102
104
  const v = spawnSync("unoverse", ["-v"], { encoding: "utf8" }).stdout?.trim();
@@ -41,6 +41,15 @@ cmd_start() {
41
41
  echo "$docr_token" | docker login registry.digitalocean.com -u "$docr_token" --password-stdin >/dev/null 2>&1 || true
42
42
  fi
43
43
 
44
+ # `start --pull` refreshes the images first. This is where refreshing a LOCAL universe
45
+ # lives now: `update` is the CLI's word and means only the CLI, wherever you type it.
46
+ # A server is refreshed by `unoverse deploy` from your machine, not on the box.
47
+ if [ "${1:-}" = "--pull" ]; then
48
+ info "Pulling the latest images..."
49
+ docker compose -f "$ROOT/docker-compose.yml" pull || { fail "Image pull failed"; exit 1; }
50
+ echo ""
51
+ fi
52
+
44
53
  check_docker_file_sharing || exit 1
45
54
  check_first_run
46
55
  banner "Starting Unoverse Platform"
@@ -57,7 +57,7 @@ source "$GRAVITY_LIB/ground.sh"
57
57
  # operate a universe. Studio is a separate app; authoring happens there.)
58
58
  case "${1:-}" in
59
59
  init) cmd_init ;;
60
- start) cmd_start ;;
60
+ start) shift; cmd_start "$@" ;;
61
61
  stop) cmd_stop ;;
62
62
  status) cmd_check ;; # alias — status merged into check 2026-07-28
63
63
  logs) cmd_logs "${2:-}" ;;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unoverse",
3
- "version": "0.1.21",
3
+ "version": "0.1.22",
4
4
  "description": "The Unoverse front door — create a Studio project, a universe, or a client app, and launch Studio.",
5
5
  "license": "SEE LICENSE IN README.md",
6
6
  "type": "module",