Welcome to ast-to-entity-definitions
! 🎉 This tool lets you easily generate EntityDefinition and EntityPropertyDefinition from your TypeScript type information. By doing this, you can streamline the process of source code generation!
You can start using ast-to-entity-definitions
by installing it via npm:
npm install ast-to-entity-definitions
Or if you prefer Yarn:
yarn add ast-to-entity-definitions
You can use the CLI to generate the EntityDefinition and EntityPropertyDefinition like so:
npx ast-to-entity-definitions ./src/domain/entities
Alternatively, you can import the getEntityDefinitions
function and use it in your own scripts:
import { getEntityDefinitions } from 'ast-to-entity-definitions/bin/adapter/entry-points/function/index';
console.log(getEntityDefinitions(path));
This example shows you the output of running ast-to-entity-definitions
against a TypeScript file. This is a JSON representation of the EntityDefinition and EntityPropertyDefinition for each type:
import { execSync } from 'child_process';
describe('commander program', () => {
it('should output file contents', () => {
const output = execSync(
'npx ts-node ./src/adapter/entry-points/cli/index.ts ./testdata/src/domain/entities',
).toString();
console.log(output.trim());
});
});
This example creates EntityDefinitions for a Administrator
, Group
, Item
, User
, UserAddress
, and UserGroup
types.
Contributions, issues and feature requests are welcome! Feel free to check issues page.
ast-to-entity-definitions
is MIT licensed.
Give a ⭐️ if this project helped you!