We welcome contributions to this project.
-
Fork the repository
Look at the fork a repo github documentation to learn how to fork a repository.
-
Clone the repository
Once forked, clone the repository to your machine.
git clone git@github.com:<your-username>/generator-atlassian-compass-event-catalog.git
-
Install the dependencies
The project uses pnpm as the package manager.
pnpm install
It uses vitest for testing, eslint for linting, and prettier for formatting.
pnpm run test # run tests in watch mode
pnpm run test -- run # single test run (no watch)
pnpm run test:coverage # run tests with coverage report
pnpm run lint # check for lint errors
pnpm run lint:fix # auto-fix lint errors
pnpm run format:diff # check formatting
pnpm run format # auto-format files
pnpm run build # build with tsup (CJS + ESM + .d.ts)You can link the project to your EventCatalog to test your generator.
npm linkAfter linking, then you can navigate to your EventCatalog directory and link back the package.
npm link @ismaelmartinez/generator-atlassian-compass-event-catalogThen, in this generator project, you can run the build command to build the project.
pnpm run buildFinally, you can run the generate command in your EventCatalog project as you will do when using the package.
npm run generateYou should be ready to start developing with the generator. Open an issue if you find any problems.
EventCatalog uses the EventCatalog SDK to interact with the Catalog. The generator also integrates with the Compass GraphQL API for API mode, fetching components, teams, and metadata directly from Compass.