@iotize/cli
Version:
IoTize command line interface
51 lines • 1.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const cli_core_1 = require("@iotize/cli-core");
const clime_1 = require("clime");
const path_1 = require("path");
const logger_1 = require("../logger");
if (!process.env.APPDATA) {
logger_1.debug(`APPDATA environment variable is not set`);
if (!process.env.HOME) {
logger_1.debug(`HOME environment variable is not set`);
throw new Error('Neither APPDATA nor HOME environment variables exist. Define environment variable APPDATA to tell iotize CLI where to store configuration file');
}
switch (process.platform) {
case 'darwin':
process.env.APPDATA = path_1.resolve(process.env.HOME, path_1.join('Library', 'Preferences'));
break;
default:
process.env.APPDATA = path_1.resolve(process.env.HOME, path_1.join('.local', 'share'));
break;
}
logger_1.debug(`Setting APPDATA to ${process.env.APPDATA}`);
}
let configPath = path_1.resolve(process.env.APPDATA, 'iodecli');
global.configProvider = new cli_core_1.ConfigProvider({
basePath: configPath
});
global.configProvider.setProfile('default');
global.getConfig = (key, defaultValue) => {
try {
return global.configProvider.config().get(key, defaultValue);
}
catch (err) {
if (err instanceof cli_core_1.CLIConfigError) {
if (defaultValue === undefined) {
return defaultValue;
}
}
}
};
global.requireConfig = (key, defaultValue) => {
try {
return global.configProvider.config().get(key, defaultValue);
}
catch (err) {
if (err instanceof cli_core_1.CLIConfigError) {
throw new clime_1.ExpectedError(err.message);
}
}
};
// console.log(`Configuration file: ${configPath}`);
//# sourceMappingURL=b-setup-global.js.map