1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.isFolderInside = exports.getHomeFolder = exports.getDefaultGlobalFolder = void 0;
|
4 | const fslib_1 = require("@yarnpkg/fslib");
|
5 | const os_1 = require("os");
|
6 | function getDefaultGlobalFolder() {
|
7 | if (process.platform === `win32`) {
|
8 | const base = fslib_1.npath.toPortablePath(process.env.LOCALAPPDATA || fslib_1.npath.join(os_1.homedir(), `AppData`, `Local`));
|
9 | return fslib_1.ppath.resolve(base, `Yarn/Berry`);
|
10 | }
|
11 | if (process.env.XDG_DATA_HOME) {
|
12 | const base = fslib_1.npath.toPortablePath(process.env.XDG_DATA_HOME);
|
13 | return fslib_1.ppath.resolve(base, `yarn/berry`);
|
14 | }
|
15 | return fslib_1.ppath.resolve(getHomeFolder(), `.yarn/berry`);
|
16 | }
|
17 | exports.getDefaultGlobalFolder = getDefaultGlobalFolder;
|
18 | function getHomeFolder() {
|
19 | return fslib_1.npath.toPortablePath(os_1.homedir() || `/usr/local/share`);
|
20 | }
|
21 | exports.getHomeFolder = getHomeFolder;
|
22 | function isFolderInside(target, parent) {
|
23 | const relative = fslib_1.ppath.relative(parent, target);
|
24 | return relative && !relative.startsWith(`..`) && !fslib_1.ppath.isAbsolute(relative);
|
25 | }
|
26 | exports.isFolderInside = isFolderInside;
|