everything-dev
Version:
A consolidated product package for building Module Federation apps with oRPC APIs.
74 lines (72 loc) • 2.58 kB
JavaScript
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