UNPKG

everything-dev

Version:

A consolidated product package for building Module Federation apps with oRPC APIs.

74 lines (72 loc) 2.58 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const require_runtime = require('./_virtual/_rolldown/runtime.cjs'); let node_fs = require("node:fs"); let node_path = require("node:path"); //#region src/db.ts function normalizeSlug(name) { return (name.split("/").pop() ?? name).replace(/^@/, "").replace(/[^a-zA-Z0-9_-]/g, "_").replace(/-plugin$/i, "").replace(/-/g, "_").toLowerCase(); } function getMigrationSlug(dir) { if (!dir) return normalizeSlug(process.env.npm_package_name ?? "unknown"); let current = (0, node_path.dirname)(dir); for (let i = 0; i < 10; i++) { const pkgPath = (0, node_path.join)(current, "package.json"); if ((0, node_fs.existsSync)(pkgPath)) try { return normalizeSlug(JSON.parse((0, node_fs.readFileSync)(pkgPath, "utf-8")).name ?? current); } catch { return normalizeSlug(current); } const parent = (0, node_path.dirname)(current); if (parent === current) break; current = parent; } return normalizeSlug(dir); } function getMigrationStorage(dir) { return { schema: "drizzle", table: `__drizzle_migrations_${getMigrationSlug(dir)}`, slug: getMigrationSlug(dir) }; } function getLegacyCandidates() { return [{ schema: "drizzle", table: "__drizzle_migrations" }, { schema: "public", table: "drizzle_migrations" }]; } function migrateSql(storage) { return { ...storage, qualified: `"${storage.schema}"."${storage.table}"` }; } function pluginMigrationSlug(key) { return (key.split("/").pop() ?? key).replace(/^@/, "").replace(/[^a-zA-Z0-9_-]/g, "_").replace(/-plugin$/i, "").replace(/-/g, "_").toLowerCase(); } function getDatabaseUrlSecretName(slug) { return `${slug.toUpperCase().replace(/-/g, "_")}_DATABASE_URL`; } function extractExpectedTables(migrations) { const tables = /* @__PURE__ */ new Set(); const re = /CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?(?:"([^"]+)"\.)?"([^"]+)"/gi; for (const migration of migrations) for (const stmt of migration.sql) for (const match of stmt.matchAll(re)) { const schemaName = match[1]; const tableName = match[2]; if (schemaName) tables.add(schemaName); else if (tableName) tables.add(tableName); } return [...tables]; } //#endregion exports.extractExpectedTables = extractExpectedTables; exports.getDatabaseUrlSecretName = getDatabaseUrlSecretName; exports.getLegacyCandidates = getLegacyCandidates; exports.getMigrationSlug = getMigrationSlug; exports.getMigrationStorage = getMigrationStorage; exports.migrateSql = migrateSql; exports.pluginMigrationSlug = pluginMigrationSlug; //# sourceMappingURL=db.cjs.map