casterly
Version:
CLI for Casterly
40 lines (39 loc) • 1.6 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseRoutesAndAssets = exports.evalModuleCode = void 0;
const module_1 = __importDefault(require("module"));
function evalModuleCode(context, code, filename) {
const module = new module_1.default(filename);
// @ts-ignore: private method
module.paths = module_1.default._nodeModulePaths(context);
module.filename = filename;
// @ts-ignore: private method
module._compile(code, filename);
return module.exports;
}
exports.evalModuleCode = evalModuleCode;
const parseRoutesAndAssets = (mainAssets, routeComponentsAssets, routes, routeModuleIdMap) => {
const parseRouteComponents = (route) => {
const moduleId = routeModuleIdMap.get(route.component());
const routeWithComponents = {
caseSensitive: route.caseSensitive,
path: route.path,
assets: routeComponentsAssets[moduleId],
componentName: moduleId,
children: undefined,
props: route.props,
};
if (route.children) {
routeWithComponents.children = route.children
? route.children.map(parseRouteComponents)
: undefined;
}
return routeWithComponents;
};
const routesWithAssets = routes.map(parseRouteComponents);
return { main: mainAssets, routes: routesWithAssets };
};
exports.parseRoutesAndAssets = parseRoutesAndAssets;
;