Skip to content

Commit b3e4222

Browse files
author
Kartik Raj
committed
Do not replace existing fields and return a new object
1 parent 07dac60 commit b3e4222

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

src/client/pythonEnvironments/info/environmentInfoService.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,13 @@ async function buildEnvironmentInfo(environment: PythonEnvInfo): Promise<PythonE
2929
if (interpreterInfo === undefined || interpreterInfo.version === undefined) {
3030
return undefined;
3131
}
32-
environment.version = interpreterInfo.version;
33-
environment.executable.filename = interpreterInfo.executable.filename;
34-
environment.executable.sysPrefix = interpreterInfo.executable.sysPrefix;
35-
environment.arch = interpreterInfo.arch;
36-
return environment;
32+
// Deep copy into a new object
33+
const resolvedEnv = JSON.parse(JSON.stringify(environment)) as PythonEnvInfo;
34+
resolvedEnv.version = interpreterInfo.version;
35+
resolvedEnv.executable.filename = interpreterInfo.executable.filename;
36+
resolvedEnv.executable.sysPrefix = interpreterInfo.executable.sysPrefix;
37+
resolvedEnv.arch = interpreterInfo.arch;
38+
return resolvedEnv;
3739
}
3840

3941
@injectable()

0 commit comments

Comments
 (0)