export type Change = { version: string; title: string; description: string; linkToGuide?: string; }; export type BreakingChange = Change & { migrationFactory?: string; }; export type MigrationChange = Change & { migrationFactory: string; }; export type Changes = { breakingChanges?: BreakingChange[]; migrations?: MigrationChange[]; }; /** This can be a breaking change or a migration change. */ export type ResolvedChange = Change & { isBreakingChange: boolean; migrationFactory?: string; }; export type ResolvedChanges = { [key: string]: ResolvedChange[]; }; export type MigrationChanges = { [key: string]: MigrationChange[]; }; /** Package update reference */ export type UpdateReference = { /** The current version */ current: string; /** The latest available version */ latest: string; }; /** Migration interface */ export type Migration = { /** Version that introduced the change where it should be migrated */ version: string; /** User friendly description for the migration */ description: string; /** The path to the javascript file that is responsible for the migration (relative from the `migrations.json` file) */ factory: string; };