Track version-fox/vfox#745: .nvmrc and .node-version are not applied after a `cd`

オープン
#46 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
1〜2日
初心者へのやさしさ
15/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
go, lua
領域
cli, devtools

調査の方向性

This is a tracking issue whose fix lives upstream in version-fox/vfox#745, so start by reading that issue and watching for a vfox release that contains it. Nothing in this repo should change until then. When the release lands, replay the "Several projects in one shell" scenario in docs/scenarios.md with it. Done means the workaround in lib/util.lua and its call in hooks/parse_legacy_file.lua are removed if vfox now tracks version files, and the English and Chinese docs are updated.

索引モデルが issue の本文から書いたものです。

説明

bug help wanted

.nvmrc and .node-version are not applied when you cd into their directory from a running shell, and a shell that started in such a directory does not go back to the global release when you cd out of it. The cause is in vfox, not in this plugin: vfox env serves the output it cached for the previous directory, and the cache does not know about version files. It is reported upstream as version-fox/vfox#745. This issue tracks it until a vfox release fixes it.

Where it stands

release 0.5.3 with the workaround of #44
a shell that starts in the directory applied applied
cd into the directory ignored applied
the file is edited in the directory the shell is in ignored applied at the next prompt
cd out into a directory with no config stays on the file's release stays on the file's release

A .vfox.toml is applied in the first, second and last of these. The workaround of #44 is util.forget_env_state: it removes vfox's env-state.json whenever vfox asks the plugin to read a version file, so vfox calculates again at every prompt in such a directory. It cannot help on the way out, because the plugin is not called in a directory with nothing to read.

When vfox has fixed it

  • A vfox release contains the fix (version-fox/vfox#745 and the pull request that closes it). Release: ________
  • Replay it with that release, with plugin 0.5.3 and with the plugin of main: the shell of "Several projects in one shell" in docs/scenarios.md, then an edit of the file in the directory the shell is in. The reproduction in version-fox/vfox#745 is the short form.
  • If vfox notices version files itself, edits included: remove util.forget_env_state (added by #44, lib/util.lua), its call in hooks/parse_legacy_file.lua, its tests and the hiding of __VFOX_CURTMPPATH in tests/hooks_test.lua, and the remark in tests/e2e/windows/verify.go. If vfox only keys the cache on the directory, keep it for edits in place.
  • Change the documents that describe the limit, in English and Chinese: docs/nvmrc.md ("When the file is read"), docs/scenarios.md ("Several projects in one shell"), docs/development.md ("Legacy files", "Known gaps"), docs/changes.md, docs/troubleshooting.md, README.md and README_CN.md.
  • Say from which vfox version this works, and what older ones do.
主要言語
Go
スター
10
フォーク
8
平均マージ
1時間 51分
マージ済み PR(30日)
12

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートなし
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

version-fox/vfox-nodejs のほかの issue

version-fox/vfox-nodejs の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。