UNPKG

@jadejr/kysely-pglite

Version:

Kysely dialect for @electric-sql/pglite (temporary fork https://github.com/dnlsandiego/kysely-pglite)

30 lines 1.1 kB
import { basename, resolve } from 'node:path'; import { createJiti } from 'jiti'; import { Migrator } from 'kysely'; import { all, objectify } from 'radash'; import { glob } from 'tinyglobby'; const jiti = createJiti(import.meta.filename, { // prevent files from getting cached so the `watch` feature works. moduleCache: false, }); export function createMigrator(db, migrationsPath) { const path = resolve(migrationsPath); return new Migrator({ db, provider: { async getMigrations() { const files = await glob('**/*.{js,ts}', { cwd: path, expandDirectories: true, ignore: ['**/types.ts', '**/*.d.ts'], absolute: true, }); const migrations = objectify(files, (f) => basename(f), (f) => jiti.import(f)); // TODO: improve validating imported functions const modules = (await all(migrations)); return modules; }, }, }); } //# sourceMappingURL=create-migrator.js.map