mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
fix: reference symbols for example components rather than providing a string of the component name (#13992)
This commit is contained in:
committed by
Jeremy Elbourn
parent
b662bfa94e
commit
d0d97c3e37
@@ -27,20 +27,25 @@ function inlineExampleModuleTemplate(parsedData: ExampleMetadata[]): string {
|
||||
return result.concat(data.component).concat(data.additionalComponents);
|
||||
}, [] as string[]).join(',');
|
||||
|
||||
const exampleComponents = parsedData.reduce((result, data) => {
|
||||
result[data.id] = {
|
||||
title: data.title,
|
||||
component: data.component,
|
||||
additionalFiles: data.additionalFiles,
|
||||
selectorName: data.selectorName.join(', '),
|
||||
};
|
||||
const exampleComponents = parsedData.map((metaData) => {
|
||||
const fields = [
|
||||
`title: '${metaData.title.trim()}'`,
|
||||
`component: ${metaData.component}`,
|
||||
];
|
||||
|
||||
return result;
|
||||
if (metaData.additionalFiles.length) {
|
||||
fields.push(`additionalFiles: ${JSON.stringify(metaData.additionalFiles)}`);
|
||||
}
|
||||
if (metaData.selectorName.length) {
|
||||
fields.push(`selectorName: '${metaData.selectorName.join(', ')}'`);
|
||||
}
|
||||
const data = '\n' + fields.map(field => ' ' + field).join(',\n');
|
||||
return `'${metaData.id}': {${data}\n }`;
|
||||
}, {} as any);
|
||||
|
||||
return fs.readFileSync(require.resolve('./example-module.template'), 'utf8')
|
||||
.replace('${exampleImports}', exampleImports)
|
||||
.replace('${exampleComponents}', JSON.stringify(exampleComponents))
|
||||
.replace('${exampleComponents}', `{\n ${exampleComponents.join(',\n ')}}`)
|
||||
.replace('${exampleList}', `[${exampleList}]`);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user