summaryrefslogtreecommitdiffstats
path: root/node_modules/enhanced-resolve/lib/ModuleKindPlugin.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/enhanced-resolve/lib/ModuleKindPlugin.js')
-rw-r--r--node_modules/enhanced-resolve/lib/ModuleKindPlugin.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/node_modules/enhanced-resolve/lib/ModuleKindPlugin.js b/node_modules/enhanced-resolve/lib/ModuleKindPlugin.js
new file mode 100644
index 0000000..b42d7fb
--- /dev/null
+++ b/node_modules/enhanced-resolve/lib/ModuleKindPlugin.js
@@ -0,0 +1,36 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+"use strict";
+
+module.exports = class ModuleKindPlugin {
+ constructor(source, target) {
+ this.source = source;
+ this.target = target;
+ }
+
+ apply(resolver) {
+ const target = resolver.ensureHook(this.target);
+ resolver
+ .getHook(this.source)
+ .tapAsync("ModuleKindPlugin", (request, resolveContext, callback) => {
+ if (!request.module) return callback();
+ const obj = Object.assign({}, request);
+ delete obj.module;
+ resolver.doResolve(
+ target,
+ obj,
+ "resolve as module",
+ resolveContext,
+ (err, result) => {
+ if (err) return callback(err);
+
+ // Don't allow other alternatives
+ if (result === undefined) return callback(null, null);
+ callback(null, result);
+ }
+ );
+ });
+ }
+};