{"version":3,"file":"sqlite-migrations.mjs","names":[],"sources":["../../src/db/sqlite-migrations.ts"],"sourcesContent":["import { isAbsolute, resolve } from \"node:path\";\n\nimport { createDirectMigrationExecutor } from \"../migrations/direct-executor.js\";\nimport type { MigrationExecutor, MigrationExecutorFactoryContext } from \"../migrations/protocol.js\";\nimport { createMigrationTarget } from \"../migrations/target.js\";\nimport { createDialect } from \"./sqlite.js\";\n\nexport interface SqliteMigrationManifestConfig {\n\turl: string;\n}\n\nfunction resolveDatabasePath(\n\tmanifestConfig: SqliteMigrationManifestConfig,\n\tcontext: MigrationExecutorFactoryContext,\n): string {\n\tconst configuredUrl = context.overrides?.database ?? manifestConfig.url;\n\tif (typeof configuredUrl !== \"string\" || configuredUrl.length === 0) {\n\t\tthrow new Error(\"SQLite migration database path is missing.\");\n\t}\n\tconst path = configuredUrl.startsWith(\"file:\") ? configuredUrl.slice(5) : configuredUrl;\n\tif (path.length === 0) {\n\t\tthrow new Error(\"SQLite migration database path is missing.\");\n\t}\n\treturn isAbsolute(path) ? resolve(path) : resolve(context.projectRoot, path);\n}\n\nexport async function createMigrationExecutor(\n\tmanifestConfig: SqliteMigrationManifestConfig,\n\tcontext: MigrationExecutorFactoryContext,\n): Promise<MigrationExecutor> {\n\tconst databasePath = resolveDatabasePath(manifestConfig, context);\n\tconst target = await createMigrationTarget(\"sqlite\", databasePath, [databasePath]);\n\treturn createDirectMigrationExecutor({\n\t\ttarget,\n\t\tcreateDialect: () => createDialect({ url: databasePath }),\n\t});\n}\n"],"mappings":";;;;;;;;;;AAWA,SAAS,oBACR,gBACA,SACS;CACT,MAAM,gBAAgB,QAAQ,WAAW,YAAY,eAAe;AACpE,KAAI,OAAO,kBAAkB,YAAY,cAAc,WAAW,EACjE,OAAM,IAAI,MAAM,6CAA6C;CAE9D,MAAM,OAAO,cAAc,WAAW,QAAQ,GAAG,cAAc,MAAM,EAAE,GAAG;AAC1E,KAAI,KAAK,WAAW,EACnB,OAAM,IAAI,MAAM,6CAA6C;AAE9D,QAAO,WAAW,KAAK,GAAG,QAAQ,KAAK,GAAG,QAAQ,QAAQ,aAAa,KAAK;;AAG7E,eAAsB,wBACrB,gBACA,SAC6B;CAC7B,MAAM,eAAe,oBAAoB,gBAAgB,QAAQ;AAEjE,QAAO,8BAA8B;EACpC,QAFc,MAAM,sBAAsB,UAAU,cAAc,CAAC,aAAa,CAAC;EAGjF,qBAAqB,cAAc,EAAE,KAAK,cAAc,CAAC;EACzD,CAAC"}