@@ -17,7 +17,6 @@ export interface ConfigLayerMeta {
17
17
}
18
18
19
19
export interface C12InputConfig {
20
- $envName ?: string ;
21
20
$test ?: UserInputConfig ;
22
21
$development ?: UserInputConfig ;
23
22
$production ?: UserInputConfig ;
@@ -63,6 +62,8 @@ export interface LoadConfigOptions<T extends InputConfig = InputConfig> {
63
62
64
63
dotenv ?: boolean | DotenvOptions ;
65
64
65
+ envName ?: string | false ;
66
+
66
67
packageJson ?: boolean | string | string [ ] ;
67
68
68
69
defaults ?: T ;
@@ -90,6 +91,7 @@ export async function loadConfig<T extends InputConfig = InputConfig>(
90
91
// Normalize options
91
92
options . cwd = resolve ( process . cwd ( ) , options . cwd || "." ) ;
92
93
options . name = options . name || "config" ;
94
+ options . envName = options . envName ?? process . env . NODE_ENV ;
93
95
options . configFile =
94
96
options . configFile ??
95
97
( options . name !== "config" ? `${ options . name } .config` : "config" ) ;
@@ -332,13 +334,14 @@ async function resolveConfig(
332
334
}
333
335
334
336
// Extend env specific config
335
- const envName = res . config . $envName || process . env . NODE_ENV || "default" ;
336
- const envConfig = {
337
- ...res . config [ "$" + envName ] ,
338
- ...res . config . $env ?. [ envName ] ,
339
- } ;
340
- if ( Object . keys ( envConfig ) . length > 0 ) {
341
- res . config = defu ( envConfig , res . config ) ;
337
+ if ( options . envName ) {
338
+ const envConfig = {
339
+ ...res . config [ "$" + options . envName ] ,
340
+ ...res . config . $env ?. [ options . envName ] ,
341
+ } ;
342
+ if ( Object . keys ( envConfig ) . length > 0 ) {
343
+ res . config = defu ( envConfig , res . config ) ;
344
+ }
342
345
}
343
346
344
347
// Meta
0 commit comments