node-version-bridge 0.6.0 → 0.6.2

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/README.md CHANGED
@@ -178,6 +178,6 @@ bash test/run.sh
178
178
 
179
179
  ## Status
180
180
 
181
- v0.6.0 — automatic shell hook setup, `nvb setup` and `nvb init` commands. See [Changelog](./CHANGELOG.md).
181
+ v0.6.2 — automatic shell hook setup, `nvb setup` and `nvb init` commands. See [Changelog](./CHANGELOG.md).
182
182
 
183
183
  **[Full Documentation](https://marcosreuquen.github.io/node-version-bridge/)**
package/bin/nvb CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  set -euo pipefail
7
7
 
8
- NVB_VERSION="0.6.0"
8
+ NVB_VERSION="0.6.2"
9
9
 
10
10
  # Resolve script location (handles symlinks on macOS/Linux)
11
11
  _nvb_resolve_root() {
@@ -46,8 +46,8 @@ nvb_cmd_refresh() {
46
46
  return 0
47
47
  fi
48
48
 
49
- # Check cache — skip if nothing changed
50
- if nvb_cache_is_current "$PWD" "$resolved_version" "$resolved_source"; then
49
+ # Check cache — skip if nothing changed (bypass with NVB_FORCE_REFRESH=1)
50
+ if [[ "${NVB_FORCE_REFRESH:-}" != "1" ]] && nvb_cache_is_current "$PWD" "$resolved_version" "$resolved_source"; then
51
51
  nvb_log debug "Cache hit: ${resolved_version} from ${resolved_source}"
52
52
  return 0
53
53
  fi
@@ -240,27 +240,32 @@ nvb_cmd_init() {
240
240
 
241
241
  case "$shell_name" in
242
242
  zsh)
243
+ echo "_NVB_BIN='${NVB_ROOT}/bin/nvb'"
243
244
  cat <<'HOOK'
244
245
  _nvb_hook() {
245
246
  [[ "${_NVB_LAST_DIR:-}" == "$PWD" ]] && return
246
247
  _NVB_LAST_DIR="$PWD"
247
- eval "$(nvb refresh 2>/dev/null)"
248
+ eval "$("${_NVB_BIN}" refresh 2>/dev/null)"
248
249
  }
249
250
  autoload -U add-zsh-hook
250
251
  add-zsh-hook chpwd _nvb_hook
251
- _nvb_hook
252
+ eval "$(NVB_FORCE_REFRESH=1 "${_NVB_BIN}" refresh 2>/dev/null)"
253
+ _NVB_LAST_DIR="$PWD"
252
254
  HOOK
253
255
  ;;
254
256
  bash)
257
+ echo "_NVB_BIN='${NVB_ROOT}/bin/nvb'"
255
258
  cat <<'HOOK'
256
259
  _nvb_hook() {
257
260
  [[ "${_NVB_LAST_DIR:-}" == "$PWD" ]] && return
258
261
  _NVB_LAST_DIR="$PWD"
259
- eval "$(nvb refresh 2>/dev/null)"
262
+ eval "$("${_NVB_BIN}" refresh 2>/dev/null)"
260
263
  }
261
264
  if [[ ";${PROMPT_COMMAND:-};" != *";_nvb_hook;"* ]]; then
262
265
  PROMPT_COMMAND="_nvb_hook;${PROMPT_COMMAND:-}"
263
266
  fi
267
+ eval "$(NVB_FORCE_REFRESH=1 "${_NVB_BIN}" refresh 2>/dev/null)"
268
+ _NVB_LAST_DIR="$PWD"
264
269
  HOOK
265
270
  ;;
266
271
  *)
@@ -274,13 +279,13 @@ nvb_cmd_setup() {
274
279
  local shell_name
275
280
  shell_name="$(basename "${SHELL:-}")"
276
281
 
282
+ local nvb_bin="${NVB_ROOT}/bin/nvb"
283
+
277
284
  if [[ "$shell_name" != "zsh" && "$shell_name" != "bash" ]]; then
278
285
  echo "[nvb] Could not detect shell (got: ${shell_name}). Supported: zsh, bash" >&2
279
286
  echo "[nvb] Add manually to your shell config:" >&2
280
- # shellcheck disable=SC2016
281
- echo ' eval "$(nvb init zsh)" # for zsh' >&2
282
- # shellcheck disable=SC2016
283
- echo ' eval "$(nvb init bash)" # for bash' >&2
287
+ echo " eval \"\$(${nvb_bin} init zsh)\" # for zsh" >&2
288
+ echo " eval \"\$(${nvb_bin} init bash)\" # for bash" >&2
284
289
  return 1
285
290
  fi
286
291
 
@@ -290,8 +295,7 @@ nvb_cmd_setup() {
290
295
  bash) rc_file="$HOME/.bashrc" ;;
291
296
  esac
292
297
 
293
- # shellcheck disable=SC2016
294
- local hook_line='eval "$(nvb init '"${shell_name}"')"'
298
+ local hook_line="eval \"\$(${nvb_bin} init ${shell_name})\""
295
299
  local marker="# node-version-bridge:hook"
296
300
 
297
301
  # Check if already configured (new or legacy format)
@@ -346,8 +350,8 @@ Supported managers: nvm, fnm, mise, asdf, n
346
350
 
347
351
  Shell integration:
348
352
  nvb setup Auto-configure (recommended, run once)
349
- eval "$(nvb init zsh)" Manual — add to ~/.zshrc
350
- eval "$(nvb init bash)" Manual — add to ~/.bashrc
353
+ eval "\$(nvb init zsh)" Manual — add to ~/.zshrc
354
+ eval "\$(nvb init bash)" Manual — add to ~/.bashrc
351
355
 
352
356
  Environment variables:
353
357
  NVB_MANAGER Force a specific version manager (nvm, fnm, mise, asdf, n)
package/hooks/nvb.bash CHANGED
@@ -16,3 +16,7 @@ _nvb_hook() {
16
16
  if [[ ";${PROMPT_COMMAND:-};" != *";_nvb_hook;"* ]]; then
17
17
  PROMPT_COMMAND="_nvb_hook;${PROMPT_COMMAND:-}"
18
18
  fi
19
+
20
+ # Force refresh on shell start (cache may be stale from previous session)
21
+ eval "$(NVB_FORCE_REFRESH=1 "${_NVB_BIN}" refresh 2>/dev/null)"
22
+ _NVB_LAST_DIR="$PWD"
package/hooks/nvb.zsh CHANGED
@@ -15,5 +15,6 @@ _nvb_hook() {
15
15
  autoload -U add-zsh-hook
16
16
  add-zsh-hook chpwd _nvb_hook
17
17
 
18
- # Run once on shell start
19
- _nvb_hook
18
+ # Force refresh on shell start (cache may be stale from previous session)
19
+ eval "$(NVB_FORCE_REFRESH=1 "${_NVB_BIN}" refresh 2>/dev/null)"
20
+ _NVB_LAST_DIR="$PWD"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-version-bridge",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "description": "Detect Node.js version from project files and apply it via any version manager",
5
5
  "bin": {
6
6
  "nvb": "bin/nvb"