UNPKG

@byu-oit/tfvm

Version:

A CLI app for easily switching between Terraform versions

38 lines (34 loc) 1.15 kB
import fs from 'node:fs/promises' import { logger } from './logger.js' import { getOS } from './tfvmOS.js' const os = getOS() let settings // This should be updated to create new settings export const defaultSettings = { disableErrors: false, disableAWSWarnings: false, disableSettingPrompts: false, useOpenTofu: false, disableTofuWarnings: false } /** * Returns an object, parsed from settings.json * @returns {Promise<Record<string, boolean>>} */ export default async function () { if (!settings) { // store settings in AppData so that they are maintained when switching node versions const settingsFilePath = os.getSettingsDir() try { settings = JSON.parse(await fs.readFile(settingsFilePath, { encoding: 'utf8' })) logger.trace(settings, 'Settings: ') return settings } catch (e) { // if there is an error parsing the settings file, rewrite over it with a blank settings file. logger.warn('Error finding settings file, creating one now...') await fs.writeFile(settingsFilePath, JSON.stringify(defaultSettings), 'utf8') return defaultSettings } } return settings }