travel/admin/node_modules/tsconfig/dist/tsconfig.js

159 lines
4.5 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var fs = require("fs");
var path = require("path");
var stripBom = require("strip-bom");
var stripComments = require("strip-json-comments");
var CONFIG_FILENAME = 'tsconfig.json';
function resolve(cwd, filename) {
if (!filename) {
return find(cwd);
}
var fullPath = path.resolve(cwd, filename);
return stat(fullPath)
.then(function (stats) {
if (isFile(stats)) {
return fullPath;
}
if (isDirectory(stats)) {
var configFile_1 = path.join(fullPath, CONFIG_FILENAME);
return stat(configFile_1)
.then(function (stats) {
if (isFile(stats)) {
return configFile_1;
}
throw new TypeError("Cannot find a " + CONFIG_FILENAME + " file at the specified directory: " + filename);
});
}
throw new TypeError("The specified path does not exist: " + filename);
});
}
exports.resolve = resolve;
function resolveSync(cwd, filename) {
if (!filename) {
return findSync(cwd);
}
var fullPath = path.resolve(cwd, filename);
var stats = statSync(fullPath);
if (isFile(stats)) {
return fullPath;
}
if (isDirectory(stats)) {
var configFile = path.join(fullPath, CONFIG_FILENAME);
var stats_1 = statSync(configFile);
if (isFile(stats_1)) {
return configFile;
}
throw new TypeError("Cannot find a " + CONFIG_FILENAME + " file at the specified directory: " + filename);
}
throw new TypeError("The specified path does not exist: " + filename);
}
exports.resolveSync = resolveSync;
function find(dir) {
var configFile = path.resolve(dir, CONFIG_FILENAME);
return stat(configFile)
.then(function (stats) {
if (isFile(stats)) {
return configFile;
}
var parentDir = path.dirname(dir);
if (dir === parentDir) {
return;
}
return find(parentDir);
});
}
exports.find = find;
function findSync(dir) {
var configFile = path.resolve(dir, CONFIG_FILENAME);
var stats = statSync(configFile);
if (isFile(stats)) {
return configFile;
}
var parentDir = path.dirname(dir);
if (dir === parentDir) {
return;
}
return findSync(parentDir);
}
exports.findSync = findSync;
function load(cwd, filename) {
return resolve(cwd, filename)
.then(function (path) {
if (path == null) {
return Promise.resolve({
config: {
files: [],
compilerOptions: {}
}
});
}
return readFile(path).then(function (config) { return ({ path: path, config: config }); });
});
}
exports.load = load;
function loadSync(cwd, filename) {
var path = resolveSync(cwd, filename);
if (path == null) {
return {
config: {
files: [],
compilerOptions: {}
}
};
}
var config = readFileSync(path);
return { path: path, config: config };
}
exports.loadSync = loadSync;
function readFile(filename) {
return new Promise(function (resolve, reject) {
fs.readFile(filename, 'utf8', function (err, contents) {
if (err) {
return reject(err);
}
try {
return resolve(parse(contents, filename));
}
catch (err) {
return reject(err);
}
});
});
}
exports.readFile = readFile;
function readFileSync(filename) {
var contents = fs.readFileSync(filename, 'utf8');
return parse(contents, filename);
}
exports.readFileSync = readFileSync;
function parse(contents, filename) {
var data = stripComments(stripBom(contents));
if (/^\s*$/.test(data)) {
return {};
}
return JSON.parse(data);
}
exports.parse = parse;
function stat(filename) {
return new Promise(function (resolve, reject) {
fs.stat(filename, function (err, stats) {
return err ? resolve(undefined) : resolve(stats);
});
});
}
function statSync(filename) {
try {
return fs.statSync(filename);
}
catch (e) {
return;
}
}
function isFile(stats) {
return stats ? stats.isFile() || stats.isFIFO() : false;
}
function isDirectory(stats) {
return stats ? stats.isDirectory() : false;
}
//# sourceMappingURL=tsconfig.js.map