casterly
Version:
CLI for Casterly
32 lines (31 loc) • 1.57 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = __importDefault(require("path"));
// @ts-ignore
const ImportDependency_1 = __importDefault(require("webpack/lib/dependencies/ImportDependency"));
const paths_1 = __importDefault(require("../../../paths"));
class RouteModuleIdCollectorImportDependencyTemplate extends ImportDependency_1.default.Template {
constructor(routeImportModuleIdMap, compilerContext) {
super();
this.routeImportModuleIdMap = routeImportModuleIdMap;
this.compilerContext = compilerContext;
}
apply(dependency, source, templateContext) {
super.apply(dependency, source, templateContext);
const { moduleGraph, chunkGraph } = templateContext;
const parentModule = moduleGraph.getParentModule(dependency);
const parentUserRequest = parentModule.userRequest;
if (parentUserRequest !== paths_1.default.appRoutesJs) {
return;
}
const module = moduleGraph.getResolvedModule(dependency);
const userRequest = module.userRequest;
const modulePath = '.' + path_1.default.sep + path_1.default.relative(this.compilerContext, userRequest);
const moduleId = chunkGraph.getModuleId(moduleGraph.getModule(dependency));
this.routeImportModuleIdMap.set(modulePath, moduleId);
}
}
exports.default = RouteModuleIdCollectorImportDependencyTemplate;
;