UNPKG

alm

Version:

The best IDE for TypeScript

53 lines (52 loc) 2.08 kB
"use strict"; /** * Controls the root directory we are working off of */ Object.defineProperty(exports, "__esModule", { value: true }); var fsu = require("../utils/fsu"); var utils = require("../../common/utils"); var settings = require("./settings"); var events_1 = require("../../common/events"); exports.projectRootUpdated = new events_1.TypedEvent(); var projectRoot = fsu.consistentPath(process.cwd()); exports.projectRootUpdated.emit({ filePath: projectRoot }); function getProjectRoot() { return projectRoot; } exports.getProjectRoot = getProjectRoot; function setProjectRoot(rootDir) { projectRoot = fsu.consistentPath(rootDir); process.chdir(projectRoot); settings.addWorkingDir(projectRoot); exports.projectRootUpdated.emit({ filePath: projectRoot }); } exports.setProjectRoot = setProjectRoot; function makeRelative(filePath) { return fsu.makeRelativePath(projectRoot, filePath); } exports.makeRelative = makeRelative; function makeAbsolute(relativeFilePath) { return fsu.resolve(projectRoot, relativeFilePath); } exports.makeAbsolute = makeAbsolute; function makeAbsoluteIfNeeded(filePathOrRelativeFilePath) { if (!fsu.isAbsolute(filePathOrRelativeFilePath)) { return makeAbsolute(filePathOrRelativeFilePath); } else { return fsu.consistentPath(filePathOrRelativeFilePath); } } exports.makeAbsoluteIfNeeded = makeAbsoluteIfNeeded; function makeRelativeUrl(url) { var _a = utils.getFilePathAndProtocolFromUrl(url), filePath = _a.filePath, protocol = _a.protocol; var relativeFilePath = makeRelative(filePath); return utils.getUrlFromFilePathAndProtocol({ protocol: protocol, filePath: relativeFilePath }); } exports.makeRelativeUrl = makeRelativeUrl; function makeAbsoluteUrl(relativeUrl) { var _a = utils.getFilePathAndProtocolFromUrl(relativeUrl), relativeFilePath = _a.filePath, protocol = _a.protocol; var filePath = makeAbsolute(relativeFilePath); return utils.getUrlFromFilePathAndProtocol({ protocol: protocol, filePath: filePath }); } exports.makeAbsoluteUrl = makeAbsoluteUrl;