Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / tslint / lib / files / resolution.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/tslint/lib/files/resolution.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/tslint/lib/files/resolution.js
new file mode 100644 (file)
index 0000000..01b5c37
--- /dev/null
@@ -0,0 +1,100 @@
+"use strict";
+/**
+ * @license
+ * Copyright 2019 Palantir Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+var fs = require("fs");
+var glob = require("glob");
+var minimatch_1 = require("minimatch");
+var path = require("path");
+var error_1 = require("../error");
+var linter_1 = require("../linter");
+var utils_1 = require("../utils");
+function filterFiles(files, patterns, include) {
+    if (patterns.length === 0) {
+        return include ? [] : files;
+    }
+    var matcher = patterns.map(function (pattern) { return new minimatch_1.Minimatch(pattern, { dot: !include }); }); // `glob` always enables `dot` for ignore patterns
+    return files.filter(function (file) { return include === matcher.some(function (pattern) { return pattern.match(file); }); });
+}
+exports.filterFiles = filterFiles;
+function findTsconfig(project) {
+    try {
+        var stats = fs.statSync(project); // throws if file does not exist
+        if (!stats.isDirectory()) {
+            return project;
+        }
+        var projectFile = path.join(project, "tsconfig.json");
+        fs.accessSync(projectFile); // throws if file does not exist
+        return projectFile;
+    }
+    catch (e) {
+        return undefined;
+    }
+}
+exports.findTsconfig = findTsconfig;
+function resolveGlobs(files, ignore, outputAbsolutePaths, logger) {
+    var results = utils_1.flatMap(files, function (file) {
+        return glob.sync(utils_1.trimSingleQuotes(file), { ignore: ignore, nodir: true });
+    });
+    // warn if `files` contains non-existent files, that are not patters and not excluded by any of the exclude patterns
+    for (var _i = 0, _a = filterFiles(files, ignore, false); _i < _a.length; _i++) {
+        var file = _a[_i];
+        if (!glob.hasMagic(file) && !results.some(minimatch_1.filter(file))) {
+            logger.error("'" + file + "' does not exist. This will be an error in TSLint 6.\n"); // TODO make this an error in v6.0.0
+        }
+    }
+    var cwd = process.cwd();
+    return results.map(function (file) {
+        return outputAbsolutePaths ? path.resolve(cwd, file) : path.relative(cwd, file);
+    });
+}
+exports.resolveGlobs = resolveGlobs;
+function resolveFilesAndProgram(_a, logger) {
+    var files = _a.files, project = _a.project, exclude = _a.exclude, outputAbsolutePaths = _a.outputAbsolutePaths;
+    // remove single quotes which break matching on Windows when glob is passed in single quotes
+    exclude = exclude.map(utils_1.trimSingleQuotes);
+    if (project === undefined) {
+        return { files: resolveGlobs(files, exclude, outputAbsolutePaths, logger) };
+    }
+    var projectPath = findTsconfig(project);
+    if (projectPath === undefined) {
+        throw new error_1.FatalError("Invalid option for project: " + project);
+    }
+    exclude = exclude.map(function (pattern) { return path.resolve(pattern); });
+    var program = linter_1.Linter.createProgram(projectPath);
+    var filesFound;
+    if (files.length === 0) {
+        filesFound = filterFiles(linter_1.Linter.getFileNames(program), exclude, false);
+    }
+    else {
+        files = files.map(function (f) { return path.resolve(f); });
+        filesFound = filterFiles(program.getSourceFiles().map(function (f) { return f.fileName; }), files, true);
+        filesFound = filterFiles(filesFound, exclude, false);
+        // find non-glob files that have no matching file in the project and are not excluded by any exclude pattern
+        for (var _i = 0, _b = filterFiles(files, exclude, false); _i < _b.length; _i++) {
+            var file = _b[_i];
+            if (!glob.hasMagic(file) && !filesFound.some(minimatch_1.filter(file))) {
+                if (fs.existsSync(file)) {
+                    throw new error_1.FatalError("'" + file + "' is not included in project.");
+                }
+                logger.error("'" + file + "' does not exist. This will be an error in TSLint 6.\n"); // TODO make this an error in v6.0.0
+            }
+        }
+    }
+    return { files: filesFound, program: program };
+}
+exports.resolveFilesAndProgram = resolveFilesAndProgram;