| 24 | } |
| 25 | |
| 26 | export function createFrameworkFromManifest( |
| 27 | framework: Omit<FrameworkDefinition, 'addOns'> & { |
| 28 | addOns: Array<AddOnCompiled> |
| 29 | }, |
| 30 | ): Framework { |
| 31 | const addOns = framework.addOns.map(createAddOn) |
| 32 | const { addOns: _addOns, base, ...rest } = framework |
| 33 | |
| 34 | return { |
| 35 | ...rest, |
| 36 | getFiles: () => Promise.resolve(Object.keys(base)), |
| 37 | getFileContents: (path: string) => Promise.resolve(base[path]), |
| 38 | getDeletedFiles: () => Promise.resolve([]), |
| 39 | getAddOns: () => addOns, |
| 40 | } |
| 41 | } |
| 42 | |
| 43 | setDefaultTemplateRenderer(renderManifestTemplate) |
| 44 | |