UNPKG

1.2 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.isFolderInside = exports.getHomeFolder = exports.getDefaultGlobalFolder = void 0;
4const fslib_1 = require("@yarnpkg/fslib");
5const os_1 = require("os");
6function 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}
17exports.getDefaultGlobalFolder = getDefaultGlobalFolder;
18function getHomeFolder() {
19 return fslib_1.npath.toPortablePath(os_1.homedir() || `/usr/local/share`);
20}
21exports.getHomeFolder = getHomeFolder;
22function isFolderInside(target, parent) {
23 const relative = fslib_1.ppath.relative(parent, target);
24 return relative && !relative.startsWith(`..`) && !fslib_1.ppath.isAbsolute(relative);
25}
26exports.isFolderInside = isFolderInside;