| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240 | 
							- 'use strict';
 
- var _path = require('path');
 
- var _path2 = _interopRequireDefault(_path);
 
- var _preProcessPattern = require('./preProcessPattern');
 
- var _preProcessPattern2 = _interopRequireDefault(_preProcessPattern);
 
- var _processPattern = require('./processPattern');
 
- var _processPattern2 = _interopRequireDefault(_processPattern);
 
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
- function CopyWebpackPlugin() {
 
-     var patterns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
 
-     var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
 
-     if (!Array.isArray(patterns)) {
 
-         throw new Error('[copy-webpack-plugin] patterns must be an array');
 
-     }
 
-     // Defaults debug level to 'warning'
 
-     options.debug = options.debug || 'warning';
 
-     // Defaults debugging to info if only true is specified
 
-     if (options.debug === true) {
 
-         options.debug = 'info';
 
-     }
 
-     var debugLevels = ['warning', 'info', 'debug'];
 
-     var debugLevelIndex = debugLevels.indexOf(options.debug);
 
-     function log(msg, level) {
 
-         if (level === 0) {
 
-             msg = 'WARNING - ' + msg;
 
-         } else {
 
-             level = level || 1;
 
-         }
 
-         if (level <= debugLevelIndex) {
 
-             console.log('[copy-webpack-plugin] ' + msg); // eslint-disable-line no-console
 
-         }
 
-     }
 
-     function warning(msg) {
 
-         log(msg, 0);
 
-     }
 
-     function info(msg) {
 
-         log(msg, 1);
 
-     }
 
-     function debug(msg) {
 
-         log(msg, 2);
 
-     }
 
-     var apply = function apply(compiler) {
 
-         var fileDependencies = void 0;
 
-         var contextDependencies = void 0;
 
-         var written = {};
 
-         var context = void 0;
 
-         if (!options.context) {
 
-             context = compiler.options.context;
 
-         } else if (!_path2.default.isAbsolute(options.context)) {
 
-             context = _path2.default.join(compiler.options.context, options.context);
 
-         } else {
 
-             context = options.context;
 
-         }
 
-         var emit = function emit(compilation, cb) {
 
-             debug('starting emit');
 
-             var callback = function callback() {
 
-                 debug('finishing emit');
 
-                 cb();
 
-             };
 
-             fileDependencies = [];
 
-             contextDependencies = [];
 
-             var globalRef = {
 
-                 info: info,
 
-                 debug: debug,
 
-                 warning: warning,
 
-                 compilation: compilation,
 
-                 written: written,
 
-                 fileDependencies: fileDependencies,
 
-                 contextDependencies: contextDependencies,
 
-                 context: context,
 
-                 inputFileSystem: compiler.inputFileSystem,
 
-                 output: compiler.options.output.path,
 
-                 ignore: options.ignore || [],
 
-                 copyUnmodified: options.copyUnmodified,
 
-                 concurrency: options.concurrency
 
-             };
 
-             if (globalRef.output === '/' && compiler.options.devServer && compiler.options.devServer.outputPath) {
 
-                 globalRef.output = compiler.options.devServer.outputPath;
 
-             }
 
-             var tasks = [];
 
-             patterns.forEach(function (pattern) {
 
-                 tasks.push(Promise.resolve().then(function () {
 
-                     return (0, _preProcessPattern2.default)(globalRef, pattern);
 
-                 })
 
-                 // Every source (from) is assumed to exist here
 
-                 .then(function (pattern) {
 
-                     return (0, _processPattern2.default)(globalRef, pattern);
 
-                 }));
 
-             });
 
-             Promise.all(tasks).catch(function (err) {
 
-                 compilation.errors.push(err);
 
-             }).then(function () {
 
-                 return callback();
 
-             });
 
-         };
 
-         var afterEmit = function afterEmit(compilation, cb) {
 
-             debug('starting after-emit');
 
-             var callback = function callback() {
 
-                 debug('finishing after-emit');
 
-                 cb();
 
-             };
 
-             var compilationFileDependencies = void 0;
 
-             var addFileDependency = void 0;
 
-             if (Array.isArray(compilation.fileDependencies)) {
 
-                 compilationFileDependencies = new Set(compilation.fileDependencies);
 
-                 addFileDependency = function addFileDependency(file) {
 
-                     return compilation.fileDependencies.push(file);
 
-                 };
 
-             } else {
 
-                 compilationFileDependencies = compilation.fileDependencies;
 
-                 addFileDependency = function addFileDependency(file) {
 
-                     return compilation.fileDependencies.add(file);
 
-                 };
 
-             }
 
-             var compilationContextDependencies = void 0;
 
-             var addContextDependency = void 0;
 
-             if (Array.isArray(compilation.contextDependencies)) {
 
-                 compilationContextDependencies = new Set(compilation.contextDependencies);
 
-                 addContextDependency = function addContextDependency(file) {
 
-                     return compilation.contextDependencies.push(file);
 
-                 };
 
-             } else {
 
-                 compilationContextDependencies = compilation.contextDependencies;
 
-                 addContextDependency = function addContextDependency(file) {
 
-                     return compilation.contextDependencies.add(file);
 
-                 };
 
-             }
 
-             // Add file dependencies if they're not already tracked
 
-             var _iteratorNormalCompletion = true;
 
-             var _didIteratorError = false;
 
-             var _iteratorError = undefined;
 
-             try {
 
-                 for (var _iterator = fileDependencies[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
 
-                     var file = _step.value;
 
-                     if (compilationFileDependencies.has(file)) {
 
-                         debug('not adding ' + file + ' to change tracking, because it\'s already tracked');
 
-                     } else {
 
-                         debug('adding ' + file + ' to change tracking');
 
-                         addFileDependency(file);
 
-                     }
 
-                 }
 
-                 // Add context dependencies if they're not already tracked
 
-             } catch (err) {
 
-                 _didIteratorError = true;
 
-                 _iteratorError = err;
 
-             } finally {
 
-                 try {
 
-                     if (!_iteratorNormalCompletion && _iterator.return) {
 
-                         _iterator.return();
 
-                     }
 
-                 } finally {
 
-                     if (_didIteratorError) {
 
-                         throw _iteratorError;
 
-                     }
 
-                 }
 
-             }
 
-             var _iteratorNormalCompletion2 = true;
 
-             var _didIteratorError2 = false;
 
-             var _iteratorError2 = undefined;
 
-             try {
 
-                 for (var _iterator2 = contextDependencies[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
 
-                     var _context = _step2.value;
 
-                     if (compilationContextDependencies.has(_context)) {
 
-                         debug('not adding ' + _context + ' to change tracking, because it\'s already tracked');
 
-                     } else {
 
-                         debug('adding ' + _context + ' to change tracking');
 
-                         addContextDependency(_context);
 
-                     }
 
-                 }
 
-             } catch (err) {
 
-                 _didIteratorError2 = true;
 
-                 _iteratorError2 = err;
 
-             } finally {
 
-                 try {
 
-                     if (!_iteratorNormalCompletion2 && _iterator2.return) {
 
-                         _iterator2.return();
 
-                     }
 
-                 } finally {
 
-                     if (_didIteratorError2) {
 
-                         throw _iteratorError2;
 
-                     }
 
-                 }
 
-             }
 
-             callback();
 
-         };
 
-         if (compiler.hooks) {
 
-             var plugin = { name: 'CopyPlugin' };
 
-             compiler.hooks.emit.tapAsync(plugin, emit);
 
-             compiler.hooks.afterEmit.tapAsync(plugin, afterEmit);
 
-         } else {
 
-             compiler.plugin('emit', emit);
 
-             compiler.plugin('after-emit', afterEmit);
 
-         }
 
-     };
 
-     return {
 
-         apply: apply
 
-     };
 
- }
 
- CopyWebpackPlugin['default'] = CopyWebpackPlugin;
 
- module.exports = CopyWebpackPlugin;
 
 
  |