@baseplate-dev/react-generators
Version:
React Generators for Baseplate
58 lines • 2.49 kB
JavaScript
import { typescriptFileProvider } from '@baseplate-dev/core-generators';
import { createGeneratorTask, createProviderType } from '@baseplate-dev/sync';
import { CORE_REACT_COMPONENTS_PATHS } from './template-paths.js';
import { CORE_REACT_COMPONENTS_TEMPLATES } from './typed-templates.js';
const coreReactComponentsRenderers = createProviderType('core-react-components-renderers');
const coreReactComponentsRenderersTask = createGeneratorTask({
dependencies: {
paths: CORE_REACT_COMPONENTS_PATHS.provider,
typescriptFile: typescriptFileProvider,
},
exports: {
coreReactComponentsRenderers: coreReactComponentsRenderers.export(),
},
run({ paths, typescriptFile }) {
return {
providers: {
coreReactComponentsRenderers: {
componentsGroup: {
render: (options) => typescriptFile.renderTemplateGroup({
group: CORE_REACT_COMPONENTS_TEMPLATES.componentsGroup,
paths,
generatorPaths: paths,
...options,
}),
},
hooksGroup: {
render: (options) => typescriptFile.renderTemplateGroup({
group: CORE_REACT_COMPONENTS_TEMPLATES.hooksGroup,
paths,
generatorPaths: paths,
...options,
}),
},
stylesGroup: {
render: (options) => typescriptFile.renderTemplateGroup({
group: CORE_REACT_COMPONENTS_TEMPLATES.stylesGroup,
paths,
generatorPaths: paths,
...options,
}),
},
utilsGroup: {
render: (options) => typescriptFile.renderTemplateGroup({
group: CORE_REACT_COMPONENTS_TEMPLATES.utilsGroup,
paths,
...options,
}),
},
},
},
};
},
});
export const CORE_REACT_COMPONENTS_RENDERERS = {
provider: coreReactComponentsRenderers,
task: coreReactComponentsRenderersTask,
};
//# sourceMappingURL=template-renderers.js.map