From 5c59fdb57cf5abae41e47a670a47135dc7680c1d Mon Sep 17 00:00:00 2001 From: guybedford Date: Tue, 14 Jun 2016 15:17:17 +0200 Subject: [PATCH] allow an @empty plugin module to imply a runtimePlugin --- lib/trace.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/trace.js b/lib/trace.js index fe3d103..4ebaa10 100644 --- a/lib/trace.js +++ b/lib/trace.js @@ -407,7 +407,11 @@ Trace.prototype.getLoadRecord = function(canonical, traceOpts, parentStack) { .then(function(pluginNormalized) { load.plugin = getCanonicalName(loader, pluginNormalized); - if (pluginNormalized.indexOf('!') == -1 && load.metadata.loaderModule.build !== false && getPackage(loader.packages, pluginNormalized)) { + if (load.metadata.loaderModule && + (load.metadata.loaderModule.build === false || Object.keys(load.metadata.loaderModule).length == 0)) + load.runtimePlugin = true; + + if (pluginNormalized.indexOf('!') == -1 && !load.runtimePlugin && getPackage(loader.packages, pluginNormalized)) { var packageConfigPath = getPackageConfigPath(loader.packageConfigPaths, pluginNormalized); if (packageConfigPath) { load.pluginConfig = getCanonicalName(loader, packageConfigPath); @@ -417,10 +421,8 @@ Trace.prototype.getLoadRecord = function(canonical, traceOpts, parentStack) { }); }) .then(function() { - if (load.metadata.loaderModule && load.metadata.loaderModule.build === false) { - load.runtimePlugin = true; + if (load.runtimePlugin) return load; - } curHook = 'fetch';