Lines 232-272javascript
235 _w.__peersUIBundleError = (errorFileId, errorMsg) => {
236 if (errorFileId === uiBundleFileId) {
237 rejectLoad(new Error(errorMsg));
241 await peers_sdk_1.rpcServerCalls.injectUIBundle(uiBundleFileId);
243 console.log(`finished loading ui bundle for ${pkg.name}: ${(Date.now() - sTime).toFixed(0)}ms`);
246 const bundleCode = await peers_sdk_1.rpcServerCalls.getFileContents(uiBundleFileId);
248 const exportUIs = (peerUIs) => {
249 peerUIs?.uis?.forEach((ui) => {
250 peersUIs[ui.peersUIId] = ui;
253 const bundleFunction = new Function("exportUIs", bundleCode);
254 await bundleFunction(exportUIs);
LowEval
Package source references a known benign dynamic code generation pattern.
dist/ui-router/ui-loader.jsView on unpkg · L252 256 console.log(`finished loading ui bundle for ${pkg.name}: ${(Date.now() - sTime).toFixed(0)}ms, ${bundleCode ? (bundleCode.length / 1000).toFixed
258 })().catch((err) => {
259 console.error(`Error while loading ui module for ${pkg.name}`, err);
262 uiLoadingPromises[pkg.packageId] = importPromise;
264 return importPromise;
266const UIAsyncLoader = (props) => {
267 const { peersUIId } = props;
268 const [loaded, setLoaded] = react_1.default.useState(false);
269 const [loadError, setLoadError] = react_1.default.useState(null);
270 const allRoutes = _window.getPeersUIRoutes();
271 const uiPackageId = allRoutes.find((r) => r.peersUIId === peersUIId)?.packageId;
272 (0, hooks_1.useObservable)(routes_loader_1.allPackages);