Skip to content

Commit

Permalink
fix: fnm windows path
Browse files Browse the repository at this point in the history
  • Loading branch information
thales-maciel committed Jul 1, 2023
1 parent bed041f commit 64d9bab
Showing 1 changed file with 16 additions and 12 deletions.
28 changes: 16 additions & 12 deletions src/targets/node/nvmResolver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ const enum Vars {
NvsHome = 'NVS_HOME',
WindowsNvmHome = 'NVM_HOME',
UnixNvmHome = 'NVM_DIR',
UnixFnmHome = 'FNM_DIR',
FnmHome = 'FNM_DIR',
}

@injectable()
Expand Down Expand Up @@ -92,8 +92,8 @@ export class NvmResolver implements INvmResolver {
if (!directory) {
const fnmDir =
this.platform === 'win32'
? path.join(this.env['APPDATA'] || '', 'fnm')
: this.env[Vars.UnixFnmHome] || path.join(this.homedir, '.fnm');
? this.env[Vars.FnmHome] || path.join(this.env['APPDATA'] || '', 'fnm')
: this.env[Vars.FnmHome] || path.join(this.homedir, '.fnm');
if (await this.fsUtils.exists(fnmDir)) {
directory = await this.resolveFnm(version, fnmDir);
versionManagers.push('fnm');
Expand Down Expand Up @@ -164,15 +164,6 @@ export class NvmResolver implements INvmResolver {
return directory ? path.join(directory, 'bin') : undefined;
}

private async resolveFnm(version: string, fnmHome: string) {
const directory = this.findBinFolderForVersion(
path.join(fnmHome, 'node-versions'),
`v${version}`,
);

return directory ? path.join(directory, 'installation', 'bin') : undefined;
}

private async resolveWindowsNvm(version: string) {
const nvmHome = this.env[Vars.WindowsNvmHome];
if (!nvmHome) {
Expand All @@ -182,6 +173,19 @@ export class NvmResolver implements INvmResolver {
return this.findBinFolderForVersion(nvmHome, `v${version}`);
}

private async resolveFnm(version: string, fnmHome: string) {
const directory = this.findBinFolderForVersion(
path.join(fnmHome, 'node-versions'),
`v${version}`,
);

if (!directory) return;

return this.platform === 'win32'
? path.join(directory, 'installation')
: path.join(directory, 'installation', 'bin');
}

private findBinFolderForVersion(
dir: string,
version: string,
Expand Down

0 comments on commit 64d9bab

Please sign in to comment.