in packages/build-plugin-alt/src/entry/preview.tsx [11:49]
async function init() {
const packages = JSON.parse(window.localStorage.getItem('packages') || '');
const projectSchema = JSON.parse(window.localStorage.getItem(SAVE_KEY)!);
const { componentsMap: componentsMapArray, componentsTree } = projectSchema;
const componentsMap: any = {};
componentsMapArray.forEach((component: any) => {
componentsMap[component.componentName as string] = component;
});
const schema = componentsTree[0];
console.info('componentsMap is :', componentsMapArray);
console.info('schema from storage is :', schema);
const libraryMap = {};
const libraryAsset: AssetList = [];
packages.forEach(({ package: pkg, library, urls, renderUrls }) => {
libraryMap[pkg] = library;
if (renderUrls) {
libraryAsset.push(renderUrls);
} else if (urls) {
libraryAsset.push(urls);
}
});
const vendors = [
assetBundle(libraryAsset, AssetLevel.Library),
];
console.log('libraryMap&vendors', libraryMap, vendors);
// TODO asset may cause pollution
const assetLoader = new AssetLoader();
await assetLoader.load(libraryAsset);
const components = buildComponents(libraryMap, componentsMap, undefined);
console.log('components', components);
setData({
schema,
components,
});
}