This commit is contained in:
Tobias Koppers 2021-11-26 09:41:57 +01:00 committed by Louis Chemineau
parent fdf28b84ed
commit 4024bb7a2f
3 changed files with 16 additions and 9 deletions

View File

@ -5,6 +5,7 @@
"use strict";
const NormalModule = require("./NormalModule");
const createHash = require("./util/createHash");
const memoize = require("./util/memoize");
@ -122,6 +123,7 @@ ModuleFilenameHelpers.createFilename = (
};
let absoluteResourcePath;
let resource;
let hash;
let identifier;
let moduleId;
@ -132,6 +134,7 @@ ModuleFilenameHelpers.createFilename = (
moduleId = () => "";
absoluteResourcePath = () => module.split("!").pop();
hash = getHash(identifier, hashFunction);
resource = memoize(() => shortIdentifier().split("!").pop());
} else {
shortIdentifier = memoize(() =>
module.readableIdentifier(requestShortener)
@ -139,10 +142,12 @@ ModuleFilenameHelpers.createFilename = (
identifier = memoize(() => requestShortener.shorten(module.identifier()));
moduleId = () => chunkGraph.getModuleId(module);
absoluteResourcePath = () =>
requestShortener.shorten(module.nameForCondition());
module instanceof NormalModule
? module.resource
: module.identifier().split("!").pop();
hash = getHash(identifier, hashFunction);
resource = memoize(() => requestShortener.shorten(absoluteResourcePath()));
}
const resource = memoize(() => shortIdentifier().split("!").pop());
const loaders = getBefore(shortIdentifier, "!");
const allLoaders = getBefore(identifier, "!");

View File

@ -1,8 +1,14 @@
it("should not include layer or type in absoluteResourcePath", function() {
it("should not include layer or type in absoluteResourcePath", function () {
var fs = require("fs");
var path = require("path");
var source = fs.readFileSync(__filename + ".map", "utf-8");
var map = JSON.parse(source);
expect(map.sources).toContain("webpack:///test.js");
expect(map.sources).toContain(
path.resolve(
__dirname,
"../../../..//configCases/source-map/resource-path/test.js"
)
);
});
if (Math.random() < 0) require("./test.js");

View File

@ -1,5 +1,3 @@
const path = require("path");
/** @type {import("../../../../").Configuration} */
module.exports = {
node: {
@ -18,9 +16,7 @@ module.exports = {
},
output: {
devtoolModuleFilenameTemplate(info) {
const rootDir = process.cwd();
const rel = path.relative(rootDir, info.absoluteResourcePath);
return `webpack:///${rel}`;
return info.absoluteResourcePath;
}
}
};