aboutsummaryrefslogtreecommitdiff
path: root/node_modules/jest-changed-files/build/index.js
diff options
context:
space:
mode:
authorJoel Kronqvist <joel.h.kronqvist@gmail.com>2022-03-05 19:02:27 +0200
committerJoel Kronqvist <joel.h.kronqvist@gmail.com>2022-03-05 19:02:27 +0200
commit5d309ff52cd399a6b71968a6b9a70c8ac0b98981 (patch)
tree360f7eb50f956e2367ef38fa1fc6ac7ac5258042 /node_modules/jest-changed-files/build/index.js
parentb500a50f1b97d93c98b36ed9a980f8188d648147 (diff)
downloadLYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.tar.gz
LYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.zip
Added node_modules for the updating to work properly.
Diffstat (limited to 'node_modules/jest-changed-files/build/index.js')
-rw-r--r--node_modules/jest-changed-files/build/index.js86
1 files changed, 86 insertions, 0 deletions
diff --git a/node_modules/jest-changed-files/build/index.js b/node_modules/jest-changed-files/build/index.js
new file mode 100644
index 0000000..e230af2
--- /dev/null
+++ b/node_modules/jest-changed-files/build/index.js
@@ -0,0 +1,86 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', {
+ value: true
+});
+exports.getChangedFilesForRoots = exports.findRepos = void 0;
+
+function _throat() {
+ const data = _interopRequireDefault(require('throat'));
+
+ _throat = function () {
+ return data;
+ };
+
+ return data;
+}
+
+var _git = _interopRequireDefault(require('./git'));
+
+var _hg = _interopRequireDefault(require('./hg'));
+
+function _interopRequireDefault(obj) {
+ return obj && obj.__esModule ? obj : {default: obj};
+}
+
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ */
+function notEmpty(value) {
+ return value != null;
+} // This is an arbitrary number. The main goal is to prevent projects with
+// many roots (50+) from spawning too many processes at once.
+
+const mutex = (0, _throat().default)(5);
+
+const findGitRoot = dir => mutex(() => _git.default.getRoot(dir));
+
+const findHgRoot = dir => mutex(() => _hg.default.getRoot(dir));
+
+const getChangedFilesForRoots = async (roots, options) => {
+ const repos = await findRepos(roots);
+ const changedFilesOptions = {
+ includePaths: roots,
+ ...options
+ };
+ const gitPromises = Array.from(repos.git).map(repo =>
+ _git.default.findChangedFiles(repo, changedFilesOptions)
+ );
+ const hgPromises = Array.from(repos.hg).map(repo =>
+ _hg.default.findChangedFiles(repo, changedFilesOptions)
+ );
+ const changedFiles = (
+ await Promise.all(gitPromises.concat(hgPromises))
+ ).reduce((allFiles, changedFilesInTheRepo) => {
+ for (const file of changedFilesInTheRepo) {
+ allFiles.add(file);
+ }
+
+ return allFiles;
+ }, new Set());
+ return {
+ changedFiles,
+ repos
+ };
+};
+
+exports.getChangedFilesForRoots = getChangedFilesForRoots;
+
+const findRepos = async roots => {
+ const gitRepos = await Promise.all(
+ roots.reduce((promises, root) => promises.concat(findGitRoot(root)), [])
+ );
+ const hgRepos = await Promise.all(
+ roots.reduce((promises, root) => promises.concat(findHgRoot(root)), [])
+ );
+ return {
+ git: new Set(gitRepos.filter(notEmpty)),
+ hg: new Set(hgRepos.filter(notEmpty))
+ };
+};
+
+exports.findRepos = findRepos;