UNPKG

webpack-bundle-analyzer

Version:

Webpack plugin and CLI utility that represents bundle content as convenient interactive zoomable treemap

32 lines (29 loc) 970 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getModulePathParts = getModulePathParts; const MULTI_MODULE_REGEXP = /^multi /u; /** @typedef {import("webpack").StatsModule} StatsModule */ /** * @param {StatsModule} moduleData moduleData * @returns {string[] | null} module path parts */ function getModulePathParts(moduleData) { if (moduleData.identifier && MULTI_MODULE_REGEXP.test(moduleData.identifier)) { return [moduleData.identifier]; } if (!moduleData.name) { return null; } const loaders = moduleData.name.split("!"); // Removing loaders from module path: they're joined by `!` and the last part is a raw module path const parsedPath = loaders[loaders.length - 1] // Splitting module path into parts .split("/") // Removing first `.` .slice(1) // Replacing `~` with `node_modules` .map(part => part === "~" ? "node_modules" : part); return parsedPath.length ? parsedPath : null; }