UNPKG

@jamarsto/kiunzi-micro-frontend-tools

Version:
55 lines 7.87 kB
import { WebComponentWrapper } from '@angular-architects/module-federation-tools'; export function microFrontEndRoute(module) { // provided a role without a guard. Hence don't try to guard if (typeof module.guards === 'undefined' || module.guards === null || module.guards.length === 0 || (module.guards.length > 0 && typeof module.guards[0] === 'string')) { return { matcher: shellPath(module.prefix), component: WebComponentWrapper, data: { type: 'module', remoteEntry: '/mfe/' + module.name + '/remoteEntry.js', exposedModule: './RemoteAppModule', elementName: 'mfe-' + module.name, } }; } // provided guard(s) without role(s). Just do authorized check if (typeof module.roles === 'undefined' || module.roles === null || module.roles.length === 0) { return { matcher: shellPath(module.prefix), component: WebComponentWrapper, data: { type: 'module', remoteEntry: '/mfe/' + module.name + '/remoteEntry.js', exposedModule: './RemoteAppModule', elementName: 'mfe-' + module.name, }, canLoad: module.guards, canActivate: module.guards, canActivateChild: module.guards }; } // provided guard(s) and role(s). Do full check return { matcher: shellPath(module.prefix), component: WebComponentWrapper, data: { type: 'module', remoteEntry: '/mfe/' + module.name + '/remoteEntry.js', exposedModule: './RemoteAppModule', elementName: 'mfe-' + module.name, role: module.roles, }, canLoad: module.guards, canActivate: module.guards, canActivateChild: module.guards }; } function shellPath(shellPath) { return (url) => { if (url.length > 0 && url[0].path === shellPath) { return ({ consumed: url }); } return null; }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm8tZnJvbnQtZW5kLXJvdXRlLmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l1bnppLW1pY3JvLWZyb250ZW5kLXRvb2xzL3NyYy9saWIvZnVuY3Rpb24vbWljcm8tZnJvbnQtZW5kLXJvdXRlL21pY3JvLWZyb250LWVuZC1yb3V0ZS5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQThCLE1BQU0sNkNBQTZDLENBQUM7QUFHOUcsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE1BQWM7SUFDL0MsNERBQTREO0lBQzVELElBQ0ksT0FBTyxNQUFNLENBQUMsTUFBTSxLQUFLLFdBQVc7V0FDakMsTUFBTSxDQUFDLE1BQU0sS0FBSyxJQUFJO1dBQ3RCLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUM7V0FDMUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxFQUFFO1FBQ3pFLE9BQU87WUFDTCxPQUFPLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDakMsU0FBUyxFQUFFLG1CQUFtQjtZQUM5QixJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsV0FBVyxFQUFFLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxHQUFHLGlCQUFpQjtnQkFDdEQsYUFBYSxFQUFFLG1CQUFtQjtnQkFDbEMsV0FBVyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSTthQUNKO1NBQ2hDLENBQUE7S0FDRjtJQUNELCtEQUErRDtJQUMvRCxJQUFHLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxXQUFXO1dBQy9CLE1BQU0sQ0FBQyxLQUFLLEtBQUssSUFBSTtXQUNyQixNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDaEMsT0FBTztZQUNMLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNqQyxTQUFTLEVBQUUsbUJBQW1CO1lBQzlCLElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsUUFBUTtnQkFDZCxXQUFXLEVBQUUsT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEdBQUcsaUJBQWlCO2dCQUN0RCxhQUFhLEVBQUUsbUJBQW1CO2dCQUNsQyxXQUFXLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJO2FBQ0osRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsTUFBTTtTQUNySCxDQUFBO0tBQ0Y7SUFDRCwrQ0FBK0M7SUFDL0MsT0FBTztRQUNMLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNqQyxTQUFTLEVBQUUsbUJBQW1CO1FBQzlCLElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1lBQ2QsV0FBVyxFQUFFLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxHQUFHLGlCQUFpQjtZQUN0RCxhQUFhLEVBQUUsbUJBQW1CO1lBQ2xDLFdBQVcsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUk7WUFDakMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLO1NBQ1csRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsTUFBTTtLQUNySCxDQUFBO0FBQ0gsQ0FBQztBQUVELFNBQVMsU0FBUyxDQUFDLFNBQWlCO0lBQ2xDLE9BQU8sQ0FBQyxHQUFpQixFQUFFLEVBQUU7UUFDM0IsSUFBRyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUM5QyxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUM1QjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlLCBVcmxNYXRjaGVyLCBVcmxTZWdtZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgV2ViQ29tcG9uZW50V3JhcHBlciwgV2ViQ29tcG9uZW50V3JhcHBlck9wdGlvbnMgfSBmcm9tICdAYW5ndWxhci1hcmNoaXRlY3RzL21vZHVsZS1mZWRlcmF0aW9uLXRvb2xzJztcclxuaW1wb3J0IHsgTW9kdWxlIH0gZnJvbSAnLi4vLi4vdHlwZXMvbW9kdWxlL21vZHVsZS50eXBlJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBtaWNyb0Zyb250RW5kUm91dGUobW9kdWxlOiBNb2R1bGUpIDogUm91dGUge1xyXG4gIC8vIHByb3ZpZGVkIGEgcm9sZSB3aXRob3V0IGEgZ3VhcmQuIEhlbmNlIGRvbid0IHRyeSB0byBndWFyZFxyXG4gIGlmKFxyXG4gICAgICB0eXBlb2YgbW9kdWxlLmd1YXJkcyA9PT0gJ3VuZGVmaW5lZCdcclxuICAgICAgfHwgbW9kdWxlLmd1YXJkcyA9PT0gbnVsbFxyXG4gICAgICB8fCBtb2R1bGUuZ3VhcmRzLmxlbmd0aCA9PT0gMFxyXG4gICAgICB8fCAobW9kdWxlLmd1YXJkcy5sZW5ndGggPiAwICYmIHR5cGVvZiBtb2R1bGUuZ3VhcmRzWzBdID09PSAnc3RyaW5nJykpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG1hdGNoZXI6IHNoZWxsUGF0aChtb2R1bGUucHJlZml4KSxcclxuICAgICAgY29tcG9uZW50OiBXZWJDb21wb25lbnRXcmFwcGVyLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgdHlwZTogJ21vZHVsZScsXHJcbiAgICAgICAgcmVtb3RlRW50cnk6ICcvbWZlLycgKyBtb2R1bGUubmFtZSArICcvcmVtb3RlRW50cnkuanMnLFxyXG4gICAgICAgIGV4cG9zZWRNb2R1bGU6ICcuL1JlbW90ZUFwcE1vZHVsZScsXHJcbiAgICAgICAgZWxlbWVudE5hbWU6ICdtZmUtJyArIG1vZHVsZS5uYW1lLFxyXG4gICAgICB9IGFzIFdlYkNvbXBvbmVudFdyYXBwZXJPcHRpb25zXHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIHByb3ZpZGVkIGd1YXJkKHMpIHdpdGhvdXQgcm9sZShzKS4gIEp1c3QgZG8gYXV0aG9yaXplZCBjaGVja1xyXG4gIGlmKHR5cGVvZiBtb2R1bGUucm9sZXMgPT09ICd1bmRlZmluZWQnXHJcbiAgICAgIHx8IG1vZHVsZS5yb2xlcyA9PT0gbnVsbFxyXG4gICAgICB8fCBtb2R1bGUucm9sZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBtYXRjaGVyOiBzaGVsbFBhdGgobW9kdWxlLnByZWZpeCksXHJcbiAgICAgIGNvbXBvbmVudDogV2ViQ29tcG9uZW50V3JhcHBlcixcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIHR5cGU6ICdtb2R1bGUnLFxyXG4gICAgICAgIHJlbW90ZUVudHJ5OiAnL21mZS8nICsgbW9kdWxlLm5hbWUgKyAnL3JlbW90ZUVudHJ5LmpzJyxcclxuICAgICAgICBleHBvc2VkTW9kdWxlOiAnLi9SZW1vdGVBcHBNb2R1bGUnLFxyXG4gICAgICAgIGVsZW1lbnROYW1lOiAnbWZlLScgKyBtb2R1bGUubmFtZSxcclxuICAgICAgfSBhcyBXZWJDb21wb25lbnRXcmFwcGVyT3B0aW9ucywgY2FuTG9hZDogbW9kdWxlLmd1YXJkcywgY2FuQWN0aXZhdGU6IG1vZHVsZS5ndWFyZHMsIGNhbkFjdGl2YXRlQ2hpbGQ6IG1vZHVsZS5ndWFyZHNcclxuICAgIH1cclxuICB9XHJcbiAgLy8gcHJvdmlkZWQgZ3VhcmQocykgYW5kIHJvbGUocykuIERvIGZ1bGwgY2hlY2tcclxuICByZXR1cm4ge1xyXG4gICAgbWF0Y2hlcjogc2hlbGxQYXRoKG1vZHVsZS5wcmVmaXgpLFxyXG4gICAgY29tcG9uZW50OiBXZWJDb21wb25lbnRXcmFwcGVyLFxyXG4gICAgZGF0YToge1xyXG4gICAgICB0eXBlOiAnbW9kdWxlJyxcclxuICAgICAgcmVtb3RlRW50cnk6ICcvbWZlLycgKyBtb2R1bGUubmFtZSArICcvcmVtb3RlRW50cnkuanMnLFxyXG4gICAgICBleHBvc2VkTW9kdWxlOiAnLi9SZW1vdGVBcHBNb2R1bGUnLFxyXG4gICAgICBlbGVtZW50TmFtZTogJ21mZS0nICsgbW9kdWxlLm5hbWUsXHJcbiAgICAgIHJvbGU6IG1vZHVsZS5yb2xlcyxcclxuICAgIH0gYXMgV2ViQ29tcG9uZW50V3JhcHBlck9wdGlvbnMsIGNhbkxvYWQ6IG1vZHVsZS5ndWFyZHMsIGNhbkFjdGl2YXRlOiBtb2R1bGUuZ3VhcmRzLCBjYW5BY3RpdmF0ZUNoaWxkOiBtb2R1bGUuZ3VhcmRzXHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBzaGVsbFBhdGgoc2hlbGxQYXRoOiBzdHJpbmcpOiBVcmxNYXRjaGVyIHtcclxuICByZXR1cm4gKHVybDogVXJsU2VnbWVudFtdKSA9PiB7XHJcbiAgICBpZih1cmwubGVuZ3RoID4gMCAmJiB1cmxbMF0ucGF0aCA9PT0gc2hlbGxQYXRoKSB7XHJcbiAgICAgIHJldHVybiAoeyBjb25zdW1lZDogdXJsIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==