UNPKG

stackpress

Version:

Incept is a content management framework.

35 lines (34 loc) 1.26 kB
import Registry from '../../schema/Registry.js'; import generateSchema from './schema.js'; import generateActions from './actions.js'; import generateEvents from './events.js'; import generateTests from './tests/index.js'; export default async function generate(props) { const { schema, project } = props; const registry = new Registry(schema); generateActions(project, registry); generateEvents(project, registry); generateSchema(project, registry); generateTests(project, registry); for (const model of registry.model.values()) { const filepath = `${model.name}/index.ts`; const source = project.getSourceFile(filepath) || project.createSourceFile(filepath, '', { overwrite: true }); source.addImportDeclaration({ moduleSpecifier: './actions/index.js', defaultImport: 'actions' }); source.addImportDeclaration({ moduleSpecifier: './events/index.js', defaultImport: 'events' }); source.addImportDeclaration({ moduleSpecifier: './schema.js', defaultImport: 'schema' }); source.addExportDeclaration({ namedExports: ['actions', 'schema', 'events'] }); } } ;