MCPcopy Create free account
hub / github.com/colbymchenry/codegraph / setHome

Function setHome

__tests__/installer-targets.test.ts:34–56  ·  view source on GitHub ↗
(dir: string)

Source from the content-addressed store, hash-verified

32// `os.homedir()` reads first. Same trick the rest of the suite uses
33// when it needs a mock home.
34function setHome(dir: string): { restore: () => void } {
35 const prev = {
36 HOME: process.env.HOME,
37 USERPROFILE: process.env.USERPROFILE,
38 APPDATA: process.env.APPDATA,
39 XDG_CONFIG_HOME: process.env.XDG_CONFIG_HOME,
40 HERMES_HOME: process.env.HERMES_HOME,
41 };
42 process.env.HOME = dir;
43 process.env.USERPROFILE = dir;
44 process.env.APPDATA = path.join(dir, '.config');
45 process.env.XDG_CONFIG_HOME = path.join(dir, '.config');
46 delete process.env.HERMES_HOME;
47 return {
48 restore() {
49 if (prev.HOME === undefined) delete process.env.HOME; else process.env.HOME = prev.HOME;
50 if (prev.USERPROFILE === undefined) delete process.env.USERPROFILE; else process.env.USERPROFILE = prev.USERPROFILE;
51 if (prev.APPDATA === undefined) delete process.env.APPDATA; else process.env.APPDATA = prev.APPDATA;
52 if (prev.XDG_CONFIG_HOME === undefined) delete process.env.XDG_CONFIG_HOME; else process.env.XDG_CONFIG_HOME = prev.XDG_CONFIG_HOME;
53 if (prev.HERMES_HOME === undefined) delete process.env.HERMES_HOME; else process.env.HERMES_HOME = prev.HERMES_HOME;
54 },
55 };
56}
57
58// A marker-delimited CodeGraph block exactly as a previous installer
59// wrote it. Issue #529: the installer no longer writes an instructions

Callers 1

Calls 1

joinMethod · 0.45

Tested by

no test coverage detected