Allows isolating dev and prod data by setting SMC_DATA_DIR (e.g. ~/.super-multica-dev). Also fixes cron/store.ts which bypassed DATA_DIR with a hardcoded path. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
26 lines
830 B
TypeScript
26 lines
830 B
TypeScript
import { join } from "node:path";
|
|
import { homedir } from "node:os";
|
|
|
|
/**
|
|
* Resolve the root data directory.
|
|
* Override with SMC_DATA_DIR env var (supports ~ expansion).
|
|
* Defaults to ~/.super-multica.
|
|
*/
|
|
export function resolveDataDir(): string {
|
|
const envDir = process.env.SMC_DATA_DIR;
|
|
if (envDir) {
|
|
return envDir.startsWith("~")
|
|
? join(homedir(), envDir.slice(1))
|
|
: envDir;
|
|
}
|
|
return join(homedir(), ".super-multica");
|
|
}
|
|
|
|
/** Root data directory (default: ~/.super-multica, override: SMC_DATA_DIR) */
|
|
export const DATA_DIR = resolveDataDir();
|
|
|
|
/** Cache directory for downloaded media files */
|
|
export const MEDIA_CACHE_DIR = join(DATA_DIR, "cache", "media");
|
|
|
|
/** Default workspace base directory: ~/Documents/Multica */
|
|
export const DEFAULT_WORKSPACE_DIR = join(homedir(), "Documents", "Multica");
|