Blame view

node_modules/enhanced-resolve/lib/FileExistsPlugin.js 897 Bytes
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  /*
  	MIT License http://www.opensource.org/licenses/mit-license.php
  	Author Tobias Koppers @sokra
  */
  function FileExistsPlugin(source, target) {
  	this.source = source;
  	this.target = target;
  }
  module.exports = FileExistsPlugin;
  
  FileExistsPlugin.prototype.apply = function(resolver) {
  	var target = this.target;
  	resolver.plugin(this.source, function(request, callback) {
  		var fs = this.fileSystem;
  		var file = request.path;
  		fs.stat(file, function(err, stat) {
  			if(err || !stat) {
  				if(callback.missing) callback.missing.push(file);
  				if(callback.log) callback.log(file + " doesn't exist");
  				return callback();
  			}
  			if(!stat.isFile()) {
  				if(callback.missing) callback.missing.push(file);
  				if(callback.log) callback.log(file + " is not a file");
  				return callback();
  			}
  			this.doResolve(target, request, "existing file: " + file, callback, true);
  		}.bind(this));
  	});
  };