WebCommand class
Web application build command implementation.
Builds Flutter web applications with support for modern web deployment patterns including PWA generation, CDN optimization, and various web renderers (HTML, CanvasKit, Skwasm).
Platform Requirements
- Flutter SDK with web support enabled
- Modern web browser for testing
- Web server for deployment (nginx, Apache, etc.)
Build Optimizations
- Tree shaking and code splitting for optimal bundle sizes
- Asset optimization for web delivery
- Progressive Web App (PWA) support
- Content Security Policy (CSP) compliance
- Source map generation for debugging
Web Renderers
- auto: HTML on mobile, CanvasKit on desktop (default)
- canvaskit: WebGL/WebAssembly renderer for better performance
- html: DOM-based renderer for better compatibility
- skwasm: Experimental WebAssembly renderer
Deployment Considerations
- Base href configuration for subdirectory deployment
- CDN resource optimization
- Browser compatibility and fallbacks
- CORS configuration for API access
Usage Examples
# Build for production with CanvasKit renderer
morpheme build web --flavor prod --web-renderer canvaskit
# Build PWA with offline support
morpheme build web --pwa-strategy offline-first
# Build with custom base href for subdirectory
morpheme build web --base-href /myapp/
# Build with CSP compliance
morpheme build web --csp --no-source-maps
- Inheritance
-
- Object
- Command
- BuildCommandBase
- WebCommand
Constructors
Properties
-
aliases
→ List<
String> -
Alternate names for this command.
no setterinherited
- argParser → ArgParser
-
The argument parser for this command.
no setterinherited
- argResults → ArgResults?
-
The parsed argument results for this command.
no setterinherited
- buildTarget → String
-
The target platform for this build command (e.g., 'apk', 'appbundle', 'ios').
no setteroverride
- category → String
-
The command's category.
no setterinherited
- description → String
-
A description of this command, included in usage.
no setteroverride
- globalResults → ArgResults?
-
The parsed global argument results.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
-
Whether or not this command should be hidden from help listings.
no setterinherited
- invocation → String
-
A single-line template for how to invoke this command (e.g.
"pub getpackage").no setterinherited - name → String
-
The name of this command.
no setteroverride
- parent → Command?
-
The command's parent command, if this is a subcommand.
no setterinherited
- runner → CommandRunner?
-
The command runner for this command.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
subcommands
→ Map<
String, Command> -
An unmodifiable view of all sublevel commands of this command.
no setterinherited
-
suggestionAliases
→ List<
String> -
Alternate non-functional names for this command.
no setterinherited
- summary → String
-
A short description of this command, included in parent's
CommandRunner.usage.
no setterinherited
- takesArguments → bool
-
Whether or not this command takes positional arguments in addition to
options.
no setterinherited
- usage → String
-
Generates a string displaying usage information for this command.
no setterinherited
-
An optional footer for usage.
no setterinherited
Methods
-
addSubcommand(
Command command) → void -
Adds Command as a subcommand of this.
inherited
-
constructBuildCommand(
List< String> dartDefines) → String -
Constructs the build command string.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
printUsage(
) → void -
Prints the usage information for this command.
inherited
-
run(
) → void -
Runs this command.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
usageException(
String message) → Never -
Throws a UsageException with
message.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited