A cache for the executable scripts already detected.
The subpart of the configuration corresponding to the environment.
The subpart of the configuration corresponding to the current execution environment.
The subpart of the configuration corresponding to the different project type filtered files.
Whether the configuration has been initialized.
The subpart of the configuration corresponding to the different path locations.
The subpart of the configuration corresponding to package managers.
The subpart of the configuration corresponding to the different project types.
Returns subpart of the configuration corresponding to the environment.
Returns the subpart of the configuration corresponding to the current execution environment.
The subpart of the configuration corresponding to the different project type filtered files.
Returns the subpart of the configuration corresponding to the different path locations.
Returns the subpart of the configuration corresponding to package managers.
Returns the subpart of the configuration corresponding to the different project types.
Return a file definition with defaults, that will be overwritten by the partial file definition given.
The name of the file definition.
The partial information for this file definition.
A full file definition.
Return a file definition with defaults, that will be overwritten by the partial file definition given.
The name of the file definition.
The partial information for this file definition.
A full file definition.
Returns the file information for all files that are common to any project. Expects the route of the project's subfolder.
The route of the project's subfolder (e.g. 'CLILibrary' or 'NonCode')
The filenames to search in the project specific folder, instead of the common.
Files from the common folder to exclude from this project definition.
A partial ProjectTypeDefinition.
Initialize the current execution environment. This is obtained by a mix between possible CLI/API given parameters (such as using -t or -m), given as input, and the information read in the current's project package.json, as well as defaults in case no configuration is provided.
Priority is given to CLI/API given, then the package.json configuration and lastly defaults.
The CLI/API given value for project type to use, if any.
The CLI/API given value for package manager to use, if any.
The CLI/API given value to know if we are running in debug mode.
The CLI/API given value to know if we are running in test mode.
The CLI/API given value to know if we should use the default tsconfig.json file.
Joins multiple partial project type definitions into a single cohesive one. Does not verify that the result contains all keys.
Return the information for executing a binary file, if it can be found by the configuration system. Additionally, and differently from the simple getBin helper, this method provides caching, as to not attempt to find the element twice.
The package name that contains the binary file.
The binary file to execute.
The executable to run, or undefined if not found.
Orchestrate the initialization of the Config object. This initialization is needed in order to access any of the sub-configuration sections, except for retrieving executable scripts.
This class represents the main configuration object generated by the application. The configuration is automatically loaded once the init method is called. This object is also the main entry point to obtain configuration options of the tool as to obtain the located directories, tooling files and obtain location for the executable scripts for different tools.