@baseplate-dev/react-generators
Version:
React Generators for Baseplate
53 lines • 2.25 kB
JavaScript
import { renderRawTemplateFileAction, renderTextTemplateGroupAction, typescriptFileProvider, } from '@baseplate-dev/core-generators';
import { createGeneratorTask, createProviderType } from '@baseplate-dev/sync';
import { CORE_REACT_PATHS } from './template-paths.js';
import { CORE_REACT_TEMPLATES } from './typed-templates.js';
const coreReactRenderers = createProviderType('core-react-renderers');
const coreReactRenderersTask = createGeneratorTask({
dependencies: {
paths: CORE_REACT_PATHS.provider,
typescriptFile: typescriptFileProvider,
},
exports: { coreReactRenderers: coreReactRenderers.export() },
run({ paths, typescriptFile }) {
return {
providers: {
coreReactRenderers: {
favicon: {
render: (options) => renderRawTemplateFileAction({
template: CORE_REACT_TEMPLATES.favicon,
destination: paths.favicon,
...options,
}),
},
main: {
render: (options) => typescriptFile.renderTemplateFile({
template: CORE_REACT_TEMPLATES.main,
destination: paths.main,
...options,
}),
},
staticGroup: {
render: (options) => renderTextTemplateGroupAction({
group: CORE_REACT_TEMPLATES.staticGroup,
paths,
...options,
}),
},
viteConfig: {
render: (options) => typescriptFile.renderTemplateFile({
template: CORE_REACT_TEMPLATES.viteConfig,
destination: paths.viteConfig,
...options,
}),
},
},
},
};
},
});
export const CORE_REACT_RENDERERS = {
provider: coreReactRenderers,
task: coreReactRenderersTask,
};
//# sourceMappingURL=template-renderers.js.map