grt
Version:
grt command-line interface — test, diff, preview APIs
37 lines (32 loc) • 1.12 kB
JavaScript
import fs from 'fs';
import os from 'os';
import path from 'path';
const GLOBAL_CONFIG = path.join(os.homedir(), '.greatsrc');
const PROJECT_CONFIG = path.join(process.cwd(), '.great.json');
export function saveToken(token) {
fs.writeFileSync(GLOBAL_CONFIG, JSON.stringify({ token }, null, 2));
console.log('✅ Token saved at', GLOBAL_CONFIG);
}
export function getToken() {
try {
const content = fs.readFileSync(GLOBAL_CONFIG);
return JSON.parse(content).token;
} catch {
console.error('❌ Token not found. Please run `great login <token>`');
process.exit(1);
}
}
export function saveProjectConfig({ owner, repo, ref }) {
const config = { owner, repo, defaultRef: ref };
fs.writeFileSync(PROJECT_CONFIG, JSON.stringify(config, null, 2));
console.log('✅ Project config saved in .great.json');
}
export function getProjectConfig() {
try {
const content = fs.readFileSync(PROJECT_CONFIG);
return JSON.parse(content);
} catch {
console.error('❌ .great.json not found. Run `great init` to set up.');
process.exit(1);
}
}