sheetspeare
Version:
Import locales from Google Sheet into Json files.
29 lines (28 loc) • 1.44 kB
JavaScript
import { lilconfigSync } from 'lilconfig';
import { logger } from './utils/logger.js';
import { PackageName } from './constants.js';
export default class Config {
static get config() {
var _a;
// If config is not set, try to load it
if (!Config._config) {
const fileConfig = (_a = lilconfigSync(PackageName).search()) === null || _a === void 0 ? void 0 : _a.config;
if (!fileConfig) {
logger.error('No config file found. Please run init command first.');
process.exit(1);
}
const serviceAccountEmail = process.env.SERVICE_ACCOUNT_EMAIL;
if (!serviceAccountEmail) {
logger.error('`SERVICE_ACCOUNT_EMAIL` is not present in the environment variables. Make sure Your credentials are properly setup as environment variables.');
process.exit(1);
}
const serviceAccountPrivateKey = process.env.SERVICE_ACCOUNT_PRIVATE_KEY;
if (!serviceAccountPrivateKey) {
logger.error('`SERVICE_ACCOUNT_PRIVATE_KEY` is not present in the environment variables. Make sure Your credentials are properly setup as environment variables.');
process.exit(1);
}
Config._config = Object.assign(Object.assign({}, fileConfig), { serviceAccountEmail, serviceAccountPrivateKey });
}
return Config._config;
}
}