Skip to content
Snippets Groups Projects
Commit 3c199b22 authored by Maxim Shafirov's avatar Maxim Shafirov
Browse files

Inline ModuleAliasPlugin code so kwp doesn't have any npm dependencies

parent 36143f16
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -3,7 +3,76 @@ var fs = require('fs')
var execSync = require('child_process').execSync
var isWin = /^win/.test(process.platform);
 
var ModuleAliasPlugin = require("webpack/node_modules/enhanced-resolve/lib/ModuleAliasPlugin");
/* ##### MODULE ALIAS PLUGIN COPY-PASTED SO THIS DOESN"T HAVE ANY DEPENDENCIES
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
function createInnerCallback(callback, options, message) {
var log = options.log;
if(!log) {
if(options.stack !== callback.stack) {
function callbackWrapper() {
return callback.apply(this, arguments);
}
callbackWrapper.stack = options.stack;
callbackWrapper.missing = options.missing;
}
return callback;
}
function loggingCallbackWrapper() {
log(message);
for(var i = 0; i < theLog.length; i++)
log(" " + theLog[i]);
return callback.apply(this, arguments);
}
var theLog = [];
loggingCallbackWrapper.log = function writeLog(msg) {
theLog.push(msg);
};
loggingCallbackWrapper.stack = options.stack;
loggingCallbackWrapper.missing = options.missing;
return loggingCallbackWrapper;
}
function ModuleAliasPlugin(aliasMap) {
this.aliasMap = aliasMap;
}
ModuleAliasPlugin.prototype.apply = function(resolver) {
var aliasMap = this.aliasMap;
resolver.plugin("module", function(request, callback) {
var fs = this.fileSystem;
var keys = Object.keys(aliasMap);
var i = 0;
(function next() {
for(;i < keys.length; i++) {
var aliasName = keys[i];
var onlyModule = /\$$/.test(aliasName);
if(onlyModule) aliasName = aliasName.substr(0, aliasName.length-1);
if((!onlyModule && request.request.indexOf(aliasName + "/") === 0) || request.request === aliasName) {
var aliasValue = aliasMap[keys[i]];
if(request.request.indexOf(aliasValue + "/") !== 0 && request.request != aliasValue) {
var newRequestStr = aliasValue + request.request.substr(aliasName.length);
var newRequest = this.parse(newRequestStr);
var obj = {
path: request.path,
request: newRequest.path,
query: newRequest.query,
directory: newRequest.directory
};
var newCallback = createInnerCallback(callback, callback, "aliased with mapping " + JSON.stringify(aliasName) + ": " + JSON.stringify(aliasValue) + " to " + newRequestStr);
if(newRequest.module) return this.doResolve("module", obj, newCallback);
if(newRequest.directory) return this.doResolve("directory", obj, newCallback);
return this.doResolve(["file", "directory"], obj, newCallback);
}
}
}
return callback();
}.call(this));
});
};
 
function KotlinWebpackPlugin(options) {
this.options = options
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment