Make applicationConfigHome conditional, avoid it when dart:io is unavailable (#4779)
diff --git a/lib/src/io.dart b/lib/src/io.dart index 30b8dbc..13462be 100644 --- a/lib/src/io.dart +++ b/lib/src/io.dart
@@ -1338,6 +1338,15 @@ platform.environment.containsKey('_PUB_TEST_CONFIG_DIR')) { return p.join(platform.environment['_PUB_TEST_CONFIG_DIR']!, 'dart'); } + // If `dart:io` is unavailable, typically that means we're running in + // dart2wasm or dart2js mode. Then we won't call into cli_util! + if (!const bool.fromEnvironment('dart.library.io')) { + final xdgConfigHome = platform.environment['XDG_CONFIG_HOME']; + if (xdgConfigHome != null && xdgConfigHome.isNotEmpty) { + return p.join(xdgConfigHome, 'dart'); + } + return null; + } try { return applicationConfigHome('dart'); } on EnvironmentNotFoundException {