//#region src/configuration.d.ts /** * A reference to something (example: value, configuration, type definition, schema, etc.) in a file */ interface FileReference { /** * A path to a file containing the reference */ file: string; /** * The name of the exported entity in the file above * * @remarks * This value is mainly expected for use with javascript/typescript files. If no value is provided, we will attempt to infer the exported entity from the module's `default` export. */ export?: string; } /** * Configuration parameter for the {@link FileReference} utility type * * @remarks * When provided as a string, this value can include both a path to the typescript file and the name of the type definition to use separated by a `":"`, `"#"`, or `";"` character. For example: `"./src/types/env.ts#EnvConfiguration"`. */ type FileReferenceInput = FileReference | string; interface DotenvFileReference { /** * A path to the type definition for the expected env configuration parameters. This value can include both a path to the typescript file and the name of the type definition to use separated by a `":"`, `"#"`, `";"` character. For example: `"./src/types/env.ts#Variables"`. * * @remarks * If a value is not provided for this option, the plugin will attempt to infer the type definition from the `storm.dotenv.types.config` object in the project's `package.json` file. */ variables?: FileReferenceInput; /** * A path to the type definition for the expected env secret parameters. This value can include both a path to the typescript file and the name of the type definition to use separated by a `":"`, `"#"`, `";"` character. For example: `"./src/types/env.ts#Secrets"`. * * @remarks * If a value is not provided for this option, the plugin will attempt to infer the type definition from the `storm.dotenv.types.secrets` object in the project's `package.json` file. */ secrets?: FileReferenceInput; } interface DotenvConfiguration { /** * Additional environment variable (.env) files (aside from the default list of files) to load configuration from. * * @remarks * By default, the plugin will load environment variables from `.env` files based on the `mode`. For the `"production"` mode, it will use the following files: * - `.env` * - `.env.local` * - `.env.production` * - `.env.production.local` */ additionalFiles?: string[]; /** * The type definitions for the environment variables * * @remarks * This value can be a {@link DotenvFileReference} or just a path to a typescript file and the `"name"` values are defaulted to the following: * - {@link DotenvFileReference.variables} - `"Variables"` * - {@link DotenvFileReference.secrets} - `"Secrets"` */ types?: DotenvFileReference | string; } interface StormConfigurationGroups { /** * The configuration for the loading variable and secrets into the environment via `.env` files */ dotenv?: DotenvConfiguration; } //#endregion export { DotenvConfiguration, DotenvFileReference, FileReference, FileReferenceInput, StormConfigurationGroups }; //# sourceMappingURL=configuration.d.cts.map