| 131 | } |
| 132 | |
| 133 | function buildPackageData(report) { |
| 134 | let packageData = new Map(); |
| 135 | |
| 136 | for (let entry of report) { |
| 137 | let data = packageData.get(entry.packageName); |
| 138 | if (!data) { |
| 139 | data = { |
| 140 | rootExports: new Set(), |
| 141 | subpathExports: new Set(), |
| 142 | privateExports: new Set(), |
| 143 | privateExportPaths: new Map() |
| 144 | }; |
| 145 | packageData.set(entry.packageName, data); |
| 146 | } |
| 147 | |
| 148 | for (let exportName of entry.exports) { |
| 149 | if (entry.isRoot) { |
| 150 | data.rootExports.add(exportName); |
| 151 | } else { |
| 152 | data.subpathExports.add(exportName); |
| 153 | } |
| 154 | |
| 155 | if (entry.isPrivate) { |
| 156 | data.privateExports.add(exportName); |
| 157 | let privatePaths = data.privateExportPaths.get(exportName); |
| 158 | if (!privatePaths) { |
| 159 | privatePaths = new Set(); |
| 160 | data.privateExportPaths.set(exportName, privatePaths); |
| 161 | } |
| 162 | |
| 163 | privatePaths.add(entry.specifier); |
| 164 | } |
| 165 | } |
| 166 | } |
| 167 | |
| 168 | return packageData; |
| 169 | } |
| 170 | |
| 171 | function getExportNotes(entry, exportName, packageData) { |
| 172 | let data = packageData.get(entry.packageName); |