ardunno-cli
Version:
nice-grpc API for the Arduino CLI
161 lines • 6.33 kB
TypeScript
/**
* Describe the parameters available for the Arduino CLI configuration file.
* This schema should be considered unstable at this moment, it is not used by
* the CLI to validate input configuration
*/
export interface ArduinoCLIConfigurationSchema {
board_manager?: {
/**
* The URLs to any additional Boards Manager package index files needed for
* your boards platforms.
*/
additional_urls?: string[];
/**
* Set to `true` to allow installation of packages that do not pass the
* checksum test. This is considered an unsafe installation method and
* should be used only for development purposes.
*/
enable_unsafe_install?: boolean;
};
/** Configuration options related to the compilation cache */
build_cache?: {
/** The path to the build cache, default is `$TMP/arduino`. */
path?: string;
/**
* A list of paths to look for precompiled artifacts if not found on
* `build_cache.path` setting.
*/
extra_paths?: string[];
/**
* Interval, in number of compilations, at which the cache is purged,
* defaults to `10`. When `0` the cache is never purged.
*/
compilations_before_purge?: number;
/**
* Cache expiration time of build folders. If the cache is hit by a
* compilation the corresponding build files lifetime is renewed. The value
* format must be a valid input for time.ParseDuration(), defaults to `720h`
* (30 days)
*/
ttl?: string;
};
/** Options related to running Arduino CLI as a [gRPC] server. */
daemon?: {
/** TCP port used for gRPC client connections. */
port?: string;
};
/** Directories used by Arduino CLI. */
directories?: {
builtin?: {
/**
* The libraries in this directory will be available to all platforms
* without the need for the user to install them, but with the lowest
* priority over other installed libraries with the same name, it's the
* equivalent of the Arduino IDE's bundled libraries directory.
*/
libraries?: string;
/**
* It's a list of directories of tools that will be available to all
* platforms without the need for the user to install them, it's the
* equivalent of the Arduino IDE 1.x bundled tools directory.
*/
tools?: string[];
};
/**
* Directory used to store Boards/Library Manager index files and Boards
* Manager platform installations.
*/
data?: string;
/**
* Directory used to stage downloaded archives during Boards/Library Manager
* installations.
*/
downloads?: string;
/**
* The equivalent of the Arduino IDE's ["sketchbook" directory][sketchbook
* directory]. Library Manager installations are made to the `libraries`
* subdirectory of the user directory.
*/
user?: string;
};
/** Configuration options relating to Arduino libraries. */
library?: {
/**
* Set to `true` to enable the use of the `--git-url` and `--zip-file` flags
* with [`arduino-cli lib install`][arduino cli lib install]. These are
* considered "unsafe" installation methods because they allow installing
* files that have not passed through the Library Manager submission
* process.
*/
enable_unsafe_install?: boolean;
};
/**
* The language used by Arduino CLI to communicate to the user, the parameter
* is the language identifier in the standard POSIX format
* `<language>[_<TERRITORY>[.<encoding>]]` (for example `it` or `it_IT`, or
* `it_IT.UTF-8`).
*/
locale?: string;
/** Configuration options for Arduino CLI's logs. */
logging?: {
/** Path to the file where logs will be written. */
file?: string;
/** Output format for the logs. Allowed values are `text` or `json`. */
format?: 'text' | 'json';
/**
* Messages with this level and above will be logged. Valid levels are:
* `trace`, `debug`, `info`, `warn`, `error`, `fatal`, `panic`.
*/
level?: 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal' | 'panic';
};
/**
* Settings related to the collection of data used for continued improvement
* of Arduino CLI.
*/
metrics?: {
/** TCP port used for metrics communication. */
addr?: string;
/** Controls the use of metrics. */
enabled?: boolean;
};
/** Settings related to network connections. */
network?: {
/** Proxy settings for network connections. */
proxy?: string;
/** Extra string to append to the user agent string in HTTP requests. */
user_agent_ext?: string;
/** Timeout for network connections, defaults to '30s' */
connection_timeout?: string;
/** Settings related to the Arduino Cloud API. */
cloud_api?: {
/** Do not call the Arduino Cloud API to detect an unknown board */
skip_board_detection_calls?: boolean;
};
};
/** Settings related to text output. */
output?: {
/**
* ANSI color escape codes are added by default to the output. Set to `true`
* to disable colored text output.
*/
no_color?: boolean;
};
/** Configuration options relating to [Arduino sketches][sketch specification]. */
sketch?: {
/**
* Set to `true` to make [`arduino-cli compile`][arduino-cli compile] always
* save binaries to the sketch folder. This is the equivalent of using the
* [`--export-binaries`][arduino-cli compile options] flag.
*/
always_export_binaries?: boolean;
};
/** Configuration options related to Arduino CLI updates */
updater?: {
/**
* Set to `false` to disable notifications of new Arduino CLI releases,
* defaults to `true`
*/
enable_notification?: boolean;
};
}
//# sourceMappingURL=index.d.ts.map