UNPKG

@soubhikchatterjee/tunnel-agent

Version:
53 lines (43 loc) 1.2 kB
"use strict"; const os = require("os"); const fs = require("fs"); const path = require("path"); function initConfig() { const configDir = path.resolve(os.homedir(), ".tunnel-agent"); let configFilePath = path.join(configDir, "profile.json"); if (!fs.existsSync(configDir)) { fs.mkdirSync(configDir); fs.writeFileSync(configFilePath, ""); } return configFilePath; } function getConfig() { const configFilePath = initConfig(); let config = {}; // const configFilePath = path.resolve(configDir, `${options.profile}.json`); if (fs.existsSync(configFilePath)) { try { config = JSON.parse(fs.readFileSync(configFilePath, "utf8")); } catch (error) {} } // if (!config.server) { // throw new Error("Remote tunnel server not set!"); // } // if (!config.jwtToken) { // throw new Error(`Please set jwt token for ${config.server}`); // } return config; } function setConfig(options = {}) { const configFilePath = initConfig(); const config = { ...getConfig(), ...options, }; fs.writeFileSync(configFilePath, JSON.stringify(config, null, 2)); return config; } module.exports = { getConfig, setConfig, };