Options
All
  • Public
  • Public/Protected
  • All
Menu

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.

extends

BaseConfigStore

example

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

Type parameters

Hierarchy

Implements

Index

Constructors

constructor

Properties

Protected options

options: T

Methods

access

  • access(perm: number): Promise<boolean>
  • Determines if the config file is read/write accessible.

    see

    fs.access

    Parameters

    • perm: number

      The permission.

    Returns Promise<boolean>

    true if the user has capabilities specified by perm.

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 Promise<boolean>

    True if the config file exists and has access, false otherwise.

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

  • Returns the value associated to the key, or undefined if there is none.

    Parameters

    • key: string

      The key.

    Returns Optional<ConfigValue>

getContents

getKeysByValue

getPath

  • getPath(): string
  • Returns the path to the config file.

    Returns 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.

    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.

    throws

    {SfdxError} {name: 'UnexpectedJsonFileFormat'}: There was a problem reading or parsing the file.

    Parameters

    • Default value throwOnNotFound: boolean = false

    Returns Promise<ConfigContents>

    The config contents of the config file.

set

setContents

setContentsFromObject

  • setContentsFromObject<U>(obj: U): void

stat

  • stat(): Promise<fsStats>
  • Get the stats of the file.

    see

    fs.stat

    Returns Promise<fsStats>

    The stats of the file.

toObject

  • toObject(): JsonMap
  • Convert the config object to a JSON object.

    Returns JsonMap

    Returns the config contents. Same as calling ConfigStore.getContents

unlink

  • unlink(): Promise<void>
  • Delete the config file if it exists.

    see

    fs.unlink

    Returns Promise<void>

    True if the file was deleted, false otherwise.

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(key)} 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

  • Write the config file with new contents. If no new contents are passed in it will write the existing config contents that were set from ConfigFile.read, or an empty file if ConfigFile.read was not called.

    Parameters

    Returns Promise<any>

    The written contents.

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
  • Returns the config's filename.

    Returns string

Static resolveRootFolder

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

    Parameters

    • isGlobal: boolean

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

    Returns Promise<string>

    The file path of the root folder.

Static retrieve

  • retrieve<T>(options: Options): Promise<T>
  • Creates the config instance and reads the contents of the existing file, if there is one.

    This is the same as

    const myConfig = await MyConfig.create<MyConfig>();
    await myConfig.read();

    Note: Cast to the extended class. e.g. await MyConfig.retrieve<MyConfig>();

    Type parameters

    Parameters

    Returns Promise<T>