({bundle, bundleGraph, options})
| 22 | nodes = {}; |
| 23 | }, |
| 24 | async package({bundle, bundleGraph, options}) { |
| 25 | let promises = []; |
| 26 | bundle.traverseAssets(asset => { |
| 27 | promises.push(parse(asset)); |
| 28 | }); |
| 29 | |
| 30 | let code = new Map(await Promise.all(promises)); |
| 31 | try { |
| 32 | var result = processAsset(bundle.getEntryAssets()[0]); |
| 33 | } catch (err) { |
| 34 | console.log(err.stack); |
| 35 | } |
| 36 | |
| 37 | function processAsset(asset) { |
| 38 | if (cache.has(asset.id)) { |
| 39 | return cache.get(asset.id); |
| 40 | } |
| 41 | |
| 42 | let res = {}; |
| 43 | cache.set(asset.id, res); |
| 44 | _processAsset(asset, res); |
| 45 | return res; |
| 46 | } |
| 47 | |
| 48 | function _processAsset(asset, res) { |
| 49 | let obj = processCode(asset, code.get(asset.id)); |
| 50 | for (let [exported] of asset.symbols) { |
| 51 | let {asset: resolvedAsset, exportSymbol} = bundleGraph.getSymbolResolution(asset, exported); |
| 52 | let processed = resolvedAsset.id === asset.id ? obj : processAsset(resolvedAsset); |
| 53 | |
| 54 | if (exportSymbol === '*') { |
| 55 | Object.assign(res, processed); |
| 56 | } else { |
| 57 | // Re-exported with different name (e.g. export {useGridCell as useTableCell}) |
| 58 | if (exportSymbol !== exported) { |
| 59 | let clone = {...processed[exportSymbol]}; |
| 60 | clone.name = exported; |
| 61 | res[exported] = clone; |
| 62 | } else { |
| 63 | res[exported] = processed[exportSymbol]; |
| 64 | } |
| 65 | } |
| 66 | } |
| 67 | |
| 68 | let deps = bundleGraph.getDependencies(asset); |
| 69 | for (let dep of deps) { |
| 70 | let wildcard = dep.symbols.get('*'); |
| 71 | if (wildcard && wildcard.local === '*') { |
| 72 | let resolved = bundleGraph.getResolvedAsset(dep, bundle); |
| 73 | Object.assign(res, processAsset(resolved)); |
| 74 | } |
| 75 | } |
| 76 | } |
| 77 | |
| 78 | function processCode(asset, obj) { |
| 79 | let application; |
| 80 | let paramStack = []; |
| 81 | let keyStack = []; |
nothing calls this directly
no test coverage detected