Unverified Commit a7f9ebcc authored by Kevin Moore's avatar Kevin Moore Committed by GitHub

Reorganize CLI flags for `build web` (#121837)

Reorganize CLI flags for `build web`
parent 9cb7a151
...@@ -28,35 +28,20 @@ class BuildWebCommand extends BuildSubCommand { ...@@ -28,35 +28,20 @@ class BuildWebCommand extends BuildSubCommand {
usesBuildNameOption(); usesBuildNameOption();
addBuildModeFlags(verboseHelp: verboseHelp, excludeDebug: true); addBuildModeFlags(verboseHelp: verboseHelp, excludeDebug: true);
usesDartDefineOption(); usesDartDefineOption();
usesWebRendererOption();
addEnableExperimentation(hide: !verboseHelp); addEnableExperimentation(hide: !verboseHelp);
addNullSafetyModeOptions(hide: !verboseHelp); addNullSafetyModeOptions(hide: !verboseHelp);
addNativeNullAssertions(); addNativeNullAssertions();
argParser.addFlag('csp',
negatable: false,
help: 'Disable dynamic generation of code in the generated output. '
'This is necessary to satisfy CSP restrictions (see http://www.w3.org/TR/CSP/).'
);
argParser.addFlag(
'source-maps',
help: 'Generate a sourcemap file. These can be used by browsers '
'to view and debug the original source code of a compiled and minified Dart '
'application.'
);
if (featureFlags.isFlutterWebWasmEnabled) {
argParser.addFlag(
'wasm',
help: 'Compile to WebAssembly rather than JavaScript (experimental).',
);
} else {
// Add the flag as hidden. Will give a helpful error message in [runCommand] below.
argParser.addFlag(
'wasm',
hide: true,
);
}
//
// Flutter web-specific options
//
argParser.addSeparator('Flutter web options');
argParser.addOption('base-href',
help: 'Overrides the href attribute of the <base> tag in web/index.html. '
'No change is done to web/index.html file if this flag is not provided. '
'The value has to start and end with a slash "/". '
'For more information: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base'
);
argParser.addOption('pwa-strategy', argParser.addOption('pwa-strategy',
defaultsTo: kOfflineFirst, defaultsTo: kOfflineFirst,
help: 'The caching strategy to be used by the PWA service worker.', help: 'The caching strategy to be used by the PWA service worker.',
...@@ -74,11 +59,22 @@ class BuildWebCommand extends BuildSubCommand { ...@@ -74,11 +59,22 @@ class BuildWebCommand extends BuildSubCommand {
'is not desirable', 'is not desirable',
}, },
); );
argParser.addOption('base-href', usesWebRendererOption();
help: 'Overrides the href attribute of the <base> tag in web/index.html. '
'No change is done to web/index.html file if this flag is not provided. ' //
'The value has to start and end with a slash "/". ' // JavaScript compilation options
'For more information: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base' //
argParser.addSeparator('JavaScript compilation options');
argParser.addFlag('csp',
negatable: false,
help: 'Disable dynamic generation of code in the generated output. '
'This is necessary to satisfy CSP restrictions (see http://www.w3.org/TR/CSP/).'
);
argParser.addFlag(
'source-maps',
help: 'Generate a sourcemap file. These can be used by browsers '
'to view and debug the original source code of a compiled and minified Dart '
'application.'
); );
argParser.addOption('dart2js-optimization', argParser.addOption('dart2js-optimization',
help: 'Sets the optimization level used for Dart compilation to JavaScript. ' help: 'Sets the optimization level used for Dart compilation to JavaScript. '
...@@ -93,6 +89,24 @@ class BuildWebCommand extends BuildSubCommand { ...@@ -93,6 +89,24 @@ class BuildWebCommand extends BuildSubCommand {
help: 'Disables the frequency based minifier. ' help: 'Disables the frequency based minifier. '
'Useful for comparing the output between builds.' 'Useful for comparing the output between builds.'
); );
//
// Experimental options
//
if (featureFlags.isFlutterWebWasmEnabled) {
argParser.addSeparator('Experimental options');
argParser.addFlag(
'wasm',
help: 'Compile to WebAssembly rather than JavaScript.',
negatable: false,
);
} else {
// Add the flag as hidden. Will give a helpful error message in [runCommand] below.
argParser.addFlag(
'wasm',
hide: true,
);
}
} }
final FileSystem _fileSystem; final FileSystem _fileSystem;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment