rittenhop-dev/versions/5.94.2/node_modules/knex/lib/migrations/common/MigrationsLoader.js
2024-09-23 19:40:12 -04:00

37 lines
920 B
JavaScript

const path = require('path');
const DEFAULT_LOAD_EXTENSIONS = Object.freeze([
'.co',
'.coffee',
'.eg',
'.iced',
'.js',
'.cjs',
'.litcoffee',
'.ls',
'.ts',
]);
class AbstractMigrationsLoader {
constructor(migrationDirectories, sortDirsSeparately, loadExtensions) {
this.sortDirsSeparately = sortDirsSeparately;
if (!Array.isArray(migrationDirectories)) {
migrationDirectories = [migrationDirectories];
}
this.migrationsPaths = migrationDirectories;
this.loadExtensions = loadExtensions || DEFAULT_LOAD_EXTENSIONS;
}
getFile(migrationsInfo) {
const absoluteDir = path.resolve(process.cwd(), migrationsInfo.directory);
const _path = path.join(absoluteDir, migrationsInfo.file);
const importFile = require('../util/import-file'); // late import
return importFile(_path);
}
}
module.exports = {
DEFAULT_LOAD_EXTENSIONS,
AbstractMigrationsLoader,
};