npm-link-up
Version:
Use this package to link your projects together for local development.
47 lines (46 loc) • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs");
const logging_1 = require("../../../logging");
const chalk_1 = require("chalk");
function default_1(opts, confPath, conf, key, value) {
if (!key) {
logging_1.default.error(chalk_1.default.magenta(' => No key passed; we need a key to do a set operation.'));
process.exit(1);
}
value = value || '';
conf.localSettings = conf.localSettings || {};
if (!(conf.localSettings && typeof conf.localSettings === 'object')) {
conf.localSettings = {};
}
if (Array.isArray(conf.localSettings)) {
conf.localSettings = {};
}
conf.localSettings[key] = value;
const result = JSON.stringify(conf, null, 2);
fs.writeFile(confPath, result, err => {
if (err) {
logging_1.default.error('Could not write out global config.');
logging_1.default.error('Here is the config object:', conf);
logging_1.default.error(err);
process.exit(1);
}
fs.readFile(confPath, (err, data) => {
if (err) {
logging_1.default.error(err);
process.exit(1);
}
try {
let v = JSON.parse(String(data));
let field = 'localSettings';
console.log({ [field]: v[field] });
}
catch (err) {
logging_1.default.error(err);
process.exit(1);
}
process.exit(0);
});
});
}
exports.default = default_1;