As discussed in the thread at #2029 (comment), it has become clear that values such as VP_HOME and VP_BIN in the generated env.nu file require proper string escaping in Nushell format.
To proactively prevent any potential issues, we should appropriately add Nushell test cases to our CI (Continuous Integration). The scope of the testing should involve installing Vite+ with VP_HOME set to a path containing special characters (such as quotes or backslashes that require escaping in Nushell). Then, we should launch nu, load the env.nu file, and perform several checks. Specifically, we need to verify that the file is parsed correctly, that $env.VP_HOME and $env.PATH are set as expected, and that the vp command is actually usable within that session.
Rather than making this a simple Rust unit test, it would be best to place it near the existing installer or CLI CI tests. This is because the most important point to verify is whether Nushell itself can actually process the files we are generating correctly.
I will take responsibility for this task.
As discussed in the thread at #2029 (comment), it has become clear that values such as VP_HOME and VP_BIN in the generated env.nu file require proper string escaping in Nushell format.
To proactively prevent any potential issues, we should appropriately add Nushell test cases to our CI (Continuous Integration). The scope of the testing should involve installing Vite+ with VP_HOME set to a path containing special characters (such as quotes or backslashes that require escaping in Nushell). Then, we should launch nu, load the env.nu file, and perform several checks. Specifically, we need to verify that the file is parsed correctly, that $env.VP_HOME and $env.PATH are set as expected, and that the vp command is actually usable within that session.
Rather than making this a simple Rust unit test, it would be best to place it near the existing installer or CLI CI tests. This is because the most important point to verify is whether Nushell itself can actually process the files we are generating correctly.
I will take responsibility for this task.