appcenter-cli
Version:
Command line tool for Visual Studio App Center
51 lines (50 loc) • 1.49 kB
JavaScript
;
// Helper functions for file system
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateAbsolutePath = exports.createLongPath = exports.directoryExistsSync = exports.fileExistsSync = void 0;
const fs = require("fs");
const path = require("path");
function fileExistsSync(filename) {
try {
return fs.statSync(filename).isFile();
}
catch (err) {
if (err.code !== "ENOENT") {
throw err;
}
}
return false;
}
exports.fileExistsSync = fileExistsSync;
function directoryExistsSync(dirname) {
try {
return fs.statSync(dirname).isDirectory();
}
catch (err) {
if (err.code !== "ENOENT") {
throw err;
}
}
return false;
}
exports.directoryExistsSync = directoryExistsSync;
function createLongPath(target) {
let targetFolder = target;
const notExistsFolder = [];
while (!fs.existsSync(targetFolder)) {
notExistsFolder.push(path.basename(targetFolder));
targetFolder = path.resolve(targetFolder, "..");
}
notExistsFolder.reverse().forEach((element) => {
targetFolder = path.resolve(targetFolder, element);
fs.mkdirSync(targetFolder);
});
}
exports.createLongPath = createLongPath;
function generateAbsolutePath(somePath) {
if (path.isAbsolute(somePath)) {
return somePath;
}
return path.join(process.cwd(), somePath);
}
exports.generateAbsolutePath = generateAbsolutePath;