.
This commit is contained in:
		
							
								
								
									
										111
									
								
								qwen/nodejs/node_modules/jest-haste-map/build/watchers/common.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								qwen/nodejs/node_modules/jest-haste-map/build/watchers/common.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,111 @@
 | 
			
		||||
// vendored from https://github.com/amasad/sane/blob/64ff3a870c42e84f744086884bf55a4f9c22d376/src/common.js
 | 
			
		||||
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
const platform = require('os').platform();
 | 
			
		||||
const path = require('path');
 | 
			
		||||
const anymatch = require('anymatch');
 | 
			
		||||
const micromatch = require('micromatch');
 | 
			
		||||
const walker = require('walker');
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Constants
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
exports.DEFAULT_DELAY = 100;
 | 
			
		||||
exports.CHANGE_EVENT = 'change';
 | 
			
		||||
exports.DELETE_EVENT = 'delete';
 | 
			
		||||
exports.ADD_EVENT = 'add';
 | 
			
		||||
exports.ALL_EVENT = 'all';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Assigns options to the watcher.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {NodeWatcher|PollWatcher|WatchmanWatcher} watcher
 | 
			
		||||
 * @param {?object} opts
 | 
			
		||||
 * @return {boolean}
 | 
			
		||||
 * @public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
exports.assignOptions = function (watcher, opts) {
 | 
			
		||||
  opts = opts || {};
 | 
			
		||||
  watcher.globs = opts.glob || [];
 | 
			
		||||
  watcher.dot = opts.dot || false;
 | 
			
		||||
  watcher.ignored = opts.ignored || false;
 | 
			
		||||
  if (!Array.isArray(watcher.globs)) {
 | 
			
		||||
    watcher.globs = [watcher.globs];
 | 
			
		||||
  }
 | 
			
		||||
  watcher.hasIgnore =
 | 
			
		||||
    Boolean(opts.ignored) && !(Array.isArray(opts) && opts.length > 0);
 | 
			
		||||
  watcher.doIgnore = opts.ignored ? anymatch(opts.ignored) : () => false;
 | 
			
		||||
  if (opts.watchman && opts.watchmanPath) {
 | 
			
		||||
    watcher.watchmanPath = opts.watchmanPath;
 | 
			
		||||
  }
 | 
			
		||||
  return opts;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Checks a file relative path against the globs array.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {array} globs
 | 
			
		||||
 * @param {string} relativePath
 | 
			
		||||
 * @return {boolean}
 | 
			
		||||
 * @public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
exports.isFileIncluded = function (globs, dot, doIgnore, relativePath) {
 | 
			
		||||
  if (doIgnore(relativePath)) {
 | 
			
		||||
    return false;
 | 
			
		||||
  }
 | 
			
		||||
  return globs.length
 | 
			
		||||
    ? micromatch.some(relativePath, globs, {
 | 
			
		||||
        dot
 | 
			
		||||
      })
 | 
			
		||||
    : dot || micromatch.some(relativePath, '**/*');
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Traverse a directory recursively calling `callback` on every directory.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {string} dir
 | 
			
		||||
 * @param {function} dirCallback
 | 
			
		||||
 * @param {function} fileCallback
 | 
			
		||||
 * @param {function} endCallback
 | 
			
		||||
 * @param {*} ignored
 | 
			
		||||
 * @public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
exports.recReaddir = function (
 | 
			
		||||
  dir,
 | 
			
		||||
  dirCallback,
 | 
			
		||||
  fileCallback,
 | 
			
		||||
  endCallback,
 | 
			
		||||
  errorCallback,
 | 
			
		||||
  ignored
 | 
			
		||||
) {
 | 
			
		||||
  walker(dir)
 | 
			
		||||
    .filterDir(currentDir => !anymatch(ignored, currentDir))
 | 
			
		||||
    .on('dir', normalizeProxy(dirCallback))
 | 
			
		||||
    .on('file', normalizeProxy(fileCallback))
 | 
			
		||||
    .on('error', errorCallback)
 | 
			
		||||
    .on('end', () => {
 | 
			
		||||
      if (platform === 'win32') {
 | 
			
		||||
        setTimeout(endCallback, 1000);
 | 
			
		||||
      } else {
 | 
			
		||||
        endCallback();
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns a callback that when called will normalize a path and call the
 | 
			
		||||
 * original callback
 | 
			
		||||
 *
 | 
			
		||||
 * @param {function} callback
 | 
			
		||||
 * @return {function}
 | 
			
		||||
 * @private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
function normalizeProxy(callback) {
 | 
			
		||||
  return (filepath, stats) => callback(path.normalize(filepath), stats);
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user