Search
Search
Search
Search
Information
Information
Light
Dark
Open actions menu
Basic upload method
Bypass upload method
Tips!
If you encounter an error (by firewall) while uploading using both methods,
try changing extension of the file before uploading it and rename it right after.
This uploader supports multiple file upload.
Submit
~
var
www
podio.norlys.foo
httpdocs
node_modules
webpack
lib
File Content:
ExternalModuleFactoryPlugin.js
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const ExternalModule = require("./ExternalModule"); class ExternalModuleFactoryPlugin { constructor(type, externals) { this.type = type; this.externals = externals; } apply(normalModuleFactory) { const globalType = this.type; normalModuleFactory.hooks.factory.tap( "ExternalModuleFactoryPlugin", factory => (data, callback) => { const context = data.context; const dependency = data.dependencies[0]; const handleExternal = (value, type, callback) => { if (typeof type === "function") { callback = type; type = undefined; } if (value === false) return factory(data, callback); if (value === true) value = dependency.request; if (type === undefined && /^[a-z0-9]+ /.test(value)) { const idx = value.indexOf(" "); type = value.substr(0, idx); value = value.substr(idx + 1); } callback( null, new ExternalModule(value, type || globalType, dependency.request) ); return true; }; const handleExternals = (externals, callback) => { if (typeof externals === "string") { if (externals === dependency.request) { return handleExternal(dependency.request, callback); } } else if (Array.isArray(externals)) { let i = 0; const next = () => { let asyncFlag; const handleExternalsAndCallback = (err, module) => { if (err) return callback(err); if (!module) { if (asyncFlag) { asyncFlag = false; return; } return next(); } callback(null, module); }; do { asyncFlag = true; if (i >= externals.length) return callback(); handleExternals(externals[i++], handleExternalsAndCallback); } while (!asyncFlag); asyncFlag = false; }; next(); return; } else if (externals instanceof RegExp) { if (externals.test(dependency.request)) { return handleExternal(dependency.request, callback); } } else if (typeof externals === "function") { externals.call( null, context, dependency.request, (err, value, type) => { if (err) return callback(err); if (value !== undefined) { handleExternal(value, type, callback); } else { callback(); } } ); return; } else if ( typeof externals === "object" && Object.prototype.hasOwnProperty.call(externals, dependency.request) ) { return handleExternal(externals[dependency.request], callback); } callback(); }; handleExternals(this.externals, (err, module) => { if (err) return callback(err); if (!module) return handleExternal(false, callback); return callback(null, module); }); } ); } } module.exports = ExternalModuleFactoryPlugin;
Edit
Download
Unzip
Chmod
Delete