@moonset/util
Version:
55 lines • 5.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Config = exports.ConfigConstant = exports.CONFIG_PATH = void 0;
const serde_1 = require("./serde");
const inquirer = require("inquirer");
const os = require("os");
const fs = require("fs");
const path = require("path");
const CONFIG_FILE = '.moonsetrc';
exports.CONFIG_PATH = path.join(os.homedir(), CONFIG_FILE);
exports.ConfigConstant = {
WORKING_ACCOUNT: 'WORKING_ACCOUNT',
WORKING_REGION: 'WORKING_REGION',
WORKING_ACCESS_KEY: 'WORKING_ACCESS_KEY',
WORKING_SECRET_KEY: 'WORKING_SECRET_KEY',
};
const questions = [
{
type: 'input',
name: exports.ConfigConstant.WORKING_ACCOUNT,
message: 'The working aws account which you have write permission,' +
' e.g. EMR is launched here.',
},
{
type: 'input',
name: exports.ConfigConstant.WORKING_REGION,
message: 'The region using in the working aws account.',
},
{
type: 'input',
name: exports.ConfigConstant.WORKING_ACCESS_KEY,
message: 'The working aws account access key.',
},
{
type: 'password',
name: exports.ConfigConstant.WORKING_SECRET_KEY,
message: 'The working aws account secret key.',
},
];
class Config {
static get(key) {
if (!fs.existsSync(exports.CONFIG_PATH))
return undefined;
const data = serde_1.Serde.fromFile(exports.CONFIG_PATH);
return data[key];
}
static ask() {
inquirer.prompt(questions).then((answers) => {
console.log(`Write into ${exports.CONFIG_PATH}`);
serde_1.Serde.toFile(answers, exports.CONFIG_PATH);
});
}
}
exports.Config = Config;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUE4QjtBQUM5QixxQ0FBcUM7QUFDckMseUJBQXlCO0FBQ3pCLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFFN0IsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDO0FBQ3BCLFFBQUEsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRW5ELFFBQUEsY0FBYyxHQUFHO0lBQzVCLGVBQWUsRUFBRSxpQkFBaUI7SUFDbEMsY0FBYyxFQUFFLGdCQUFnQjtJQUNoQyxrQkFBa0IsRUFBRSxvQkFBb0I7SUFDeEMsa0JBQWtCLEVBQUUsb0JBQW9CO0NBQ3pDLENBQUM7QUFFRixNQUFNLFNBQVMsR0FBRztJQUNoQjtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsSUFBSSxFQUFFLHNCQUFjLENBQUMsZUFBZTtRQUNwQyxPQUFPLEVBQUUsMERBQTBEO1lBQy9ELDZCQUE2QjtLQUNsQztJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixJQUFJLEVBQUUsc0JBQWMsQ0FBQyxjQUFjO1FBQ25DLE9BQU8sRUFBRSw4Q0FBOEM7S0FDeEQ7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsSUFBSSxFQUFFLHNCQUFjLENBQUMsa0JBQWtCO1FBQ3ZDLE9BQU8sRUFBRSxxQ0FBcUM7S0FDL0M7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLElBQUksRUFBRSxzQkFBYyxDQUFDLGtCQUFrQjtRQUN2QyxPQUFPLEVBQUUscUNBQXFDO0tBQy9DO0NBQ0YsQ0FBQztBQUVGLE1BQWEsTUFBTTtJQUNqQixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQVc7UUFDcEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsbUJBQVcsQ0FBQztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ2xELE1BQU0sSUFBSSxHQUFHLGFBQUssQ0FBQyxRQUFRLENBQXdCLG1CQUFXLENBQUMsQ0FBQztRQUNoRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUc7UUFDUixRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxtQkFBVyxFQUFFLENBQUMsQ0FBQztZQUN6QyxhQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxtQkFBVyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFiRCx3QkFhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2VyZGV9IGZyb20gJy4vc2VyZGUnO1xuaW1wb3J0ICogYXMgaW5xdWlyZXIgZnJvbSAnaW5xdWlyZXInO1xuaW1wb3J0ICogYXMgb3MgZnJvbSAnb3MnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuY29uc3QgQ09ORklHX0ZJTEUgPSAnLm1vb25zZXRyYyc7XG5leHBvcnQgY29uc3QgQ09ORklHX1BBVEggPSBwYXRoLmpvaW4ob3MuaG9tZWRpcigpLCBDT05GSUdfRklMRSk7XG5cbmV4cG9ydCBjb25zdCBDb25maWdDb25zdGFudCA9IHtcbiAgV09SS0lOR19BQ0NPVU5UOiAnV09SS0lOR19BQ0NPVU5UJyxcbiAgV09SS0lOR19SRUdJT046ICdXT1JLSU5HX1JFR0lPTicsXG4gIFdPUktJTkdfQUNDRVNTX0tFWTogJ1dPUktJTkdfQUNDRVNTX0tFWScsXG4gIFdPUktJTkdfU0VDUkVUX0tFWTogJ1dPUktJTkdfU0VDUkVUX0tFWScsXG59O1xuXG5jb25zdCBxdWVzdGlvbnMgPSBbXG4gIHtcbiAgICB0eXBlOiAnaW5wdXQnLFxuICAgIG5hbWU6IENvbmZpZ0NvbnN0YW50LldPUktJTkdfQUNDT1VOVCxcbiAgICBtZXNzYWdlOiAnVGhlIHdvcmtpbmcgYXdzIGFjY291bnQgd2hpY2ggeW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbiwnICtcbiAgICAgICAgJyBlLmcuIEVNUiBpcyBsYXVuY2hlZCBoZXJlLicsXG4gIH0sXG4gIHtcbiAgICB0eXBlOiAnaW5wdXQnLFxuICAgIG5hbWU6IENvbmZpZ0NvbnN0YW50LldPUktJTkdfUkVHSU9OLFxuICAgIG1lc3NhZ2U6ICdUaGUgcmVnaW9uIHVzaW5nIGluIHRoZSB3b3JraW5nIGF3cyBhY2NvdW50LicsXG4gIH0sXG4gIHtcbiAgICB0eXBlOiAnaW5wdXQnLFxuICAgIG5hbWU6IENvbmZpZ0NvbnN0YW50LldPUktJTkdfQUNDRVNTX0tFWSxcbiAgICBtZXNzYWdlOiAnVGhlIHdvcmtpbmcgYXdzIGFjY291bnQgYWNjZXNzIGtleS4nLFxuICB9LFxuICB7XG4gICAgdHlwZTogJ3Bhc3N3b3JkJyxcbiAgICBuYW1lOiBDb25maWdDb25zdGFudC5XT1JLSU5HX1NFQ1JFVF9LRVksXG4gICAgbWVzc2FnZTogJ1RoZSB3b3JraW5nIGF3cyBhY2NvdW50IHNlY3JldCBrZXkuJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjbGFzcyBDb25maWcge1xuICBzdGF0aWMgZ2V0KGtleTogc3RyaW5nKSB7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKENPTkZJR19QQVRIKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCBkYXRhID0gU2VyZGUuZnJvbUZpbGU8e1trOiBzdHJpbmddOiBzdHJpbmd9PihDT05GSUdfUEFUSCk7XG4gICAgcmV0dXJuIGRhdGFba2V5XTtcbiAgfVxuXG4gIHN0YXRpYyBhc2soKSB7XG4gICAgaW5xdWlyZXIucHJvbXB0KHF1ZXN0aW9ucykudGhlbigoYW5zd2VycykgPT4ge1xuICAgICAgY29uc29sZS5sb2coYFdyaXRlIGludG8gJHtDT05GSUdfUEFUSH1gKTtcbiAgICAgIFNlcmRlLnRvRmlsZShhbnN3ZXJzLCBDT05GSUdfUEFUSCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==