@baseplate-dev/react-generators
Version:
React Generators for Baseplate
62 lines • 2.83 kB
JavaScript
import { typescriptFileProvider } from '@baseplate-dev/core-generators';
import { createGeneratorTask, createProviderType } from '@baseplate-dev/sync';
import { APOLLO_REACT_APOLLO_PATHS } from './template-paths.js';
import { APOLLO_REACT_APOLLO_TEMPLATES } from './typed-templates.js';
const apolloReactApolloRenderers = createProviderType('apollo-react-apollo-renderers');
const apolloReactApolloRenderersTask = createGeneratorTask({
dependencies: {
paths: APOLLO_REACT_APOLLO_PATHS.provider,
typescriptFile: typescriptFileProvider,
},
exports: { apolloReactApolloRenderers: apolloReactApolloRenderers.export() },
run({ paths, typescriptFile }) {
return {
providers: {
apolloReactApolloRenderers: {
appApolloProvider: {
render: (options) => typescriptFile.renderTemplateFile({
template: APOLLO_REACT_APOLLO_TEMPLATES.appApolloProvider,
destination: paths.appApolloProvider,
generatorPaths: paths,
...options,
}),
},
cache: {
render: (options) => typescriptFile.renderTemplateFile({
template: APOLLO_REACT_APOLLO_TEMPLATES.cache,
destination: paths.cache,
...options,
}),
},
codegenConfig: {
render: (options) => typescriptFile.renderTemplateFile({
template: APOLLO_REACT_APOLLO_TEMPLATES.codegenConfig,
destination: paths.codegenConfig,
...options,
}),
},
graphql: {
render: (options) => typescriptFile.renderTemplateFile({
template: APOLLO_REACT_APOLLO_TEMPLATES.graphql,
destination: paths.graphql,
...options,
}),
},
service: {
render: (options) => typescriptFile.renderTemplateFile({
template: APOLLO_REACT_APOLLO_TEMPLATES.service,
destination: paths.service,
generatorPaths: paths,
...options,
}),
},
},
},
};
},
});
export const APOLLO_REACT_APOLLO_RENDERERS = {
provider: apolloReactApolloRenderers,
task: apolloReactApolloRenderersTask,
};
//# sourceMappingURL=template-renderers.js.map