diff --git a/packages/flutter_tools/lib/src/build_system/targets/web.dart b/packages/flutter_tools/lib/src/build_system/targets/web.dart index 130caa7d4b..442aeb4263 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/web.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/web.dart @@ -252,6 +252,12 @@ class Dart2JSTarget extends Dart2WebTarget { return true; } } + + if (compilerConfig.dumpInfo) { + if (file.basename == 'main.dart.js.info.json') { + return true; + } + } return false; }); diff --git a/packages/flutter_tools/lib/src/commands/build_web.dart b/packages/flutter_tools/lib/src/commands/build_web.dart index 5c0a71a560..c90fb78cc3 100644 --- a/packages/flutter_tools/lib/src/commands/build_web.dart +++ b/packages/flutter_tools/lib/src/commands/build_web.dart @@ -95,7 +95,7 @@ class BuildWebCommand extends BuildSubCommand { negatable: false, help: 'Passes "--dump-info" to the Javascript compiler which generates ' - 'information about the generated code is a .js.info.json file.', + 'information about the generated code in main.dart.js.info.json.', ); argParser.addFlag( 'no-frequency-based-minification', diff --git a/packages/flutter_tools/test/general.shard/build_system/targets/web_test.dart b/packages/flutter_tools/test/general.shard/build_system/targets/web_test.dart index a8347982b4..0ce5b43a58 100644 --- a/packages/flutter_tools/test/general.shard/build_system/targets/web_test.dart +++ b/packages/flutter_tools/test/general.shard/build_system/targets/web_test.dart @@ -227,14 +227,18 @@ name: foo ..createSync(recursive: true) ..writeAsStringSync('A'); environment.buildDir.childFile('main.dart.js').createSync(); + environment.buildDir.childFile('main.dart.js.info.json').createSync(); environment.buildDir.childFile('main.dart.js.map').createSync(); environment.buildDir.childFile('main.dart.js_1.part.js').createSync(); environment.buildDir.childFile('main.dart.js_1.part.js.map').createSync(); - await WebReleaseBundle([const JsCompilerConfig()]).build(environment); + await WebReleaseBundle([ + const JsCompilerConfig(dumpInfo: true), + ]).build(environment); expect(environment.outputDir.childFile('foo.txt').readAsStringSync(), 'A'); expect(environment.outputDir.childFile('main.dart.js').existsSync(), true); + expect(environment.outputDir.childFile('main.dart.js.info.json').existsSync(), true); expect(environment.outputDir.childFile('main.dart.js.map').existsSync(), true); expect(environment.outputDir.childFile('main.dart.js_1.part.js').existsSync(), true); expect(environment.outputDir.childFile('main.dart.js_1.part.js.map').existsSync(), true);