Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ConfigFile<T>

Represents a json config file used to manage settings and state. Global config files are stored in the home directory hidden state folder (.sfdx) and local config files are stored in the project path, either in the hidden state folder or wherever specified.

class MyConfig extends ConfigFile {
  public static getFileName(): string {
    return 'myConfigFilename.json';
  }
}
const myConfig = await MyConfig.create({
  isGlobal: true
});
myConfig.set('mykey', 'myvalue');
await myConfig.write();

Type parameters

Hierarchy

Implements

Index

Properties

Protected options

options: T

Methods

access

  • access(perm: number): Promise<boolean>

awaitEach

  • awaitEach(actionFn: function): Promise<void>
  • Asynchronously invokes actionFn once for each key-value pair present in the config object.

    Parameters

    • actionFn: function

      The function (key: string, value: ConfigValue) => Promise<void> to be called for each element.

        • Parameters

          Returns Promise<void>

    Returns Promise<void>

clear

  • clear(): void

entries

exists

  • exists(): Promise<boolean>
  • Check to see if the config file exists. Returns true if the config file exists and has access, false otherwise.

    Returns Promise<boolean>

forEach

  • forEach(actionFn: function): void
  • Invokes actionFn once for each key-value pair present in the config object.

    Parameters

    • actionFn: function

      The function (key: string, value: ConfigValue) => void to be called for each element.

    Returns void

get

getContents

getKeysByValue

getPath

  • getPath(): string

has

  • has(key: string): boolean
  • Returns a boolean asserting whether a value has been associated to the key in the config object or not.

    Parameters

    • key: string

      The key.

    Returns boolean

Protected init

  • init(): Promise<void>
  • Used to initialize asynchronous components.

    Throws Error{ code: 'ENOENT' } If the {@link ConfigFile.getFilename} file is not found when options.throwOnNotFound is true.

    Returns Promise<void>

isGlobal

  • isGlobal(): boolean
  • Returns true if this config is using the global path, false otherwise.

    Returns boolean

keys

  • keys(): string[]
  • Returns an array that contains the keys for each element in the config object.

    Returns string[]

read

  • Read the config file and set the config contents. Returns the config contents of the config file. Throws SfdxError{ name: 'UnexpectedJsonFileFormat' } There was a problem reading or parsing the file.

    Parameters

    • Default value throwOnNotFound: boolean = false

    Returns Promise<ConfigContents>

set

setContents

setContentsFromObject

  • setContentsFromObject<U>(obj: U): void
  • Convert an object to a ConfigContents and set it as the config contents.

    Type parameters

    • U: any

    Parameters

    • obj: U

      The object.

    Returns void

Protected setMethod

stat

  • stat(): Promise<fsStats>

toObject

  • toObject(): JsonMap

unlink

  • unlink(): Promise<void>

unset

  • unset(key: string): boolean
  • Returns true if an element in the config object existed and has been removed, or false if the element does not exist. {@link BaseConfigStore.has} will return false afterwards.

    Parameters

    • key: string

      The key.

    Returns boolean

unsetAll

  • unsetAll(keys: string[]): boolean
  • Returns true if all elements in the config object existed and have been removed, or false if all the elements do not exist (some may have been removed). {@link BaseConfigStore.has(key)} will return false afterwards.

    Parameters

    • keys: string[]

      The keys.

    Returns boolean

values

write

Static create

  • create<P, T>(this: object, options: P): Promise<T>
  • Asynchronously constructs and initializes a new instance of a concrete subclass with the provided options.

    Type parameters

    • P

    • T: AsyncCreatable<P>

    Parameters

    • this: object
    • options: P

      An options object providing initialization params to the async constructor.

    Returns Promise<T>

Static getDefaultOptions

  • getDefaultOptions(isGlobal?: boolean, filename?: undefined | string): Options
  • Returns the default options for the config file.

    Parameters

    • Default value isGlobal: boolean = false

      If the file should be stored globally or locally.

    • Optional filename: undefined | string

      The name of the config file.

    Returns Options

Static getFileName

  • getFileName(): string

Static resolveRootFolder

  • resolveRootFolder(isGlobal: boolean): Promise<string>
  • Helper used to determined what the local and global folder point to. Returns the file path of the root folder.

    Parameters

    • isGlobal: boolean

      True if the config should be global. False for local.

    Returns Promise<string>