@baseplate-dev/react-generators
Version:
React Generators for Baseplate
55 lines • 2.68 kB
JavaScript
import { typescriptFileProvider } from '@baseplate-dev/core-generators';
import { createGeneratorTask, createProviderType } from '@baseplate-dev/sync';
import { authHooksImportsProvider } from '#src/generators/auth/_providers/auth-hooks.js';
import { authErrorsImportsProvider } from '#src/generators/auth/auth-errors/generated/ts-import-providers.js';
import { reactComponentsImportsProvider } from '#src/generators/core/react-components/generated/ts-import-providers.js';
import { ADMIN_ADMIN_LAYOUT_PATHS } from './template-paths.js';
import { ADMIN_ADMIN_LAYOUT_TEMPLATES } from './typed-templates.js';
const adminAdminLayoutRenderers = createProviderType('admin-admin-layout-renderers');
const adminAdminLayoutRenderersTask = createGeneratorTask({
dependencies: {
authErrorsImports: authErrorsImportsProvider,
authHooksImports: authHooksImportsProvider,
paths: ADMIN_ADMIN_LAYOUT_PATHS.provider,
reactComponentsImports: reactComponentsImportsProvider,
typescriptFile: typescriptFileProvider,
},
exports: { adminAdminLayoutRenderers: adminAdminLayoutRenderers.export() },
run({ authErrorsImports, authHooksImports, paths, reactComponentsImports, typescriptFile, }) {
return {
providers: {
adminAdminLayoutRenderers: {
adminRoute: {
render: (options) => typescriptFile.renderTemplateFile({
template: ADMIN_ADMIN_LAYOUT_TEMPLATES.adminRoute,
destination: paths.adminRoute,
importMapProviders: {
authErrorsImports,
authHooksImports,
},
generatorPaths: paths,
...options,
}),
},
mainGroup: {
render: (options) => typescriptFile.renderTemplateGroup({
group: ADMIN_ADMIN_LAYOUT_TEMPLATES.mainGroup,
paths,
importMapProviders: {
authHooksImports,
reactComponentsImports,
},
generatorPaths: paths,
...options,
}),
},
},
},
};
},
});
export const ADMIN_ADMIN_LAYOUT_RENDERERS = {
provider: adminAdminLayoutRenderers,
task: adminAdminLayoutRenderersTask,
};
//# sourceMappingURL=template-renderers.js.map