@baseplate-dev/core-generators
Version:
Core generators for Baseplate
34 lines • 1.43 kB
JavaScript
import { readTemplateFileSourceBuffer } from '@baseplate-dev/sync';
export function renderRawTemplateFileAction({ template, id, destination, options, }) {
return {
execute: async (builder) => {
const source = await readTemplateFileSourceBuffer(template.source);
if (template.fileOptions.kind === 'instance' && !id) {
throw new Error('Instance template must have an id');
}
const fileId = id ?? template.name;
const shouldWriteMetadata = builder.metadataOptions.includeTemplateMetadata &&
builder.metadataOptions.shouldGenerateMetadata({
fileId,
filePath: destination,
generatorName: builder.generatorInfo.name,
isInstance: template.fileOptions.kind === 'instance',
});
builder.writeFile({
id: fileId,
destination,
contents: source,
options: {
skipFormatting: true,
...options,
},
templateInfo: {
template: template.name,
generator: builder.generatorInfo.name,
instanceData: shouldWriteMetadata ? {} : undefined,
},
});
},
};
}
//# sourceMappingURL=render-raw-template-action.js.map