| 1234567891011121314151617181920212223242526272829303132333435363738394041 | 
							- /*
 
- 	MIT License http://www.opensource.org/licenses/mit-license.php
 
- 	Author Tobias Koppers @sokra
 
- */
 
- "use strict";
 
- module.exports = class FileExistsPlugin {
 
- 	constructor(source, target) {
 
- 		this.source = source;
 
- 		this.target = target;
 
- 	}
 
- 	apply(resolver) {
 
- 		const target = resolver.ensureHook(this.target);
 
- 		const fs = resolver.fileSystem;
 
- 		resolver
 
- 			.getHook(this.source)
 
- 			.tapAsync("FileExistsPlugin", (request, resolveContext, callback) => {
 
- 				const file = request.path;
 
- 				fs.stat(file, (err, stat) => {
 
- 					if (err || !stat) {
 
- 						if (resolveContext.missing) resolveContext.missing.add(file);
 
- 						if (resolveContext.log) resolveContext.log(file + " doesn't exist");
 
- 						return callback();
 
- 					}
 
- 					if (!stat.isFile()) {
 
- 						if (resolveContext.missing) resolveContext.missing.add(file);
 
- 						if (resolveContext.log) resolveContext.log(file + " is not a file");
 
- 						return callback();
 
- 					}
 
- 					resolver.doResolve(
 
- 						target,
 
- 						request,
 
- 						"existing file: " + file,
 
- 						resolveContext,
 
- 						callback
 
- 					);
 
- 				});
 
- 			});
 
- 	}
 
- };
 
 
  |