Skip to content

Instantly share code, notes, and snippets.

@sebastiandeutsch
Created August 12, 2016 00:39
Show Gist options
  • Save sebastiandeutsch/c03f66afc64193ab27c502f4ef3e3db1 to your computer and use it in GitHub Desktop.
Save sebastiandeutsch/c03f66afc64193ab27c502f4ef3e3db1 to your computer and use it in GitHub Desktop.
This one is somehow working but I had to explicitly add ".jsx" to the filename.
var path = require("path");
var forEachBail = require("enhanced-resolve/lib/forEachBail");
var createInnerCallback = require("enhanced-resolve/lib/createInnerCallback");
var basename = require("enhanced-resolve/lib/getPaths").basename;
var assign = require("object-assign");
module.exports = DirectoryNamedWebpackPlugin;
function DirectoryNamedWebpackPlugin() {
}
DirectoryNamedWebpackPlugin.prototype.apply = function (resolver) {
resolver.plugin("directory", function(request, callback) {
var fs = resolver.fileSystem;
var topLevelCallback = callback;
var filename = basename(request.path);
var filePath = resolver.join(request.path, filename + ".jsx");
var obj = assign({}, request, {
path: filePath,
relativePath: request.relativePath && resolver.join(request.relativePath, filename)
});
resolver.doResolve("file", obj, "using path: " + filePath, callback);
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment