@emigrate/cli
Version:
Emigrate is a tool for managing database migrations. It is designed to be simple yet support advanced setups, modular and extensible.
19 lines • 890 B
JavaScript
import { toMigrationMetadata } from './to-migration-metadata.js';
import { getMigrations as getMigrationsOriginal } from './get-migrations.js';
export async function* collectMigrations(cwd, directory, history, getMigrations = getMigrationsOriginal) {
const allMigrations = await getMigrations(cwd, directory);
const seen = new Set();
for await (const entry of history) {
const migration = allMigrations.find((migrationFile) => {
return migrationFile.name === entry.name || migrationFile.name === `${entry.name}.js`;
});
if (!migration) {
continue;
}
yield toMigrationMetadata({ ...entry, name: migration.name }, { cwd, directory });
seen.add(migration.name);
}
yield* allMigrations.filter((migration) => !seen.has(migration.name));
seen.clear();
}
//# sourceMappingURL=collect-migrations.js.map