| 169 | } |
| 170 | |
| 171 | function createAddOnFromChunk( |
| 172 | frameworkId: string, |
| 173 | chunk: ManifestAddOnChunk, |
| 174 | ): AddOn { |
| 175 | const { |
| 176 | renderManifestTemplate: _renderManifestTemplate, |
| 177 | hasManifestTemplate: _hasManifestTemplate, |
| 178 | ...compiled |
| 179 | } = chunk |
| 180 | |
| 181 | const addOn: AddOn = { |
| 182 | ...compiled, |
| 183 | getFiles: () => Promise.resolve(Object.keys(compiled.files)), |
| 184 | getFileContents: (path: string) => Promise.resolve(compiled.files[path]), |
| 185 | getDeletedFiles: () => Promise.resolve(compiled.deletedFiles), |
| 186 | } |
| 187 | addOnFrameworkIds.set(addOn, frameworkId) |
| 188 | return addOn |
| 189 | } |
| 190 | |
| 191 | async function materializeAddOn(addOn: AddOn): Promise<AddOn> { |
| 192 | const frameworkId = addOnFrameworkIds.get(addOn) |