@@ -127,7 +127,20 @@ void EnvironmentOptions::CheckOptions(std::vector<std::string>* errors) {
127
127
}
128
128
}
129
129
130
- if (!experimental_specifier_resolution.empty ()) {
130
+ if (!es_module_specifier_resolution.empty ()) {
131
+ if (!experimental_specifier_resolution.empty ()) {
132
+ errors->push_back (
133
+ " bad option: cannot use --es-module-specifier-resolution"
134
+ " and --experimental-specifier-resolution at the same time" );
135
+ } else {
136
+ experimental_specifier_resolution = es_module_specifier_resolution;
137
+ if (experimental_specifier_resolution != " node" &&
138
+ experimental_specifier_resolution != " explicit" ) {
139
+ errors->push_back (
140
+ " invalid value for --es-module-specifier-resolution" );
141
+ }
142
+ }
143
+ } else if (!experimental_specifier_resolution.empty ()) {
131
144
if (experimental_specifier_resolution != " node" &&
132
145
experimental_specifier_resolution != " explicit" ) {
133
146
errors->push_back (
@@ -367,6 +380,11 @@ EnvironmentOptionsParser::EnvironmentOptionsParser() {
367
380
" either 'explicit' (default) or 'node'" ,
368
381
&EnvironmentOptions::experimental_specifier_resolution,
369
382
kAllowedInEnvironment );
383
+ AddOption (" --es-module-specifier-resolution" ,
384
+ " Select extension resolution algorithm for es modules; "
385
+ " either 'explicit' (default) or 'node'" ,
386
+ &EnvironmentOptions::es_module_specifier_resolution,
387
+ kAllowedInEnvironment );
370
388
AddOption (" --no-deprecation" ,
371
389
" silence deprecation warnings" ,
372
390
&EnvironmentOptions::no_deprecation,
0 commit comments