projmux 0.7.2 → 0.7.3

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/docs/cli.md CHANGED
@@ -705,18 +705,25 @@ fresh cached update is available, the shell welcome uses Enter=Continue,
705
705
  `${XDG_CACHE_HOME:-~/.cache}/projmux/update-skip.json` and suppresses that tag
706
706
  until a newer latest release appears.
707
707
 
708
- Installer detection honors
709
- `PROJMUX_INSTALLER=npm|go|github-release|source`. When unset or invalid,
710
- the source is reported as `unknown` with guidance to set the variable.
708
+ Installer detection honors an explicit
709
+ `PROJMUX_INSTALLER=npm|go|github-release|source` first. When it is unset,
710
+ detection falls back to inspecting the running binary: an npm install tree
711
+ (`node_modules/@projmux/...`) is reported as `npm`, a `go install …@latest`
712
+ binary in `$GOBIN`/`$GOPATH/bin`/`~/go/bin` as `go`, and a local `go build`
713
+ (`make install`) — which reports a `(devel)` main-module version — as `source`.
714
+ `github-release` installs are indistinguishable from a hand-placed binary and
715
+ still require an explicit `PROJMUX_INSTALLER=github-release`. Anything else is
716
+ reported as `unknown` with guidance.
711
717
  `apply` is installer-aware and only runs after explicit user selection.
712
- For npm installs, it runs `npm update -g projmux` and then
713
- `projmux tmux apply` unless `--no-apply` is set. For Go installs, it
714
- delegates to the existing atomic `projmux upgrade` flow. For
715
- `github-release` installs, it downloads the latest matching
716
- `projmux_<version>_<goos>_<goarch>.tar.gz` release asset, extracts the
718
+ For npm installs, it runs `npm install -g projmux@latest` (which reliably
719
+ crosses minor/major versions where `npm update -g` does not, and re-resolves
720
+ the per-platform optional dependency) and then `projmux tmux apply` unless
721
+ `--no-apply` is set. For Go installs, it delegates to the existing atomic
722
+ `projmux upgrade` flow. For `github-release` installs, it downloads the latest
723
+ matching `projmux_<version>_<goos>_<goarch>.tar.gz` release asset, extracts the
717
724
  binary, atomically replaces the current executable, then applies tmux
718
725
  configuration unless `--no-apply` is set. `source` installs report an
719
- actionable error because they must be updated from the source checkout.
726
+ actionable error to update the checkout with `git pull --ff-only && make install`.
720
727
 
721
728
  ## upgrade
722
729
 
@@ -729,7 +736,7 @@ projmux upgrade [--ref @latest|@<tag>|@<branch>]
729
736
  runs `projmux tmux apply` (skipped with `--no-apply`). Reads
730
737
  `PROJMUX_PROJDIR` from the calling shell and memoizes the primary entry
731
738
  to `~/.config/projmux/projdir`. npm-installed binaries reject this
732
- command; use `projmux update apply` or `npm update -g projmux` for npm
739
+ command; use `projmux update apply` or `npm install -g projmux@latest` for npm
733
740
  installs.
734
741
 
735
742
  ## welcome
package/docs/upgrading.md CHANGED
@@ -25,10 +25,18 @@ projmux update apply
25
25
  Use `--dry-run` to see the planned action and `--no-apply` to skip reloading
26
26
  the live tmux config after the binary changes.
27
27
 
28
- Shell Upgrade invokes only `projmux update apply`. Shell Skip until next stores
29
- the current latest release tag in `update-skip.json`; the prompt appears again
30
- when the cached latest tag changes. For `source` and unknown installer sources,
31
- Upgrade prints guidance and continues shell entry without applying anything.
28
+ Shell Upgrade invokes only `projmux update apply`, then reports success or the
29
+ specific failure inline and continues into the shell either way (a failed
30
+ upgrade is never fatal to shell entry). Shell Skip until next stores the current
31
+ latest release tag in `update-skip.json`; the prompt appears again when the
32
+ cached latest tag changes. For `source` and unknown installer sources, Upgrade
33
+ prints guidance and continues shell entry without applying anything.
34
+
35
+ The installer is detected from an explicit `PROJMUX_INSTALLER` first, then
36
+ inferred from the running binary when unset (npm install tree → `npm`,
37
+ `go install …@latest` binary in `$GOBIN`/`$GOPATH/bin`/`~/go/bin` → `go`, a
38
+ local `go build`/`make install` `(devel)` binary → `source`). `github-release`
39
+ still requires an explicit `PROJMUX_INSTALLER=github-release`.
32
40
 
33
41
  ## Behavior Changes
34
42
 
@@ -118,12 +126,20 @@ npm install -g projmux
118
126
  For npm-managed installs, `projmux update apply` runs:
119
127
 
120
128
  ```sh
121
- npm update -g projmux
129
+ npm install -g projmux@latest
122
130
  projmux tmux apply
123
131
  ```
124
132
 
133
+ `npm install -g projmux@latest` is used instead of `npm update -g projmux`
134
+ because `npm update -g` honors the installed semver range and frequently
135
+ refuses to move a global install across a newer minor/major release, leaving it
136
+ stuck on an old version. `install -g …@latest` always fetches the newest
137
+ published release and re-resolves the per-platform optional dependency.
138
+
125
139
  The npm shim sets `PROJMUX_INSTALLER=npm` so projmux can detect this path
126
- automatically. You can also update manually with `npm update -g projmux`.
140
+ automatically. Even when the shim is bypassed, projmux infers the npm install
141
+ from the binary path (`node_modules/@projmux/...`). You can also update manually
142
+ with `npm install -g projmux@latest`.
127
143
 
128
144
  ## Go Installs
129
145
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "projmux",
3
- "version": "0.7.2",
3
+ "version": "0.7.3",
4
4
  "description": "tmux project session manager",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/crevissepartners/projmux#readme",
@@ -28,9 +28,9 @@
28
28
  "package:npm:pack": "scripts/package-npm.sh --pack"
29
29
  },
30
30
  "optionalDependencies": {
31
- "@projmux/linux-x64": "0.7.2",
32
- "@projmux/linux-arm64": "0.7.2",
33
- "@projmux/darwin-x64": "0.7.2",
34
- "@projmux/darwin-arm64": "0.7.2"
31
+ "@projmux/linux-x64": "0.7.3",
32
+ "@projmux/linux-arm64": "0.7.3",
33
+ "@projmux/darwin-x64": "0.7.3",
34
+ "@projmux/darwin-arm64": "0.7.3"
35
35
  }
36
36
  }