alepha
Version:
Easy-to-use modern TypeScript framework for building many kind of applications.
46 lines (42 loc) • 977 B
text/typescript
import { $atom, type Static, z } from "alepha";
/**
* Default scopes to ignore in changelog generation.
* Commits with these scopes won't appear in release notes.
*/
export const DEFAULT_IGNORE = [
"project",
"release",
"starter",
"example",
"chore",
"ci",
"build",
"test",
"style",
];
/**
* Changelog configuration atom.
*
* Configure in `alepha.config.ts`:
* ```ts
* import { changelogOptions } from "alepha/cli";
*
* alepha.set(changelogOptions, {
* ignore: ["project", "release", "chore", "docs"],
* });
* ```
*/
export const changelogOptions = $atom({
name: "alepha.cli.changelog.options",
schema: z.object({
/**
* Scopes to ignore (e.g., "project", "release", "chore").
* Commits like `feat(chore): ...` will be excluded from changelog.
*/
ignore: z.array(z.string()).optional(),
}),
default: {
ignore: DEFAULT_IGNORE,
},
});
export type ChangelogOptions = Static<typeof changelogOptions.schema>;